org-mode-doc-8.2.4/Makefile0000644000175000017500000000674712260050771013563 0ustar sebseb# Makefile - for the org-mode distribution # GNU make is required # # This file is not part of GNU Emacs # set up environment include mk/default.mk # defaults, customizable via "local.mk" -include local.mk # optional local customization, use default.mk as template # default target is "all" unless overridden in local.mk all:: # Describe valid make targets for org-mode. .PHONY: targets help helpall targets: help help helpall:: $(info ) $(info Getting Help) $(info ============) $(info ) $(info make help - show brief help) $(info make targets - ditto) $(info make helpall - show extended help) $(info ) $(info Build and Check) $(info ===============) $(info make - build Org ELisp and all documentation) $(info make all - ditto) $(info make compile - build Org ELisp files) $(info make single - build Org ELisp files, single Emacs per source) $(info make autoloads - create org-loaddefs.el to load Org in-place) $(info make test - build Org ELisp files and run test suite) helpall:: $(info make test-dirty - check without building first) $(info make compile-dirty - build only stale Org ELisp files) $(info ) $(info Compatibility) $(info =============) $(info make oldorg - what the old make did: compile autoloads info) $(info ) $(info Cleaning) $(info ========) $(info make clean - remove built Org ELisp files and documentation) $(info make cleanall - remove everything that can be built and all remnants) $(info make clean-install - remove previous Org installation) $(info ) $(info Configuration Check) $(info ===================) help helpall:: $(info make config - check main configuration) helpall:: $(info make config-version - check Org version) $(info make config-test - check test configuration) $(info make config-exe - check executables configuration) $(info make config-cmd - check command configuration) $(info make config-all - check all configuration) $(info ) $(info Documentation) $(info =============) help helpall:: $(info make doc - build all documentation) helpall:: $(info make docs - ditto) help helpall:: $(info make info - build Info documentation) helpall:: $(info make html - build HTML documentation) $(info make pdf - build PDF documentation) $(info make card - build reference cards) $(info make refcard - ditto) help helpall:: $(info ) $(info Installation) $(info ============) $(info make install - build and install Org) helpall:: $(info make install-etc - build and install files in /etc) $(info make install-lisp - build and install Org Elisp files) $(info make install-info - build and install Info documentation) $(info ) $(info Convenience) $(info ===========) $(info make up0 - pull from upstream) $(info make up1 - pull from upstream, build and check) $(info make up2 - pull from upstream, build, check and install) $(info make update - pull from upstream and build) $(info make update2 - pull from upstream, build and install) $(info make uncompiled - combine cleanlisp and autoloads) $(info make local.mk - create new local.mk as template for adaptation) help helpall:: $(info ) $(info Full documentation on Worg) $(info ==========================) $(info http://orgmode.org/worg/dev/org-build-system.html) @echo "" include mk/targets.mk # toplevel make machinery org-mode-doc-8.2.4/mk/0000755000175000017500000000000012260050771012514 5ustar sebseborg-mode-doc-8.2.4/mk/default.mk0000644000175000017500000001141712260050771014475 0ustar sebseb##---------------------------------------------------------------------- ## NEVER EDIT THIS FILE, PUT ANY ADAPTATIONS INTO local.mk ##-8<------------------------------------------------------------------- ## CHECK AND ADAPT THE FOLLOWING DEFINITIONS ##---------------------------------------------------------------------- # Name of your emacs binary EMACS = emacs # Where local software is found prefix = /usr/share # Where local lisp files go. lispdir= $(prefix)/emacs/site-lisp/org # Where local data files go. datadir = $(prefix)/emacs/etc/org # Where info files go. infodir = $(prefix)/info # Define if you only need info documentation, the default includes html and pdf #ORG_MAKE_DOC = info # html pdf # Define if you want to include some (or all) files from contrib/lisp # just the filename please (no path prefix, no .el suffix), maybe with globbing #ORG_ADD_CONTRIB = ox-* # e.g. the contributed exporter # Where to create temporary files for the testsuite # respect TMPDIR if it is already defined in the environment TMPDIR ?= /tmp testdir = $(TMPDIR)/tmp-orgtest # Configuration for testing # add options before standard load-path BTEST_PRE = # add options after standard load path BTEST_POST = # -L /ert # needed for Emacs23, Emacs24 has ert built in # -L /ess # needed for running R tests # -L /htmlize # need at least version 1.34 for source code formatting BTEST_OB_LANGUAGES = awk C fortran maxima lilypond octave python sh perl # R # requires ESS to be installed and configured # extra packages to require for testing BTEST_EXTRA = # ess-site # load ESS for R tests ##->8------------------------------------------------------------------- ## YOU MAY NEED TO ADAPT THESE DEFINITIONS ##---------------------------------------------------------------------- # How to run tests req-ob-lang = --eval '(require '"'"'ob-$(ob-lang))' req-extra = --eval '(require '"'"'$(req))' BTEST = $(BATCH) \ $(BTEST_PRE) \ --eval '(add-to-list '"'"'load-path "./lisp")' \ --eval '(add-to-list '"'"'load-path "./testing")' \ $(BTEST_POST) \ -l org-loaddefs.el \ -l testing/org-test.el \ $(foreach ob-lang,$(BTEST_OB_LANGUAGES),$(req-ob-lang)) \ $(foreach req,$(BTEST_EXTRA),$(req-extra)) \ --eval '(setq org-confirm-babel-evaluate nil)' \ -f org-test-run-batch-tests # Using emacs in batch mode. # BATCH = $(EMACS) -batch -vanilla # XEmacs BATCH = $(EMACS) -batch -Q \ --eval '(setq vc-handled-backends nil)' # Emacs must be started in toplevel directory BATCHO = $(BATCH) \ --eval '(add-to-list '"'"'load-path "./lisp")' # How to generate local.mk MAKE_LOCAL_MK = $(BATCHO) \ --eval '(load "org-compat.el")' \ --eval '(load "../mk/org-fixup.el")' \ --eval '(org-make-local-mk)' # Emacs must be started in lisp directory BATCHL = $(BATCH) \ --eval '(add-to-list '"'"'load-path ".")' # How to generate org-loaddefs.el MAKE_ORG_INSTALL = $(BATCHL) \ --eval '(load "org-compat.el")' \ --eval '(load "../mk/org-fixup.el")' \ --eval '(org-make-org-loaddefs)' # How to generate org-version.el MAKE_ORG_VERSION = $(BATCHL) \ --eval '(load "org-compat.el")' \ --eval '(load "../mk/org-fixup.el")' \ --eval '(org-make-org-version "$(ORGVERSION)" "$(GITVERSION)" "'$(datadir)'")' # How to byte-compile the whole source directory ELCDIR = $(BATCHL) \ --eval '(batch-byte-recompile-directory 0)' # How to byte-compile a single file ELC = $(BATCHL) \ --eval '(batch-byte-compile)' # How to make a pdf file from a texinfo file TEXI2PDF = texi2pdf --batch --clean # How to make a pdf file from a tex file PDFTEX = pdftex # How to create directories with leading path components # MKDIR = mkdir -m 755 -p # try this if you have no install MKDIR = install -m 755 -d # How to create the info files from the texinfo file MAKEINFO = makeinfo # How to create the HTML file TEXI2HTML = makeinfo --html --number-sections # How to find files FIND = find # How to remove files RM = rm -f # How to remove files recursively RMR = rm -fr # How to copy the lisp files and elc files to their destination. # CP = cp -p # try this if you have no install CP = install -m 644 -p # How to obtain administrative privileges # leave blank if you don't need this # SUDO = SUDO = sudo # Name of the program to install info files # INSTALL_INFO = ginstall-info # Debian: avoid harmless warning message INSTALL_INFO = install-info # target method for 'compile' ORGCM = dirall # ORGCM = dirall # 1x slowdown compared to default compilation method # ORGCM = single # 4x one Emacs process per compilation # ORGCM = source # 5x ditto, but remove compiled file immediately # ORGCM = slint1 # 3x possibly elicit more warnings # ORGCM = slint2 # 7x possibly elicit even more warnings org-mode-doc-8.2.4/mk/org-fixup.el0000644000175000017500000001624212260050771014763 0ustar sebseb;;; org-fixup.el --- make life easier for folks without GNU make ;; ;; Author: Achim Gratz ;; Keywords: orgmode ;; Homepage: http://orgmode.org ;; ;; This file is not part of GNU Emacs. ;; ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;; Commentary: (require 'autoload) (require 'org-compat "org-compat.el") (defun org-make-org-version (org-release org-git-version odt-dir) "Make the file org-version.el in the current directory. This function is internally used by the build system and should be used by foreign build systems or installers to produce this file in the installation directory of org-mode. Org will not work correctly if this file is not present (except directly from the Git work tree)." (with-temp-buffer (insert "\ ;;; org-version.el --- autogenerated file, do not edit ;; ;;; Code: ;;;\#\#\#autoload \(defun org-release () \"The release version of org-mode. Inserted by installing org-mode or when a release is made.\" (let ((org-release \"" org-release "\")) org-release)) ;;;\#\#\#autoload \(defun org-git-version () \"The Git version of org-mode. Inserted by installing org-mode or when a release is made.\" (let ((org-git-version \"" org-git-version "\")) org-git-version)) ;;;\#\#\#autoload \(defvar org-odt-data-dir \"" odt-dir "\" \"The location of ODT styles.\") \f\n\(provide 'org-version\) \f\n;; Local Variables:\n;; version-control: never ;; no-byte-compile: t ;; coding: utf-8\n;; End:\n;;; org-version.el ends here\n") (toggle-read-only 0) (write-file "org-version.el"))) (defun org-make-org-loaddefs () "Make the file org-loaddefs.el in the current directory. This function is internally used by the build system and should be used by foreign build systems or installers to produce this file in the installation directory of org-mode. Org will not work correctly if this file is not up-to-date." (with-temp-buffer (set-visited-file-name "org-loaddefs.el") (insert ";;; org-loaddefs.el --- autogenerated file, do not edit\n;;\n;;; Code:\n") (let ((files (directory-files default-directory nil "^\\(org\\|ob\\|ox\\)\\(-.*\\)?\\.el$"))) (mapc (lambda (f) (generate-file-autoloads f)) files)) (insert "\f\n(provide 'org-loaddefs)\n") (insert "\f\n;; Local Variables:\n;; version-control: never\n") (insert ";; no-byte-compile: t\n;; no-update-autoloads: t\n") (insert ";; coding: utf-8\n;; End:\n;;; org-loaddefs.el ends here\n") (toggle-read-only 0) (save-buffer))) (defun org-make-autoloads (&optional compile force) "Make the files org-loaddefs.el and org-version.el in the install directory. Finds the install directory by looking for library \"org\". Optionally byte-compile lisp files in the install directory or force re-compilation. This function is provided for easier manual install when the build system can't be used." (let* ((origin default-directory) (dirlisp (org-find-library-dir "org")) (dirorg (concat dirlisp "../" )) (dirodt (if (boundp 'org-odt-data-dir) org-odt-data-dir (concat dirorg "etc/")))) (unwind-protect (progn (cd dirlisp) (org-fixup) (org-make-org-version (org-release) (org-git-version) dirodt) (org-make-org-loaddefs) (when compile (byte-recompile-directory dirlisp 0 force))) (cd origin)))) (defun org-make-autoloads-compile () "Call org-make-autoloads with compile argument. Convenience function for easier invocation from command line." (org-make-autoloads 'compile nil)) (defun org-make-autoloads-compile-force () "Call org-make-autoloads with compile force arguments. Convenience function for easier invocation from command line." (org-make-autoloads 'compile 'force)) ;; Internal functions (defun org-make-local-mk () "Internal function for the build system." (let ((default "mk/default.mk") (local "local.mk")) (unwind-protect (with-temp-buffer (insert-file-contents default) (goto-char (point-min)) (when (search-forward "-8<-" nil t) (forward-line 1) (delete-region (point-min) (point))) (when (search-forward "->8-" nil t) (forward-line 0) (delete-region (point) (point-max))) (goto-char (point-min)) (insert " # Remove \"oldorg:\" to switch to \"all\" as the default target. # Change \"oldorg:\" to an existing target to make that target the default, # or define your own target here to become the default target. oldorg: # do what the old Makefile did by default. ##---------------------------------------------------------------------- ") (goto-char (point-max)) (insert "\ # See default.mk for further configuration options. ") (toggle-read-only 0) (write-file local)) nil))) (defun org-make-letterformat (a4name lettername) "Internal function for the build system." (unwind-protect (with-temp-buffer (insert-file-contents a4name) (goto-char (point-min)) (while (search-forward "\\pdflayout=(0l)" nil t) (replace-match "\\pdflayout=(1l)" nil t)) (toggle-read-only 0) (write-file lettername)) nil)) ;; redefine version functions (defmacro org-fixup () (let* ((origin default-directory) (dirlisp (org-find-library-dir "org")) (dirorg (concat dirlisp "../" )) (dirgit (concat dirorg ".git/" )) (org-version "N/A-fixup") (org-git-version "N/A-fixup !!check installation!!")) (if (and (boundp 'org-fake-release) (stringp org-fake-release) (boundp 'org-fake-git-version) (stringp org-fake-git-version)) (setq org-version org-fake-release org-git-version org-fake-git-version) (if (load (concat dirlisp "org-version.el") 'noerror 'nomessage 'nosuffix) (setq org-version (org-release) org-git-version (org-git-version)) (when (and (file-exists-p dirgit) (executable-find "git")) (unwind-protect (progn (cd dirorg) (let ((git6 (substring (shell-command-to-string "git describe --abbrev=6 HEAD") 0 -1)) (git0 (substring (shell-command-to-string "git describe --abbrev=0 HEAD") 0 -1)) (gitd (string-match "\\S-" (shell-command-to-string "git status -uno --porcelain")))) (setq org-git-version (concat git6 (when gitd ".dirty") "-git")) (if (string-match "^release_" git0) (setq org-version (substring git0 8)) (setq org-version git0)))) (cd origin))))) (message "org-fixup.el: redefined Org version") `(progn (defun org-release () ,org-version) (defun org-git-version () ,org-git-version)))) (provide 'org-fixup) ;; Local Variables: ;; no-byte-compile: t ;; coding: utf-8 ;; End: ;;; org-fixup.el ends here org-mode-doc-8.2.4/mk/version.mk0000644000175000017500000000005512260050771014532 0ustar sebsebORGVERSION ?= 8.2.4 GITVERSION ?= 8.2.4-dist org-mode-doc-8.2.4/mk/targets.mk0000644000175000017500000001073212260050771014521 0ustar sebseb.EXPORT_ALL_VARIABLES: .NOTPARALLEL: .PHONY # Additional distribution files DISTFILES_extra= Makefile request-assign-future.txt contrib etc LISPDIRS = lisp OTHERDIRS = doc etc CLEANDIRS = contrib testing mk SUBDIRS = $(OTHERDIRS) $(LISPDIRS) INSTSUB = $(SUBDIRS:%=install-%) ORG_MAKE_DOC ?= info html pdf ifneq ($(wildcard .git),) GITVERSION ?= $(shell git describe --abbrev=6 HEAD) ORGVERSION ?= $(subst release_,,$(shell git describe --abbrev=0 HEAD)) GITSTATUS ?= $(shell git status -uno --porcelain) else -include mk/version.mk GITVERSION ?= N/A ORGVERSION ?= N/A endif DATE = $(shell date +%Y-%m-%d) ifneq ($(GITSTATUS),) GITVERSION := $(GITVERSION:.dirty=).dirty endif .PHONY: all oldorg update update2 up0 up1 up2 single $(SUBDIRS) \ check test install $(INSTSUB) \ info html pdf card refcard doc docs \ autoloads cleanall clean $(CLEANDIRS:%=clean%) \ clean-install cleanelc cleandirs cleanaddcontrib \ cleanlisp cleandoc cleandocs cleantest \ compile compile-dirty uncompiled \ config config-test config-exe config-all config-eol config-version CONF_BASE = EMACS DESTDIR ORGCM ORG_MAKE_DOC CONF_DEST = lispdir infodir datadir testdir CONF_TEST = BTEST_PRE BTEST_POST BTEST_OB_LANGUAGES BTEST_EXTRA CONF_EXEC = CP MKDIR RM RMR FIND SUDO PDFTEX TEXI2PDF TEXI2HTML MAKEINFO INSTALL_INFO CONF_CALL = BATCH BATCHL ELC ELCDIR BTEST MAKE_LOCAL_MK MAKE_ORG_INSTALL MAKE_ORG_VERSION config-eol:: EOL = \# config-eol:: config-all config config-all:: $(info ) $(info ========= Emacs executable and Installation paths) $(foreach var,$(CONF_BASE),$(info $(var) = $($(var))$(EOL))) $(foreach var,$(CONF_DEST),$(info $(var) = $(DESTDIR)$($(var))$(EOL))) $(info ========= Additional files from contrib/lisp) $(info $(notdir \ $(wildcard \ $(addsuffix .el, \ $(addprefix contrib/lisp/, \ $(basename \ $(notdir $(ORG_ADD_CONTRIB)))))))) config-test config-all:: $(info ) $(info ========= Test configuration) $(foreach var,$(CONF_TEST),$(info $(var) = $($(var))$(EOL))) config-exe config-all:: $(info ) $(info ========= Executables used by make) $(foreach var,$(CONF_EXEC),$(info $(var) = $($(var))$(EOL))) config-cmd config-all:: $(info ) $(info ========= Commands used by make) $(foreach var,$(CONF_CALL),$(info $(var) = $($(var))$(EOL))) config config-test config-exe config-all config-version:: $(info ========= Org version) $(info make: Org-mode version $(ORGVERSION) ($(GITVERSION) => $(lispdir))) @echo "" oldorg: compile info # what the old makefile did when no target was specified uncompiled: cleanlisp autoloads # for developing refcard: card update update2:: up0 all single: ORGCM=single single: compile .PRECIOUS: local.mk local.mk: $(info ======================================================) $(info = Invoke "make help" for a synopsis of make targets. =) $(info = Created a default local.mk template. =) $(info = Setting "oldorg" as the default target. =) $(info = Please adapt local.mk to your local setup! =) $(info ======================================================) -@$(MAKE_LOCAL_MK) all compile:: $(foreach dir, doc lisp, $(MAKE) -C $(dir) clean;) compile compile-dirty:: $(MAKE) -C lisp $@ all clean-install:: $(foreach dir, $(SUBDIRS), $(MAKE) -C $(dir) $@;) check test:: compile check test test-dirty:: -$(MKDIR) $(testdir) TMPDIR=$(testdir) $(BTEST) ifeq ($(TEST_NO_AUTOCLEAN),) # define this variable to leave $(testdir) around for inspection $(MAKE) cleantest endif up0:: cleanaddcontrib up0 up1 up2:: git remote update git pull up1 up2:: all $(MAKE) test-dirty up2 update2:: $(SUDO) $(MAKE) install install: $(INSTSUB) install-info: install-doc doc docs: $(ORG_MAKE_DOC) info html pdf card: $(MAKE) -C doc $@ $(INSTSUB): $(MAKE) -C $(@:install-%=%) install autoloads: lisp $(MAKE) -C $< $@ cleandirs: $(foreach dir, $(SUBDIRS), $(MAKE) -C $(dir) cleanall;) clean: cleanlisp cleandoc cleanall: cleandirs cleantest cleanaddcontrib -$(FIND) . \( -name \*~ -o -name \*# -o -name .#\* \) -exec $(RM) {} \; -$(FIND) $(CLEANDIRS) \( -name \*~ -o -name \*.elc \) -exec $(RM) {} \; $(CLEANDIRS:%=clean%): -$(FIND) $(@:clean%=%) \( -name \*~ -o -name \*.elc \) -exec $(RM) {} \; cleanelc: $(MAKE) -C lisp $@ cleanaddcontrib: -$(RM) $(wildcard $(addprefix lisp/,$(notdir $(wildcard contrib/lisp/*.el)))) cleanlisp: cleanaddcontrib cleanlisp cleandoc: $(MAKE) -C $(@:clean%=%) clean cleandocs: $(MAKE) -C doc clean -$(FIND) doc -name \*~ -exec $(RM) {} \; cleantest: $(RMR) $(testdir) org-mode-doc-8.2.4/doc/0000755000175000017500000000000012260050771012652 5ustar sebseborg-mode-doc-8.2.4/doc/Documentation_Standards.org0000644000175000017500000001545112260050771020205 0ustar sebseb#+TITLE: Notes on documenting Org #+AUTHOR: Phil Rooke #+EMAIL: phil@yax.org.uk #+LANGUAGE: en #+STARTUP: showall #+TEXT: Notes to myself justifying the conventions and standards in my #+TEXT: set of recent doc patches. #+OPTIONS: H:3 num:t toc:t \n:nil @:t ::t |:t ^:t *:t TeX:t * Background I think it is an express objective of Carsten's that Org should be readily accessible to all users of Emacs and not just those who might happen to read or hack on the code of this particular package. To that end significant effort has been made and continues to be made by the Org community to ensure that high quality, user focused, documentation is readily available to everyone. Org itself contains a comprehensive guide to using all aspects of the system, how to extend it yourself, and highlights some of the many burgeoning number of add-on packages that others are contributing. This guide, [[info:org:Top][The Org Manual]], concentrates on the facts of working with the system. Supplementing this, the [[Org web pages]] contain pointers to many tutorials and how-to's which capture much of spirit and imagination people show when using Org as a basis for building broader organizational systems that help them help themselves. I use Org, but it is a big system, and so I happen to think that improving the consistency, clarity and accuracy of Org documents helps both me and all other users of the system. In support of this and by way of justification and clarification, this short note attempts to capture some of the existing guidelines and standards that have been used in the patches I am submitting and, which I hope, may be adopted by others when making their own contributions. * Org - Referencing systems, packages, modes and much else Originally Org was a single mode and there was no ambiguity about what Org mode could refer to. Things have changed rapidly though and it seems that Carsten now thinks of Org as the system encompassing the major mode, some minor modes, and an increasing number of additional packages and plug-ins that build on the core Org functionality. It is really hard to find a consistent way to refer to all these things, but what I am trying to do is follow these guidelines (which are not perfect, merely a start): - In general write "Org" as much as possible and, in particular, when discussing concepts, features and functions that are generally applicable to Org as a whole. - Be more specific and write, for example, "the Orgtbl minor mode" when referring to something unique to that feature. It maybe, for example, a command is only available when you are actually editing a file using just that mode, add-on package or plug-in. - Prefer "Org mode" to "Org-mode" or "org-mode". This is simply because it reflects an existing convention in [[info:emacs:Top][The Emacs Manual]] which consistently documents mode names in this form - "Text mode", "Outline mode", "Mail mode" etc. - Likewise refer, if at all possible, to "Org file or "Org buffer" meaning with, great generality, any file or buffer which requires use of some part of Org to edit it properly. - Org uses "org-..." to ring fence a name space for itself in the Emacs code base. This is obviously retained in code snippets. * Other Org specific conventions Unless there is a good reason to do otherwise then try and adopt the following conventions. (I think all can be justified by reference to Carsten or precedent in other significant Emacs documentation...unless I have made them up of course). - Org has *lots* of commands and a /lot/ of them take prefix arguments of one sort or another. Write in full "prefix argument", "numeric prefix argument" or, maybe, "a numeric prefix argument N" when you want to refer to the argument again. - Org lives in various states of harmony and discord with other Emacs packages. Try and write the names of those packages as their authors and maintainers write them. So it should be (I think) BBDB, MH-E, Rmail, VM, Gnus, CDLaTeX etc. - TODO keywords, whether Org or user defined, are written in capitals. - Built-in tags with a special meaning (eg ARCHIVE) are written in uppercase. User defined tags (eg boss, home) are written in lowercase. - Built-in properties (eg PRIORITY) are written in uppercase. User defined properties (eg Release) are written in lowercase. - [[info:org:Top][The Org Manual]] uses the @chapter, @section and @subsection Texinfo commands for sectioning. I have tried to capitalize significant words in @chapter headings. In @section and @subsection headings, just the first word is capitalized and all other words are lowercase (with exceptions of course...). Thus, use: @chapter Properties and Columns @section Visibility cycling *but* @section Fast access to TODO states * Miscellaneous - Only two of the standard Texinfo indexes are used; those for concepts and keys. This has some implications: + The preference is to document commands by key rather than by name + Texinfo commands such as @var and @defoption are not used. The preference for this type of thing is that the user browses the customize groups. If you want or need to refer to, say, a variable then document it as "the variable @code{org-startup-folded}" + Entries in the concept index are normally all lower case unless some other rule dictates otherwise. - Org documentation is written in American English, which is somewhat foreign as far as I am concerned, but live with it anyway. - Org uses a number of compound words, words that I wouldn't necessarily run together. Instead of worrying about whether these should be separate, hyphenated or compound I have simply gone with the majority case as originally written and then tried to make sure the spell checker knows what this chosen standard should be so that I do not worry about it anymore. - I have run a spell checker periodically. Aspell works well and has a useful Texinfo filter (although, annoyingly, I cannot make this work with ispell.el and so I run it from the command line). I have an Org specific Aspell configuration file (which sets an American dictionary, rules for compound words etc) and which, along with the associated word and replacement files, captures some of the more detailed and somewhat arbitrary rules I have used. - Org has really low entry barriers. The requirements seem simply to be: + You can use Text mode or, pretty much, any derivative of it + You have some motivation to become slightly better organized. Therefore, try and write the documentation so that it is relevant to, and can be read by such a diverse audience. # Local variables: # mode: org # fill-column: 72 # ispell-local-dictionary: "en_US-w_accents" # ispell-local-pdict: "./.aspell.org.pws" # End: org-mode-doc-8.2.4/doc/orgcard.pdf0000644000175000017500000036423312260050771015001 0ustar sebseb%PDF-1.4 % 3 0 obj << /Length 4612 /Filter /FlateDecode >> stream x\ysߟm܆J mlNR䘮%h:R‚t: }{//Xgb1 s: M''ri-N ϝ&{%c~zv`;K9'?]|m&3s>xyDpc~Ve ]X)Cܔ'|Z UsY߽<1\̙Q+)\3xr~bDwq4i)04?ڎAtnhcU]P7ݔņ\ҡ yҏAk6=vj4L V.ժn%ެ~N<ΚqZrհB,DC_(c)咈ʢɹn)0!cW)FAP,XPҝ6{Z4ö"fU;PqFVhj4f#`,K-D1F`,\˕őiKtA%Mk"B歩&ʪ-LMV.giUsD5^k}oNYW]5 벉>U:"+0yt9բsBM rBth5޿"!T\ 5@zAx|Efc\r3! o"H*-I%_Jt"Җ )eȊܬ$0U>9Z0"L-:b]J0e:o^ޟ}Յko  k0ҟƥX or=H;oK X~FHY& BFR]M<5(F4:"ZsWiY0>Dqc5n4ǾIJDXi?o:h;^ޣr Ge&Y&^hpQ1n%b!2"F.Hܴ<Hyu0RPΫTVn\C8E^\Ż.7ai*e 6,-NՐJ̹l-z(ێ4dzhp͒Dr֩W@Ѕ@ RxwrȢ\ux'sۜ LߍDH)"1S7/%F{؇KnQnjDBV(6miKomz#&z ZoW$AR4:{`]:3Y0'4MBș;0Q$T:Hϓ!.]< @-N'=3!9J3:{tw Vd pn;e, b9(ѲlQ^Իfop@Y*\LŸ%ܛ Z\Fs[GltZYjߵC?@\%K6NbHdd:c"g = + ej,)H2~>P +T!a@ q擤k*Ch!\Ð(U,(﶐ T7j_I T!ُE& /snν^aؕ*UlaǫR]fl6x=jn40=g% D^>-W(d-ǢXwDA05{dpyTBgca&O>cabc("FkAG9sѰ lPG;ua"ƣb!"Lg×@[JԞlDM ʼncDjG7)(7\Mu8LǕ07ж4KKHtjTo, RB39x!4Ӻ 6v!-͎[ڽe3Q+CJfM];N?퉱_6,#3ӷtoZa\x״c\S˨YQd- Fw+J." H-&Q+*}v#2#wv̖+z=;Pس{z"EUv{ k|9O)yeEԈvMW-ڭ|}|HQ^cC{sUh^ݢ&S gyŒD++nTI,rWmgE/Coކ.l~O;ND*[7-ssXBqnkb/GO#ų϶"T i[ O{V!FWt:-1&Femf5"35hFoj nH|@cτtQwsX=d5n]=ʭj&UÓ7,vVX%]ƜUbe-L=Zqq kIKG>ؼ癮ͩ&ͯgsv3awH˫nL]UB7_V+{349:gޥ R肥Zm_U#wKuj1 9V_&r7 E]oPVI"n eۈLGGoh2xDCd Q<Yҿ[B3kTl\-ClzZM r/(xk\]Mz1 6¶­%k %8G-& msDOW6;FoENXF|ӬڻGi|ĚRa d^Wz f{h.+y@z6H# /iN;Kڑ'r)˧ˌW^(>Ėj2Qٕ_]u8tv=wv` 7eYcdǃ?X+*1!6_n$ Y6e~GELpCHpR|}`c0X0Q 'eu?'Żh> endobj 1 0 obj << /Font << /F51 4 0 R /F3 5 0 R /F32 6 0 R /F5 7 0 R /F26 8 0 R /F39 9 0 R /F15 10 0 R >> /ProcSet [ /PDF /Text ] >> endobj 14 0 obj << /Length 4540 /Filter /FlateDecode >> stream x\퓛8\U*=[x&K2s*UAcˌߟZ- ap\żVfֵʵ ϶°*2+6Ա'1ߙ|" Y/a|̝٦Moo+cx yAv瓧kg6mZښ ,݉o̚n\=]c1|N |W]Ỷޒ蚎q͆]gbX8ZUX$򓲹? .(`hH(5ç^z:=$M٩o8 _(IJ"AF/SץJ`Ok Gty_V}Yǁ^Ǥv9U:>7to6)gݧO7x/==TT~$?v*x^0}rq\$ 97aQ )&À,49la{ 9>["<դ Ed $/ ;+iYIKV+<|yf ˁKOc稌jWcy( X |bl&%1SF3#E ??ru|<7 o.b1۶mÝWRZ"y,2M=CM=8abۧ8M}>ݮdBj=aDmD `Hl{C$yfRyPͰ~dZNZ|2PiLDIXZcnA|mL$ G13KG~={~YD(FuM:CS:XL0h%C&<'1),,gYz!*Z: cZ_iݐT<al_51@^ɎP(/jAvudGx0ԇk+3CSi|oPEE_kv .ںNI2>ǰ}<39HXJ)*1H5m*kon_߼?R rۛ1Zw: /12=ȠR#QXY-p銸^Hf2G=2!X*al:-]/ חXb3i*^\f>\0V53MieHޤWތ,"m/"PH̓ofW"RkaX3nTGo,%dvUQD,E틁НoqNjλ- Gnf6 .l2>"2E\iΒUllGx"My#ɜmכmת4ĹZ pzw je:+Br3 j^ʑEOC?~7{j3DE/`lylŒCXcK8CM}֊ʭ@3#g- GVoy6}ۢ Or&j=VoK([UI'1G+e,$.B:x{=IIE EI# U:gעDFZ딘rEH' %J3T۞d '{ziB 3 ~eh_^1U%es 'EcKdq arՉ'I$N)8u/[ZJKKO焮LVVt)v1Ȳ蕡cKYCѣ85whn.#h=r/0Ǔ*L4bVY$|njz@W6Gso@c(M*m.ʾ !m߆%)l8A?ֳ^'Ŭ$@/2t AHnᰌ e%ؤ{Ke7 1f nI5lvHE*dŷm9D=v} 0Plx*}v&|4!0 a7"'M}lr /I5g^=Jܒ֨ 㗬^S`$lr, E<|+nO! Pa4(JaT]r?<0g틮p"+cu}Nr{6آTAv ۙ{Vq)q}0gP b->3,Ku:(kax,4n!qUݎS"m\jepTԝN<[`yE EVb6Yh!#VYlHd !!爍<౒sPMd j.JuqL7+/>m=SgXGrז+jW>(!Nmמو`).`ш@>,eYtOKʘm@OpsL(cASU e<3{ơÂ01eC<}$DzG*; 63֩73<ǂFxB,bI6[džu,.+ͰVWiۘW!bKA`xBPhYdyׁHCZ`U>SYUUsk1yE8p攁 c3|%>.3ܢ§EЖ53ö ybrMd/}GWצߦe o[v` +FP(Rɚ:AC&j_T,Ru  )H"",G&h$xxbF@wB3b&nWG endstream endobj 13 0 obj << /Type /Page /Contents 14 0 R /Resources 12 0 R /MediaBox [0 0 841.89 595.276] /Parent 11 0 R >> endobj 12 0 obj << /Font << /F51 4 0 R /F3 5 0 R /F32 6 0 R /F5 7 0 R /F15 10 0 R /F26 8 0 R /F39 9 0 R /F17 15 0 R >> /ProcSet [ /PDF /Text ] >> endobj 16 0 obj [1222.2] endobj 17 0 obj [826.4 826.4 826.4 826.4 826.4 826.4 826.4 1062.5 531.3 531.3 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 1062.5 1062.5 826.4 826.4 1062.5 1062.5 531.3 531.3 1062.5] endobj 18 0 obj [329.2 548.6 548.6 548.6 548.6 548.6 548.6 548.6 548.6 548.6 548.6 548.6 329.2 329.2 329.2 822.9 548.6 548.6 822.9 796.5 754.9 768.1 809.7 727.4 700 830 796.5 412.5 562.8 824 672.6 961.1 796.5 822.9 727.4 822.9 782.3 603.5 768.1 796.5 796.5 1070.8 796.5 796.5 658.3 329.2 550 329.2 548.6 329.2 329.2 548.6 493.8 493.8 548.6 493.8 329.2 493.8 548.6 329.2 329.2 493.8 274.3 877.8 603.5 548.6 548.6 493.8 452.6 438.9 356.6 576 493.8 713.2 494.8] endobj 19 0 obj [714.6 680.6 680.6 1020.8 1020.8 340.3 374.3 612.5 612.5 612.5 612.5 612.5 922.2 544.4 637.8 884.7 952.8 612.5 1107.6 1243.8 952.8 340.3 372.9 636.1 1020.8 612.5 1020.8 952.8 340.3 476.4 476.4 612.5 952.8 340.3 408.3 340.3 612.5 612.5 612.5 612.5 612.5 612.5 612.5 612.5 612.5 612.5 612.5 340.3 340.3 372.9 952.8 578.5 578.5 952.8 922.2 869.5 884.7 937.5 802.8 768.8 962.2 954.9 459 631.3 956.3 734.7 1159 954.9 920.1 835.4 920.1 915.3 680.6 852.1 938.5 922.2 1262.5 922.2 922.2 748.6 340.3 636.1 340.3 612.5 340.3 340.3 595.5 680.6 544.4 680.6 561.1 374.3 612.5 680.6 340.3 374.3 646.5 340.3 1020.8 680.6 612.5 680.6 646.5 506.3 483.2 476.4 680.6 646.5 884.7 646.5 646.5] endobj 20 0 obj [351.8 416.7 351.8 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 351.8 351.8 351.8 935.2 578.7 578.7 935.2 896.3 850.9 870.4 915.7 818.5 786.1 941.7 896.3 442.6 624.1 928.7 753.7 1090.7 896.3 935.2 818.5 935.2 883.3 675.9 870.4 896.3 896.3 1220.4 896.3 896.3 740.7 351.8 611.1 351.8 611.1 351.8 351.8 611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9 643.5 870.4 643.5 643.5] endobj 21 0 obj [531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3] endobj 22 0 obj [619.8 590.3 590.3 885.4 885.4 295.1 324.7 531.3 531.3 531.3 531.3 531.3 795.8 472.2 531.3 767.4 826.4 531.3 958.7 1076.8 826.4 295.1 295.1 531.3 885.4 531.3 885.4 826.4 295.1 413.2 413.2 531.3 826.4 295.1 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 295.1 826.4 501.7 501.7 826.4 795.8 752.1 767.4 811.1 722.6 693.1 833.5 795.8 382.6 545.5 825.4 663.6 972.9 795.8 826.4 722.6 826.4 781.6 590.3 767.4 795.8 795.8 1091 795.8 795.8 649.3 295.1 531.3 295.1 531.3 295.1 295.1 531.3 590.3 472.2 590.3 472.2 324.7 531.3 590.3 295.1 324.7 560.8 295.1 885.4 590.3 531.3 590.3 560.8 414.1 419.1 413.2 590.3 560.8 767.4 560.8 560.8 472.2] endobj 23 0 obj [638.9 638.9 958.3 958.3 319.4 351.4 575 575 575 575 575 869.4 511.1 597.2 830.6 894.4 575 1041.7 1169.4 894.4 319.4 350 602.8 958.3 575 958.3 894.4 319.4 447.2 447.2 575 894.4 319.4 383.3 319.4 575 575 575 575 575 575 575 575 575 575 575 319.4 319.4 350 894.4 543.1 543.1 894.4 869.4 818.1 830.6 881.9 755.6 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 602.8 319.4 575 319.4 319.4 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.4 351.4 606.9 319.4 958.3 638.9 575 638.9 606.9 473.6 453.6 447.2 638.9 606.9 830.6 606.9 606.9] endobj 24 0 obj << /Length1 2114 /Length2 16844 /Length3 0 /Length 18104 /Filter /FlateDecode >> stream xڌP]Ҁ] w'wwwwwzH߫=gANJ/lb(agLbf01201Y8[#%::YBh!3r0ȸXY<̜\\lMUi9=_r2r =daPcpvwٚehddojdamԍ ]_52u5ۚm`Ohqn2L\m-\bLLL\nlW5{J5x{L?z[?z:Ύ.@o*`&΀/@3 [?;Zt>Ə?&-fVQRפwUع<9,Lff6ǃOK,?N5pO!  5#(}3@gؙ?~1^]_Ho=տ F6gݐk BY_džۚY-$,܁&Jtpk [_/=3}윱KW+!mL=9:y~Kjt{ v.vuc8"(b(_d0J!fb0Jr#>"(>"(!j#>i?tFC}b_O&zL_dGfll07x#MGDmہG}bCGhGoG8}dmdqnFg7?<\U?2w x?RgS]?v]F?Y@;viΘ7Ȳ:Rύ~o|O3sɱ :GpP78խ2ѫqS-tHsr˳׋a^ $fDpM'|z5}W/ +&l.D\^Io{p/%Qz9_2I `hP/ܑfofP&މdhaOX Aę׌3SJTL8C]LCu\|]TA}yd:9=g9> "ʹ279#n3T%.-elNK)s}*Ɋ`җXY'AC+ED:߽Lns/qL L6󛶫R.QP&UB!O#^Zx>ۨpHB[TQ*|ȹAkiNE:oB,#r2gIif^!7^Pkv8 '`UB>|<ٱx\W+G n5usX2}fzqIw̸\TMƁK.N)xB0Q %W]wK%𕕲'dϠ UrHZ4+boՃ`IVTC1V)Ο EzB} Gk0`ь;|Љae\S'7=w9;'~zPMF*OQY҄YgBϑ׋=I&d2rvD:Nc_ϕٽ yxunOoz [$hߟDŲ;ub$Z!xb^9=VK' h_\~~Хk49e|Lz6FmA$3.?'**`^%U}ԹHlUR+{l|*^_zqY`cS*+3ho4t/eo=5#lvttM|XA.Oduі-,HOmq2G]1rnQ:R5fK=@AC9KxއfqHe BmR~e]Ϗ+6ܣ̩O!{ź`e}=-9`X< ڧԹhRAWޝ<.8?Yq Ր6K/DA q~NO Z=m `EM qE`)|Llvq*"KrDk>/L;p#j c# Btہh"/l ΧP&~`V!r$}%i1vV4 & fc-S9|5*(gg{KW%mJ_: -$ñټ܃xJcDu3DA|H-}x>(^I]\i&Yk2-DAODT̈́ yC!fѓQ/o5XΥz~!|?x 5ٳqޗ_W?eg~lBO/lXjkA=x^ |׽kBWa0QgAi?^uQnժYwC(` Z_tPj4G=\+"ҾN'G>kVJCVIdk* @ k| N1Ua{Ql 2k !2Kް[_E &'PEl5+(nY4-dtTj7Su'C 5GyHU٬ugSG9j2wL%Lẋ-Q_ -FNn 槆:IJ^9w;'= ~w\^9oq H_j^ q5")I!7q%A/7xF _@ͫXj򓭉J4$Ay+Xl;|$"z9E/yyշxCn^R9G}0;F/ SAPΜV7 Z{$#z]C,Pp3803I|bG!`aq!FKiW~  QG[,]b]'ыxmϭtx$KeVQXa?K,G^Ŀ]~Q>C@&V#Pv\Ev@#4$k:aRo[S7piϦߣ+m0TnK8m X wGw,$%==PGa,3<-1Ala@<4U.J(-ό+OmEܟ˹61b"{%P(F ʲ]6Uy9GxwED>9[{C RA#H=:B Z8wSF1/peӀ8Dl,JfE}F~1X?UXN!K`Ӵ(0ʟu ,/V8;;W@p]G- a̘-u0QJK=J.bsXO9 rO,63d/h!EvFylY\}oDh= Mb鄣Ts! 2'>xrwk B_g>"$,zMt3UB@"Dk4}ڜ/KQˋU-F"@ta1=q?r D*qca[G^4ar&K]mVz&IhMD9a44M> SD_×Kbh!}ֳ$Հ[5u3%|cdoj_6ypPoW$>eu_"gH!y -s^񉯜ou:i>h\0?3 @ih ۽4@ 񼚘E(كՌnNGrN1ZV„tYk̬]o9P2/OT6;| $֡"W)OvQkILWj B d+ aj x̡4ץaYh'lF\ xu~R(:*3)h]s, i"- Ef@!UAA+L"%e# @kAv47Fr-R>>"~+q7K2%/|;L_'+74muDǗ=͐q@4)u؄*:\,s D:BBhUJJIMT".k`B^Ir WE6'I6Ӿfm3'w39yd$$TȈ6T@bvxo^+8/6g;r'B!A rL,.-dyJoG bS AM>=Z\_vg=[o~/6 wU-' T3KUgZ3C@wM)O\_'Je4|u;l xBOc'c'g )eq?HkfkE4$|7-vtw 5v+9+@P"Ԇ%Qso@䈮]A9 ]` +s}keY.P@P=Rǁ xwz0Y)] HCh^k;kb*' 4.Yg3ޢeβ#U<`q﫦l'_ZZ`vpѝw(s[pE2l+^t&"d~%CZ|.!eca o6K 7aQ\"&M"jE[F5|5M]'øRUU3,})E=X0>_RŻ".(h$ӣap,g3sKdW箰qC> :ԫ;;j%21R!_UVof^_† E&ۏD1MxtԎnbhUts& 1 ;HJ _To, ~yy;q?Y*i@րTQR8*HBL ┌YB hl4:#T_~I06 pv}[<o({.6]k@ ?ЬT0!f^ ƙU,k'i.gŲo9&-@&g1f'2*=vUXIm<# nFdK}=!.1v5$]Vy-'^yFF5xgHbbU.Lk`ys/_ކ rhdE⭲AwH'[5U!P<}W!ДF "Q(|kY9<;OaS[SP_97j)uitBhd?y'ӥvzU0 G}t~ f/}w"Kb!s#D*()=KjC_frR6K)%_abq`&-Vz2UU<0Yvhmo֯" b)Pfc^_Dj"R;b>q܁ѧ*dp'>qpڷ>46i‹ހ}x +}>D׍A?Qojך y_65G)7bOO=>m9I9vjg JX_M>gdO Orn>Nu[vulk9҈/6#DuUˆQ/ISIW. п ߠ<°%vWF.#];A bD?mH4 h[s eHOp|&WĜ0>P?Q ~^Dvy>k  >2zrbSe N?!}kB2G[F#ZqeܙFs}lq5AXY&"ꙵ#;stώ?<@s 9UFj҄&E5 #7sd@;.&|C0K.lᡣDح)ax.WQ^0Sx_5ac Am 3kw,m9aƐcI/7-摊W燐lk.c[6tމR2E0 jz0iMϐ۪6'DsBe*_Hx!4q'ϑ="_'Sa .o+͒r\X_(3vb$+ ݛ6okrmӝ~[lE#[A&^|#IHEuJ*IO6#E%?,ggnI;ۨ=,7v8'KQ}TEq+cJO|bnFi.I'b|Wk((؃Kryj3oPU rZ e{ „I$[]*#9Hlz'n`*qCu[u6\fLW۽]ؙ߰d"j'}%S7,9ۖ_u(cOćFyWئHإ^DqhH3O#WFaChS" #:3Jø0i!S E,6Y#N>TS={{!tCq'Ha2ǑaAQX<|_YIỡjφ!ǢLeCRkP8Z-|Id18r}]Zs2Ca8Mnޣd`\QͅNJe+MG1 t+yċ-2PeT8p9|V_h4??t" }x:!}@ 'H6s]jQjIԛZ8kRԯ]ډƁ!Q"ɍFtߴO!&o=oRs\iV͛p!CknCB޷RuxnߏU#'k˜Foigz-b{ 6j'>V`~-]CՉasCfa[$qak2>#?O {N %?F$f6T_xR,} p3-E1lFЅ8L#OEpSu]!1xק6*ؕCp "|;0Z.@LBgH {?ܠ_9Ño?vTc/?9KikJ;:w" J*<U8Mgq$tf!gFS?zdfۤ w釧\~'&0Ց]'|@3Wè\˟=]0 w)RWJ{~VF!I+שLW@oQ2CL9хj6%ge2RVAPs-QfcC7R,r<^^B!Y[b-q,MH :3r3_6ߐ6&-FͰTvY*ZX'o<8Jь3/@oN֕+4B1 JXNr Ds \}7$tU M.HCh:El:/OO?6ZP)l_JvK<7B(^xJa8CHL@nZ [UN},rܖBT2CE^6Pk/}{s&Ƃ:ֈpqBa֏L4k)7#ʻfg6w^ =.35{Jܻ̐ _E7_m`Ɔ^B'?i@U#e"0+uFaqܻ:EKb:`Rk {8#0:vdiiUw6-L, [W HD;_$GסtR8,Pt0͍ގF&֛aFodn^ZtZ>;]h =1M14L`b_80^vax={یCg@ Kdj$K, ɽ7a0+Tq۳,17ODŽ7OUt[~ hNJ d&T%rpCZhLu(%'(rx ?*|rng:(}sП9Ef6^aL);g2',~^*DO "&d?n05F_"pwU Zv E& X"b<}5|r(QbNpdiŮGю2ǛpSJGأ%}>h& QLCi0Frvj.WP~ j)eVy('WеI X7*^^JeBZrPz AHZyQxQuo#e:Xi YI fADXB$,@M[i^{D\eDH%'{_}lCEʳD$Wy*s1+x=Vzc%@a zfVqF[ 2ZK&אMa []R wkrOC~zjj${U7vCx9B V$Ƒa݇%J ,=@,!3)4=SDΚ25^M|w8?fiS+HT7, FhS>BV@ 2H MԭO# {E+1/y( P!Rd~J%EG!c|bƆwr[ UB8^%J#l}CJ1!V^V^2#)f%G|a>J}/r'k8gzD_U~a{J^/z4!ljnz~|9:u`6NQIfdMTSQ$F,`@ߴS4spܷ%p"w^-F/NT?買ۣ(I~<9`k`+GɭxR{Q;3MJ/Dd@E }q-”A-5v[wkŁNus]s@+ӏr/4,?S謉cCI/EZ0]*9|i݃2Q" S-|fTԈH9w-<389 wR!y$om5nK5.<o46zo}鞕 T2j'HQzn}9Ec#pVF Q.N{u򒃭7xm{1׾ۻjqZX1KEgQ|%qOZeĺ3:D[#b !E9 cZ9BZoyI7=-WUbD10dS0>F;uynT; 82Aݑ+tc0ϳgk([M]F1 +lJ8ӪrO L)̹:)6>F}\6fG9Fe_f2i`T1ږ{?7,m0%)b4n)?_0VD?mA|cTS z1; z[F$FQ7ry:Eb CDDI>$t"ZӪe@ vFD`f^Q*<`ZiP{R;2GG5(olSX?vY9`N MSSW lhZC MpO7z8 h|y_̗T@ƠGBʹ*J jY= I|/ܑm ]$=wIxʭP| m:S=)L@$n^uc /8#rTnfZF_:u H &XÊ%\b5jLGǦr/<j.qi6K5g@ZcA[&:e%[ol±(i$;;8,!8mro=/Z$h9"R .h|R'Q}x L\ 撼mѽE۹#{)( |ᪧm =]`^S:2˱ՍRp4S$ɧgJn2ݽ+LN75k+ϋ,H2q:Sj(E72".EV?s VfYd,EI~.4RKKKn9̕J+5{11V(yۍ}zpEdbǮ7W\aprmWq А 6836 B zG y-fhaTeCO I{FZ"ObxۗyHIt2(p{0!,ՒݞH`$ҟ4ҜOk5̗cK;Pm}hݸ΄5.*^=^xNt| R\,%5oM2, j9l<}m =V@9z~HՎsߌqB\y&'[),Rqъ6u^y.d]p*54:@ʌ4|MdzISLgD?aס^B)dFǥD$|]ޯ$-x\*~Li?HDx<sZ -~|}f&?d/v,EuR56z?erFD_""i ;t@ѳ5-485$« =, }]%c{b3@M.iwd  >mEnKZ<0>vmC%U&qٴP*,Eփڙ pSؑ)^rxdSHӎM}@8+!0ioߨ9KnUW# 5r졭)&̀f$ns{> ft=#E!vPQ (*l|&=dX*J xWYp W |n>\~NWf e&`%PCQ$aНK̝pVH13ZԎ?/⣊I &K-Xufihi7jKDXqZH&'6H!G[:킅LTBtR Q=9nH]^CmEk5*R>$C`ɺ=Xߠ_⵺$=O2aPGvŸ'bǠ%UE9S58MD@PDuQArޙ/,!ܫXX4!ơ\!01yWviPA9ͦ~ӟZJS.V!Q6gӚ{^4j!ClnO+UlEU-H1<}EaR UHҶkkց>,lyHpro>R/Z]Cn,-3s6.&0_yr>tLmN0E:IE%ێP`9:{T*K~`N<4X%8,Fh`(,:༊wbUwXɋMԒdsdg| '{}} :RIKU8ś7.S 'd5Q? 6Mz"4vV_qb=YAfz}I}XIۻO7iű$lCh~Aoi* | ti ԯ<[C|%ęf]4/Ϳ$,Dt~敬3鹄(Ib,nO(y1/^H* >@mƷlj0EyCz8?C\̅ra4D͟Yr~ xq)ڞ)R: 3MdF ~$ʠ}݉NgY[V8},J1\Xf%?ފvEKR>fw6fn/~ tP!.z_,[v]t*4`F2I2^rqp; ptB r|(!2-QrRA9T#OZR n}=f7%A!S6==o" z.ǧp`C77L*#<!X Y\!˩ JiIMB7^~ds7+2EbS`1Ak͎у#gӼfa{q!;leP 9Ĭm[rRacMWΖBNpd.hj<Щ+bu휯 9ÕT 'JXDd&2W(T i~0? ۲=EBglx{ZS HWJ7.FXxc텾@;ɿČFΛ ߏEk= #!Qr%VP{?ךtI6'qGIwy{O6{'GˏI ̬yb\/ V}eIm[8reymi2Jp2Cq<;| ?߂H_%' [)a.\Ά0k4MF$x uڨxgZ WFM0vIr] tQQna4> @Z('v]0!XmܳUwq0JCP zBV bAhH[VFLLh4%A"oC~@0v2 0m^W)$϶$`v wa0HiJ(< `*b] q6X nפWQtܩp 5 ۜ/:.|cߤк]"Us֙oi\U|f׀^PWY_xLOfxw<΅Mk̦z+,A8BADWM(|`oro1Z9]Ozx f>F.B̏pBj֎gF\0*R1=U*Q P`[ng>2B>π YT!OQ˱n:ű )SIUB}4ͱ^zM~?͡LI%@U~a endstream endobj 25 0 obj << /Type /FontDescriptor /FontName /AROXUW+CMBX10 /Flags 4 /FontBBox [-56 -250 1164 750] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/I/L/M/N/O/P/R/S/T/V/W/X/a/b/c/d/e/f/fi/g/h/hyphen/i/k/l/m/n/o/one/p/parenleft/parenright/r/s/slash/t/two/u/v/w/x/y) /FontFile 24 0 R >> endobj 26 0 obj << /Length1 1889 /Length2 12413 /Length3 0 /Length 13576 /Filter /FlateDecode >> stream xڍP-k ]C!;I =KCp.[9罪{kfպ"SQc5vNLl̬qE1m^++3++; o1&l*:)r667??++?`~ ہNi509X@' kF @ lb rrNN,,@[Gf0#rp(U3@/ l,M@vv kr@d_{`cf'hbڹ[ڙ,m@e)f'7'FC#U_ y7v$v>x=ƿDZ(:m"F$bRzo +GљUuPڭqא]սZnyNJihTsxpNLgnogof0r'^HDs{nyV;SC_c|;H],+ oʟ+q?ܹ7&+'F]pHF99h\ C:Kg"ORfl:PWtFC;n\rv9ő"2Pa3/*?d0DlרoDf*oYBJU (G0D)(!o3AO]C\R @ |(>7$"4Nsߍ%9N&LSLdW'T &8;tZ!PN[\ ŁN}f^MN9=""n{S't` jdݪ5rE[Cp+>3P/d6cɮjRvfUDHH ls=I'1eFUC_Fv6'Es^[Cųzi9q~2x+b_i* q0A9Ad$d]PwakjR)$m}1lc l+=+2TȿJ7E1HѴ !d [Z+.-'EI:=01Hg';t:4XojlB >BR Z52-7N/ܱ 1 EhJ\2.46㽜zaW NbdY_߹Fn q@Mc.j!2n޲?MF Xۻ`Qҕ/aNOB^p VuTa}>[3c(F⽛U(٢;R T=N3l;+N@D9[P:2HҳZYe>LR =wfdjr ݦ͑ۛyR Vkw0GW zEjACaTWa4y]7B 1%\'^CIBxrɕM] ?#a|aҩNU5ř@që(Zz3dD[{=ze0j^.L4&u]`IPeft+_Z!DԆKuC}?[ISP$O'a:gɈF9F=[52ڎԐc+!#fB\pG"Dw.OSmǼn=t5u80ݣVgLZg߫NaFSt D Z>ثFm'8- 6Q6S^{YoR2K⶗UPOW7ZOcs(k.s H1X.֬akWfwcwZks?O^K,4$+.s:\;/ErYhp3ոTh-Mm|%WElDmn3{A@D+Kt̛B"EFJ}yN5cCT9~Wd+^eJa >u\.DP(GUO_v#&n:>QC3R .vyF{o 7V10⮶ H隮p~?!\t2@k*Bq 1X̽dq[?Tog3X"V~+%IMҀ:^ܗE{^ccW˻_.Kd{qnM"!<1%=J}k Jo'S@5&Dz?aAM7lTFА:~ҫ:v5 y'%g~+"ʐ`&Lf4q2AEV!zCtozZ`%LÜf9;@0-52L/Ixl*AN9w Wfν`ǫлΫew9Ǯ[I4Ub7QMmxK3-f~ntS3^,5JY ~&\jEN|~fwi'eK(J'R> oJS‰Ș6zH򞔲0.G9, miE}=%jQPkSMu#;~VGa+р@jyrrqV'' v*BA. 2rx] Z]јcӷohƋ%y\+$4X})0$zlqSd,YB6BfXBꆪv".QbMJ+]ȺN8sCAu'i{ۖX,o9=نpܡ/<]w6JvT r1R(U>ؖpqveaiuiP؝ T"Ӹ0]!ב(Ο3T՚ϥ%&|"z]q0S'^^y*#^+J6Mv'g7݈ %2T[Aw\-rSVoVĔRd$ 3PCSԱj{.vqg|BBع8JzUK=8\6Mè2㽫G(g9tgJsFz%AAO${cx\5~VMECOKpLJaV&AdIv*xnR)GB()&2 {Y[upT(E7/Q.4N?q|NvLUa7w~&Jķѥ7f_3EDF!Zŭ:,hÆ2.9RbZ| Y\ O)iֶq=s g㶾gY)R'tRGV iSSSK2A׉L2j|Yӆly8 };}o:Fm1xk~p5e [؇b$#]dJ"Lu\?[lūxi|bH#--@#h4P.4}BpS5DUlOwBw8B%k%(N5G@fν8;y -` n,qC\b""7@jFJ qEZ:~%\#<˷DA^" _QVVSQr.~~;I/rX%4-nm(Eb~#iXWjv)^Yw~s4#*!cJѳh@h͙m׋!ḯ1t|HUDAi}4zJ`Ta ԏa—IBiTʷvŕ콕.TƁ7BN"F/O*p;Vq9)otHS~4?^y ҭKڥ&@ 曩w.yiB(,B\>-|Wpɼh b!JtgI7mȗe乧A@3zզs8pXp̅{ B U}ln_̒ :*UzvN>=kJЂ-=dnW?(L*`+rC4͵4|F*!%%v~kAܑaQ8BJ Fq*$+ p@{e$e@=%&Ù:կP+/3u Kbxxc+^ʴ!A)&vr+艎,0f'Iowtzɂ %m_S =|8-rPI)R9lRLnĂyeAp1,Qh&E'h JYd!^8-INK"Ɋbp j`3%ȓ=Dty>q% 6E#6M j>勦ؽFIfTS2ž<dJb/HUH?=W4Zާ Z,)_24>"{߯\rFĦ̮iE8z6Q&dEIk:#OyTiʁ6v"'wE5?=pSf.ɌvxK:"ʗ:ѶvT;M g59\ռpz)O[hVП\3?WQ//2*(+ZJV[sГb&"G3Z4”M1|l(_ȣ"Fh=,niGNdJnr<*\]äv/Os^ !^yG^G7DGq.և%_Qfv*b  { Bc%f9N5uhyy{!'NZfFh^@LR[.t)ዪaD Ym8׾Ʀ)Y ,]w J0l[IV1j};Q|mP|5^yԠ'@v#>i3rܜD%K.Dx[\z4 TuP z;L;w}a'!ViX+X`ʀYQʗhCRJh,| uP&L@.iϸf֘j:!5uԽ ۄ}l8ۊRD)ChC3Iة|D? cb5;LfQv#z)7=n#K<:9ԃUw7ϩN;.唀r׊ku-p=3j0 2rNL c_{ ~DEJxژF 1m^NjᰍY d P3ջpOР ^>u["ss=4MXczmRP0t$|Q*17CUE3&E61ݭRI!F()0!O2} r5X9q<`U&Vt3uBLu^<#e،u0y {2֩MdhO` g>h9Ä"_!)H">H}Wczu݄1#!? {8sPV 7)3BhI yQA igl!/uhy#ڡ{3wY8[mNMv)͹uѐz \UrP"8eLMaUy%ƩT'Xֻv WK} 'зRL}sKQAt5rsCh}ɕ?.q5 BR,˰ )ǭroJ0n(8,Ǽ\S_C!lSL9My9# ʘvR7|:Wh^F~d{ՄQ2^c_˪(]kDЖh+֝X0Ɋe"K mD7uJXHǘ:X݊- U՘}n%NӘV8#ZyȔ"-AL,x-sϳ<5iwe3o=%jݯݕ8 D,eFuTxY!XY7u٢e9١z I@z;z T5aAHv 鳵jݒK_` <9B "HD>zۅoiL 'pklNʞc OuXw76! 7cAf(J3`E+d2IЃ-JU]Ϥ"<釡.ս^,Ke߼USJ<_wHT8yD{62;꒥]89HF,1OR*{2uLp5k")SZk]tBtikeG_"^n>GT`ֻx*:3$)W[pdVxЊIK H;>/xӗ\HH}y)djEre=Ԫ*^^ZJgdi(pǒZkJE n]84E4Eb;nߐQP>I#!̞?{m@@}OгN\"6Zo֝6V~ `۰n~T+"oN Q0$Q;_dF:w8e pOSTMiSU ߓR̢1B&Ks^pNnD,_I0;+wD"?Kjap`0JjM\٨_C<PhJr>B"WQR@}j);Dk28m\*xC; ޝUu B]ڄ2n8{AaicVBNTet@V~W:>rSl8m+xAdBXTF]2ž ]1,}EJ*p-eq~/ّ?o9"ۑŜXz]>Pv_9|(݉U^jL%-|'[wR =:fet!GD=hZF oL<*ծͩ2"P]WБ\alwR !'ϝO[$L?FfxT{}_68\_V˵Ō1`+HgiY ekԆf<| kc (~Ekɛg{k9u,H&lAY}ӛ^66O (^ƢQ[,aͯ/ K$f9dXpJ*UD2j(ؼ }N<%i=6.!CNL.X&Xߓ۝ȇ"F<_rM~HH_ "vBԭJNaMȥ,rRjƧ`qZVp:\n5{A/3v1@>wԒd Xh}c~Eҳ%x^)|*Fn٢3Dq@1T?%{L\s1,Ut4C@#R D*Ý9.*Ǔ}\6&SKR U4$?-JMeF_/;jq%y`}Nhޞ5"8}^MPG E'G3qO :c\ΣB ~i㤆z%e[  Mtg:l^R1YwF4XP,^FLӥ2oCF7DCVŬ|nfnMa `NU"d"!N3(%젔jj *jjSԖW3SA\pvy=TxRG_P+V|ğqc Aτ/һv__D23RVf?1ibR-=$DUodDž5N1icVUa(zym* AnՙWK lwͥ1wl=,7!+9I &hR-yȵyDHM:|hL5U)٩v 3DҸLW1?-uBg|G/IvҼsI5(o8@lh҅{<@oRL^Gu}w{J> 3.SZtTtER:w?ɃyR32f] |K=v͍ڞГ w[/Zbm݅:g(068 v(3xEgU_u_lB\>bmv=!Hjɵ; xjK 7<5muU sVh}i~^\gRIZ\Z\'+WUʩxikħɲӗ6?;bB۰gK3,@= * YXEQ#\W?%=Wl4c-gw}LE߯:BmkW Wnd"&zǾ``MU3vˑSٲk+wz'ݐKڠԂoK?gi0(Ca8=..\y\ՙU vuu &^'|H|lil )fįs!ۖDb{0 wy7~zqs2ߘї Lk׍7;xc%z5 InZN->|쐝a6[PNHlYM G//c^ ~UL5_x]|״Tk&7mقx1)& sypz'Nf?lU/ GlOjb5\53:0gq/\Rie)˅+$!yDyw#yDŻ!oVj6ڹ7Eq`BUFn{}C0?C|D1-߃/gAJݣ4) Cl>>=Ksԙsn'ۥ9#<"CTR2e .xU2~}mlY54(cjWH{b>⤨En@Wlf7j]y9̜45J֒cjg*6y%p`:PN$WU\I`"Jf[QA"C"+lC)sZ3~P<=Tl4Q g)9"((SH3fT:"fRE\߼Ssi1b',/^X/Sbv/JNՃ{OlzPPyrٰ`Вn}F}f|=p"a3i bl+`T8E7J*w9WL-zڗYlY0M]Rf .#9TbtC*(="Lh\KH_P? 29@fd'u Ƈ\5rR(;inדR@->et;ЮZZ θ[ FRMTJì w4%v.ĸ`jZpZM+$ dڨkpej&1>_)ޭi侮Ltд4VkerǬX8<AhG (mx6nOY=hk,4`8ȱ_*Ke'ٰ"bى* M' yjVA>zh;]uƸ/) z*pߘQ,XS?FYiPBѮ!KO2UD Ynb]iTۗ Y<;ưFȆR_!RA |Mz\pAfUe^T/=y9&x9x+m뼒s$Ԧ{d˰q cǴKrݟ>@ɅQy,gԦw+hςBURztM'YAPׁⶼۼw-ȑL2y7GiHlAnzl{\Ju3&v_cJ!xj3M:ModeYJSkߗ Ƿ&U~h;UML:BePa Sd_ 75 ?r endstream endobj 27 0 obj << /Type /FontDescriptor /FontName /ALHMRK+CMBX8 /Flags 4 /FontBBox [-59 -250 1235 750] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 122 /XHeight 444 /CharSet (/C/E/M/O/Q/R/S/T/V/a/b/c/colon/d/e/ff/fi/g/h/hyphen/i/k/l/m/n/o/p/r/s/t/u/v/w/x/y) /FontFile 26 0 R >> endobj 28 0 obj << /Length1 2038 /Length2 13290 /Length3 0 /Length 14531 /Filter /FlateDecode >> stream xڍP\  ڸӸ[и[![p Gιޫckε)HT& 3#@T^ĂHAfb [HrrK/2vyɃ2fV33'`'@ 9#R<,,]^@mJ` lr25X^3TV  Ag393,hV.3 dM`l#"@o* xZ_\@NUi9oc i p/gcSSPctpۛ64u[U1@BX`?M\l3dq{3Qw}bVN ׮{:V{Vf):]Abx!Y\LLL\#aj \~_ol8|_ 02u,DƯ'dezv k zھ~EZҜ_=a_y/W.\_sY^y wuSW'uzـ@ S)ou]pm0;$Ŏf* S= \Muf/ᤑ^mqk'O>*3;KXS jB>O>l޴BvP:r(忿u([]QޭEz,eVP"$kօݙ_sr^e}Y uXb+X{pqup\,]R429.'׎ʭ%5. tdfT]1I,[̦ٚg3bՋ-gt\ɮ  L$Á k $\9OmjZ7UZE>ܩo[)W5rng`Jao8\r. -HR5Lca(C;?V#ZQjB1*u9GZm$ ̼˾zJLS㺷8bQ+@4=|};?ZlŨ' FΕubuKlu^ts&m\: T[ U5QWg>ik-,+Ua] ?> iAqElON0!fJqQ+IhC,bR$x?Zؓ(INͮ)S* [Y'Egitkw"\pb]CY*v3'>'1)kM+μ?nA?,[x[jq*Dja!l" @İXbW\/؞@~vLyBUAYS-0O)q|bmo+;=$&ӣs~Sօ( -?'=}T =l1s 68W&u8Yx|NJ8B˴ n~'{z7e9b3: #ׇS+tIr1 SY57B/ߗ4gW9c%5* rau⌢O>Bq"$Fͅ]2]q'djɃ*xRβg5Vʭ,.R3j/W u囖>n oKeN':}:_1FBe~*l抬6.l`<&1?&ah?!-e?R%}T2+lg8KyVh$``@41 Mfoae^H~;ڠuYCE ct7m~M>4 ֏8zyZ^d&aT6ެ,S[vȸJ% vϗp|07E%g-Bf_ja.G|6?0yUZCWuNKrN#m49WLKKtcBKW9UQgkY|k.F5~}Ca:ˤ_X,]>5~/1loC0n ; |Q)n}F8@vCϝ>/{4w,F!E!0rE@ѐEJ'6rd)ǧ'LDZ++ȽwrcGe)㠛o0E2a{c#K:[vT*H18t.W-s=w,)i^3h7$X%snЊcO$_@˙H=$&Q<]hAģGUdxDg4>҅h*sJL5MgaA|7IMwb&OUXB^4N)juґ *ClEOj}LB$t_z]R9RvBЪ7/%} 46R6;vK4$^#Z*j5|T<`vIy~ԤeUy=^uttfU tL3lC&씒 'ŕ"LѲ>l7LߋGglO4iC15콭?B:]?Шx/c2hZNOq(QRrtǿNs/;zui{>\뭪:McMTz~L탊g# J%jU~@q4!TG D~C2c% A/SҜ0q6(!]~fhL}>g›.ިkoN90GΥ&֙0di ʑJ]_827gQ哟ɞUC3:2gȧs*NC}8Z|wc%c1Sm}\Z`t({5. PfT> wVC}GX|Ac ?hzfc۽_=O"+4벺[/c}f,XFّWM{H w_R<'r{u<&tut9^4sp}(Ǒ4>pB& &Y kޡy@R0vA4sOY@Gb\DGi?y7vT:ŨʀJ]S w ј:@қu-jI8Tu|.(`!Sr|?v!; Q> cijhNCAgk)E㐖/P/יV%XB>Qd}m4ҟ7\sQ8Vqp0'VX- :_7Z`&Vnw5 SЯ3qƫ'L6CSJ .nfmL[,{[Kzc~-Pgmph;v2'T 0dz~q,=_z'{n+H;>Gi.3Ɏpƴ =ftZRM*uusDS.- 3@3qw\_Кe#sD!=?҂~%+2=D"bu^bN䧇 `5EC)d'/eU+gxvAF=Jgvn~ "1f9{)ǁZQXtໆxQ_}[O}C3E23=8Qh[vb|rႣ&2)4 sVkRX^dn4Aȇ|i5P?A0/KprMsZt)?]]luL<nX0=لGp ZNfȘD1$niiRry`]#W58Z)SKzg#T>; o܈,ɢ/]jzW^Ghi۟jHI 9,lc 5,tfN'mX@/q+w y4 >f~"PmdvBH$oVtf9c5osQh(. %QN~`vuQ%әRDRiT`GyX\Easx,O@߮umT6cquc3̥ *^ }63ClW=eZe+9 XG2 DYu\OkwjKȈA/ىkԅ☴=TaAD)F?ݜXc7_:Y1VN c'Ď_ 7,17>ֱ |mNJ] fnECSyI,"ˆ)2]Yޖ>T>3)YAG.Z+fHW!kĕh7)w,w?6uȄc2 29c6yP{i2!WHmT^V$#|йYVrIXH?sRdW`{i}#in4Bj(O$qWJAr2\|,H9O4uTU(6woPɞhv_I6Fa@!Sx*b)~W-wKf ecUu<ڭh@Ki>cNaQZmh1xE7C/`O(h0D ȕ 7?l7ί1ja6#з1#:A'Bfۘ`zSVH$.8yz`k+<۹|BJz``dG5KV-n<06)1EMn܋ ">ci] =nW<@ ^&}{`2ME>;m+C'=%PS NEuȍes! :`J+p~EC%I y;iKא]0p,1_43 @|TC$sG'oizn8$sr:k_c10(P-ޖ`_yZaX6gDOT΀ؚbp٪Ջxb#>4ATIT92NAؒtImGKL{ty ^ls˔j4a*?meN}@1~Y&FRP43_x9R (.{l%žHS֑cg&b7]KfƧh"(@`pq+ciQF/s۵tDGu3ǥ1S9eJֹCfUl>?(⃞]Ƙ^6JNeJ+mzk[M2P N#{LFCX5Nu!`ë9Źzm>b8AYcwTsrxo0K9n$=sW:41I3RضQ˜asvX5 jRU($̒Eyx²Mq&uM;XZLax{ψheQCPFX*:ўb$^1/RrZ^U\&^Ga[pՂD8c8LRxQFQmNk sQրpV[22X6 IԮ!ʠZtZ%! ~z3*(6dI&}+'t t܏V2A|:ɯAXZ84٦̽F:c˟a( 2As6q<Å$ yP@)![*PQa7Dy+;Wdqb޲IQ8.α~!)Q@E!{OߙJ+f/_JukzYc 3((?ڢ=ȍwx眧yM s#_SΥn+zԻR-R='Jle0K̯8nuϼ=TP! +GCbqhq72/]RߒH; y _Jua$oE/ KJGNF> z6;be쁡&/&ñ²ɺ"rDXO{{a~[!8r~ӂGWUߪx$;E TaYUq%@)'0:0JxQ>+6 fF gdK0붗 e즖!B> jz{ la?{&k@xawsd4=Y`hd-UNbjNK?<M_@}\=N䬒49tO{2=゘a.a9/r~SkT6u5l(SJs0wǛ/GʟDϪC KDVDwޘX&&>mDk|Twi{1) I_m0&O+OJZjX6g"aZ5@nUx|nBΑmۿcT&º@<*>>0A6[p Lx_ a vQWvՂmY+(B8r 0 vp±<[f4m[tOcts-r2iK^|.wgtH୍""iupjk$`jI7NsilvbЂ"t;xRӜr _[)KPHht_df9qeקeTS ' V B &y\X،#;~fhgAŤij!~vyM_o%b/u)BH7liLz!JUxAl3!@Bڥ%HlCTLh*nɯϳC -lL,ŪKJ}_N롪jy H $ vs_zyo1F?{X:'ѰPFL2W7,p0?i#v[G͢M{8 u:4}'V)D:(ƙ8g!N3ns) M"2 V_sBV uSP?[ hu@V&1GNFr°,*7cC>vqA75~L@7]:92{n V›u&P~0*(CUKF.@3;~.$ZGp5hjKf'lާۤog'Q+$ 7/ʷF*}†oHSIc,)%a,,҃tdr$8ߙtkk!{!yqĤ ȖAWG\*\IhLС1 qz&Q4PFsO#DUG9{9&3ܸŴmk^6=fnw|#^G9Sb-w"S"$Φh階F@Z.5#l]Ty_uTb1=ҝ} Z+j@f UaV>fpw<%CXm,z#O؋ޭVkRʸ@~PBB2B!X˕5=h_aԝ#CT=fHaFļq|Ch{ 8bƻQ\q:\G0(Zx3NR="jX(nCǣ9;9T[6/okk&._rf6Ih IH7q~&P\-Vn ,A?Y8$(VQnKPڿ}ǎia@oI m=8ۛ"+Duɚ;>>틠v"l3(a$6@Ls=> s^0e5b)K,dx<e[@d%U"70$I aE=TTŷĕOBsc%BS&E Cwumht5C)@7f!::4^<9vG 4t&JT9 |5e-7&(WZD7r|(m޵ kaV4Ф\=f=E%Z=%D Qa@:찎Ѝa>3e5p\ nl)21x7jt lǸLtMxEh;:XzjdPN4v rrgHz'0%ǂT@'J\@K5.~4DyM|Iw`B-ߌ!! \8P"k&&[/գPZ%)B) Y#>e:\K1O'Ƒqg'@|+5=!=%j7} VW?绞}:_x`Ȟ_+'\db/rqۣKě̤$t¹ d[OnOT͐FUWhC:!IbxEs7Wn "Kf)+bό !2׈M@nը^i6:6@vhI -4B(|됇: ];!X94CDGI,.ʯ̓㖈J-sǛZu>YA%c/hs{ |]FXaJ;e`IIiW&/F Gp x`J2#-Bg7"\Xl0if}"X6[>X)idt#XA "ZjҞ)eo{ݍy5+fb ̿Q<zP sd`Džz焦-jMߎ̨"1|7e_A&/juw K9k[S?_fnViPp=Иn8 ʈY]-ׯ.oŦnT(ھ;}ּ_w4L>s*u+2c!|(V[ e7WKid 5znyʼAgHw> endobj 30 0 obj << /Length1 2542 /Length2 18573 /Length3 0 /Length 20036 /Filter /FlateDecode >> stream xڌPܝqw`e!Kp  }N'ޢ 1eL]kAE$jh ttpcbcf)XY9YYԭH4.֎\&n`L qظxYY쬬|5tt[@WD*1G'/kK+7p~hl||<D.f&7+=8@?ܜYX<<kf88oi8L\;bj`[`bbf 1n9*F<ͬ]@vWahޕS|-N%b1sG;;?,- _zg$NDv&`},)0Xi[.<+/'+`ٟ$my}{Glf;M,WSS?~NxY G70rpV/)4+fc{1j6p3pr3 WN-{{^@p޿3y] ?wT _?@' qyLMǎZQ"I9}4:&eN*|2]MևM[䑯k7"+>'amI*폾OF 3ߦqNDH3>;jBBvR9xQ <<WCUj吞gb4JMܘH1/n/xWP@`P?J[)29m{_Q!5?-> 4LTft} Y"gŚ즧OVSWFDW%;zT+˙NWnʩ٩-U~n=2:9p?˛Iqw\z&((<~zO'94v'CjA^J 플hR]%:QrsSVspN*xP *Vu+ǕAz3J`+=tV'y8bL/ Vn_rO)eUEu5 :kޗ`I:;~5{ڈ ($ wХTR]Kxŝ,3Oea9xWL2R:-x/M&P_QDP{`n6`Z!~Y4i"ޔZTj7SީW'9C#9\)e< o*Pv [[Cy)TDC߄)?LI NDS2g3U>|kl1Y;FG\]of3#y3yc %Uhwz8\ֲJ:B \Иڑ]āl\?x [ts VΊъ4B{g셡8&O> wbiO1.H=;xKO{8bb8ڵ>I؏EXAђV 2r&L̕jx=;=-=F\=%spϺ&+e(ƭ)7D\(=>꣍9م8l{aTOFqFy`v$$KEDunT!b-Xp<=*jљFŴAUc'RjMzl]kKֹw^LH--Я;?>D`H׍%. U-+yt<~`"xL%lDҍBlrci|[WTĬ?hAp! $64HܗDQC,w92Dzk:ҡdV3Nʪ?7{GyFsw'kJjF~P }@/hEG= O0GĨ&\z:-L-SpȏDmsm'Vx Gq 7HGPIޑP~#cB3«9DykG|dVY=F<054:cړ2z31 FpM[A(jZ8"V1F ;A`+HFxwͳ  ~.iYEdA֞=3`Brhȉ'/NqYE,taA'2臊-/W_j,cxM4hW5c*OKlIT"-e)IK1Vm pGN%釿ӯhgYۅTPKZdh\_u "۪N_ƫPٮ׈G.FYgQ6i,2^}N9F8R׳'ʽeA2M.fl?HGҡiTsPF$!4 џ3$/wbIusc>nEK9F!J.3R￟G7@/5A&o4Fr* ! 1=nEu)֎+DA|B..ܩlvPz/uN'[{z 26SyQXA$-SZ:% 1' }tI[^>вhzZm>*_`KZ,dS %PkQ4_vpӆ!»nkJSlBTF>C95jfPww&+jI7Z$Axe*}㬞qy: (80ٜn}r(wޮ쉫Q3Xi_+Q򽅛O(yG:P4u8s];]#97X|a7da# ҹٛ,\@~nqNkYTAQbqӬx/5v_yT#pP&O?\Bv܂ R&scqAJm>Cܷ-|)fVl1n2a["RؖtaE!7 UD_৙Ðp>nVvI6܍;z 9xc`R|Bh_#Gn]d-Ł`<w˽P,qS /0="n~_FѲ Aj:bb)Sj0N>\vxGAye]θ3dE@{T2~"_;2IVi‰ 3%H`Zh-d#w "e6$7#@]|AQ4Oą| .8D] mɿ~% 1{7Dz=9թnNMHiY"Ȗ5)$9tA^\\##}BL ޷[e%K%MxuᚁϠ3N1Xؕ4mD-&@aG*i92)[XhV8n =Pj -v@gof5qhS=H-8-o(ooK!۸ i/Epzĉ{g)"z8me/DXՔʧtd Ͻ}`b>5fCÆ>ɝ/'v8tya-9Gl:*16ktbL.ZexK/xɩ ''+1b)/}ϋㄍ:s那}CPzrosP$ Q/lgsbE!g2nc7)3SQfY֝9HCב]]$7/ش9}p6)Bblb#2ئn.a6PfZ]dI9oxߢg46 3:09Dfxrmse}JfcUH:ڧqgTMD"`l<FTlIa=ނ捞`}"n( :,bW'^^V%6dw~p_r=`5wxxCdWoZ$4\5Nhc*ChLJe#4qrC֚ž^(r[C90{Qe}P@R7˧&)SԘ cLn {YpUi^; _tY0GUz UG\B{B!Gls(ڐ˪l_FTn8RkŘ¢ݓ<g^q*B ElꕚkKl4M9UQ~lmvPw|Zޠ=_OS0|ohLpxnu߻sOH|³ۻ-\χm5A l\R>˅O(]X`JzfDY^hn&H+ |1t#01f''!R9J7PB>quF)~UQۖ:{uF.[bc\F%;=_ΓOqq),zQWBΎ;JB=pLt$wŖZv o.w%$g3h^Qg?&an_܏=rkΥw9|*0D~Z J8rT(ߢ"BxcƵ')gg]k} !şZdQM 8:Nz"n[\np53(.Ro-Ļ勷m`7c]WF$X W~J}FwBwXm' 1hSu#h`>g)Ϸ.' p$U~/@8˵؉ް26lp%#KfqE>Dp ]$GV^QgmūPIua,-7˖eiɧ7n΂ 5/CN+2ŔТ…gSo<}Gߍ1!E5 |t؟ #rZ6~Ď0W# f hNi۬{ՖVxU +ˡɠИьu*mdjO_tCn84d n}JK-Fdl8%{DYy?= 8t{Px[6~$'ʧ ])y{$z-ػӥqkioX6M:8o(Ǫ:CML]wXDqR(9ыd ('Y̝Kmf<?g.$@_إVDл r;\Y hQPX$jt ý|c"ϕrv"y-R ѽc(R+]~n+, .w _*( D~[O_9I(9?ҷxpf`x!)K$ei/}bfr Ώ,%6ܴ|lR+xV87fq-]E|D8h>:N:72xzM> &#`pkZ.i}hpyT$%pm|+L]RsiVT({kζ@}Wߝ P׈݋4ߣ&Yp ˊg߃obuP܅Ͻ>*`0Q# '՞R6_ l=ӽ_B` (3V4 (.%ȠxNJ.3FbG>kŖ!2ˌ*c-z(`6K Zr~: h9V9xѫ%2fFf%WAJ &dZف7zB0Ybvr fcnM</pyCzp"BhdVj"M=n<Ù- M#ʴ*V>z}\੧'Id |d?~OnqA% g&(W{ ѸVHq}y ~6t2jh?)op;.vwUcz*TN2ƲI 92oʂ'žE6>?hsEwN06dkb[,B_ȟKY1e@A2B32)&AۗRHdSUp(;b.օ_nϩ^o!PRqU/: DZa9LBʆϛT}Ky?4k$uWR4]K="6ZR;#WG" BT%-rWÚ }M>^[ۮRH2F2-Bga d=F0xd0m - 0V-;IG|77Cz>04?b1'TqP ?$`/а0%H$˫fH,QҺ8bTQG~^oZi#Ȫ,֪6G5O`wqc@( .nWV潼S/W7\! _td- lj(ɿSIdx!bx V-/$CȯTNjBwLdԧʴMN<a!NO!ʪM&˸PT _׎`[}8x6C_;apGx1F`pk ݌ivBڄR%2|fە82sH@e"T} z?kjerN 0uu$CEK~i:?o X{TI\pʝPXtMF%E#z bHh@D]'g Zk# a9fo~> [@d} _-(_N*>k%5,8_J=*ReUl4dꮨ|-6f1["{.(ẛ#SRRntU//9W5zve}x(P䅼NCL. hǓ"h%UOzw⸸1u8ﭐJFřO4̈́&|:33k$F\ HM9)MR-&75.»_ޗM8S%*gpďBi(VףKdR$W_ôO1 f /f1?UVOac ؊ R~Ev#H=tY碓MHlj'7kF]i) _LJoSG *]8pkO:/hsO)X=ĵygh%6)kPF&2Ӱ!]3>!$h:~đ>7Oȵ/C yޞ_>;4CQeҏ#m v7e>>V`zX9=~nŰ8:бsP׏=2R畈#6Zf S޾''87C^ w SVuXP* z?NOǥHBC⮥3wM!VjYnzt%[o6,Be\`xXk?mU}:S i[~ok,]iD>ɯ]%hC}ImD"p.ɮv}݇]EI"d4Lbu1^ \oOiq44-K:a |r_`cadвt?/R ccTs[,>4]^^^XW>v;cT5a= B˅3Б҅s $'-~D-d5գS$YaCPT|E7Y,fgfxqœ2r;h eq $r@d-x8{91>rS[΢mD(JL֎e&NܼKDvd$XqcY H32(JD{ ۿL \Zs^)SܤO9sᩳ˫CZT03HjV7Jq]$9K_7IH]m=g2VMQgr~ɏey>Fy;Eq흛>dw0^HZygK xu8L)n4,35J(G[̪y'b8?+WϨ_ Dz:E4  3܁DyVEG4e8yRu/^!9{Z7yvIQ 2zz(Ѐ%FHFjb~xAW,ܸ7NQEwk΋=o؁EL,Rj밃+C~mTӢ9JZ&(η.}z=#OƮB#{Fx=qA A Oiq'd=o_\XШD|Z?FFOзS7-La7V2͘ ~MT2\8BQmũª,Ᏸƌy@ 3kCoHvr55&.F}d2IM@&Y]oEh~$&}zRƖ> Xbe.Er32W#V.wK/}G#:6΁pG|:}UxU+@ǐhr€ꆪ췠IXX-;/<3C;~@?rS]ْ[$NAsdS=-+՗ccN|Og><>Dx9t@fɉs ;X)ֽbBbP5c+0]DfIxsJa%4[ʭ]Y B\ӗ&v5w42V7N02/]-QP(_c+ 49I<ù\@%.R\əV12}/0\ x&C_ (k(kpe]}4uܧC )fˑ\$鎹"\ks10 U~t%&65qM&܁U0O93xOrLeavz98 ._lnoߞmw^鹝rׇ爾}WÍ;ۆ4O\ğ"{G~s3^k'i]JQ ܻ8m {E 3Z,sD~ f$\(c5GAz7dx[ŀ JnJ@0=b}]2bÞl2ײkF>HXFrcOĕz%1xQc}&!ĸVq ~dϐ8XȆk{o^'8{9Q_B˟1!Dvqm'ѫu0jU~!ESmK=iCk;OU60gioca%I';h ޮ|omŽWyJW ,p ʊYR#7 ?Q;Y4 NLYжg)k::%uҚ+y1ҳrb&R{ۖb'}6cc4yXόFV N]_3|~M< Ac]e4C"VYsM@;GAX,x;×(\:j`0R.|d>@ky{#k޷-N|QSb, u"7t!?D|I˘Q4^k0o.u~Dֻx/eڊAHv*%`VP3CS/957]|l%kRXv'Z6ã߁ .{SWx[QB:H:pQg?Q­<:-`xDu {]@vhF { "u/d IM9Q%/; h{<:CʗH+oA9pLN.$ԱG ?% 8523g[-ig@O8*G˪L^2m:󿹋l!RH8It_N VWPMW^Dn/^>R U}I9vHG5h}͏}(Jd(zM'A]&yl Aз-lJaqL|ɘAezȪ_b> Xk&IV C}FѾhf[e9i7UݜFp:%>i^GXP%E.8:޶0T|H܋[.,M# %hW^C$ B_$VU'ZdanKSL\#=;Xں0;? leBr..h;艰AC- ' hވ( iVa5;bb6J'(IۧE’H<3j*t[4 2.8$%PBWGY6]R ̂Ƃ]u!CaCdMGWR lh\fRdJnGooC5Gs)-HQ հ.Hk18R%~kzOz6Э11UɰOGsbWm 5LiZ62h)&)\!Cj?-_걭yPai֗_̻AP1CAY8Z]yG(pi=CQ0e"ɒUU˔'7?6Dfԙh&1s4?忇 KoFBЬ [2yיV~/e{aYv߼eP2#3V4cIDf*{^\U\JA"q%ɻxwt(^Xf|_XV3QPJz֌ɓ0P}\pBjW,k)PTWFV6u\|]Qb m2?bkW:@0hɛD#4ciKmcFBS@WR=[夊:=)2Â|#`$3:iu鈋9Gl4o uNRm[UtV[=OAl|8[NdlCq`4^;47zYbT&Hǔ1B<#w%mT5$3I6ng| `XJax2~(\ ~SCaG]ʐW%Gm=|F|Wʇ9 :jgo<s sCX=m0 .-pupUҺ!΋Ԡ~gzs)48D0a\y'4 %TC@938an>='Tk_&6-1 c; \.@5ztՌbK*}uޗ.qWaem*/R̳-feO8Js)"U<T!|k"e6_`m)4 Ae֌hb+Mre͑C*n ,/\\[TwCL* CUQZZ '9Wg i z/$9R#Ѻwܸ?耂xwcB4i޲/ЛxyĝWvkz)R&:Jaeo^t *,eWfܲ_k &ծ'Tyu̇GVbO 3 =3I=y#P2lϯGCTvMhCRD.Jo =n ye2 XR{a%Mo|w=NCnMNM P\燒`tlámJ(=2)57QeQ’0^ dˢ\[ځB<4Q^$OUO ZE9()*O)CaݳVQDgAKVC)5e8q.k04d?#}%T[.Opi-taRRǖ})cAow;$AxӈR⎭O vۈe@qε8Ӷ|TI(!Ճ4cyV`6|Y% ۞2 s?M> ;]LˢSj( ;q<~@ޠr yV7PCWD1c֎Okrㄐ,v(1Yzg]^]K>ˮTHzS7 8<4vǏuC17^H.U/PГ4ؐN7 /gSh/Rnsab8 vӥ h-|W 1j=oªziNck+2U&YO{1_԰H9V:=^*=xpޟϠ;;JbO\]Ɩ:Y8%tLOk,t ۻ/FGnaP\i i/3v߮j鹚]k㻃I(;i(oF|(]-8'7eGul鶜4,Vs2krٕ`a w@NYL$@~V}/ \*lkgC]]`E,,X[IZg{vUZWF$$Ve׌:nh+Y> b( ۛRD^e&0w(E዇xQ{ uBYA-28Nk_ WSGmA+^ ni@> endobj 32 0 obj << /Length1 1400 /Length2 5976 /Length3 0 /Length 6935 /Filter /FlateDecode >> stream xڍvT[.ҫ4P^UzRB $t{QJ"*ґ.4M.R|?߽kݻ޵{晙yfq*0p ' HS!pH_f >s;A/; 8?ZL>@WO2pQ$$ǎj 0#GG_@Í0Xį ?tP7 UGC1_'.% C|(@xKI) DcpcNM p"_R?~/p(\t\%<@2`!I戛j_˰ 6ǃ6YgӴrqꝋ*;y=?akd#%sY[H8 X-[yvւ]p9-і\ ^K+fw>F#TbX,Z=zߙ.\4W+/)1KK"u25?KƽcE}ʈKIZOo9)5)&&^e##N?zc0'\0ݲ&fD0k|?- t=H#ؤOM%УGj I|=Z +IuVl/o4L8,gzFWmޕM\ɬyPCZIԱBJ;0O]e3K$@nw>\3u:.CuJJe~uIs􋹵C/Bh/(iOAnڐ$$@v߽5zcm!/aӸTNL\efKaB!Tim#kA_D|+XIEMu]iWzh4ϊ(_q7P\(}MVMnAfV:7PP(ٿw_z.@HMNUSs`l$)}~1k-=f<n(`/|,棲9 zzu($S!f}H&!9%޷&~ \;Twt,ɖ/ؚܻFuO?~/)!]2Cw.v fmɻNV݆8-w5]7g-j?rNQy;]ٔ auӊX/o*ajٹ!\*Wюong+Ośg6~0>=zT)Tm9ngk0hA̲eBq]0N+RAb`8ʜm6*Y W#hO['(ŠLq!BQ{ [@Y!yS$j ~Gx}[zDG>wZ}1RO<.rdj@W]p}?9W䶾cKjq](uo/D#?]f_/%_ʯw {i$=O2#j5vb?|>J uվ9}ql:6-[E;xAU\{X)'ț`IP#oW򉑂~_OtG2 STfߧhџ=M/dU;T`;@˰"d= =Vޘݽ\Ǟ,Y(׸rs!.HRE2u4A7iS .>ȧD۽B]|t)sF9a}m [M5 n)?9ْc|u~VK1+Iֵَ7w 'oR]L k=U6+SG mw;U-1ϱîNl6-`bq)∏֖\mgbY/}ӠgzEդxwV=孳-9.A^( gXH2KUSԆ_h6IwuȔ5Wn]Rj1"Jv40k 6s}OTx#ܴyt:Q\:Y蹐>/Ϳ^W=tbBTV:훴My!7݉72d%\gK m<%dEV=wcYrZ%u@u'՛:K zkhycl|0r?{87s4*~ytgS}C–qY4XSǤ} +$O ES/lILD3DBCBam֓F̧5 Z!PdQWE'Шfҥjs:}H5[$s1GGP'.LX'>5/(.PQ KHD/N L+sJρ͆@ѧwchwg4y\Jgv66UaAs]5cnG MϵPGjl|/+&3wQ2h=}^2j2$Fn{>rI,oY43SbN\Z0@5U2ƔM!atc'ŤԹeOށGo -2+9%` H RG؊9.Ϸv <p#JpE굷ЧP\s͉69JP z"?ЄA4iQ54V8\ZWhTf4RaWS/^{:u7ڧDa}@hnYJS 4exdhMirIsةT$חdg_JY<+9svj9fJDb@#^9FT&AOJ-_{>y/몕oˎe̴~`mI;?Ș1 y /N3zF^8'l7U]_4|IKo0oz73 |y_5&:wf8_)8UX M>_/~[+si&noů2GΗ|wS#ȥ]_nܘy<$5<VesCh㉌x}R\3oSCڗp^&\+n]%z1AwZ#R k#є;gmT9!.-Keud:xt#vOLʍo1|Q vi4AM˔=yqCCe_RGT==H]K@{L8JLDۃʲ 7| ifqѝ63-_ >P*-LxG+sxy~P}~,Iطg+v)~4]ƐJ-Z%QjHCɣ|ov-9|&)Xw 0UϒZo\)=8mQ)/}gȒBgZ0;̲]}Bvy!{).VAV;RrQݝd/UGhģj-45,йYk;'|UHt6;){ؚ"Z!%%vo\ݝ A+fr"H1>MOL78>ΙXtXM)|3Bj[&%cN_kizܙg-K uCF.x]~#zUNZO`Af^c rIܪù dl<:%ːMu+&|1dQH[3@iFY"!p1>㇕ .PDI1͓{[*Nο:O_!$uF焮˒^js.kbƺ?A0 cħV[EO<'횾h`>_\#g8'Tt20bv7X[0!aM3FҁtDOXB?X,}뮤}#(yi;G#)qo'?TL{z$UO_=v\pVQM{8a; gA`=d#'OnPX٨n&ŴؾQ5nlRG$802:woĮ0g+K CK\>*}9oZ+i/?OІ}]׺W&>@ u"ƫYUaji3h%u!b&4>]佧jwoi`Xx)Ն *}%oW=UYt]nw endstream endobj 33 0 obj << /Type /FontDescriptor /FontName /MPRNBI+CMSY6 /Flags 4 /FontBBox [-4 -948 1329 786] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 52 /XHeight 431 /CharSet (/circlecopyrt) /FontFile 32 0 R >> endobj 34 0 obj << /Length1 1419 /Length2 6197 /Length3 0 /Length 7165 /Filter /FlateDecode >> stream xڍuT6-N etnS@BtlFlc ҍ4) "% " >?=}پ iD"B 9=K8HDD eǺ\f04D54 a`,.OpEDDDb""'"r@u'  0 K A1?y!|@QYYi@7#` 7vCB0ϿZ*8a(9aa/// B^p=aP/`7f  C:`h!0W၀@p== 'AEAiWFpb0tC>p# hꁰXA v q`O0lKs0PS6S@@Րnn0?u8uA ~-/P)Q+aX,yC7A~E8~($ # ;p?? Ģ=`~;@TC@{#;9Y. Z' ϓ-N^P$+iod bHoPHVR(**# oQC0͉Q;yx% ޿,Ha@o#")}wMpu?`7_ 8){`qǴTs+àp`8{ qHM7 jBp#`H W%"_1 . waC0=WABOLR F>p* o0J8@$Zť¸*=wo\=0np74mo`0`v s~r\%D˞(I,3?'+YZ7 gJ#Ʀ{t/i?i, u8nAL#TIF7)XY<6:_Z+hì[~)ҘTr۾Zq~ƾF[gx蘎\T[O|3vUKUF0aLcKʹӈV:q˒-r1d*@u(=!u" Vj3b>% V8sAD-E#gݗ`ym~Љ?Wĸ@5%8݃ItL(m%Nк#ànqVs(:7[-9,YWd߫u} 9o8H ]U)CwMf3TDIo|Q;#}#RaRϚ1p~/tLk:$Z~g 7mm<#'w>̣}V*_/#4}! ·v 6UvlI'xFRkVc8t)D۪>)Bi5O:W\R_vP(AG"z"r!'3]Ԉp{*Kc>YlZ@I(W^27ݹ / 䆵mϻ *ArN4ĭ[ZK6nUՁ<3st<"eRY$t?r/\#2J5pQӭ,n@Ѻ4x?׼߃EHWtƝV^֬yfI&TR7hzn|py?ai @BVS<;R]?2m8iYIbp,׷]HVa}DX|0<`ߧ]gӂ/zgCKfFk g*ωJ NNz髋I2 3_EQ/i8v:y3 6>.CVe*Z{˱ MOW,FVWrNxkd<4F`$wu)IUg"EG3c?Rs U+zYE_Үt/wbJ؟iHxY83`N\\B#cF7/yq3RWuiJoSUCD{Hf# xiyx1atNBbkUXT$ D sS:ٶ/W2b2Íz V)Y)DFC#β6^OS==\9ty%3TAԷ8E.K|~Z*]b|f+Mvfv^w=*Ͱs̭wEs<-V&g͔3r3T? EG(9K:x6@ 5?;`c6|(-aC6'MƱn v?C`\^/ðT톥clvC?s*+"4 lg ʓa|8bށoCsAn;q Zt%~A|BaDa(=2Lra-*-9,h?wr8L=9Bмh!F 4\czRB3^ާC5G#<5j.So`QrLmarL])bWIuҐ/=}zT ;Ή@p\VM͆` 3Sib^ݕ3Z6upvz?W|,UnGZJD)}泛-78]cFXȢ~hm_nYϑ5,Q,1M w5g3{(W{^>P*W/ 6=@aD;Ue?|n<8a=yv[)bf] X3T }(C)l~`ϐvp>UU+s*̟{zMTQbH$:؁iז}Fˇ6c56rL_ 5-jҢT@k-I=}NE/{ 9N3 IW([{_l.Ӹ]6_aм]S6Qv#juu=J2yr6/v3XϬ|e57&6q( w^DQRLhn*cJqkVqP!FoZMCˠ{A`oM[UIo y3AC2fvE&S{53<|o.(w:wF1m?? 8K؅ DI9W!.Q]{aMk~ ŀzO;D'c0eלr.3 ԁ !5v}2nϽ e”@w5 > /UdYwzHtcduz]ϻ9MJ.u# X\{nP )O٦ɾ!8]=v_M2Sb+뾑{k%VKQ_.eЂ皻Jxmӹr?H߮涘Z042| PH\P{ݨ 1܈ph2#"=Jj-F'S 91%(`+cIV[>pJpd*k 7|=5mE>gm- KBo>wYpva]cm!Y@ZmZtTP[o<`Kf'ޜL>B1]G?0ߥ*L7'Y9WO"]* 8αTphyƇWSOh?I5{wBvL&:c<B oF<)Z<~,bVsPwK]ᷣb4ɹdB+.t'MY0=ʯ}OХ7\K~Ρ19rE:ԪtC7f0y󂄬6AϪi /9߰ qOz yXיW/n$[卮EVw ۞,Oa)+yl)hfyTW<+((XUolk`Y UH/.ULya;%4ӽMe1lZpuӫ{Sk0V[m݌NoO&LI]{z`wޗiρM%|Yúk{eJBu]x<<4I>TbhbWʪ%ǎ fB|n߮X`zJr+dq=g RH{;0rK֑25-C'<$S83*Q益C%=U`4l`w_Aخ"h3C 4@ؿ\tcެunor>| E%M<߆-z;/Ic{oo^Wik(&˼jʎẂs<>KFEU XiGc׊n5QyzW<֢0̎ W0>T|,ɺà91[*yU8{GMˎwg s?| Z{]_fRhF~NQi»NT9'^\Z֔Z3֠ -yeAߟxu{ѹglMOiQd3/ Ы`,M0\i9 BF<4Bɟ): =r)P3rſyk01YI昶}ِ GN"MP/2wRCnRu OlhX3uي[`\ a' CH?bxyCdLVP!y5w*MlVoXWTy앳</d[H$G~WdيrGf5iPqzqp^faJA{OoNXfıRe=82CVZ~fI Gi] ^1M\$OJ#GO͒,tUZڔڄ:Mr/96o$6Ʊ]MYrQ?;<9Bho,]jMO0Ǡn|5Y6-gVF&'eo.kWcKWbkRXI/^RsH,?>R"c݇&f_<)yzwu7{G(.u6d _x2k7cv߻U_O7yX2؆c-sZצ]yg:w}־?_2+K{r-iDk+A/9A@|[Y}`Lѣ*j ;:a7w`?''y#5j└k8etx7z&}9,޹'b[Hb*v,_%]X\85Nht c T,{5– ҖK(a WWO'Gԋ ?bg3*9 z endstream endobj 35 0 obj << /Type /FontDescriptor /FontName /FYAMQO+CMSY8 /Flags 4 /FontBBox [-30 -955 1185 779] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 46 /XHeight 431 /CharSet (/arrowboth/plusminus) /FontFile 34 0 R >> endobj 36 0 obj << /Length1 1646 /Length2 9383 /Length3 0 /Length 10448 /Filter /FlateDecode >> stream xڍP-$@Nph$8ƃ[C Gf̽_^Q|kY}h(UY͡ (ĉ] sshlAQi@0G0"I&em\^A>Avv';0A  B@4P{w>f >?v P2q=u43C '*A/ld/jb Y20\NV5#2& xkb+* @ ]jj `3)bԁe{`?wCH613ٛ@KPQdursb@:BM\L&O # 0y"=G3ɑl"2OSKB@'G@fOcwgfm PW_ 1MٞMvp y2c9x9y ̊wy w{N'^P{ p9].Rw_iqL`0wԧB<55o+xP_+M$`3>+  / `J >T/T7?iO`O2H99kf0ӣf PfBֵ$,[g(ڛD.۪7\yaŻ~|,~lync&Tts GvQљBW1YmBltk>}WV ~"" >Cp`@ ApȞ<љ)wr\:o93FqTEd۷;j52j {2GA$}H.!t58S_kBK }Jiތa64kШi˖HR$o=޼!Gg̓Qݷ/ؠl1bDҴILR;v mߴo '] v%Yӕ&2lH/#`9KZ'tz|W=p\TJQZd,s)&Y-qMF!9 FDr044d(ahhV(cODe&y8LGʼn v. ̵~JwYKSG#Q|߈;mcrmkTYE-q nvfЌܩQSam7kr߂bdaedNjBrRmgh hF ٕB]5J<dJ ԡ9JЕLc/.!νú8(Uq>6_dM곌y3r5+%M!PN T=6z{JC_(}OFhTLޚ\o.7R?g Dss/΋]ƌKy~f{Lh+p8+acT5kh] ꎉcM KϺ*4`u@Cu htZ O5vJ-6[|$I7RpkDn1?7)̨L/~56.RC[JKi \B-aax:9GT"yo;^U[㽽}XP0':yXnRrn2b z|߅V̑f?n%Kp/s(<H'Y{r>{jg}5ʅI jMdbM.1Y$|դ>̤e{qinYf5R{?d҇0 2D{jlGqyc$Fp3B J:gJo72R XqzOm2d,|7# ݖOna|3PX}x92{3|&"t";ſGϑ& #㯸495G=\eԯUNE==L+>)āzsƴ ɗ|mV>m*J=R=kfLj;vtdj~izTvx O􊨨 kO [oSvl$6؛_vu+IWFz(!|g]n0gq U[hXS9 pJ'2Ɯn,Y_v)dҋ@;I2C$Vpl'iUp+)T9B8 i\6!(TmX ᵜܲW3NhJ[m_\mb<ͨ!1 9Y*XoaɄg|jIe "ʷmIroWպ9힁ndgryl*2jFw\а>6"ՐC'Q5uU~QF^ r/Zȡ $gP(cےd #FB:+-8;g VN8|mZ a<\6،zQyV%n2Kxzu JGH=4YBz+jN%шVKA8z BLAi;*H윁 ٤jV fn>/sr[@i-7+[so4zӳzp}gfq4*@"g\w'ҩgjއkظ!@HI Yٰ~x%%ώSӝ gkm `=q" Ym{O{#(kEECeO_yX/ZzO)ond -tvl*9N)/RkLDkNGwι9h֋K{uwyG-y{ŮU56L(vwxY|wcnѨt ǻ]侷 TGl/ ul^vLd&NR$D4 J?2}u虈&fhbqΛ{;9S!ԋcEXxBEpy l=)ds@3/As롖7r]sT MH)_+fde˚ =C[4Zƈʂu3\6iPX'h)s)*HbrԲ~sJu,lOΊrdJ񮫈* 䝟\ݬE8SdvxgCY_kbb3(teߨ?wY\]$=mwc_ڊov2!7=N%8T(M1# -6*8f؂VOIFfVH뽟^uav+9^@dyK9Pki'T *~ ی[ J(Ύ'6"ҴL^s&R2G`ڀkr2&Ǩaa=?WCNxDQ _۠_wʑ< 0?w+( 99]MGߙgn6bRqrUm$AyEy^ BLY|w Mv0:C[bwrq荹mw]5usf 43ҙT0) F w 31Ny~ۛT<5-T -2Uғ*?KyePW_Fc\eˬfKW궬%&nxТ*VHLrx†:56~3oyژ cgcq*|kV9CU9JOV%b𿼔y)+f0&8B}Ml wen{hy3g Y;q{"~ S~LN[o#/N@n+7; r not[vl0bƎZ‚3b7E\i1] זnƊ5 aiS`)"%?kl*4J Y<:z JP'wCq%vƞxxɥ귖3/Fn+0*WdehH{J{P Z.sDxXųAoHԖ1Yw^ƻڒȗwQX^ Ҷu Ҳqk޷R.]pD2E 2b}Df$&EӝҧR KdJ<ɖ{Gvfh'oae{;g}|J܎Da[!35 OO8qNH|'UT|篩_xWX MCNePY-Yڇ">}<_R lgy2v=k{&S89%7([^+"7"񺗘&GWC%8,k=2[~ЈYcuɒ:IQF,M? *9ks_/J2.bI\KNa_t[9}.X34d.7 d[ltg[ʴ65rgQJ8u_媬Ne8X4PdagO|,<3u>͉viGy3shFf=ZPZߛ_ךdʥrc>lW3ʖ|Yf?2>i(nElO.,7GLOʊuu/|ζ6ArZKϾJE圢bQW-|];m\T{yNɈ_ c .z\^1? TB ϓjQ-N߰)ae&{@Ilpe:Yn7Ut{Qjũ/2en/vSwy$4ֻ۳%CP gVT aq 8t(],~ˉŝv&=#Mc[l론C>n2;% ;Ei]ϵ|5~ѧ튦R#$<{B(lϯzn}[$l)MԊeWFm27)oNO= q6lЦĚE`_X(D--mG.J%U^QN(W=u2=0rjo 'H߯S"Ξ]<<}(gbGk,ܣ%?GG.68o NëޞsoRɺgdI@k8Qf,є_}$$l$(yCik5ōK=wžv "~wW`X EJ'Gc}ɷ5%΅o'RS'dЙ'򽲗l(啨 RWTn}tTpǼľl3g1L O] td[6Kz,`JPJ\vK6Nh~!:ۊE|ͳi4N/i-#L?zb$c_ç ȡ.%aƙsJS+xnZ%o};oqE%5L2ٺS+Ӂ'zyW"vlfsuxkWƼN?;"8w!_v y$+4`', +VsmwCڋGN̡.a3 /ȳ} f% S +kC?:k0 v6V(~J6,_7 Sݼ6*i Ox^69\R @Wg6MpиE|h{L _*$YrAdcR/9l Ӵ'Pb6Jt|V)`Nmj[? xJ4.vY9_uH%/2J^|e0+(*iD6٨13IJf2IťrY/|ojFOEi B pLJ vBihĎ@૖x7jHF3-82u IFt%mwLFuf,p\ɥAJiR=#&u나Kvog/yT;Ѿ=a>rZJ -Z?ѲJ!P9 3„Y>Ca tdAp™/ Mn/8'mOC+s6r|-uv(󦘟dҶKCk&[mjBʟ\2>j->&i-izO\Zxv\ۙX&_Wh*H !Btqg.iGʨ|x~ճ˪캎Oz4MvcO.QQ6lrThy~'7l|/_#aGSaZKbUDv,LR< endstream endobj 37 0 obj << /Type /FontDescriptor /FontName /FIQCWZ+CMTI8 /Flags 4 /FontBBox [-35 -250 1190 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 73 /XHeight 431 /CharSet (/E/F/a/b/d/e/h/i/l/m/n/o/period/r/s/t/u/x) /FontFile 36 0 R >> endobj 38 0 obj << /Length1 2766 /Length2 12877 /Length3 0 /Length 14428 /Filter /FlateDecode >> stream xڍT.L #%)0 ]" HJtwtHHw7w{Z.ւyoy,fag83J dG;ۀ!hv?$AP3TNwqظx@;A;G~+h$=on@gN`aK f rBJV [GsS9_&YYXLmX3Vud0@wf,h4M+t ;Kg7SGJ NP uАS؃  +-66򗲩) yۀ*Ҋ,LSoAS';) *Wi15)4s2w;;8m~ R ;[[ w|`G9wbX!pg} ;$Оho@.  ws+5=A1~x{,I 4O'SW'l 0CОC ˿1`w>:{l?Bb$WYe$_; pȿ'B>ٓXZdP0ldi \@s/Ko[ $bc/mj G:.ХPEA/b\9gSrA[F4d v6k\u0j}il@fn &NVA=JA,~o;7 .v..'t=-@5b U@X9n(7U7o `B<V' `|B|V*ؠO*8OƢ(=!h,OʿzWBPO] A~BPOO_8#^6+.-tRؚo = i4Q'6ԇ=ɇW/9w'9!@! l/Nham\H )MwJ{9w ll'6h)qA@3h lPOF/#VГfԆO? ԯvB{mx;߮|8B }Ahsvo+Hܘ7F91zNQץ\%o8rg&7oVp kuF^)sߚ-֘pn]7Z[L8 oE' N6vdi^Z!gy7L .Y,xdөAMJ ;j|,g .yڮpv7`fC#yS{:3!XR&PUp&, MJdoͲİ/rX2j+~s*hFq8&m*TɌ'%njfͅΈ97Nb_kZ|.M\u| W$u8j.jPF:gM"p>`l!sMNP .`kh/G)6Gt3us"I X)ǺoFtc绒 ApE!c;8Y6Ud>^GS͐"X k`P]ބD q)~BNkKx;uQ0e|b%} i&@fFzU>6LO[$u™Q#=rp:9>˽CIfLV췳/fJ'Ε".)XL<ӄ %C`iG;i;ot1 5^\*z+MWʌ+ 2:|v@!Nu(6PA##n=iv!J<Pu1s|>>3ܻҳ.XFc@]]ٕ8e@%-p왇md(yO5Dm0b GaNV8} ވ3ţtE,8p-qjATy bk`bYLd iw"ʺ `l״=$4^kh#e͵aRxOzRUPgD^ml6jL5tr^o nQcƐ@?l%QIdy[َ0| BUqG+-)arryULѡ~= e7bi6ﻲX䛰TiAO>2?3ôJlB"ar)Fӏ8W.MK*0R%hq,郵aXtOŸjMfkun9 (#RQ[q3|ifZ4H)pXZ;N^a龢h=kg㳷<.E:gr؉;%"QC5#nBK9fF鮅MhE7q7)O,r EYsX_"x8V݂d9A߿N%['H%>i:<0SO3pT݉zlUҨѨ}Y o邜]x#$ =Q1O?I@>LԴ-YNsԜ1m͟T3/)Ե$n3DSOl*.ܘ>^!L”L<#%b6C(U YMwGi}}q ٹKժZэHcnon#㱼MH:&ߜW^^{4Mq^?V}%_w'/;a)@HaD[pMrLX ةEi G\ ~'Mc&SAkTSh;ٚ@S9#5S2 hZL;ޫzy{m@^H`*r?[T|a߱#3AVM6-yos{"e@(6MۨokH*XR㕌JvqN IE Guv.ec+6>G.^h5¨mgzɑ6k_!1}t*C:*"d^;_ h_UICӖw|H2n(?WPDZj ^U~k79'nTA6]&qh]sOu:su&GH&2L0hesƛ8+ Y8F-8-ʌd&F-hn>6ںC&Eiof:T뾩&MԈʹ5M- igU!볉AZڟU u.3N"l?|@@>C9C<(?S7I hvCnBQZ^1p#[À^q9|XYS-JS ;8'=Bh;8m,H+RJM.x;6DXw19EVA@Mb_3*K,IOxM.k ˏ~Լ%q'1DAPg %Z^ =HսP(U@߸*>dZ`Zf*:|[9Ӧ@u#2,/{f0eڣZ6S! (_1M/|yMF0G/>gw*hHm5zb藸1*3iNp#_"hJFc,>{֓YFUSՃCÈZyix/xWhށbT?v{, KFyiXg%~0%uKu\,L~иL~3.āpYl{ݠjC)FtQz9*6o`mYs4ek R/򥴢pOBLp*C@C1N3$\e ƶZuH,h^r6mT_ ۟%oY?IbRRGu/uQG@.wU[H۝UzQok?l6[bhViҲҠ!d0v=ĥP/h>G=wZ8ܽrșKaaC'5BfEvA`V}pd^O4o*ImV_ŃzTUص~)'5>5NVͫYK;{ɹb`s^ƮL9Y@kdݔ@bog;tgHrn7)|2Lsq*64)0tg܂V}/K\6(T((#爒Pc~Lg5RޞSzFuPaqriUNC<ۇ8>3+ MStysE ^ih|.fDOYW+K3U`f^$IP~:hXkr7ħ%3%W8EsoHF@?oa;SYMZ?[ve=V*^R/+Pr.ruW 2 ,áN)q]=;ٳq ɃƑVfĖP[J!yd٢Q`,: Ud9v{a"k/ w\ 0Y,WwhIwGH<=ќFWf|E 6fv˒olMH3vzdw{-\ͧ8,4:['ĹtWp o֡dl/}|̜Ę=WxFjU>,J2ͱ4IhI`|ؓ>)%.*nv%q[˷wcz!]u[5١đ=xܑb4 ќbU  sT~E\pEN|Kpa.+׷Zo+ [i[^ mhXlQЫ,B񧆋>"syڪB@_ɴQ"K/ť,zش1% |CkVhxx}-p"및^5 kb&v"w-õY6N3S>^E´KLK+XI c~geO6sb2Gs.QWFelbŝݍ'- J[1Q?DŽ2\BvP $+otݏ`h u2[&=[IiWY,ǛfV졹ƪ"Sdj ud7vHg9n ߚ71+@vbT5>*!WuqT$I1А~~̡ɇeott 鑷85y&a,dE\$3FØ &Kg# Xp8̔+8zBγ1Gfn-N>tѩzK(qlPӘpқx^_cxUi:dNoBs㕋8!2V_Z s}e':| N6b'?c=ua`yj$v^lZ_`Xp*Y=[UuqE ʷgT w.E*$0y3KIk&&ujO1]-j}#E&à/u]ANkL2ͻ[.L_Dv9gl gzjֲl uT𖻌FF0ojA mjca[#Ϫ>h^P7LNB̍I . ?:eDIw; l_PGp$y7ELUZT}ʜ)u±3ȼI5>e~ ;<'%VʑL1W6g;wBs%M,=a۸h7?#aO.oA9[g.,V? O,^/ &l ,~5Wio86`1`e>h}-(tSv5wۮAC%H!V]VynՃV!{èBmpr>ՍV1 8tǟ bMދ^guw])mh.J.R9}1>KՉ\Q)8|5#^W h)<7Q <Erip2og?b!:ۉ/|Ac.6@RqH_argxFpx?R{pу?ĚC;n&[ѽ3^)EХ"Al lQϧ8⫿;}qJT [z n`d9b Z{lq\5Rs}0"^_mZ++ꑑ .R!׳L8&a\#bÆZ3Ek {F⮂uiG7q$^3<]Y\u{o)}6UV#wy(5u؈c}]= klFŤG!frHFy ,Wt;ngx *Kh{Dyh J+`a B G]r{;$)X,НV5=5g}?o;7VF8-vPMj /đ{B<~u1:vz=&/\-V>;xGK4ABkn6!)s ˕BɈs@5CcUABeu9Rm6$s3ȍ3OU(S̛(5z;E 4_H8% p,o̐ 2(g DS#:3|B_Ew"L;aX;֔,'Fe"I(`}+Xї{;QԊH AZA밟Ppֺ;8M}7(4 S#P&[9dCӁEoԿ)[wlqAG}5;J]|Cz><o (+LOa%Z)VE>nPlߘ.gPY*B\Q4U%a.RqVIH7WϐtRʓޔ3硹d}ӹm$~y՜eҰ0п~! \gRMqm~t1E+Ǹ'a%vw kD1Td0/T.)hr'1%g]L /껽Q;ﬨ,D&mWO-{*/$bTI`!%iWE?PRiQ'6JVҦQ_Deɷn(hZVQc iZpӋeVRI_H|Gɑvs=5ŏU!pϵ,xv[CϓF2u:|*߀OIM/o?M??Y!VBQ^ޫw{gl }>U` 'Ou3Lf9|*f-.kyMYœht3YβqmoB2MVܣdTfhljy,ꃎ-[7Wz֣|7?4+ƈr ih;+ CX_HmէdNEzyCCԪ]iq?pFD[Wlts|x ))]cB,N]Cs5 .yaLQZZٱ߬؀ٺi@.pb ;eP77ı8Pk#&@gFydsq܏k_tW+wqsNi.Ծ{|9 l17'rYFmE7gʹ9`;:0]B,eUdWHa'Q`e.$k.[Ps A~B=/fE&Iν#j3+a2}>;U=,"{e#Z޸ܧyןtY{f+ ^IXfo/;:Pj9uO? .Gy$?)Hp8P5GO:o.GvIL!_ Tc;v<+Ydwf :տ'z]z2Y\F=?_g{X7 1/",8^r)sh!pD GX < 'EcӝMnEg$E t~AMp]?FѦVW8 ,5K^V|a&z=5auvL1 !yBK"yk &ZEp/1;ݧcm?^O]5"tJOvc-\!J>2 ;-xhEGQv+kLUm1V׻&<`jXkc"&bo>+u:ghnԈ2Cv|e(cSi(YigV+ [&Rz:.U`X whlUIɽy?!~QY. = $<0ImLlrگ_k1Ŀ|Fp8'{kE5\{ f뛣FoĦ*P.r|}]ɣu'W随ᐫ Fzb<@H<0Ҍ6W 1uW7\ mɇ\ ۳Ds[Ni7?ޜupxZk(N` {1ek͎PK>3mu1 ;(-k6f~^p_**VDv/6Kb%\+,D.!^+u U ه5Jk2-vESWB|ms|D/H f2 %Gwk12ŲlY,ajZ-\ސ4է9Lgʻ0U|6Ё:R]S~lI&qg3x]ă_# 6&(zFI=ẆzESʹm ,L ?+nc&C?=SYy=̱Hr E5R0u:;j_r,ژ9Çd]5 ۗNE4f4W7es!:1]Rݴg bs޿Y-[W_*(Fdqh?߶@9q:=}IW?ޝt졍1 Q7Bv%JօW;Z_g #\i<0 qgs~٭}9A_kt~qce-hb^খ2 Nzt{K3h[6\|`1s?K ׅyΰ~J"'BTNxx \?L yPeF&Ϫzhu*GVdU0nN ]m!hU71xE㥋9^w/y֕x CY( E]׆ih:vLхRVNzDv./6A[vMKC®do Nu 66hh0%W%xyrZBE>̔iWFkj-;k f9DH8#smK,慄H!cO\MOJnr :.ECge^+{ߣOÞI^˾p;@F̏GM)Sݙi/ձxl;\["M$֚SZ(4هp@w2Ĝ@ƒ$= Ęז%ʄTAF3C,ct/xVjS3GY~&#7h(LLܰwʯCj+GYN%ook W; wBϥ7FI$#^73ǿ F-y61+;g~lzYnST^RNjg@q(jNZ^ʘ0y^;svhrm{RoksR)+,iG|6}/kkQ_&1?d޽)QJ0X{JM5a#.qC^#jkcpQ_ƭ.b_4Lk=YnҰuNYgO G1~yC@98w^`+k!2E C6a!+o6цN=^|ŌEF N߽eãG=M!Q@{f:R`#2#W(`g> endobj 4 0 obj << /Type /Font /Subtype /Type1 /BaseFont /AROXUW+CMBX10 /FontDescriptor 25 0 R /FirstChar 12 /LastChar 121 /Widths 23 0 R >> endobj 8 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ALHMRK+CMBX8 /FontDescriptor 27 0 R /FirstChar 11 /LastChar 121 /Widths 19 0 R >> endobj 7 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GPABIV+CMR6 /FontDescriptor 29 0 R /FirstChar 44 /LastChar 121 /Widths 20 0 R >> endobj 5 0 obj << /Type /Font /Subtype /Type1 /BaseFont /TRYBNS+CMR8 /FontDescriptor 31 0 R /FirstChar 11 /LastChar 122 /Widths 22 0 R >> endobj 15 0 obj << /Type /Font /Subtype /Type1 /BaseFont /MPRNBI+CMSY6 /FontDescriptor 33 0 R /FirstChar 13 /LastChar 13 /Widths 16 0 R >> endobj 10 0 obj << /Type /Font /Subtype /Type1 /BaseFont /FYAMQO+CMSY8 /FontDescriptor 35 0 R /FirstChar 6 /LastChar 36 /Widths 17 0 R >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /BaseFont /FIQCWZ+CMTI8 /FontDescriptor 37 0 R /FirstChar 46 /LastChar 120 /Widths 18 0 R >> endobj 6 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GICFMR+CMTT8 /FontDescriptor 39 0 R /FirstChar 33 /LastChar 126 /Widths 21 0 R >> endobj 11 0 obj << /Type /Pages /Count 2 /Kids [2 0 R 13 0 R] >> endobj 40 0 obj << /Type /Catalog /Pages 11 0 R >> endobj 41 0 obj << /Producer (pdfTeX-1.40.10) /Creator (TeX) /CreationDate (D:20131206050111-06'00') /ModDate (D:20131206050111-06'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0) >> endobj xref 0 42 0000000000 65535 f 0000004818 00000 n 0000004706 00000 n 0000000015 00000 n 0000122593 00000 n 0000123010 00000 n 0000123564 00000 n 0000122872 00000 n 0000122733 00000 n 0000123425 00000 n 0000123287 00000 n 0000123703 00000 n 0000009686 00000 n 0000009571 00000 n 0000004951 00000 n 0000123148 00000 n 0000009832 00000 n 0000009857 00000 n 0000010067 00000 n 0000010526 00000 n 0000011215 00000 n 0000011700 00000 n 0000012282 00000 n 0000012972 00000 n 0000013598 00000 n 0000031822 00000 n 0000032168 00000 n 0000045864 00000 n 0000046161 00000 n 0000060812 00000 n 0000061166 00000 n 0000081322 00000 n 0000081828 00000 n 0000088882 00000 n 0000089111 00000 n 0000096395 00000 n 0000096632 00000 n 0000107199 00000 n 0000107457 00000 n 0000122005 00000 n 0000123768 00000 n 0000123819 00000 n trailer << /Size 42 /Root 40 0 R /Info 41 0 R /ID [<4DC9D519042B5BB3434235739CA499DF> <4DC9D519042B5BB3434235739CA499DF>] >> startxref 124085 %%EOF org-mode-doc-8.2.4/doc/pdflayout.sty0000644000175000017500000000245512260050771015430 0ustar sebseb% Copyright (C) 2007-2013 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % GNU Emacs is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % You should have received a copy of the GNU General Public License % along with GNU Emacs. If not, see . % This file defines `\pdflayout': % - \pdflayout=(0) is A4 portrait, % - \pdflayout=(1) is letter (US) portrait, % - \pdflayout=(0l) is A4 landscape. % - \pdflayout=(1l) is letter (US) landscape, \input ifpdf.sty \ifpdf \def\pdflayout=(#1#2){ \if0#1 % A4 \pdfpagewidth=21cm \pdfpageheight=29.7cm \else\if1#1 % Letter \pdfpagewidth=8.5in \pdfpageheight=11in \letterpaper=1 \fi\fi \if l#2 % Landscape \edef\oldwidth{\the\pdfpagewidth} \pdfpagewidth=\pdfpageheight \pdfpageheight=\oldwidth \fi } \else \def\pdflayout=(#1#2){} \fi org-mode-doc-8.2.4/doc/doclicense.texi0000644000175000017500000005561612260050771015672 0ustar sebseb@c The GNU Free Documentation License. @center Version 1.3, 3 November 2008 @c This file is intended to be included within another document, @c hence no sectioning command or @node. @display Copyright @copyright{} 2000, 2001, 2002, 2007, 2008, 2013 Free Software Foundation, Inc. @uref{http://fsf.org/} Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @end display @enumerate 0 @item PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document @dfn{free} in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of ``copyleft'', which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. @item APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The ``Document'', below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as ``you''. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A ``Modified Version'' of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A ``Secondary Section'' is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The ``Invariant Sections'' are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The ``Cover Texts'' are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A ``Transparent'' copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not ``Transparent'' is called ``Opaque''. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, La@TeX{} input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG@. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The ``Title Page'' means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, ``Title Page'' means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. The ``publisher'' means any person or entity that distributes copies of the Document to the public. A section ``Entitled XYZ'' means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as ``Acknowledgements'', ``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' of such a section when you modify the Document means that it remains a section ``Entitled XYZ'' according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. @item VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. @item COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. @item MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: @enumerate A @item Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. @item List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. @item State on the Title page the name of the publisher of the Modified Version, as the publisher. @item Preserve all the copyright notices of the Document. @item Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. @item Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. @item Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. @item Include an unaltered copy of this License. @item Preserve the section Entitled ``History'', Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled ``History'' in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. @item Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the ``History'' section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. @item For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. @item Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. @item Delete any section Entitled ``Endorsements''. Such a section may not be included in the Modified Version. @item Do not retitle any existing section to be Entitled ``Endorsements'' or to conflict in title with any Invariant Section. @item Preserve any Warranty Disclaimers. @end enumerate If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled ``Endorsements'', provided it contains nothing but endorsements of your Modified Version by various parties---for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. @item COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled ``History'' in the various original documents, forming one section Entitled ``History''; likewise combine any sections Entitled ``Acknowledgements'', and any sections Entitled ``Dedications''. You must delete all sections Entitled ``Endorsements.'' @item COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. @item AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an ``aggregate'' if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. @item TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled ``Acknowledgements'', ``Dedications'', or ``History'', the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. @item TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License. However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it. @item FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See @uref{http://www.gnu.org/copyleft/}. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License ``or any later version'' applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document. @item RELICENSING ``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A ``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the site means any set of copyrightable works thus published on the MMC site. ``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization. ``Incorporate'' means to publish or republish a Document, in whole or in part, as part of another Document. An MMC is ``eligible for relicensing'' if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008. The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing. @end enumerate @page @heading ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: @smallexample @group Copyright (C) @var{year} @var{your name}. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @end group @end smallexample If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the ``with@dots{}Texts.''@: line with this: @smallexample @group with the Invariant Sections being @var{list their titles}, with the Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}. @end group @end smallexample If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. @c Local Variables: @c ispell-local-pdict: "ispell-dict" @c End: org-mode-doc-8.2.4/doc/org_dual_license.texi0000644000175000017500000252244312260050771017057 0ustar sebseb \input texinfo @c %**start of header @setfilename ../../info/org @settitle The Org Manual @set VERSION 7.8.11 @set DATE May 2012 @c Use proper quote and backtick for code sections in PDF output @c Cf. Texinfo manual 14.2 @set txicodequoteundirected @set txicodequotebacktick @c Version and Contact Info @set MAINTAINERSITE @uref{http://orgmode.org,maintainers webpage} @set AUTHOR Carsten Dominik @set MAINTAINER Carsten Dominik @set MAINTAINEREMAIL @email{carsten at orgmode dot org} @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the maintainer} @c %**end of header @finalout @c ----------------------------------------------------------------------------- @c Macro definitions for commands and keys @c ======================================= @c The behavior of the key/command macros will depend on the flag cmdnames @c When set, commands names are shown. When clear, they are not shown. @set cmdnames @c Below we define the following macros for Org key tables: @c orgkey{key} A key item @c orgcmd{key,cmd} Key with command name @c xorgcmd{key,cmd} Key with command name as @itemx @c orgcmdnki{key,cmd} Like orgcmd, but do not index the key @c orgcmdtkc{text,key,cmd} Like orgcmd,special text instead of key @c orgcmdkkc{key1,key2,cmd} Two keys with one command name, use "or" @c orgcmdkxkc{key1,key2,cmd} Two keys with one command name, but @c different functions, so format as @itemx @c orgcmdkskc{key1,key2,cmd} Same as orgcmdkkc, but use "or short" @c xorgcmdkskc{key1,key2,cmd} Same as previous, but use @itemx @c orgcmdkkcc{key1,key2,cmd1,cmd2} Two keys and two commands @c a key but no command @c Inserts: @item key @macro orgkey{key} @kindex \key\ @item @kbd{\key\} @end macro @macro xorgkey{key} @kindex \key\ @itemx @kbd{\key\} @end macro @c one key with a command @c Inserts: @item KEY COMMAND @macro orgcmd{key,command} @ifset cmdnames @kindex \key\ @findex \command\ @iftex @item @kbd{\key\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\key\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key\ @item @kbd{\key\} @end ifclear @end macro @c One key with one command, formatted using @itemx @c Inserts: @itemx KEY COMMAND @macro xorgcmd{key,command} @ifset cmdnames @kindex \key\ @findex \command\ @iftex @itemx @kbd{\key\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @itemx @kbd{\key\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key\ @itemx @kbd{\key\} @end ifclear @end macro @c one key with a command, bit do not index the key @c Inserts: @item KEY COMMAND @macro orgcmdnki{key,command} @ifset cmdnames @findex \command\ @iftex @item @kbd{\key\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\key\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @item @kbd{\key\} @end ifclear @end macro @c one key with a command, and special text to replace key in item @c Inserts: @item TEXT COMMAND @macro orgcmdtkc{text,key,command} @ifset cmdnames @kindex \key\ @findex \command\ @iftex @item @kbd{\text\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\text\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key\ @item @kbd{\text\} @end ifclear @end macro @c two keys with one command @c Inserts: @item KEY1 or KEY2 COMMAND @macro orgcmdkkc{key1,key2,command} @ifset cmdnames @kindex \key1\ @kindex \key2\ @findex \command\ @iftex @item @kbd{\key1\} @ @r{or} @ @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\key1\} @ @r{or} @ @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key1\ @kindex \key2\ @item @kbd{\key1\} @ @r{or} @ @kbd{\key2\} @end ifclear @end macro @c Two keys with one command name, but different functions, so format as @c @itemx @c Inserts: @item KEY1 @c @itemx KEY2 COMMAND @macro orgcmdkxkc{key1,key2,command} @ifset cmdnames @kindex \key1\ @kindex \key2\ @findex \command\ @iftex @item @kbd{\key1\} @itemx @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\key1\} @itemx @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key1\ @kindex \key2\ @item @kbd{\key1\} @itemx @kbd{\key2\} @end ifclear @end macro @c Same as previous, but use "or short" @c Inserts: @item KEY1 or short KEY2 COMMAND @macro orgcmdkskc{key1,key2,command} @ifset cmdnames @kindex \key1\ @kindex \key2\ @findex \command\ @iftex @item @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key1\ @kindex \key2\ @item @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @end ifclear @end macro @c Same as previous, but use @itemx @c Inserts: @itemx KEY1 or short KEY2 COMMAND @macro xorgcmdkskc{key1,key2,command} @ifset cmdnames @kindex \key1\ @kindex \key2\ @findex \command\ @iftex @itemx @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @itemx @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key1\ @kindex \key2\ @itemx @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @end ifclear @end macro @c two keys with two commands @c Inserts: @item KEY1 COMMAND1 @c @itemx KEY2 COMMAND2 @macro orgcmdkkcc{key1,key2,command1,command2} @ifset cmdnames @kindex \key1\ @kindex \key2\ @findex \command1\ @findex \command2\ @iftex @item @kbd{\key1\} @hskip 0pt plus 1filll @code{\command1\} @itemx @kbd{\key2\} @hskip 0pt plus 1filll @code{\command2\} @end iftex @ifnottex @item @kbd{\key1\} @tie{}@tie{}@tie{}@tie{}(@code{\command1\}) @itemx @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command2\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key1\ @kindex \key2\ @item @kbd{\key1\} @itemx @kbd{\key2\} @end ifclear @end macro @c ----------------------------------------------------------------------------- @iftex @c @hyphenation{time-stamp time-stamps time-stamp-ing time-stamp-ed} @end iftex @c Subheadings inside a table. @macro tsubheading{text} @ifinfo @subsubheading \text\ @end ifinfo @ifnotinfo @item @b{\text\} @end ifnotinfo @end macro @copying This manual is for Org version @value{VERSION}. Copyright @copyright{} 2004-2012 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and modify this GNU manual. Buying copies from the FSF supports it in developing GNU and promoting software freedom.'' This document is part of a collection distributed under the GNU Free Documentation License. If you want to distribute this document separately from the collection, you can do so by adding a copy of the license to the document, as described in section 6 of the license. Permission is also granted to copy, distribute and/or modify this document under the terms of the GNU General Public License (GPL). You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see @url{http://www.gnu.org/licenses/}. @end quotation @end copying @dircategory Emacs editing modes @direntry * Org Mode: (org). Outline-based notes management and organizer @end direntry @titlepage @title The Org Manual @subtitle Release @value{VERSION} @author by Carsten Dominik with contributions by David O'Toole, Bastien Guerry, Philip Rooke, Dan Davison, Eric Schulte, Thomas Dye and Jambunathan K. @c The following two commands start the copyright page. @page @vskip 0pt plus 1filll @insertcopying @end titlepage @c Output the table of contents at the beginning. @contents @ifnottex @node Top, Introduction, (dir), (dir) @top Org Mode Manual @insertcopying @end ifnottex @menu * Introduction:: Getting started * Document Structure:: A tree works like your brain * Tables:: Pure magic for quick formatting * Hyperlinks:: Notes in context * TODO Items:: Every tree branch can be a TODO item * Tags:: Tagging headlines and matching sets of tags * Properties and Columns:: Storing information about an entry * Dates and Times:: Making items useful for planning * Capture - Refile - Archive:: The ins and outs for projects * Agenda Views:: Collecting information into views * Markup:: Prepare text for rich export * Exporting:: Sharing and publishing of notes * Publishing:: Create a web site of linked Org files * Working With Source Code:: Export, evaluate, and tangle code blocks * Miscellaneous:: All the rest which did not fit elsewhere * Hacking:: How to hack your way around * MobileOrg:: Viewing and capture on a mobile device * History and Acknowledgments:: How Org came into being * Main Index:: An index of Org's concepts and features * Key Index:: Key bindings and where they are described * Command and Function Index:: Command names and some internal functions * Variable Index:: Variables mentioned in the manual @detailmenu --- The Detailed Node Listing --- Introduction * Summary:: Brief summary of what Org does * Installation:: How to install a downloaded version of Org * Activation:: How to activate Org for certain buffers * Feedback:: Bug reports, ideas, patches etc. * Conventions:: Type-setting conventions in the manual Document structure * Outlines:: Org is based on Outline mode * Headlines:: How to typeset Org tree headlines * Visibility cycling:: Show and hide, much simplified * Motion:: Jumping to other headlines * Structure editing:: Changing sequence and level of headlines * Sparse trees:: Matches embedded in context * Plain lists:: Additional structure within an entry * Drawers:: Tucking stuff away * Blocks:: Folding blocks * Footnotes:: How footnotes are defined in Org's syntax * Orgstruct mode:: Structure editing outside Org Tables * Built-in table editor:: Simple tables * Column width and alignment:: Overrule the automatic settings * Column groups:: Grouping to trigger vertical lines * Orgtbl mode:: The table editor as minor mode * The spreadsheet:: The table editor has spreadsheet capabilities * Org-Plot:: Plotting from org tables The spreadsheet * References:: How to refer to another field or range * Formula syntax for Calc:: Using Calc to compute stuff * Formula syntax for Lisp:: Writing formulas in Emacs Lisp * Durations and time values:: How to compute durations and time values * Field and range formulas:: Formula for specific (ranges of) fields * Column formulas:: Formulas valid for an entire column * Editing and debugging formulas:: Fixing formulas * Updating the table:: Recomputing all dependent fields * Advanced features:: Field and column names, parameters and automatic recalc Hyperlinks * Link format:: How links in Org are formatted * Internal links:: Links to other places in the current file * External links:: URL-like links to the world * Handling links:: Creating, inserting and following * Using links outside Org:: Linking from my C source code? * Link abbreviations:: Shortcuts for writing complex links * Search options:: Linking to a specific location * Custom searches:: When the default search is not enough Internal links * Radio targets:: Make targets trigger links in plain text TODO items * TODO basics:: Marking and displaying TODO entries * TODO extensions:: Workflow and assignments * Progress logging:: Dates and notes for progress * Priorities:: Some things are more important than others * Breaking down tasks:: Splitting a task into manageable pieces * Checkboxes:: Tick-off lists Extended use of TODO keywords * Workflow states:: From TODO to DONE in steps * TODO types:: I do this, Fred does the rest * Multiple sets in one file:: Mixing it all, and still finding your way * Fast access to TODO states:: Single letter selection of a state * Per-file keywords:: Different files, different requirements * Faces for TODO keywords:: Highlighting states * TODO dependencies:: When one task needs to wait for others Progress logging * Closing items:: When was this entry marked DONE? * Tracking TODO state changes:: When did the status change? * Tracking your habits:: How consistent have you been? Tags * Tag inheritance:: Tags use the tree structure of the outline * Setting tags:: How to assign tags to a headline * Tag searches:: Searching for combinations of tags Properties and columns * Property syntax:: How properties are spelled out * Special properties:: Access to other Org mode features * Property searches:: Matching property values * Property inheritance:: Passing values down the tree * Column view:: Tabular viewing and editing * Property API:: Properties for Lisp programmers Column view * Defining columns:: The COLUMNS format property * Using column view:: How to create and use column view * Capturing column view:: A dynamic block for column view Defining columns * Scope of column definitions:: Where defined, where valid? * Column attributes:: Appearance and content of a column Dates and times * Timestamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps * Deadlines and scheduling:: Planning your work * Clocking work time:: Tracking how long you spend on a task * Effort estimates:: Planning work effort in advance * Relative timer:: Notes with a running timer * Countdown timer:: Starting a countdown timer for a task Creating timestamps * The date/time prompt:: How Org mode helps you entering date and time * Custom time format:: Making dates look different Deadlines and scheduling * Inserting deadline/schedule:: Planning items * Repeated tasks:: Items that show up again and again Clocking work time * Clocking commands:: Starting and stopping a clock * The clock table:: Detailed reports * Resolving idle time:: Resolving time when you've been idle Capture - Refile - Archive * Capture:: Capturing new stuff * Attachments:: Add files to tasks * RSS Feeds:: Getting input from RSS feeds * Protocols:: External (e.g.@: Browser) access to Emacs and Org * Refiling notes:: Moving a tree from one place to another * Archiving:: What to do with finished projects Capture * Setting up capture:: Where notes will be stored * Using capture:: Commands to invoke and terminate capture * Capture templates:: Define the outline of different note types Capture templates * Template elements:: What is needed for a complete template entry * Template expansion:: Filling in information about time and context Archiving * Moving subtrees:: Moving a tree to an archive file * Internal archiving:: Switch off a tree but keep it in the file Agenda views * Agenda files:: Files being searched for agenda information * Agenda dispatcher:: Keyboard access to agenda views * Built-in agenda views:: What is available out of the box? * Presentation and sorting:: How agenda items are prepared for display * Agenda commands:: Remote editing of Org trees * Custom agenda views:: Defining special searches and views * Exporting Agenda Views:: Writing a view to a file * Agenda column view:: Using column view for collected entries The built-in agenda views * Weekly/daily agenda:: The calendar page with current tasks * Global TODO list:: All unfinished action items * Matching tags and properties:: Structured information with fine-tuned search * Timeline:: Time-sorted view for single file * Search view:: Find entries by searching for text * Stuck projects:: Find projects you need to review Presentation and sorting * Categories:: Not all tasks are equal * Time-of-day specifications:: How the agenda knows the time * Sorting of agenda items:: The order of things Custom agenda views * Storing searches:: Type once, use often * Block agenda:: All the stuff you need in a single buffer * Setting Options:: Changing the rules Markup for rich export * Structural markup elements:: The basic structure as seen by the exporter * Images and tables:: Tables and Images will be included * Literal examples:: Source code examples with special formatting * Include files:: Include additional files into a document * Index entries:: Making an index * Macro replacement:: Use macros to create complex output * Embedded @LaTeX{}:: LaTeX can be freely used inside Org documents Structural markup elements * Document title:: Where the title is taken from * Headings and sections:: The document structure as seen by the exporter * Table of contents:: The if and where of the table of contents * Initial text:: Text before the first heading? * Lists:: Lists * Paragraphs:: Paragraphs * Footnote markup:: Footnotes * Emphasis and monospace:: Bold, italic, etc. * Horizontal rules:: Make a line * Comment lines:: What will *not* be exported Embedded @LaTeX{} * Special symbols:: Greek letters and other symbols * Subscripts and superscripts:: Simple syntax for raising/lowering text * @LaTeX{} fragments:: Complex formulas made easy * Previewing @LaTeX{} fragments:: What will this snippet look like? * CDLaTeX mode:: Speed up entering of formulas Exporting * Selective export:: Using tags to select and exclude trees * Export options:: Per-file export settings * The export dispatcher:: How to access exporter commands * ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding * HTML export:: Exporting to HTML * @LaTeX{} and PDF export:: Exporting to @LaTeX{}, and processing to PDF * DocBook export:: Exporting to DocBook * OpenDocument Text export:: Exporting to OpenDocument Text * TaskJuggler export:: Exporting to TaskJuggler * Freemind export:: Exporting to Freemind mind maps * XOXO export:: Exporting to XOXO * iCalendar export:: Exporting in iCalendar format HTML export * HTML Export commands:: How to invoke HTML export * HTML preamble and postamble:: How to insert a preamble and a postamble * Quoting HTML tags:: Using direct HTML in Org mode * Links in HTML export:: How links will be interpreted and formatted * Tables in HTML export:: How to modify the formatting of tables * Images in HTML export:: How to insert figures into HTML output * Math formatting in HTML export:: Beautiful math also on the web * Text areas in HTML export:: An alternative way to show an example * CSS support:: Changing the appearance of the output * JavaScript support:: Info and Folding in a web browser @LaTeX{} and PDF export * @LaTeX{}/PDF export commands:: * Header and sectioning:: Setting up the export file structure * Quoting @LaTeX{} code:: Incorporating literal @LaTeX{} code * Tables in @LaTeX{} export:: Options for exporting tables to @LaTeX{} * Images in @LaTeX{} export:: How to insert figures into @LaTeX{} output * Beamer class export:: Turning the file into a presentation DocBook export * DocBook export commands:: How to invoke DocBook export * Quoting DocBook code:: Incorporating DocBook code in Org files * Recursive sections:: Recursive sections in DocBook * Tables in DocBook export:: Tables are exported as HTML tables * Images in DocBook export:: How to insert figures into DocBook output * Special characters:: How to handle special characters OpenDocument Text export * Pre-requisites for ODT export:: What packages ODT exporter relies on * ODT export commands:: How to invoke ODT export * Extending ODT export:: How to produce @samp{doc}, @samp{pdf} files * Applying custom styles:: How to apply custom styles to the output * Links in ODT export:: How links will be interpreted and formatted * Tables in ODT export:: How Tables are exported * Images in ODT export:: How to insert images * Math formatting in ODT export:: How @LaTeX{} fragments are formatted * Labels and captions in ODT export:: How captions are rendered * Literal examples in ODT export:: How source and example blocks are formatted * Advanced topics in ODT export:: Read this if you are a power user Math formatting in ODT export * Working with @LaTeX{} math snippets:: How to embed @LaTeX{} math fragments * Working with MathML or OpenDocument formula files:: How to embed equations in native format Advanced topics in ODT export * Configuring a document converter:: How to register a document converter * Working with OpenDocument style files:: Explore the internals * Creating one-off styles:: How to produce custom highlighting etc * Customizing tables in ODT export:: How to define and use Table templates * Validating OpenDocument XML:: How to debug corrupt OpenDocument files Publishing * Configuration:: Defining projects * Uploading files:: How to get files up on the server * Sample configuration:: Example projects * Triggering publication:: Publication commands Configuration * Project alist:: The central configuration variable * Sources and destinations:: From here to there * Selecting files:: What files are part of the project? * Publishing action:: Setting the function doing the publishing * Publishing options:: Tweaking HTML/@LaTeX{} export * Publishing links:: Which links keep working after publishing? * Sitemap:: Generating a list of all pages * Generating an index:: An index that reaches across pages Sample configuration * Simple example:: One-component publishing * Complex example:: A multi-component publishing example Working with source code * Structure of code blocks:: Code block syntax described * Editing source code:: Language major-mode editing * Exporting code blocks:: Export contents and/or results * Extracting source code:: Create pure source code files * Evaluating code blocks:: Place results of evaluation in the Org mode buffer * Library of Babel:: Use and contribute to a library of useful code blocks * Languages:: List of supported code block languages * Header arguments:: Configure code block functionality * Results of evaluation:: How evaluation results are handled * Noweb reference syntax:: Literate programming in Org mode * Key bindings and useful functions:: Work quickly with code blocks * Batch execution:: Call functions from the command line Header arguments * Using header arguments:: Different ways to set header arguments * Specific header arguments:: List of header arguments Using header arguments * System-wide header arguments:: Set global default values * Language-specific header arguments:: Set default values by language * Buffer-wide header arguments:: Set default values for a specific buffer * Header arguments in Org mode properties:: Set default values for a buffer or heading * Code block specific header arguments:: The most common way to set values * Header arguments in function calls:: The most specific level Specific header arguments * var:: Pass arguments to code blocks * results:: Specify the type of results and how they will be collected and handled * file:: Specify a path for file output * dir:: Specify the default (possibly remote) directory for code block execution * exports:: Export code and/or results * tangle:: Toggle tangling and specify file name * mkdirp:: Toggle creation of parent directories of target files during tangling * comments:: Toggle insertion of comments in tangled code files * padline:: Control insertion of padding lines in tangled code files * no-expand:: Turn off variable assignment and noweb expansion during tangling * session:: Preserve the state of code evaluation * noweb:: Toggle expansion of noweb references * noweb-ref:: Specify block's noweb reference resolution target * noweb-sep:: String used to separate noweb references * cache:: Avoid re-evaluating unchanged code blocks * sep:: Delimiter for writing tabular results outside Org * hlines:: Handle horizontal lines in tables * colnames:: Handle column names in tables * rownames:: Handle row names in tables * shebang:: Make tangled files executable * eval:: Limit evaluation of specific code blocks Miscellaneous * Completion:: M-TAB knows what you need * Easy Templates:: Quick insertion of structural elements * Speed keys:: Electric commands at the beginning of a headline * Code evaluation security:: Org mode files evaluate inline code * Customization:: Adapting Org to your taste * In-buffer settings:: Overview of the #+KEYWORDS * The very busy C-c C-c key:: When in doubt, press C-c C-c * Clean view:: Getting rid of leading stars in the outline * TTY keys:: Using Org on a tty * Interaction:: Other Emacs packages * org-crypt.el:: Encrypting Org files Interaction with other packages * Cooperation:: Packages Org cooperates with * Conflicts:: Packages that lead to conflicts Hacking * Hooks:: Who to reach into Org's internals * Add-on packages:: Available extensions * Adding hyperlink types:: New custom link types * Context-sensitive commands:: How to add functionality to such commands * Tables in arbitrary syntax:: Orgtbl for @LaTeX{} and other programs * Dynamic blocks:: Automatically filled blocks * Special agenda views:: Customized views * Extracting agenda information:: Postprocessing of agenda information * Using the property API:: Writing programs that use entry properties * Using the mapping API:: Mapping over all or selected entries Tables and lists in arbitrary syntax * Radio tables:: Sending and receiving radio tables * A @LaTeX{} example:: Step by step, almost a tutorial * Translator functions:: Copy and modify * Radio lists:: Doing the same for lists MobileOrg * Setting up the staging area:: Where to interact with the mobile device * Pushing to MobileOrg:: Uploading Org files and agendas * Pulling from MobileOrg:: Integrating captured and flagged items @end detailmenu @end menu @node Introduction, Document Structure, Top, Top @chapter Introduction @cindex introduction @menu * Summary:: Brief summary of what Org does * Installation:: How to install a downloaded version of Org * Activation:: How to activate Org for certain buffers * Feedback:: Bug reports, ideas, patches etc. * Conventions:: Type-setting conventions in the manual @end menu @node Summary, Installation, Introduction, Introduction @section Summary @cindex summary Org is a mode for keeping notes, maintaining TODO lists, and doing project planning with a fast and effective plain-text system. Org develops organizational tasks around NOTES files that contain lists or information about projects as plain text. Org is implemented on top of Outline mode, which makes it possible to keep the content of large files well structured. Visibility cycling and structure editing help to work with the tree. Tables are easily created with a built-in table editor. Org supports TODO items, deadlines, timestamps, and scheduling. It dynamically compiles entries into an agenda that utilizes and smoothly integrates much of the Emacs calendar and diary. Plain text URL-like links connect to websites, emails, Usenet messages, BBDB entries, and any files related to the projects. For printing and sharing of notes, an Org file can be exported as a structured ASCII file, as HTML, or (TODO and agenda items only) as an iCalendar file. It can also serve as a publishing tool for a set of linked web pages. As a project planning environment, Org works by adding metadata to outline nodes. Based on this data, specific entries can be extracted in queries and create dynamic @i{agenda views}. Org mode contains the Org Babel environment which allows you to work with embedded source code blocks in a file, to facilitate code evaluation, documentation, and literate programming techniques. Org's automatic, context-sensitive table editor with spreadsheet capabilities can be integrated into any major mode by activating the minor Orgtbl mode. Using a translation step, it can be used to maintain tables in arbitrary file types, for example in @LaTeX{}. The structure editing and list creation capabilities can be used outside Org with the minor Orgstruct mode. Org keeps simple things simple. When first fired up, it should feel like a straightforward, easy to use outliner. Complexity is not imposed, but a large amount of functionality is available when you need it. Org is a toolbox and can be used in different ways and for different ends, for example: @example @r{@bullet{} an outline extension with visibility cycling and structure editing} @r{@bullet{} an ASCII system and table editor for taking structured notes} @r{@bullet{} a TODO list editor} @r{@bullet{} a full agenda and planner with deadlines and work scheduling} @pindex GTD, Getting Things Done @r{@bullet{} an environment in which to implement David Allen's GTD system} @r{@bullet{} a simple hypertext system, with HTML and @LaTeX{} export} @r{@bullet{} a publishing tool to create a set of interlinked webpages} @r{@bullet{} an environment for literate programming} @end example @cindex FAQ There is a website for Org which provides links to the newest version of Org, as well as additional information, frequently asked questions (FAQ), links to tutorials, etc@. This page is located at @uref{http://orgmode.org}. @cindex print edition The version 7.3 of this manual is available as a @uref{http://www.network-theory.co.uk/org/manual/, paperback book from Network Theory Ltd.} @page @node Installation, Activation, Summary, Introduction @section Installation @cindex installation @cindex XEmacs @b{Important:} @i{If you are using a version of Org that is part of the Emacs distribution or an XEmacs package, please skip this section and go directly to @ref{Activation}. To see what version of Org (if any) is part of your Emacs distribution, type @kbd{M-x load-library RET org} and then @kbd{M-x org-version}.} If you have downloaded Org from the Web, either as a distribution @file{.zip} or @file{.tar} file, or as a Git archive, you must take the following steps to install it: go into the unpacked Org distribution directory and edit the top section of the file @file{Makefile}. You must set the name of the Emacs binary (likely either @file{emacs} or @file{xemacs}), and the paths to the directories where local Lisp and Info files are kept. If you don't have access to the system-wide directories, you can simply run Org directly from the distribution directory by adding the @file{lisp} subdirectory to the Emacs load path. To do this, add the following line to @file{.emacs}: @example (setq load-path (cons "~/path/to/orgdir/lisp" load-path)) @end example @noindent If you plan to use code from the @file{contrib} subdirectory, do a similar step for this directory: @example (setq load-path (cons "~/path/to/orgdir/contrib/lisp" load-path)) @end example @noindent Now byte-compile the Lisp files with the shell command: @example make @end example @noindent If you are running Org from the distribution directory, this is all. If you want to install Org into the system directories, use (as administrator) @example make install @end example Installing Info files is system dependent, because of differences in the @file{install-info} program. The following should correctly install the Info files on most systems, please send a bug report if not@footnote{The output from install-info (if any) is also system dependent. In particular Debian and its derivatives use two different versions of install-info and you may see the message: @example This is not dpkg install-info anymore, but GNU install-info See the man page for ginstall-info for command line arguments @end example @noindent which can be safely ignored.}. @example make install-info @end example Then add the following line to @file{.emacs}. It is needed so that Emacs can autoload functions that are located in files not immediately loaded when Org mode starts. @lisp (require 'org-install) @end lisp Do not forget to activate Org as described in the following section. @page @node Activation, Feedback, Installation, Introduction @section Activation @cindex activation @cindex autoload @cindex global key bindings @cindex key bindings, global To make sure files with extension @file{.org} use Org mode, add the following line to your @file{.emacs} file. @lisp (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) @end lisp @noindent Org mode buffers need font-lock to be turned on - this is the default in Emacs@footnote{If you don't use font-lock globally, turn it on in Org buffer with @code{(add-hook 'org-mode-hook 'turn-on-font-lock)}}. The four Org commands @command{org-store-link}, @command{org-capture}, @command{org-agenda}, and @command{org-iswitchb} should be accessible through global keys (i.e.@: anywhere in Emacs, not just in Org buffers). Here are suggested bindings for these keys, please modify the keys to your own liking. @lisp (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-cc" 'org-capture) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cb" 'org-iswitchb) @end lisp @cindex Org mode, turning on With this setup, all files with extension @samp{.org} will be put into Org mode. As an alternative, make the first line of a file look like this: @example MY PROJECTS -*- mode: org; -*- @end example @vindex org-insert-mode-line-in-empty-file @noindent which will select Org mode for this buffer no matter what the file's name is. See also the variable @code{org-insert-mode-line-in-empty-file}. Many commands in Org work on the region if the region is @i{active}. To make use of this, you need to have @code{transient-mark-mode} (@code{zmacs-regions} in XEmacs) turned on. In Emacs 23 this is the default, in Emacs 22 you need to do this yourself with @lisp (transient-mark-mode 1) @end lisp @noindent If you do not like @code{transient-mark-mode}, you can create an active region by using the mouse to select a region, or pressing @kbd{C-@key{SPC}} twice before moving the cursor. @node Feedback, Conventions, Activation, Introduction @section Feedback @cindex feedback @cindex bug reports @cindex maintainer @cindex author If you find problems with Org, or if you have questions, remarks, or ideas about it, please mail to the Org mailing list @email{emacs-orgmode@@gnu.org}. If you are not a member of the mailing list, your mail will be passed to the list after a moderator has approved it@footnote{Please consider subscribing to the mailing list, in order to minimize the work the mailing list moderators have to do.}. For bug reports, please first try to reproduce the bug with the latest version of Org available---if you are running an outdated version, it is quite possible that the bug has been fixed already. If the bug persists, prepare a report and provide as much information as possible, including the version information of Emacs (@kbd{M-x emacs-version @key{RET}}) and Org (@kbd{M-x org-version @key{RET}}), as well as the Org related setup in @file{.emacs}. The easiest way to do this is to use the command @example @kbd{M-x org-submit-bug-report} @end example @noindent which will put all this information into an Emacs mail buffer so that you only need to add your description. If you re not sending the Email from within Emacs, please copy and paste the content into your Email program. Sometimes you might face a problem due to an error in your Emacs or Org mode setup. Before reporting a bug, it is very helpful to start Emacs with minimal customizations and reproduce the problem. Doing so often helps you determine if the problem is with your customization or with Org mode itself. You can start a typical minimal session with a command like the example below. @example $ emacs -Q -l /path/to/minimal-org.el @end example However if you are using Org mode as distributed with Emacs, a minimal setup is not necessary. In that case it is sufficient to start Emacs as @code{emacs -Q}. The @code{minimal-org.el} setup file can have contents as shown below. @example ;;; Minimal setup to load latest `org-mode' ;; activate debugging (setq debug-on-error t debug-on-signal nil debug-on-quit nil) ;; add latest org-mode to load path (add-to-list 'load-path (expand-file-name "/path/to/org-mode/lisp")) (add-to-list 'load-path (expand-file-name "/path/to/org-mode/contrib/lisp")) ;; activate org (require 'org-install) @end example If an error occurs, a backtrace can be very useful (see below on how to create one). Often a small example file helps, along with clear information about: @enumerate @item What exactly did you do? @item What did you expect to happen? @item What happened instead? @end enumerate @noindent Thank you for helping to improve this program. @subsubheading How to create a useful backtrace @cindex backtrace of an error If working with Org produces an error with a message you don't understand, you may have hit a bug. The best way to report this is by providing, in addition to what was mentioned above, a @emph{backtrace}. This is information from the built-in debugger about where and how the error occurred. Here is how to produce a useful backtrace: @enumerate @item Reload uncompiled versions of all Org mode Lisp files. The backtrace contains much more information if it is produced with uncompiled code. To do this, use @example C-u M-x org-reload RET @end example @noindent or select @code{Org -> Refresh/Reload -> Reload Org uncompiled} from the menu. @item Go to the @code{Options} menu and select @code{Enter Debugger on Error} (XEmacs has this option in the @code{Troubleshooting} sub-menu). @item Do whatever you have to do to hit the error. Don't forget to document the steps you take. @item When you hit the error, a @file{*Backtrace*} buffer will appear on the screen. Save this buffer to a file (for example using @kbd{C-x C-w}) and attach it to your bug report. @end enumerate @node Conventions, , Feedback, Introduction @section Typesetting conventions used in this manual Org uses three types of keywords: TODO keywords, tags, and property names. In this manual we use the following conventions: @table @code @item TODO @itemx WAITING TODO keywords are written with all capitals, even if they are user-defined. @item boss @itemx ARCHIVE User-defined tags are written in lowercase; built-in tags with special meaning are written with all capitals. @item Release @itemx PRIORITY User-defined properties are capitalized; built-in properties with special meaning are written with all capitals. @end table The manual lists both the keys and the corresponding commands for accessing functionality. Org mode often uses the same key for different functions, depending on context. The command that is bound to such keys has a generic name, like @code{org-metaright}. In the manual we will, wherever possible, give the function that is internally called by the generic command. For example, in the chapter on document structure, @kbd{M-@key{right}} will be listed to call @code{org-do-demote}, while in the chapter on tables, it will be listed to call org-table-move-column-right. If you prefer, you can compile the manual without the command names by unsetting the flag @code{cmdnames} in @file{org.texi}. @node Document Structure, Tables, Introduction, Top @chapter Document structure @cindex document structure @cindex structure of document Org is based on Outline mode and provides flexible commands to edit the structure of the document. @menu * Outlines:: Org is based on Outline mode * Headlines:: How to typeset Org tree headlines * Visibility cycling:: Show and hide, much simplified * Motion:: Jumping to other headlines * Structure editing:: Changing sequence and level of headlines * Sparse trees:: Matches embedded in context * Plain lists:: Additional structure within an entry * Drawers:: Tucking stuff away * Blocks:: Folding blocks * Footnotes:: How footnotes are defined in Org's syntax * Orgstruct mode:: Structure editing outside Org @end menu @node Outlines, Headlines, Document Structure, Document Structure @section Outlines @cindex outlines @cindex Outline mode Org is implemented on top of Outline mode. Outlines allow a document to be organized in a hierarchical structure, which (at least for me) is the best representation of notes and thoughts. An overview of this structure is achieved by folding (hiding) large parts of the document to show only the general document structure and the parts currently being worked on. Org greatly simplifies the use of outlines by compressing the entire show/hide functionality into a single command, @command{org-cycle}, which is bound to the @key{TAB} key. @node Headlines, Visibility cycling, Outlines, Document Structure @section Headlines @cindex headlines @cindex outline tree @vindex org-special-ctrl-a/e @vindex org-special-ctrl-k @vindex org-ctrl-k-protect-subtree Headlines define the structure of an outline tree. The headlines in Org start with one or more stars, on the left margin@footnote{See the variables @code{org-special-ctrl-a/e}, @code{org-special-ctrl-k}, and @code{org-ctrl-k-protect-subtree} to configure special behavior of @kbd{C-a}, @kbd{C-e}, and @kbd{C-k} in headlines.}. For example: @example * Top level headline ** Second level *** 3rd level some text *** 3rd level more text * Another top level headline @end example @noindent Some people find the many stars too noisy and would prefer an outline that has whitespace followed by a single star as headline starters. @ref{Clean view}, describes a setup to realize this. @vindex org-cycle-separator-lines An empty line after the end of a subtree is considered part of it and will be hidden when the subtree is folded. However, if you leave at least two empty lines, one empty line will remain visible after folding the subtree, in order to structure the collapsed view. See the variable @code{org-cycle-separator-lines} to modify this behavior. @node Visibility cycling, Motion, Headlines, Document Structure @section Visibility cycling @cindex cycling, visibility @cindex visibility cycling @cindex trees, visibility @cindex show hidden text @cindex hide text Outlines make it possible to hide parts of the text in the buffer. Org uses just two commands, bound to @key{TAB} and @kbd{S-@key{TAB}} to change the visibility in the buffer. @cindex subtree visibility states @cindex subtree cycling @cindex folded, subtree visibility state @cindex children, subtree visibility state @cindex subtree, subtree visibility state @table @asis @orgcmd{@key{TAB},org-cycle} @emph{Subtree cycling}: Rotate current subtree among the states @example ,-> FOLDED -> CHILDREN -> SUBTREE --. '-----------------------------------' @end example @vindex org-cycle-emulate-tab @vindex org-cycle-global-at-bob The cursor must be on a headline for this to work@footnote{see, however, the option @code{org-cycle-emulate-tab}.}. When the cursor is at the beginning of the buffer and the first line is not a headline, then @key{TAB} actually runs global cycling (see below)@footnote{see the option @code{org-cycle-global-at-bob}.}. Also when called with a prefix argument (@kbd{C-u @key{TAB}}), global cycling is invoked. @cindex global visibility states @cindex global cycling @cindex overview, global visibility state @cindex contents, global visibility state @cindex show all, global visibility state @orgcmd{S-@key{TAB},org-global-cycle} @itemx C-u @key{TAB} @emph{Global cycling}: Rotate the entire buffer among the states @example ,-> OVERVIEW -> CONTENTS -> SHOW ALL --. '--------------------------------------' @end example When @kbd{S-@key{TAB}} is called with a numeric prefix argument N, the CONTENTS view up to headlines of level N will be shown. Note that inside tables, @kbd{S-@key{TAB}} jumps to the previous field. @cindex show all, command @orgcmd{C-u C-u C-u @key{TAB},show-all} Show all, including drawers. @orgcmd{C-c C-r,org-reveal} Reveal context around point, showing the current entry, the following heading and the hierarchy above. Useful for working near a location that has been exposed by a sparse tree command (@pxref{Sparse trees}) or an agenda command (@pxref{Agenda commands}). With a prefix argument show, on each level, all sibling headings. With a double prefix argument, also show the entire subtree of the parent. @orgcmd{C-c C-k,show-branches} Expose all the headings of the subtree, CONTENT view for just one subtree. @orgcmd{C-c C-x b,org-tree-to-indirect-buffer} Show the current subtree in an indirect buffer@footnote{The indirect buffer @ifinfo (@pxref{Indirect Buffers,,,emacs,GNU Emacs Manual}) @end ifinfo @ifnotinfo (see the Emacs manual for more information about indirect buffers) @end ifnotinfo will contain the entire buffer, but will be narrowed to the current tree. Editing the indirect buffer will also change the original buffer, but without affecting visibility in that buffer.}. With a numeric prefix argument N, go up to level N and then take that tree. If N is negative then go up that many levels. With a @kbd{C-u} prefix, do not remove the previously used indirect buffer. @orgcmd{C-c C-x v,org-copy-visible} Copy the @i{visible} text in the region into the kill ring. @end table @vindex org-startup-folded @cindex @code{overview}, STARTUP keyword @cindex @code{content}, STARTUP keyword @cindex @code{showall}, STARTUP keyword @cindex @code{showeverything}, STARTUP keyword When Emacs first visits an Org file, the global state is set to OVERVIEW, i.e.@: only the top level headlines are visible. This can be configured through the variable @code{org-startup-folded}, or on a per-file basis by adding one of the following lines anywhere in the buffer: @example #+STARTUP: overview #+STARTUP: content #+STARTUP: showall #+STARTUP: showeverything @end example @cindex property, VISIBILITY @noindent Furthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties and Columns}) will get their visibility adapted accordingly. Allowed values for this property are @code{folded}, @code{children}, @code{content}, and @code{all}. @table @asis @orgcmd{C-u C-u @key{TAB},org-set-startup-visibility} Switch back to the startup visibility of the buffer, i.e.@: whatever is requested by startup options and @samp{VISIBILITY} properties in individual entries. @end table @node Motion, Structure editing, Visibility cycling, Document Structure @section Motion @cindex motion, between headlines @cindex jumping, to headlines @cindex headline navigation The following commands jump to other headlines in the buffer. @table @asis @orgcmd{C-c C-n,outline-next-visible-heading} Next heading. @orgcmd{C-c C-p,outline-previous-visible-heading} Previous heading. @orgcmd{C-c C-f,org-forward-same-level} Next heading same level. @orgcmd{C-c C-b,org-backward-same-level} Previous heading same level. @orgcmd{C-c C-u,outline-up-heading} Backward to higher level heading. @orgcmd{C-c C-j,org-goto} Jump to a different place without changing the current outline visibility. Shows the document structure in a temporary buffer, where you can use the following keys to find your destination: @vindex org-goto-auto-isearch @example @key{TAB} @r{Cycle visibility.} @key{down} / @key{up} @r{Next/previous visible headline.} @key{RET} @r{Select this location.} @kbd{/} @r{Do a Sparse-tree search} @r{The following keys work if you turn off @code{org-goto-auto-isearch}} n / p @r{Next/previous visible headline.} f / b @r{Next/previous headline same level.} u @r{One level up.} 0-9 @r{Digit argument.} q @r{Quit} @end example @vindex org-goto-interface @noindent See also the variable @code{org-goto-interface}. @end table @node Structure editing, Sparse trees, Motion, Document Structure @section Structure editing @cindex structure editing @cindex headline, promotion and demotion @cindex promotion, of subtrees @cindex demotion, of subtrees @cindex subtree, cut and paste @cindex pasting, of subtrees @cindex cutting, of subtrees @cindex copying, of subtrees @cindex sorting, of subtrees @cindex subtrees, cut and paste @table @asis @orgcmd{M-@key{RET},org-insert-heading} @vindex org-M-RET-may-split-line Insert new heading with same level as current. If the cursor is in a plain list item, a new item is created (@pxref{Plain lists}). To force creation of a new headline, use a prefix argument. When this command is used in the middle of a line, the line is split and the rest of the line becomes the new headline@footnote{If you do not want the line to be split, customize the variable @code{org-M-RET-may-split-line}.}. If the command is used at the beginning of a headline, the new headline is created before the current line. If at the beginning of any other line, the content of that line is made the new heading. If the command is used at the end of a folded subtree (i.e.@: behind the ellipses at the end of a headline), then a headline like the current one will be inserted after the end of the subtree. @orgcmd{C-@key{RET},org-insert-heading-respect-content} Just like @kbd{M-@key{RET}}, except when adding a new heading below the current heading, the new heading is placed after the body instead of before it. This command works from anywhere in the entry. @orgcmd{M-S-@key{RET},org-insert-todo-heading} @vindex org-treat-insert-todo-heading-as-state-change Insert new TODO entry with same level as current heading. See also the variable @code{org-treat-insert-todo-heading-as-state-change}. @orgcmd{C-S-@key{RET},org-insert-todo-heading-respect-content} Insert new TODO entry with same level as current heading. Like @kbd{C-@key{RET}}, the new headline will be inserted after the current subtree. @orgcmd{@key{TAB},org-cycle} In a new entry with no text yet, the first @key{TAB} demotes the entry to become a child of the previous one. The next @key{TAB} makes it a parent, and so on, all the way to top level. Yet another @key{TAB}, and you are back to the initial level. @orgcmd{M-@key{left},org-do-promote} Promote current heading by one level. @orgcmd{M-@key{right},org-do-demote} Demote current heading by one level. @orgcmd{M-S-@key{left},org-promote-subtree} Promote the current subtree by one level. @orgcmd{M-S-@key{right},org-demote-subtree} Demote the current subtree by one level. @orgcmd{M-S-@key{up},org-move-subtree-up} Move subtree up (swap with previous subtree of same level). @orgcmd{M-S-@key{down},org-move-subtree-down} Move subtree down (swap with next subtree of same level). @orgcmd{C-c C-x C-w,org-cut-subtree} Kill subtree, i.e.@: remove it from buffer but save in kill ring. With a numeric prefix argument N, kill N sequential subtrees. @orgcmd{C-c C-x M-w,org-copy-subtree} Copy subtree to kill ring. With a numeric prefix argument N, copy the N sequential subtrees. @orgcmd{C-c C-x C-y,org-paste-subtree} Yank subtree from kill ring. This does modify the level of the subtree to make sure the tree fits in nicely at the yank position. The yank level can also be specified with a numeric prefix argument, or by yanking after a headline marker like @samp{****}. @orgcmd{C-y,org-yank} @vindex org-yank-adjusted-subtrees @vindex org-yank-folded-subtrees Depending on the variables @code{org-yank-adjusted-subtrees} and @code{org-yank-folded-subtrees}, Org's internal @code{yank} command will paste subtrees folded and in a clever way, using the same command as @kbd{C-c C-x C-y}. With the default settings, no level adjustment will take place, but the yanked tree will be folded unless doing so would swallow text previously visible. Any prefix argument to this command will force a normal @code{yank} to be executed, with the prefix passed along. A good way to force a normal yank is @kbd{C-u C-y}. If you use @code{yank-pop} after a yank, it will yank previous kill items plainly, without adjustment and folding. @orgcmd{C-c C-x c,org-clone-subtree-with-time-shift} Clone a subtree by making a number of sibling copies of it. You will be prompted for the number of copies to make, and you can also specify if any timestamps in the entry should be shifted. This can be useful, for example, to create a number of tasks related to a series of lectures to prepare. For more details, see the docstring of the command @code{org-clone-subtree-with-time-shift}. @orgcmd{C-c C-w,org-refile} Refile entry or region to a different location. @xref{Refiling notes}. @orgcmd{C-c ^,org-sort-entries-or-items} Sort same-level entries. When there is an active region, all entries in the region will be sorted. Otherwise the children of the current headline are sorted. The command prompts for the sorting method, which can be alphabetically, numerically, by time (first timestamp with active preferred, creation time, scheduled time, deadline time), by priority, by TODO keyword (in the sequence the keywords have been defined in the setup) or by the value of a property. Reverse sorting is possible as well. You can also supply your own function to extract the sorting key. With a @kbd{C-u} prefix, sorting will be case-sensitive. @orgcmd{C-x n s,org-narrow-to-subtree} Narrow buffer to current subtree. @orgcmd{C-x n b,org-narrow-to-block} Narrow buffer to current block. @orgcmd{C-x n w,widen} Widen buffer to remove narrowing. @orgcmd{C-c *,org-toggle-heading} Turn a normal line or plain list item into a headline (so that it becomes a subheading at its location). Also turn a headline into a normal line by removing the stars. If there is an active region, turn all lines in the region into headlines. If the first line in the region was an item, turn only the item lines into headlines. Finally, if the first line is a headline, remove the stars from all headlines in the region. @end table @cindex region, active @cindex active region @cindex transient mark mode When there is an active region (Transient Mark mode), promotion and demotion work on all headlines in the region. To select a region of headlines, it is best to place both point and mark at the beginning of a line, mark at the beginning of the first headline, and point at the line just after the last headline to change. Note that when the cursor is inside a table (@pxref{Tables}), the Meta-Cursor keys have different functionality. @node Sparse trees, Plain lists, Structure editing, Document Structure @section Sparse trees @cindex sparse trees @cindex trees, sparse @cindex folding, sparse trees @cindex occur, command @vindex org-show-hierarchy-above @vindex org-show-following-heading @vindex org-show-siblings @vindex org-show-entry-below An important feature of Org mode is the ability to construct @emph{sparse trees} for selected information in an outline tree, so that the entire document is folded as much as possible, but the selected information is made visible along with the headline structure above it@footnote{See also the variables @code{org-show-hierarchy-above}, @code{org-show-following-heading}, @code{org-show-siblings}, and @code{org-show-entry-below} for detailed control on how much context is shown around each match.}. Just try it out and you will see immediately how it works. Org mode contains several commands creating such trees, all these commands can be accessed through a dispatcher: @table @asis @orgcmd{C-c /,org-sparse-tree} This prompts for an extra key to select a sparse-tree creating command. @orgcmd{C-c / r,org-occur} @vindex org-remove-highlights-with-change Prompts for a regexp and shows a sparse tree with all matches. If the match is in a headline, the headline is made visible. If the match is in the body of an entry, headline and body are made visible. In order to provide minimal context, also the full hierarchy of headlines above the match is shown, as well as the headline following the match. Each match is also highlighted; the highlights disappear when the buffer is changed by an editing command@footnote{This depends on the option @code{org-remove-highlights-with-change}}, or by pressing @kbd{C-c C-c}. When called with a @kbd{C-u} prefix argument, previous highlights are kept, so several calls to this command can be stacked. @orgcmdkkc{M-g n,M-g M-n,next-error} Jump to the next sparse tree match in this buffer. @orgcmdkkc{M-g p,M-g M-p,previous-error} Jump to the previous sparse tree match in this buffer. @end table @noindent @vindex org-agenda-custom-commands For frequently used sparse trees of specific search strings, you can use the variable @code{org-agenda-custom-commands} to define fast keyboard access to specific sparse trees. These commands will then be accessible through the agenda dispatcher (@pxref{Agenda dispatcher}). For example: @lisp (setq org-agenda-custom-commands '(("f" occur-tree "FIXME"))) @end lisp @noindent will define the key @kbd{C-c a f} as a shortcut for creating a sparse tree matching the string @samp{FIXME}. The other sparse tree commands select headings based on TODO keywords, tags, or properties and will be discussed later in this manual. @kindex C-c C-e v @cindex printing sparse trees @cindex visible text, printing To print a sparse tree, you can use the Emacs command @code{ps-print-buffer-with-faces} which does not print invisible parts of the document @footnote{This does not work under XEmacs, because XEmacs uses selective display for outlining, not text properties.}. Or you can use the command @kbd{C-c C-e v} to export only the visible part of the document and print the resulting file. @node Plain lists, Drawers, Sparse trees, Document Structure @section Plain lists @cindex plain lists @cindex lists, plain @cindex lists, ordered @cindex ordered lists Within an entry of the outline tree, hand-formatted lists can provide additional structure. They also provide a way to create lists of checkboxes (@pxref{Checkboxes}). Org supports editing such lists, and every exporter (@pxref{Exporting}) can parse and format them. Org knows ordered lists, unordered lists, and description lists. @itemize @bullet @item @emph{Unordered} list items start with @samp{-}, @samp{+}, or @samp{*}@footnote{When using @samp{*} as a bullet, lines must be indented or they will be seen as top-level headlines. Also, when you are hiding leading stars to get a clean outline view, plain list items starting with a star may be hard to distinguish from true headlines. In short: even though @samp{*} is supported, it may be better to not use it for plain list items.} as bullets. @item @vindex org-plain-list-ordered-item-terminator @vindex org-alphabetical-lists @emph{Ordered} list items start with a numeral followed by either a period or a right parenthesis@footnote{You can filter out any of them by configuring @code{org-plain-list-ordered-item-terminator}.}, such as @samp{1.} or @samp{1)}@footnote{You can also get @samp{a.}, @samp{A.}, @samp{a)} and @samp{A)} by configuring @code{org-alphabetical-lists}. To minimize confusion with normal text, those are limited to one character only. Beyond that limit, bullets will automatically fallback to numbers.}. If you want a list to start with a different value (e.g.@: 20), start the text of the item with @code{[@@20]}@footnote{If there's a checkbox in the item, the cookie must be put @emph{before} the checkbox. If you have activated alphabetical lists, you can also use counters like @code{[@@b]}.}. Those constructs can be used in any item of the list in order to enforce a particular numbering. @item @emph{Description} list items are unordered list items, and contain the separator @samp{ :: } to distinguish the description @emph{term} from the description. @end itemize Items belonging to the same list must have the same indentation on the first line. In particular, if an ordered list reaches number @samp{10.}, then the 2--digit numbers must be written left-aligned with the other numbers in the list. An item ends before the next line that is less or equally indented than its bullet/number. @vindex org-empty-line-terminates-plain-lists A list ends whenever every item has ended, which means before any line less or equally indented than items at top level. It also ends before two blank lines@footnote{See also @code{org-empty-line-terminates-plain-lists}.}. In that case, all items are closed. Here is an example: @example @group ** Lord of the Rings My favorite scenes are (in this order) 1. The attack of the Rohirrim 2. Eowyn's fight with the witch king + this was already my favorite scene in the book + I really like Miranda Otto. 3. Peter Jackson being shot by Legolas - on DVD only He makes a really funny face when it happens. But in the end, no individual scenes matter but the film as a whole. Important actors in this film are: - @b{Elijah Wood} :: He plays Frodo - @b{Sean Austin} :: He plays Sam, Frodo's friend. I still remember him very well from his role as Mikey Walsh in @i{The Goonies}. @end group @end example Org supports these lists by tuning filling and wrapping commands to deal with them correctly@footnote{Org only changes the filling settings for Emacs. For XEmacs, you should use Kyle E. Jones' @file{filladapt.el}. To turn this on, put into @file{.emacs}: @code{(require 'filladapt)}}, and by exporting them properly (@pxref{Exporting}). Since indentation is what governs the structure of these lists, many structural constructs like @code{#+BEGIN_...} blocks can be indented to signal that they belong to a particular item. @vindex org-list-demote-modify-bullet @vindex org-list-indent-offset If you find that using a different bullet for a sub-list (than that used for the current list-level) improves readability, customize the variable @code{org-list-demote-modify-bullet}. To get a greater difference of indentation between items and theirs sub-items, customize @code{org-list-indent-offset}. @vindex org-list-automatic-rules The following commands act on items when the cursor is in the first line of an item (the line with the bullet or number). Some of them imply the application of automatic rules to keep list structure intact. If some of these actions get in your way, configure @code{org-list-automatic-rules} to disable them individually. @table @asis @orgcmd{@key{TAB},org-cycle} @cindex cycling, in plain lists @vindex org-cycle-include-plain-lists Items can be folded just like headline levels. Normally this works only if the cursor is on a plain list item. For more details, see the variable @code{org-cycle-include-plain-lists}. If this variable is set to @code{integrate}, plain list items will be treated like low-level headlines. The level of an item is then given by the indentation of the bullet/number. Items are always subordinate to real headlines, however; the hierarchies remain completely separated. In a new item with no text yet, the first @key{TAB} demotes the item to become a child of the previous one. Subsequent @key{TAB}s move the item to meaningful levels in the list and eventually get it back to its initial position. @orgcmd{M-@key{RET},org-insert-heading} @vindex org-M-RET-may-split-line @vindex org-list-automatic-rules Insert new item at current level. With a prefix argument, force a new heading (@pxref{Structure editing}). If this command is used in the middle of an item, that item is @emph{split} in two, and the second part becomes the new item@footnote{If you do not want the item to be split, customize the variable @code{org-M-RET-may-split-line}.}. If this command is executed @emph{before item's body}, the new item is created @emph{before} the current one. @end table @table @kbd @kindex M-S-@key{RET} @item M-S-RET Insert a new item with a checkbox (@pxref{Checkboxes}). @kindex S-@key{down} @item S-up @itemx S-down @cindex shift-selection-mode @vindex org-support-shift-select @vindex org-list-use-circular-motion Jump to the previous/next item in the current list@footnote{If you want to cycle around items that way, you may customize @code{org-list-use-circular-motion}.}, but only if @code{org-support-shift-select} is off. If not, you can still use paragraph jumping commands like @kbd{C-@key{up}} and @kbd{C-@key{down}} to quite similar effect. @kindex M-@key{up} @kindex M-@key{down} @item M-up @itemx M-down Move the item including subitems up/down@footnote{See @code{org-liste-use-circular-motion} for a cyclic behavior.} (swap with previous/next item of same indentation). If the list is ordered, renumbering is automatic. @kindex M-@key{left} @kindex M-@key{right} @item M-left @itemx M-right Decrease/increase the indentation of an item, leaving children alone. @kindex M-S-@key{left} @kindex M-S-@key{right} @item M-S-left @itemx M-S-right Decrease/increase the indentation of the item, including subitems. Initially, the item tree is selected based on current indentation. When these commands are executed several times in direct succession, the initially selected region is used, even if the new indentation would imply a different hierarchy. To use the new hierarchy, break the command chain with a cursor motion or so. As a special case, using this command on the very first item of a list will move the whole list. This behavior can be disabled by configuring @code{org-list-automatic-rules}. The global indentation of a list has no influence on the text @emph{after} the list. @kindex C-c C-c @item C-c C-c If there is a checkbox (@pxref{Checkboxes}) in the item line, toggle the state of the checkbox. In any case, verify bullets and indentation consistency in the whole list. @kindex C-c - @vindex org-plain-list-ordered-item-terminator @vindex org-list-automatic-rules @item C-c - Cycle the entire list level through the different itemize/enumerate bullets (@samp{-}, @samp{+}, @samp{*}, @samp{1.}, @samp{1)}) or a subset of them, depending on @code{org-plain-list-ordered-item-terminator}, the type of list, and its position@footnote{See @code{bullet} rule in @code{org-list-automatic-rules} for more information.}. With a numeric prefix argument N, select the Nth bullet from this list. If there is an active region when calling this, selected text will be changed into an item. With a prefix argument, all lines will be converted to list items. If the first line already was a list item, any item marker will be removed from the list. Finally, even without an active region, a normal line will be converted into a list item. @kindex C-c * @item C-c * Turn a plain list item into a headline (so that it becomes a subheading at its location). @xref{Structure editing}, for a detailed explanation. @kindex C-c C-* @item C-c C-* Turn the whole plain list into a subtree of the current heading. Checkboxes (@pxref{Checkboxes}) will become TODO (resp. DONE) keywords when unchecked (resp. checked). @kindex S-@key{left} @kindex S-@key{right} @item S-left/right @vindex org-support-shift-select This command also cycles bullet styles when the cursor in on the bullet or anywhere in an item line, details depending on @code{org-support-shift-select}. @kindex C-c ^ @item C-c ^ Sort the plain list. You will be prompted for the sorting method: numerically, alphabetically, by time, or by custom function. @end table @node Drawers, Blocks, Plain lists, Document Structure @section Drawers @cindex drawers @cindex #+DRAWERS @cindex visibility cycling, drawers @vindex org-drawers Sometimes you want to keep information associated with an entry, but you normally don't want to see it. For this, Org mode has @emph{drawers}. Drawers need to be configured with the variable @code{org-drawers}@footnote{You can define drawers on a per-file basis with a line like @code{#+DRAWERS: HIDDEN PROPERTIES STATE}}. Drawers look like this: @example ** This is a headline Still outside the drawer :DRAWERNAME: This is inside the drawer. :END: After the drawer. @end example Visibility cycling (@pxref{Visibility cycling}) on the headline will hide and show the entry, but keep the drawer collapsed to a single line. In order to look inside the drawer, you need to move the cursor to the drawer line and press @key{TAB} there. Org mode uses the @code{PROPERTIES} drawer for storing properties (@pxref{Properties and Columns}), and you can also arrange for state change notes (@pxref{Tracking TODO state changes}) and clock times (@pxref{Clocking work time}) to be stored in a drawer @code{LOGBOOK}. If you want to store a quick note in the LOGBOOK drawer, in a similar way to state changes, use @table @kbd @kindex C-c C-z @item C-c C-z Add a time-stamped note to the LOGBOOK drawer. @end table @node Blocks, Footnotes, Drawers, Document Structure @section Blocks @vindex org-hide-block-startup @cindex blocks, folding Org mode uses begin...end blocks for various purposes from including source code examples (@pxref{Literal examples}) to capturing time logging information (@pxref{Clocking work time}). These blocks can be folded and unfolded by pressing TAB in the begin line. You can also get all blocks folded at startup by configuring the variable @code{org-hide-block-startup} or on a per-file basis by using @cindex @code{hideblocks}, STARTUP keyword @cindex @code{nohideblocks}, STARTUP keyword @example #+STARTUP: hideblocks #+STARTUP: nohideblocks @end example @node Footnotes, Orgstruct mode, Blocks, Document Structure @section Footnotes @cindex footnotes Org mode supports the creation of footnotes. In contrast to the @file{footnote.el} package, Org mode's footnotes are designed for work on a larger document, not only for one-off documents like emails. The basic syntax is similar to the one used by @file{footnote.el}, i.e.@: a footnote is defined in a paragraph that is started by a footnote marker in square brackets in column 0, no indentation allowed. If you need a paragraph break inside a footnote, use the @LaTeX{} idiom @samp{\par}. The footnote reference is simply the marker in square brackets, inside text. For example: @example The Org homepage[fn:1] now looks a lot better than it used to. ... [fn:1] The link is: http://orgmode.org @end example Org mode extends the number-based syntax to @emph{named} footnotes and optional inline definition. Using plain numbers as markers (as @file{footnote.el} does) is supported for backward compatibility, but not encouraged because of possible conflicts with @LaTeX{} snippets (@pxref{Embedded @LaTeX{}}). Here are the valid references: @table @code @item [1] A plain numeric footnote marker. Compatible with @file{footnote.el}, but not recommended because something like @samp{[1]} could easily be part of a code snippet. @item [fn:name] A named footnote reference, where @code{name} is a unique label word, or, for simplicity of automatic creation, a number. @item [fn:: This is the inline definition of this footnote] A @LaTeX{}-like anonymous footnote where the definition is given directly at the reference point. @item [fn:name: a definition] An inline definition of a footnote, which also specifies a name for the note. Since Org allows multiple references to the same note, you can then use @code{[fn:name]} to create additional references. @end table @vindex org-footnote-auto-label Footnote labels can be created automatically, or you can create names yourself. This is handled by the variable @code{org-footnote-auto-label} and its corresponding @code{#+STARTUP} keywords. See the docstring of that variable for details. @noindent The following command handles footnotes: @table @kbd @kindex C-c C-x f @item C-c C-x f The footnote action command. When the cursor is on a footnote reference, jump to the definition. When it is at a definition, jump to the (first) reference. @vindex org-footnote-define-inline @vindex org-footnote-section @vindex org-footnote-auto-adjust Otherwise, create a new footnote. Depending on the variable @code{org-footnote-define-inline}@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: fninline} or @code{#+STARTUP: nofninline}}, the definition will be placed right into the text as part of the reference, or separately into the location determined by the variable @code{org-footnote-section}. When this command is called with a prefix argument, a menu of additional options is offered: @example s @r{Sort the footnote definitions by reference sequence. During editing,} @r{Org makes no effort to sort footnote definitions into a particular} @r{sequence. If you want them sorted, use this command, which will} @r{also move entries according to @code{org-footnote-section}. Automatic} @r{sorting after each insertion/deletion can be configured using the} @r{variable @code{org-footnote-auto-adjust}.} r @r{Renumber the simple @code{fn:N} footnotes. Automatic renumbering} @r{after each insertion/deletion can be configured using the variable} @r{@code{org-footnote-auto-adjust}.} S @r{Short for first @code{r}, then @code{s} action.} n @r{Normalize the footnotes by collecting all definitions (including} @r{inline definitions) into a special section, and then numbering them} @r{in sequence. The references will then also be numbers. This is} @r{meant to be the final step before finishing a document (e.g.@: sending} @r{off an email). The exporters do this automatically, and so could} @r{something like @code{message-send-hook}.} d @r{Delete the footnote at point, and all definitions of and references} @r{to it.} @end example Depending on the variable @code{org-footnote-auto-adjust}@footnote{the corresponding in-buffer options are @code{fnadjust} and @code{nofnadjust}.}, renumbering and sorting footnotes can be automatic after each insertion or deletion. @kindex C-c C-c @item C-c C-c If the cursor is on a footnote reference, jump to the definition. If it is a the definition, jump back to the reference. When called at a footnote location with a prefix argument, offer the same menu as @kbd{C-c C-x f}. @kindex C-c C-o @kindex mouse-1 @kindex mouse-2 @item C-c C-o @r{or} mouse-1/2 Footnote labels are also links to the corresponding definition/reference, and you can use the usual commands to follow these links. @end table @node Orgstruct mode, , Footnotes, Document Structure @section The Orgstruct minor mode @cindex Orgstruct mode @cindex minor mode for structure editing If you like the intuitive way the Org mode structure editing and list formatting works, you might want to use these commands in other modes like Text mode or Mail mode as well. The minor mode @code{orgstruct-mode} makes this possible. Toggle the mode with @kbd{M-x orgstruct-mode}, or turn it on by default, for example in Message mode, with one of: @lisp (add-hook 'message-mode-hook 'turn-on-orgstruct) (add-hook 'message-mode-hook 'turn-on-orgstruct++) @end lisp When this mode is active and the cursor is on a line that looks to Org like a headline or the first line of a list item, most structure editing commands will work, even if the same keys normally have different functionality in the major mode you are using. If the cursor is not in one of those special lines, Orgstruct mode lurks silently in the shadows. When you use @code{orgstruct++-mode}, Org will also export indentation and autofill settings into that mode, and detect item context after the first line of an item. @node Tables, Hyperlinks, Document Structure, Top @chapter Tables @cindex tables @cindex editing tables Org comes with a fast and intuitive table editor. Spreadsheet-like calculations are supported using the Emacs @file{calc} package (@pxref{Top, Calc, , calc, Gnu Emacs Calculator Manual}). @menu * Built-in table editor:: Simple tables * Column width and alignment:: Overrule the automatic settings * Column groups:: Grouping to trigger vertical lines * Orgtbl mode:: The table editor as minor mode * The spreadsheet:: The table editor has spreadsheet capabilities * Org-Plot:: Plotting from org tables @end menu @node Built-in table editor, Column width and alignment, Tables, Tables @section The built-in table editor @cindex table editor, built-in Org makes it easy to format tables in plain ASCII. Any line with @samp{|} as the first non-whitespace character is considered part of a table. @samp{|} is also the column separator@footnote{To insert a vertical bar into a table field, use @code{\vert} or, inside a word @code{abc\vert@{@}def}.}. A table might look like this: @example | Name | Phone | Age | |-------+-------+-----| | Peter | 1234 | 17 | | Anna | 4321 | 25 | @end example A table is re-aligned automatically each time you press @key{TAB} or @key{RET} or @kbd{C-c C-c} inside the table. @key{TAB} also moves to the next field (@key{RET} to the next row) and creates new table rows at the end of the table or before horizontal lines. The indentation of the table is set by the first line. Any line starting with @samp{|-} is considered as a horizontal separator line and will be expanded on the next re-align to span the whole table width. So, to create the above table, you would only type @example |Name|Phone|Age| |- @end example @noindent and then press @key{TAB} to align the table and start filling in fields. Even faster would be to type @code{|Name|Phone|Age} followed by @kbd{C-c @key{RET}}. @vindex org-enable-table-editor @vindex org-table-auto-blank-field When typing text into a field, Org treats @key{DEL}, @key{Backspace}, and all character keys in a special way, so that inserting and deleting avoids shifting other fields. Also, when typing @emph{immediately after the cursor was moved into a new field with @kbd{@key{TAB}}, @kbd{S-@key{TAB}} or @kbd{@key{RET}}}, the field is automatically made blank. If this behavior is too unpredictable for you, configure the variables @code{org-enable-table-editor} and @code{org-table-auto-blank-field}. @table @kbd @tsubheading{Creation and conversion} @orgcmd{C-c |,org-table-create-or-convert-from-region} Convert the active region to table. If every line contains at least one TAB character, the function assumes that the material is tab separated. If every line contains a comma, comma-separated values (CSV) are assumed. If not, lines are split at whitespace into fields. You can use a prefix argument to force a specific separator: @kbd{C-u} forces CSV, @kbd{C-u C-u} forces TAB, and a numeric argument N indicates that at least N consecutive spaces, or alternatively a TAB will be the separator. @* If there is no active region, this command creates an empty Org table. But it is easier just to start typing, like @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}}. @tsubheading{Re-aligning and field motion} @orgcmd{C-c C-c,org-table-align} Re-align the table without moving the cursor. @c @orgcmd{,org-table-next-field} Re-align the table, move to the next field. Creates a new row if necessary. @c @orgcmd{S-@key{TAB},org-table-previous-field} Re-align, move to previous field. @c @orgcmd{@key{RET},org-table-next-row} Re-align the table and move down to next row. Creates a new row if necessary. At the beginning or end of a line, @key{RET} still does NEWLINE, so it can be used to split a table. @c @orgcmd{M-a,org-table-beginning-of-field} Move to beginning of the current table field, or on to the previous field. @orgcmd{M-e,org-table-end-of-field} Move to end of the current table field, or on to the next field. @tsubheading{Column and row editing} @orgcmdkkcc{M-@key{left},M-@key{right},org-table-move-column-left,org-table-move-column-right} Move the current column left/right. @c @orgcmd{M-S-@key{left},org-table-delete-column} Kill the current column. @c @orgcmd{M-S-@key{right},org-table-insert-column} Insert a new column to the left of the cursor position. @c @orgcmdkkcc{M-@key{up},M-@key{down},org-table-move-row-up,org-table-move-row-down} Move the current row up/down. @c @orgcmd{M-S-@key{up},org-table-kill-row} Kill the current row or horizontal line. @c @orgcmd{M-S-@key{down},org-table-insert-row} Insert a new row above the current row. With a prefix argument, the line is created below the current one. @c @orgcmd{C-c -,org-table-insert-hline} Insert a horizontal line below current row. With a prefix argument, the line is created above the current line. @c @orgcmd{C-c @key{RET},org-table-hline-and-move} Insert a horizontal line below current row, and move the cursor into the row below that line. @c @orgcmd{C-c ^,org-table-sort-lines} Sort the table lines in the region. The position of point indicates the column to be used for sorting, and the range of lines is the range between the nearest horizontal separator lines, or the entire table. If point is before the first column, you will be prompted for the sorting column. If there is an active region, the mark specifies the first line and the sorting column, while point should be in the last line to be included into the sorting. The command prompts for the sorting type (alphabetically, numerically, or by time). When called with a prefix argument, alphabetic sorting will be case-sensitive. @tsubheading{Regions} @orgcmd{C-c C-x M-w,org-table-copy-region} Copy a rectangular region from a table to a special clipboard. Point and mark determine edge fields of the rectangle. If there is no active region, copy just the current field. The process ignores horizontal separator lines. @c @orgcmd{C-c C-x C-w,org-table-cut-region} Copy a rectangular region from a table to a special clipboard, and blank all fields in the rectangle. So this is the ``cut'' operation. @c @orgcmd{C-c C-x C-y,org-table-paste-rectangle} Paste a rectangular region into a table. The upper left corner ends up in the current field. All involved fields will be overwritten. If the rectangle does not fit into the present table, the table is enlarged as needed. The process ignores horizontal separator lines. @c @orgcmd{M-@key{RET},org-table-wrap-region} Split the current field at the cursor position and move the rest to the line below. If there is an active region, and both point and mark are in the same column, the text in the column is wrapped to minimum width for the given number of lines. A numeric prefix argument may be used to change the number of desired lines. If there is no region, but you specify a prefix argument, the current field is made blank, and the content is appended to the field above. @tsubheading{Calculations} @cindex formula, in tables @cindex calculations, in tables @cindex region, active @cindex active region @cindex transient mark mode @orgcmd{C-c +,org-table-sum} Sum the numbers in the current column, or in the rectangle defined by the active region. The result is shown in the echo area and can be inserted with @kbd{C-y}. @c @orgcmd{S-@key{RET},org-table-copy-down} @vindex org-table-copy-increment When current field is empty, copy from first non-empty field above. When not empty, copy current field down to next row and move cursor along with it. Depending on the variable @code{org-table-copy-increment}, integer field values will be incremented during copy. Integers that are too large will not be incremented. Also, a @code{0} prefix argument temporarily disables the increment. This key is also used by shift-selection and related modes (@pxref{Conflicts}). @tsubheading{Miscellaneous} @orgcmd{C-c `,org-table-edit-field} Edit the current field in a separate window. This is useful for fields that are not fully visible (@pxref{Column width and alignment}). When called with a @kbd{C-u} prefix, just make the full field visible, so that it can be edited in place. When called with two @kbd{C-u} prefixes, make the editor window follow the cursor through the table and always show the current field. The follow mode exits automatically when the cursor leaves the table, or when you repeat this command with @kbd{C-u C-u C-c `}. @c @item M-x org-table-import Import a file as a table. The table should be TAB or whitespace separated. Use, for example, to import a spreadsheet table or data from a database, because these programs generally can write TAB-separated text files. This command works by inserting the file into the buffer and then converting the region to a table. Any prefix argument is passed on to the converter, which uses it to determine the separator. @orgcmd{C-c |,org-table-create-or-convert-from-region} Tables can also be imported by pasting tabular text into the Org buffer, selecting the pasted text with @kbd{C-x C-x} and then using the @kbd{C-c |} command (see above under @i{Creation and conversion}). @c @item M-x org-table-export @findex org-table-export @vindex org-table-export-default-format Export the table, by default as a TAB-separated file. Use for data exchange with, for example, spreadsheet or database programs. The format used to export the file can be configured in the variable @code{org-table-export-default-format}. You may also use properties @code{TABLE_EXPORT_FILE} and @code{TABLE_EXPORT_FORMAT} to specify the file name and the format for table export in a subtree. Org supports quite general formats for exported tables. The exporter format is the same as the format used by Orgtbl radio tables, see @ref{Translator functions}, for a detailed description. @end table If you don't like the automatic table editor because it gets in your way on lines which you would like to start with @samp{|}, you can turn it off with @lisp (setq org-enable-table-editor nil) @end lisp @noindent Then the only table command that still works is @kbd{C-c C-c} to do a manual re-align. @node Column width and alignment, Column groups, Built-in table editor, Tables @section Column width and alignment @cindex narrow columns in tables @cindex alignment in tables The width of columns is automatically determined by the table editor. And also the alignment of a column is determined automatically from the fraction of number-like versus non-number fields in the column. Sometimes a single field or a few fields need to carry more text, leading to inconveniently wide columns. Or maybe you want to make a table with several columns having a fixed width, regardless of content. To set@footnote{This feature does not work on XEmacs.} the width of a column, one field anywhere in the column may contain just the string @samp{} where @samp{N} is an integer specifying the width of the column in characters. The next re-align will then set the width of this column to this value. @example @group |---+------------------------------| |---+--------| | | | | | <6> | | 1 | one | | 1 | one | | 2 | two | ----\ | 2 | two | | 3 | This is a long chunk of text | ----/ | 3 | This=> | | 4 | four | | 4 | four | |---+------------------------------| |---+--------| @end group @end example @noindent Fields that are wider become clipped and end in the string @samp{=>}. Note that the full text is still in the buffer but is hidden. To see the full text, hold the mouse over the field---a tool-tip window will show the full content. To edit such a field, use the command @kbd{C-c `} (that is @kbd{C-c} followed by the backquote). This will open a new window with the full field. Edit it and finish with @kbd{C-c C-c}. @vindex org-startup-align-all-tables When visiting a file containing a table with narrowed columns, the necessary character hiding has not yet happened, and the table needs to be aligned before it looks nice. Setting the option @code{org-startup-align-all-tables} will realign all tables in a file upon visiting, but also slow down startup. You can also set this option on a per-file basis with: @example #+STARTUP: align #+STARTUP: noalign @end example If you would like to overrule the automatic alignment of number-rich columns to the right and of string-rich column to the left, you can use @samp{}, @samp{c}@footnote{Centering does not work inside Emacs, but it does have an effect when exporting to HTML.} or @samp{} in a similar fashion. You may also combine alignment and field width like this: @samp{}. Lines which only contain these formatting cookies will be removed automatically when exporting the document. @node Column groups, Orgtbl mode, Column width and alignment, Tables @section Column groups @cindex grouping columns in tables When Org exports tables, it does so by default without vertical lines because that is visually more satisfying in general. Occasionally however, vertical lines can be useful to structure a table into groups of columns, much like horizontal lines can do for groups of rows. In order to specify column groups, you can use a special row where the first field contains only @samp{/}. The further fields can either contain @samp{<} to indicate that this column should start a group, @samp{>} to indicate the end of a column, or @samp{<>} (no space between @samp{<} and @samp{>}) to make a column a group of its own. Boundaries between column groups will upon export be marked with vertical lines. Here is an example: @example | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) | |---+-----+-----+-----+---------+------------| | / | < | | > | < | > | | 1 | 1 | 1 | 1 | 1 | 1 | | 2 | 4 | 8 | 16 | 1.4142 | 1.1892 | | 3 | 9 | 27 | 81 | 1.7321 | 1.3161 | |---+-----+-----+-----+---------+------------| #+TBLFM: $2=$1^2::$3=$1^3::$4=$1^4::$5=sqrt($1)::$6=sqrt(sqrt(($1))) @end example It is also sufficient to just insert the column group starters after every vertical line you would like to have: @example | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) | |----+-----+-----+-----+---------+------------| | / | < | | | < | | @end example @node Orgtbl mode, The spreadsheet, Column groups, Tables @section The Orgtbl minor mode @cindex Orgtbl mode @cindex minor mode for tables If you like the intuitive way the Org table editor works, you might also want to use it in other modes like Text mode or Mail mode. The minor mode Orgtbl mode makes this possible. You can always toggle the mode with @kbd{M-x orgtbl-mode}. To turn it on by default, for example in Message mode, use @lisp (add-hook 'message-mode-hook 'turn-on-orgtbl) @end lisp Furthermore, with some special setup, it is possible to maintain tables in arbitrary syntax with Orgtbl mode. For example, it is possible to construct @LaTeX{} tables with the underlying ease and power of Orgtbl mode, including spreadsheet capabilities. For details, see @ref{Tables in arbitrary syntax}. @node The spreadsheet, Org-Plot, Orgtbl mode, Tables @section The spreadsheet @cindex calculations, in tables @cindex spreadsheet capabilities @cindex @file{calc} package The table editor makes use of the Emacs @file{calc} package to implement spreadsheet-like capabilities. It can also evaluate Emacs Lisp forms to derive fields from other fields. While fully featured, Org's implementation is not identical to other spreadsheets. For example, Org knows the concept of a @emph{column formula} that will be applied to all non-header fields in a column without having to copy the formula to each relevant field. There is also a formula debugger, and a formula editor with features for highlighting fields in the table corresponding to the references at the point in the formula, moving these references by arrow keys @menu * References:: How to refer to another field or range * Formula syntax for Calc:: Using Calc to compute stuff * Formula syntax for Lisp:: Writing formulas in Emacs Lisp * Durations and time values:: How to compute durations and time values * Field and range formulas:: Formula for specific (ranges of) fields * Column formulas:: Formulas valid for an entire column * Editing and debugging formulas:: Fixing formulas * Updating the table:: Recomputing all dependent fields * Advanced features:: Field and column names, parameters and automatic recalc @end menu @node References, Formula syntax for Calc, The spreadsheet, The spreadsheet @subsection References @cindex references To compute fields in the table from other fields, formulas must reference other fields or ranges. In Org, fields can be referenced by name, by absolute coordinates, and by relative coordinates. To find out what the coordinates of a field are, press @kbd{C-c ?} in that field, or press @kbd{C-c @}} to toggle the display of a grid. @subsubheading Field references @cindex field references @cindex references, to fields Formulas can reference the value of another field in two ways. Like in any other spreadsheet, you may reference fields with a letter/number combination like @code{B3}, meaning the 2nd field in the 3rd row. @vindex org-table-use-standard-references However, Org prefers@footnote{Org will understand references typed by the user as @samp{B4}, but it will not use this syntax when offering a formula for editing. You can customize this behavior using the variable @code{org-table-use-standard-references}.} to use another, more general representation that looks like this: @example @@@var{row}$@var{column} @end example Column specifications can be absolute like @code{$1}, @code{$2},...@code{$@var{N}}, or relative to the current column (i.e.@: the column of the field which is being computed) like @code{$+1} or @code{$-2}. @code{$<} and @code{$>} are immutable references to the first and last column, respectively, and you can use @code{$>>>} to indicate the third column from the right. The row specification only counts data lines and ignores horizontal separator lines (hlines). Like with columns, you can use absolute row numbers @code{@@1}, @code{@@2},...@code{@@@var{N}}, and row numbers relative to the current row like @code{@@+3} or @code{@@-1}. @code{@@<} and @code{@@>} are immutable references the first and last@footnote{For backward compatibility you can also use special names like @code{$LR5} and @code{$LR12} to refer in a stable way to the 5th and 12th field in the last row of the table. However, this syntax is deprecated, it should not be used for new documents. Use @code{@@>$} instead.} row in the table, respectively. You may also specify the row relative to one of the hlines: @code{@@I} refers to the first hline, @code{@@II} to the second, etc@. @code{@@-I} refers to the first such line above the current line, @code{@@+I} to the first such line below the current line. You can also write @code{@@III+2} which is the second data line after the third hline in the table. @code{@@0} and @code{$0} refer to the current row and column, respectively, i.e. to the row/column for the field being computed. Also, if you omit either the column or the row part of the reference, the current row/column is implied. Org's references with @emph{unsigned} numbers are fixed references in the sense that if you use the same reference in the formula for two different fields, the same field will be referenced each time. Org's references with @emph{signed} numbers are floating references because the same reference operator can reference different fields depending on the field being calculated by the formula. Here are a few examples: @example @@2$3 @r{2nd row, 3rd column (same as @code{C2})} $5 @r{column 5 in the current row (same as @code{E&})} @@2 @r{current column, row 2} @@-1$-3 @r{the field one row up, three columns to the left} @@-I$2 @r{field just under hline above current row, column 2} @@>$5 @r{field in the last row, in column 5} @end example @subsubheading Range references @cindex range references @cindex references, to ranges You may reference a rectangular range of fields by specifying two field references connected by two dots @samp{..}. If both fields are in the current row, you may simply use @samp{$2..$7}, but if at least one field is in a different row, you need to use the general @code{@@row$column} format at least for the first field (i.e the reference must start with @samp{@@} in order to be interpreted correctly). Examples: @example $1..$3 @r{first three fields in the current row} $P..$Q @r{range, using column names (see under Advanced)} $<<<..$>> @r{start in third column, continue to the one but last} @@2$1..@@4$3 @r{6 fields between these two fields (same as @code{A2..C4})} @@-1$-2..@@-1 @r{3 numbers from the column to the left, 2 up to current row} @@I..II @r{between first and second hline, short for @code{@@I..@@II}} @end example @noindent Range references return a vector of values that can be fed into Calc vector functions. Empty fields in ranges are normally suppressed, so that the vector contains only the non-empty fields (but see the @samp{E} mode switch below). If there are no non-empty fields, @samp{[0]} is returned to avoid syntax errors in formulas. @subsubheading Field coordinates in formulas @cindex field coordinates @cindex coordinates, of field @cindex row, of field coordinates @cindex column, of field coordinates For Calc formulas and Lisp formulas @code{@@#} and @code{$#} can be used to get the row or column number of the field where the formula result goes. The traditional Lisp formula equivalents are @code{org-table-current-dline} and @code{org-table-current-column}. Examples: @example if(@@# % 2, $#, string("")) @r{column number on odd lines only} $3 = remote(FOO, @@@@#$2) @r{copy column 2 from table FOO into} @r{column 3 of the current table} @end example @noindent For the second example, table FOO must have at least as many rows as the current table. Note that this is inefficient@footnote{The computation time scales as O(N^2) because table FOO is parsed for each field to be copied.} for large number of rows. @subsubheading Named references @cindex named references @cindex references, named @cindex name, of column or field @cindex constants, in calculations @cindex #+CONSTANTS @vindex org-table-formula-constants @samp{$name} is interpreted as the name of a column, parameter or constant. Constants are defined globally through the variable @code{org-table-formula-constants}, and locally (for the file) through a line like @example #+CONSTANTS: c=299792458. pi=3.14 eps=2.4e-6 @end example @noindent @vindex constants-unit-system @pindex constants.el Also properties (@pxref{Properties and Columns}) can be used as constants in table formulas: for a property @samp{:Xyz:} use the name @samp{$PROP_Xyz}, and the property will be searched in the current outline entry and in the hierarchy above it. If you have the @file{constants.el} package, it will also be used to resolve constants, including natural constants like @samp{$h} for Planck's constant, and units like @samp{$km} for kilometers@footnote{@file{constants.el} can supply the values of constants in two different unit systems, @code{SI} and @code{cgs}. Which one is used depends on the value of the variable @code{constants-unit-system}. You can use the @code{#+STARTUP} options @code{constSI} and @code{constcgs} to set this value for the current buffer.}. Column names and parameters can be specified in special table lines. These are described below, see @ref{Advanced features}. All names must start with a letter, and further consist of letters and numbers. @subsubheading Remote references @cindex remote references @cindex references, remote @cindex references, to a different table @cindex name, of column or field @cindex constants, in calculations @cindex #+TBLNAME You may also reference constants, fields and ranges from a different table, either in the current file or even in a different file. The syntax is @example remote(NAME-OR-ID,REF) @end example @noindent where NAME can be the name of a table in the current file as set by a @code{#+TBLNAME: NAME} line before the table. It can also be the ID of an entry, even in a different file, and the reference then refers to the first table in that entry. REF is an absolute field or range reference as described above for example @code{@@3$3} or @code{$somename}, valid in the referenced table. @node Formula syntax for Calc, Formula syntax for Lisp, References, The spreadsheet @subsection Formula syntax for Calc @cindex formula syntax, Calc @cindex syntax, of formulas A formula can be any algebraic expression understood by the Emacs @file{Calc} package. @b{Note that @file{calc} has the non-standard convention that @samp{/} has lower precedence than @samp{*}, so that @samp{a/b*c} is interpreted as @samp{a/(b*c)}.} Before evaluation by @code{calc-eval} (@pxref{Calling Calc from Your Programs, calc-eval, Calling Calc from Your Lisp Programs, calc, GNU Emacs Calc Manual}), variable substitution takes place according to the rules described above. @cindex vectors, in table calculations The range vectors can be directly fed into the Calc vector functions like @samp{vmean} and @samp{vsum}. @cindex format specifier @cindex mode, for @file{calc} @vindex org-calc-default-modes A formula can contain an optional mode string after a semicolon. This string consists of flags to influence Calc and other modes during execution. By default, Org uses the standard Calc modes (precision 12, angular units degrees, fraction and symbolic modes off). The display format, however, has been changed to @code{(float 8)} to keep tables compact. The default settings can be configured using the variable @code{org-calc-default-modes}. @example p20 @r{set the internal Calc calculation precision to 20 digits} n3 s3 e2 f4 @r{Normal, scientific, engineering, or fixed} @r{format of the result of Calc passed back to Org.} @r{Calc formatting is unlimited in precision as} @r{long as the Calc calculation precision is greater.} D R @r{angle modes: degrees, radians} F S @r{fraction and symbolic modes} N @r{interpret all fields as numbers, use 0 for non-numbers} E @r{keep empty fields in ranges} L @r{literal} @end example @noindent Unless you use large integer numbers or high-precision-calculation and -display for floating point numbers you may alternatively provide a @code{printf} format specifier to reformat the Calc result after it has been passed back to Org instead of letting Calc already do the formatting@footnote{The @code{printf} reformatting is limited in precision because the value passed to it is converted into an @code{integer} or @code{double}. The @code{integer} is limited in size by truncating the signed value to 32 bits. The @code{double} is limited in precision to 64 bits overall which leaves approximately 16 significant decimal digits.}. A few examples: @example $1+$2 @r{Sum of first and second field} $1+$2;%.2f @r{Same, format result to two decimals} exp($2)+exp($1) @r{Math functions can be used} $0;%.1f @r{Reformat current cell to 1 decimal} ($3-32)*5/9 @r{Degrees F -> C conversion} $c/$1/$cm @r{Hz -> cm conversion, using @file{constants.el}} tan($1);Dp3s1 @r{Compute in degrees, precision 3, display SCI 1} sin($1);Dp3%.1e @r{Same, but use printf specifier for display} vmean($2..$7) @r{Compute column range mean, using vector function} vmean($2..$7);EN @r{Same, but treat empty fields as 0} taylor($3,x=7,2) @r{Taylor series of $3, at x=7, second degree} @end example Calc also contains a complete set of logical operations. For example @example if($1<20,teen,string("")) @r{"teen" if age $1 less than 20, else empty} @end example Note that you can also use two org-specific flags @code{T} and @code{t} for durations computations @ref{Durations and time values}. @node Formula syntax for Lisp, Durations and time values, Formula syntax for Calc, The spreadsheet @subsection Emacs Lisp forms as formulas @cindex Lisp forms, as table formulas It is also possible to write a formula in Emacs Lisp; this can be useful for string manipulation and control structures, if Calc's functionality is not enough. If a formula starts with a single-quote followed by an opening parenthesis, then it is evaluated as a Lisp form. The evaluation should return either a string or a number. Just as with @file{calc} formulas, you can specify modes and a printf format after a semicolon. With Emacs Lisp forms, you need to be conscious about the way field references are interpolated into the form. By default, a reference will be interpolated as a Lisp string (in double-quotes) containing the field. If you provide the @samp{N} mode switch, all referenced elements will be numbers (non-number fields will be zero) and interpolated as Lisp numbers, without quotes. If you provide the @samp{L} flag, all fields will be interpolated literally, without quotes. I.e., if you want a reference to be interpreted as a string by the Lisp form, enclose the reference operator itself in double-quotes, like @code{"$3"}. Ranges are inserted as space-separated fields, so you can embed them in list or vector syntax. Here are a few examples---note how the @samp{N} mode is used when we do computations in Lisp: @example @r{Swap the first two characters of the content of column 1} '(concat (substring $1 1 2) (substring $1 0 1) (substring $1 2)) @r{Add columns 1 and 2, equivalent to Calc's @code{$1+$2}} '(+ $1 $2);N @r{Compute the sum of columns 1-4, like Calc's @code{vsum($1..$4)}} '(apply '+ '($1..$4));N @end example @node Durations and time values, Field and range formulas, Formula syntax for Lisp, The spreadsheet @subsection Durations and time values @cindex Duration, computing @cindex Time, computing @vindex org-table-duration-custom-format If you want to compute time values use the @code{T} flag, either in Calc formulas or Elisp formulas: @example @group | Task 1 | Task 2 | Total | |---------+----------+----------| | 2:12 | 1:47 | 03:59:00 | | 3:02:20 | -2:07:00 | 0.92 | #+TBLFM: @@2$3=$1+$2;T::@@3$3=$1+$2;t @end group @end example Input duration values must be of the form @code{[HH:MM[:SS]}, where seconds are optional. With the @code{T} flag, computed durations will be displayed as @code{HH:MM:SS} (see the first formula above). With the @code{t} flag, computed durations will be displayed according to the value of the variable @code{org-table-duration-custom-format}, which defaults to @code{'hours} and will display the result as a fraction of hours (see the second formula in the example above). Negative duration values can be manipulated as well, and integers will be considered as seconds in addition and subtraction. @node Field and range formulas, Column formulas, Durations and time values, The spreadsheet @subsection Field and range formulas @cindex field formula @cindex range formula @cindex formula, for individual table field @cindex formula, for range of fields To assign a formula to a particular field, type it directly into the field, preceded by @samp{:=}, for example @samp{:=vsum(@@II..III)}. When you press @key{TAB} or @key{RET} or @kbd{C-c C-c} with the cursor still in the field, the formula will be stored as the formula for this field, evaluated, and the current field will be replaced with the result. @cindex #+TBLFM Formulas are stored in a special line starting with @samp{#+TBLFM:} directly below the table. If you type the equation in the 4th field of the 3rd data line in the table, the formula will look like @samp{@@3$4=$1+$2}. When inserting/deleting/swapping column and rows with the appropriate commands, @i{absolute references} (but not relative ones) in stored formulas are modified in order to still reference the same field. To avoid this from happening, in particular in range references, anchor ranges at the table borders (using @code{@@<}, @code{@@>}, @code{$<}, @code{$>}), or at hlines using the @code{@@I} notation. Automatic adaptation of field references does of cause not happen if you edit the table structure with normal editing commands---then you must fix the equations yourself. Instead of typing an equation into the field, you may also use the following command @table @kbd @orgcmd{C-u C-c =,org-table-eval-formula} Install a new formula for the current field. The command prompts for a formula with default taken from the @samp{#+TBLFM:} line, applies it to the current field, and stores it. @end table The left-hand side of a formula can also be a special expression in order to assign the formula to a number of different fields. There is no keyboard shortcut to enter such range formulas. To add them, use the formula editor (@pxref{Editing and debugging formulas}) or edit the @code{#+TBLFM:} line directly. @table @code @item $2= Column formula, valid for the entire column. This is so common that Org treats these formulas in a special way, see @ref{Column formulas}. @item @@3= Row formula, applies to all fields in the specified row. @code{@@>=} means the last row. @item @@1$2..@@4$3= Range formula, applies to all fields in the given rectangular range. This can also be used to assign a formula to some but not all fields in a row. @item $name= Named field, see @ref{Advanced features}. @end table @node Column formulas, Editing and debugging formulas, Field and range formulas, The spreadsheet @subsection Column formulas @cindex column formula @cindex formula, for table column When you assign a formula to a simple column reference like @code{$3=}, the same formula will be used in all fields of that column, with the following very convenient exceptions: (i) If the table contains horizontal separator hlines, everything before the first such line is considered part of the table @emph{header} and will not be modified by column formulas. (ii) Fields that already get a value from a field/range formula will be left alone by column formulas. These conditions make column formulas very easy to use. To assign a formula to a column, type it directly into any field in the column, preceded by an equal sign, like @samp{=$1+$2}. When you press @key{TAB} or @key{RET} or @kbd{C-c C-c} with the cursor still in the field, the formula will be stored as the formula for the current column, evaluated and the current field replaced with the result. If the field contains only @samp{=}, the previously stored formula for this column is used. For each column, Org will only remember the most recently used formula. In the @samp{#+TBLFM:} line, column formulas will look like @samp{$4=$1+$2}. The left-hand side of a column formula can not be the name of column, it must be the numeric column reference or @code{$>}. Instead of typing an equation into the field, you may also use the following command: @table @kbd @orgcmd{C-c =,org-table-eval-formula} Install a new formula for the current column and replace current field with the result of the formula. The command prompts for a formula, with default taken from the @samp{#+TBLFM} line, applies it to the current field and stores it. With a numeric prefix argument(e.g.@: @kbd{C-5 C-c =}) the command will apply it to that many consecutive fields in the current column. @end table @node Editing and debugging formulas, Updating the table, Column formulas, The spreadsheet @subsection Editing and debugging formulas @cindex formula editing @cindex editing, of table formulas @vindex org-table-use-standard-references You can edit individual formulas in the minibuffer or directly in the field. Org can also prepare a special buffer with all active formulas of a table. When offering a formula for editing, Org converts references to the standard format (like @code{B3} or @code{D&}) if possible. If you prefer to only work with the internal format (like @code{@@3$2} or @code{$4}), configure the variable @code{org-table-use-standard-references}. @table @kbd @orgcmdkkc{C-c =,C-u C-c =,org-table-eval-formula} Edit the formula associated with the current column/field in the minibuffer. See @ref{Column formulas}, and @ref{Field and range formulas}. @orgcmd{C-u C-u C-c =,org-table-eval-formula} Re-insert the active formula (either a field formula, or a column formula) into the current field, so that you can edit it directly in the field. The advantage over editing in the minibuffer is that you can use the command @kbd{C-c ?}. @orgcmd{C-c ?,org-table-field-info} While editing a formula in a table field, highlight the field(s) referenced by the reference at the cursor position in the formula. @kindex C-c @} @findex org-table-toggle-coordinate-overlays @item C-c @} Toggle the display of row and column numbers for a table, using overlays (@command{org-table-toggle-coordinate-overlays}). These are updated each time the table is aligned; you can force it with @kbd{C-c C-c}. @kindex C-c @{ @findex org-table-toggle-formula-debugger @item C-c @{ Toggle the formula debugger on and off (@command{org-table-toggle-formula-debugger}). See below. @orgcmd{C-c ',org-table-edit-formulas} Edit all formulas for the current table in a special buffer, where the formulas will be displayed one per line. If the current field has an active formula, the cursor in the formula editor will mark it. While inside the special buffer, Org will automatically highlight any field or range reference at the cursor position. You may edit, remove and add formulas, and use the following commands: @table @kbd @orgcmdkkc{C-c C-c,C-x C-s,org-table-fedit-finish} Exit the formula editor and store the modified formulas. With @kbd{C-u} prefix, also apply the new formulas to the entire table. @orgcmd{C-c C-q,org-table-fedit-abort} Exit the formula editor without installing changes. @orgcmd{C-c C-r,org-table-fedit-toggle-ref-type} Toggle all references in the formula editor between standard (like @code{B3}) and internal (like @code{@@3$2}). @orgcmd{@key{TAB},org-table-fedit-lisp-indent} Pretty-print or indent Lisp formula at point. When in a line containing a Lisp formula, format the formula according to Emacs Lisp rules. Another @key{TAB} collapses the formula back again. In the open formula, @key{TAB} re-indents just like in Emacs Lisp mode. @orgcmd{M-@key{TAB},lisp-complete-symbol} Complete Lisp symbols, just like in Emacs Lisp mode. @kindex S-@key{up} @kindex S-@key{down} @kindex S-@key{left} @kindex S-@key{right} @findex org-table-fedit-ref-up @findex org-table-fedit-ref-down @findex org-table-fedit-ref-left @findex org-table-fedit-ref-right @item S-@key{up}/@key{down}/@key{left}/@key{right} Shift the reference at point. For example, if the reference is @code{B3} and you press @kbd{S-@key{right}}, it will become @code{C3}. This also works for relative references and for hline references. @orgcmdkkcc{M-S-@key{up},M-S-@key{down},org-table-fedit-line-up,org-table-fedit-line-down} Move the test line for column formulas in the Org buffer up and down. @orgcmdkkcc{M-@key{up},M-@key{down},org-table-fedit-scroll-down,org-table-fedit-scroll-up} Scroll the window displaying the table. @kindex C-c @} @findex org-table-toggle-coordinate-overlays @item C-c @} Turn the coordinate grid in the table on and off. @end table @end table Making a table field blank does not remove the formula associated with the field, because that is stored in a different line (the @samp{#+TBLFM} line)---during the next recalculation the field will be filled again. To remove a formula from a field, you have to give an empty reply when prompted for the formula, or to edit the @samp{#+TBLFM} line. @kindex C-c C-c You may edit the @samp{#+TBLFM} directly and re-apply the changed equations with @kbd{C-c C-c} in that line or with the normal recalculation commands in the table. @subsubheading Debugging formulas @cindex formula debugging @cindex debugging, of table formulas When the evaluation of a formula leads to an error, the field content becomes the string @samp{#ERROR}. If you would like see what is going on during variable substitution and calculation in order to find a bug, turn on formula debugging in the @code{Tbl} menu and repeat the calculation, for example by pressing @kbd{C-u C-u C-c = @key{RET}} in a field. Detailed information will be displayed. @node Updating the table, Advanced features, Editing and debugging formulas, The spreadsheet @subsection Updating the table @cindex recomputing table fields @cindex updating, table Recalculation of a table is normally not automatic, but needs to be triggered by a command. See @ref{Advanced features}, for a way to make recalculation at least semi-automatic. In order to recalculate a line of a table or the entire table, use the following commands: @table @kbd @orgcmd{C-c *,org-table-recalculate} Recalculate the current row by first applying the stored column formulas from left to right, and all field/range formulas in the current row. @c @kindex C-u C-c * @item C-u C-c * @kindex C-u C-c C-c @itemx C-u C-c C-c Recompute the entire table, line by line. Any lines before the first hline are left alone, assuming that these are part of the table header. @c @orgcmdkkc{C-u C-u C-c *,C-u C-u C-c C-c,org-table-iterate} Iterate the table by recomputing it until no further changes occur. This may be necessary if some computed fields use the value of other fields that are computed @i{later} in the calculation sequence. @item M-x org-table-recalculate-buffer-tables @findex org-table-recalculate-buffer-tables Recompute all tables in the current buffer. @item M-x org-table-iterate-buffer-tables @findex org-table-iterate-buffer-tables Iterate all tables in the current buffer, in order to converge table-to-table dependencies. @end table @node Advanced features, , Updating the table, The spreadsheet @subsection Advanced features If you want the recalculation of fields to happen automatically, or if you want to be able to assign @i{names}@footnote{Such names must start by an alphabetic character and use only alphanumeric/underscore characters.} to fields and columns, you need to reserve the first column of the table for special marking characters. @table @kbd @orgcmd{C-#,org-table-rotate-recalc-marks} Rotate the calculation mark in first column through the states @samp{ }, @samp{#}, @samp{*}, @samp{!}, @samp{$}. When there is an active region, change all marks in the region. @end table Here is an example of a table that collects exam results of students and makes use of these features: @example @group |---+---------+--------+--------+--------+-------+------| | | Student | Prob 1 | Prob 2 | Prob 3 | Total | Note | |---+---------+--------+--------+--------+-------+------| | ! | | P1 | P2 | P3 | Tot | | | # | Maximum | 10 | 15 | 25 | 50 | 10.0 | | ^ | | m1 | m2 | m3 | mt | | |---+---------+--------+--------+--------+-------+------| | # | Peter | 10 | 8 | 23 | 41 | 8.2 | | # | Sam | 2 | 4 | 3 | 9 | 1.8 | |---+---------+--------+--------+--------+-------+------| | | Average | | | | 29.7 | | | ^ | | | | | at | | | $ | max=50 | | | | | | |---+---------+--------+--------+--------+-------+------| #+TBLFM: $6=vsum($P1..$P3)::$7=10*$Tot/$max;%.1f::$at=vmean(@@-II..@@-I);%.1f @end group @end example @noindent @b{Important}: please note that for these special tables, recalculating the table with @kbd{C-u C-c *} will only affect rows that are marked @samp{#} or @samp{*}, and fields that have a formula assigned to the field itself. The column formulas are not applied in rows with empty first field. @cindex marking characters, tables The marking characters have the following meaning: @table @samp @item ! The fields in this line define names for the columns, so that you may refer to a column as @samp{$Tot} instead of @samp{$6}. @item ^ This row defines names for the fields @emph{above} the row. With such a definition, any formula in the table may use @samp{$m1} to refer to the value @samp{10}. Also, if you assign a formula to a names field, it will be stored as @samp{$name=...}. @item _ Similar to @samp{^}, but defines names for the fields in the row @emph{below}. @item $ Fields in this row can define @emph{parameters} for formulas. For example, if a field in a @samp{$} row contains @samp{max=50}, then formulas in this table can refer to the value 50 using @samp{$max}. Parameters work exactly like constants, only that they can be defined on a per-table basis. @item # Fields in this row are automatically recalculated when pressing @key{TAB} or @key{RET} or @kbd{S-@key{TAB}} in this row. Also, this row is selected for a global recalculation with @kbd{C-u C-c *}. Unmarked lines will be left alone by this command. @item * Selects this line for global recalculation with @kbd{C-u C-c *}, but not for automatic recalculation. Use this when automatic recalculation slows down editing too much. @item Unmarked lines are exempt from recalculation with @kbd{C-u C-c *}. All lines that should be recalculated should be marked with @samp{#} or @samp{*}. @item / Do not export this line. Useful for lines that contain the narrowing @samp{} markers or column group markers. @end table Finally, just to whet your appetite for what can be done with the fantastic @file{calc.el} package, here is a table that computes the Taylor series of degree @code{n} at location @code{x} for a couple of functions. @example @group |---+-------------+---+-----+--------------------------------------| | | Func | n | x | Result | |---+-------------+---+-----+--------------------------------------| | # | exp(x) | 1 | x | 1 + x | | # | exp(x) | 2 | x | 1 + x + x^2 / 2 | | # | exp(x) | 3 | x | 1 + x + x^2 / 2 + x^3 / 6 | | # | x^2+sqrt(x) | 2 | x=0 | x*(0.5 / 0) + x^2 (2 - 0.25 / 0) / 2 | | # | x^2+sqrt(x) | 2 | x=1 | 2 + 2.5 x - 2.5 + 0.875 (x - 1)^2 | | * | tan(x) | 3 | x | 0.0175 x + 1.77e-6 x^3 | |---+-------------+---+-----+--------------------------------------| #+TBLFM: $5=taylor($2,$4,$3);n3 @end group @end example @node Org-Plot, , The spreadsheet, Tables @section Org-Plot @cindex graph, in tables @cindex plot tables using Gnuplot @cindex #+PLOT Org-Plot can produce 2D and 3D graphs of information stored in org tables using @file{Gnuplot} @uref{http://www.gnuplot.info/} and @file{gnuplot-mode} @uref{http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html}. To see this in action, ensure that you have both Gnuplot and Gnuplot mode installed on your system, then call @code{org-plot/gnuplot} on the following table. @example @group #+PLOT: title:"Citas" ind:1 deps:(3) type:2d with:histograms set:"yrange [0:]" | Sede | Max cites | H-index | |-----------+-----------+---------| | Chile | 257.72 | 21.39 | | Leeds | 165.77 | 19.68 | | Sao Paolo | 71.00 | 11.50 | | Stockholm | 134.19 | 14.33 | | Morelia | 257.56 | 17.67 | @end group @end example Notice that Org Plot is smart enough to apply the table's headers as labels. Further control over the labels, type, content, and appearance of plots can be exercised through the @code{#+PLOT:} lines preceding a table. See below for a complete list of Org-plot options. For more information and examples see the Org-plot tutorial at @uref{http://orgmode.org/worg/org-tutorials/org-plot.html}. @subsubheading Plot Options @table @code @item set Specify any @command{gnuplot} option to be set when graphing. @item title Specify the title of the plot. @item ind Specify which column of the table to use as the @code{x} axis. @item deps Specify the columns to graph as a Lisp style list, surrounded by parentheses and separated by spaces for example @code{dep:(3 4)} to graph the third and fourth columns (defaults to graphing all other columns aside from the @code{ind} column). @item type Specify whether the plot will be @code{2d}, @code{3d}, or @code{grid}. @item with Specify a @code{with} option to be inserted for every col being plotted (e.g.@: @code{lines}, @code{points}, @code{boxes}, @code{impulses}, etc...). Defaults to @code{lines}. @item file If you want to plot to a file, specify @code{"@var{path/to/desired/output-file}"}. @item labels List of labels to be used for the @code{deps} (defaults to the column headers if they exist). @item line Specify an entire line to be inserted in the Gnuplot script. @item map When plotting @code{3d} or @code{grid} types, set this to @code{t} to graph a flat mapping rather than a @code{3d} slope. @item timefmt Specify format of Org mode timestamps as they will be parsed by Gnuplot. Defaults to @samp{%Y-%m-%d-%H:%M:%S}. @item script If you want total control, you can specify a script file (place the file name between double-quotes) which will be used to plot. Before plotting, every instance of @code{$datafile} in the specified script will be replaced with the path to the generated data file. Note: even if you set this option, you may still want to specify the plot type, as that can impact the content of the data file. @end table @node Hyperlinks, TODO Items, Tables, Top @chapter Hyperlinks @cindex hyperlinks Like HTML, Org provides links inside a file, external links to other files, Usenet articles, emails, and much more. @menu * Link format:: How links in Org are formatted * Internal links:: Links to other places in the current file * External links:: URL-like links to the world * Handling links:: Creating, inserting and following * Using links outside Org:: Linking from my C source code? * Link abbreviations:: Shortcuts for writing complex links * Search options:: Linking to a specific location * Custom searches:: When the default search is not enough @end menu @node Link format, Internal links, Hyperlinks, Hyperlinks @section Link format @cindex link format @cindex format, of links Org will recognize plain URL-like links and activate them as clickable links. The general link format, however, looks like this: @example [[link][description]] @r{or alternatively} [[link]] @end example @noindent Once a link in the buffer is complete (all brackets present), Org will change the display so that @samp{description} is displayed instead of @samp{[[link][description]]} and @samp{link} is displayed instead of @samp{[[link]]}. Links will be highlighted in the face @code{org-link}, which by default is an underlined face. You can directly edit the visible part of a link. Note that this can be either the @samp{link} part (if there is no description) or the @samp{description} part. To edit also the invisible @samp{link} part, use @kbd{C-c C-l} with the cursor on the link. If you place the cursor at the beginning or just behind the end of the displayed text and press @key{BACKSPACE}, you will remove the (invisible) bracket at that location. This makes the link incomplete and the internals are again displayed as plain text. Inserting the missing bracket hides the link internals again. To show the internal structure of all links, use the menu entry @code{Org->Hyperlinks->Literal links}. @node Internal links, External links, Link format, Hyperlinks @section Internal links @cindex internal links @cindex links, internal @cindex targets, for links @cindex property, CUSTOM_ID If the link does not look like a URL, it is considered to be internal in the current file. The most important case is a link like @samp{[[#my-custom-id]]} which will link to the entry with the @code{CUSTOM_ID} property @samp{my-custom-id}. Such custom IDs are very good for HTML export (@pxref{HTML export}) where they produce pretty section links. You are responsible yourself to make sure these custom IDs are unique in a file. Links such as @samp{[[My Target]]} or @samp{[[My Target][Find my target]]} lead to a text search in the current file. The link can be followed with @kbd{C-c C-o} when the cursor is on the link, or with a mouse click (@pxref{Handling links}). Links to custom IDs will point to the corresponding headline. The preferred match for a text link is a @i{dedicated target}: the same string in double angular brackets. Targets may be located anywhere; sometimes it is convenient to put them into a comment line. For example @example # <> @end example @noindent In HTML export (@pxref{HTML export}), such targets will become named anchors for direct access through @samp{http} links@footnote{Note that text before the first headline is usually not exported, so the first such target should be after the first headline, or in the line directly before the first headline.}. If no dedicated target exists, Org will search for a headline that is exactly the link text but may also include a TODO keyword and tags@footnote{To insert a link targeting a headline, in-buffer completion can be used. Just type a star followed by a few optional letters into the buffer and press @kbd{M-@key{TAB}}. All headlines in the current buffer will be offered as completions.}. In non-Org files, the search will look for the words in the link text. In the above example the search would be for @samp{my target}. Following a link pushes a mark onto Org's own mark ring. You can return to the previous position with @kbd{C-c &}. Using this command several times in direct succession goes back to positions recorded earlier. @menu * Radio targets:: Make targets trigger links in plain text @end menu @node Radio targets, , Internal links, Internal links @subsection Radio targets @cindex radio targets @cindex targets, radio @cindex links, radio targets Org can automatically turn any occurrences of certain target names in normal text into a link. So without explicitly creating a link, the text connects to the target radioing its position. Radio targets are enclosed by triple angular brackets. For example, a target @samp{<<>>} causes each occurrence of @samp{my target} in normal text to become activated as a link. The Org file is scanned automatically for radio targets only when the file is first loaded into Emacs. To update the target list during editing, press @kbd{C-c C-c} with the cursor on or at a target. @node External links, Handling links, Internal links, Hyperlinks @section External links @cindex links, external @cindex external links @cindex links, external @cindex Gnus links @cindex BBDB links @cindex IRC links @cindex URL links @cindex file links @cindex VM links @cindex RMAIL links @cindex WANDERLUST links @cindex MH-E links @cindex USENET links @cindex SHELL links @cindex Info links @cindex Elisp links Org supports links to files, websites, Usenet and email messages, BBDB database entries and links to both IRC conversations and their logs. External links are URL-like locators. They start with a short identifying string followed by a colon. There can be no space after the colon. The following list shows examples for each link type. @example http://www.astro.uva.nl/~dominik @r{on the web} doi:10.1000/182 @r{DOI for an electronic resource} file:/home/dominik/images/jupiter.jpg @r{file, absolute path} /home/dominik/images/jupiter.jpg @r{same as above} file:papers/last.pdf @r{file, relative path} ./papers/last.pdf @r{same as above} file:/myself@@some.where:papers/last.pdf @r{file, path on remote machine} /myself@@some.where:papers/last.pdf @r{same as above} file:sometextfile::NNN @r{file, jump to line number} file:projects.org @r{another Org file} file:projects.org::some words @r{text search in Org file}@footnote{ The actual behavior of the search will depend on the value of the variable @code{org-link-search-must-match-exact-headline}. If its value is nil, then a fuzzy text search will be done. If it is t, then only the exact headline will be matched. If the value is @code{'query-to-create}, then an exact headline will be searched; if it is not found, then the user will be queried to create it.} file:projects.org::*task title @r{heading search in Org file} file+sys:/path/to/file @r{open via OS, like double-click} file+emacs:/path/to/file @r{force opening by Emacs} docview:papers/last.pdf::NNN @r{open in doc-view mode at page} id:B7423F4D-2E8A-471B-8810-C40F074717E9 @r{Link to heading by ID} news:comp.emacs @r{Usenet link} mailto:adent@@galaxy.net @r{Mail link} vm:folder @r{VM folder link} vm:folder#id @r{VM message link} vm://myself@@some.where.org/folder#id @r{VM on remote machine} wl:folder @r{WANDERLUST folder link} wl:folder#id @r{WANDERLUST message link} mhe:folder @r{MH-E folder link} mhe:folder#id @r{MH-E message link} rmail:folder @r{RMAIL folder link} rmail:folder#id @r{RMAIL message link} gnus:group @r{Gnus group link} gnus:group#id @r{Gnus article link} bbdb:R.*Stallman @r{BBDB link (with regexp)} irc:/irc.com/#emacs/bob @r{IRC link} info:org#External links @r{Info node link} shell:ls *.org @r{A shell command} elisp:org-agenda @r{Interactive Elisp command} elisp:(find-file-other-frame "Elisp.org") @r{Elisp form to evaluate} @end example For customizing Org to add new link types @ref{Adding hyperlink types}. A link should be enclosed in double brackets and may contain a descriptive text to be displayed instead of the URL (@pxref{Link format}), for example: @example [[http://www.gnu.org/software/emacs/][GNU Emacs]] @end example @noindent If the description is a file name or URL that points to an image, HTML export (@pxref{HTML export}) will inline the image as a clickable button. If there is no description at all and the link points to an image, that image will be inlined into the exported HTML file. @cindex square brackets, around links @cindex plain text external links Org also finds external links in the normal text and activates them as links. If spaces must be part of the link (for example in @samp{bbdb:Richard Stallman}), or if you need to remove ambiguities about the end of the link, enclose them in square brackets. @node Handling links, Using links outside Org, External links, Hyperlinks @section Handling links @cindex links, handling Org provides methods to create a link in the correct syntax, to insert it into an Org file, and to follow the link. @table @kbd @orgcmd{C-c l,org-store-link} @cindex storing links Store a link to the current location. This is a @emph{global} command (you must create the key binding yourself) which can be used in any buffer to create a link. The link will be stored for later insertion into an Org buffer (see below). What kind of link will be created depends on the current buffer: @b{Org mode buffers}@* For Org files, if there is a @samp{<>} at the cursor, the link points to the target. Otherwise it points to the current headline, which will also be the description@footnote{If the headline contains a timestamp, it will be removed from the link and result in a wrong link -- you should avoid putting timestamp in the headline.}. @vindex org-link-to-org-use-id @cindex property, CUSTOM_ID @cindex property, ID If the headline has a @code{CUSTOM_ID} property, a link to this custom ID will be stored. In addition or alternatively (depending on the value of @code{org-link-to-org-use-id}), a globally unique @code{ID} property will be created and/or used to construct a link. So using this command in Org buffers will potentially create two links: a human-readable from the custom ID, and one that is globally unique and works even if the entry is moved from file to file. Later, when inserting the link, you need to decide which one to use. @b{Email/News clients: VM, Rmail, Wanderlust, MH-E, Gnus}@* Pretty much all Emacs mail clients are supported. The link will point to the current article, or, in some GNUS buffers, to the group. The description is constructed from the author and the subject. @b{Web browsers: W3 and W3M}@* Here the link will be the current URL, with the page title as description. @b{Contacts: BBDB}@* Links created in a BBDB buffer will point to the current entry. @b{Chat: IRC}@* @vindex org-irc-link-to-logs For IRC links, if you set the variable @code{org-irc-link-to-logs} to @code{t}, a @samp{file:/} style link to the relevant point in the logs for the current conversation is created. Otherwise an @samp{irc:/} style link to the user/channel/server under the point will be stored. @b{Other files}@* For any other files, the link will point to the file, with a search string (@pxref{Search options}) pointing to the contents of the current line. If there is an active region, the selected words will form the basis of the search string. If the automatically created link is not working correctly or accurately enough, you can write custom functions to select the search string and to do the search for particular file types---see @ref{Custom searches}. The key binding @kbd{C-c l} is only a suggestion---see @ref{Installation}. @b{Agenda view}@* When the cursor is in an agenda view, the created link points to the entry referenced by the current line. @c @orgcmd{C-c C-l,org-insert-link} @cindex link completion @cindex completion, of links @cindex inserting links @vindex org-keep-stored-link-after-insertion Insert a link@footnote{ Note that you don't have to use this command to insert a link. Links in Org are plain text, and you can type or paste them straight into the buffer. By using this command, the links are automatically enclosed in double brackets, and you will be asked for the optional descriptive text.}. This prompts for a link to be inserted into the buffer. You can just type a link, using text for an internal link, or one of the link type prefixes mentioned in the examples above. The link will be inserted into the buffer@footnote{After insertion of a stored link, the link will be removed from the list of stored links. To keep it in the list later use, use a triple @kbd{C-u} prefix argument to @kbd{C-c C-l}, or configure the option @code{org-keep-stored-link-after-insertion}.}, along with a descriptive text. If some text was selected when this command is called, the selected text becomes the default description. @b{Inserting stored links}@* All links stored during the current session are part of the history for this prompt, so you can access them with @key{up} and @key{down} (or @kbd{M-p/n}). @b{Completion support}@* Completion with @key{TAB} will help you to insert valid link prefixes like @samp{http:} or @samp{ftp:}, including the prefixes defined through link abbreviations (@pxref{Link abbreviations}). If you press @key{RET} after inserting only the @var{prefix}, Org will offer specific completion support for some link types@footnote{This works by calling a special function @code{org-PREFIX-complete-link}.} For example, if you type @kbd{file @key{RET}}, file name completion (alternative access: @kbd{C-u C-c C-l}, see below) will be offered, and after @kbd{bbdb @key{RET}} you can complete contact names. @orgkey C-u C-c C-l @cindex file name completion @cindex completion, of file names When @kbd{C-c C-l} is called with a @kbd{C-u} prefix argument, a link to a file will be inserted and you may use file name completion to select the name of the file. The path to the file is inserted relative to the directory of the current Org file, if the linked file is in the current directory or in a sub-directory of it, or if the path is written relative to the current directory using @samp{../}. Otherwise an absolute path is used, if possible with @samp{~/} for your home directory. You can force an absolute path with two @kbd{C-u} prefixes. @c @item C-c C-l @ @r{(with cursor on existing link)} When the cursor is on an existing link, @kbd{C-c C-l} allows you to edit the link and description parts of the link. @c @cindex following links @orgcmd{C-c C-o,org-open-at-point} @vindex org-file-apps @vindex org-link-frame-setup Open link at point. This will launch a web browser for URLs (using @command{browse-url-at-point}), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for the corresponding links, and execute the command in a shell link. When the cursor is on an internal link, this command runs the corresponding search. When the cursor is on a TAG list in a headline, it creates the corresponding TAGS view. If the cursor is on a timestamp, it compiles the agenda for that date. Furthermore, it will visit text and remote files in @samp{file:} links with Emacs and select a suitable application for local non-text files. Classification of files is based on file extension only. See option @code{org-file-apps}. If you want to override the default application and visit the file with Emacs, use a @kbd{C-u} prefix. If you want to avoid opening in Emacs, use a @kbd{C-u C-u} prefix.@* If the cursor is on a headline, but not on a link, offer all links in the headline and entry text. If you want to setup the frame configuration for following links, customize @code{org-link-frame-setup}. @orgkey @key{RET} @vindex org-return-follows-link When @code{org-return-follows-link} is set, @kbd{@key{RET}} will also follow the link at point. @c @kindex mouse-2 @kindex mouse-1 @item mouse-2 @itemx mouse-1 On links, @kbd{mouse-2} will open the link just as @kbd{C-c C-o} would. Under Emacs 22 and later, @kbd{mouse-1} will also follow a link. @c @kindex mouse-3 @item mouse-3 @vindex org-display-internal-link-with-indirect-buffer Like @kbd{mouse-2}, but force file links to be opened with Emacs, and internal links to be displayed in another window@footnote{See the variable @code{org-display-internal-link-with-indirect-buffer}}. @c @orgcmd{C-c C-x C-v,org-toggle-inline-images} @cindex inlining images @cindex images, inlining @vindex org-startup-with-inline-images @cindex @code{inlineimages}, STARTUP keyword @cindex @code{noinlineimages}, STARTUP keyword Toggle the inline display of linked images. Normally this will only inline images that have no description part in the link, i.e.@: images that will also be inlined during export. When called with a prefix argument, also display images that do have a link description. You can ask for inline images to be displayed at startup by configuring the variable @code{org-startup-with-inline-images}@footnote{with corresponding @code{#+STARTUP} keywords @code{inlineimages} and @code{inlineimages}}. @orgcmd{C-c %,org-mark-ring-push} @cindex mark ring Push the current position onto the mark ring, to be able to return easily. Commands following an internal link do this automatically. @c @orgcmd{C-c &,org-mark-ring-goto} @cindex links, returning to Jump back to a recorded position. A position is recorded by the commands following internal links, and by @kbd{C-c %}. Using this command several times in direct succession moves through a ring of previously recorded positions. @c @orgcmdkkcc{C-c C-x C-n,C-c C-x C-p,org-next-link,org-previous-link} @cindex links, finding next/previous Move forward/backward to the next link in the buffer. At the limit of the buffer, the search fails once, and then wraps around. The key bindings for this are really too long; you might want to bind this also to @kbd{C-n} and @kbd{C-p} @lisp (add-hook 'org-load-hook (lambda () (define-key org-mode-map "\C-n" 'org-next-link) (define-key org-mode-map "\C-p" 'org-previous-link))) @end lisp @end table @node Using links outside Org, Link abbreviations, Handling links, Hyperlinks @section Using links outside Org You can insert and follow links that have Org syntax not only in Org, but in any Emacs buffer. For this, you should create two global commands, like this (please select suitable global keys yourself): @lisp (global-set-key "\C-c L" 'org-insert-link-global) (global-set-key "\C-c o" 'org-open-at-point-global) @end lisp @node Link abbreviations, Search options, Using links outside Org, Hyperlinks @section Link abbreviations @cindex link abbreviations @cindex abbreviation, links Long URLs can be cumbersome to type, and often many similar links are needed in a document. For this you can use link abbreviations. An abbreviated link looks like this @example [[linkword:tag][description]] @end example @noindent @vindex org-link-abbrev-alist where the tag is optional. The @i{linkword} must be a word, starting with a letter, followed by letters, numbers, @samp{-}, and @samp{_}. Abbreviations are resolved according to the information in the variable @code{org-link-abbrev-alist} that relates the linkwords to replacement text. Here is an example: @smalllisp @group (setq org-link-abbrev-alist '(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=") ("google" . "http://www.google.com/search?q=") ("gmap" . "http://maps.google.com/maps?q=%s") ("omap" . "http://nominatim.openstreetmap.org/search?q=%s&polygon=1") ("ads" . "http://adsabs.harvard.edu/cgi-bin/nph-abs_connect?author=%s&db_key=AST"))) @end group @end smalllisp If the replacement text contains the string @samp{%s}, it will be replaced with the tag. Otherwise the tag will be appended to the string in order to create the link. You may also specify a function that will be called with the tag as the only argument to create the link. With the above setting, you could link to a specific bug with @code{[[bugzilla:129]]}, search the web for @samp{OrgMode} with @code{[[google:OrgMode]]}, show the map location of the Free Software Foundation @code{[[gmap:51 Franklin Street, Boston]]} or of Carsten office @code{[[omap:Science Park 904, Amsterdam, The Netherlands]]} and find out what the Org author is doing besides Emacs hacking with @code{[[ads:Dominik,C]]}. If you need special abbreviations just for a single Org buffer, you can define them in the file with @cindex #+LINK @example #+LINK: bugzilla http://10.1.2.9/bugzilla/show_bug.cgi?id= #+LINK: google http://www.google.com/search?q=%s @end example @noindent In-buffer completion (@pxref{Completion}) can be used after @samp{[} to complete link abbreviations. You may also define a function @code{org-PREFIX-complete-link} that implements special (e.g.@: completion) support for inserting such a link with @kbd{C-c C-l}. Such a function should not accept any arguments, and return the full link with prefix. @node Search options, Custom searches, Link abbreviations, Hyperlinks @section Search options in file links @cindex search option in file links @cindex file links, searching File links can contain additional information to make Emacs jump to a particular location in the file when following a link. This can be a line number or a search option after a double@footnote{For backward compatibility, line numbers can also follow a single colon.} colon. For example, when the command @kbd{C-c l} creates a link (@pxref{Handling links}) to a file, it encodes the words in the current line as a search string that can be used to find this line back later when following the link with @kbd{C-c C-o}. Here is the syntax of the different ways to attach a search to a file link, together with an explanation: @example [[file:~/code/main.c::255]] [[file:~/xx.org::My Target]] [[file:~/xx.org::*My Target]] [[file:~/xx.org::#my-custom-id]] [[file:~/xx.org::/regexp/]] @end example @table @code @item 255 Jump to line 255. @item My Target Search for a link target @samp{<>}, or do a text search for @samp{my target}, similar to the search in internal links, see @ref{Internal links}. In HTML export (@pxref{HTML export}), such a file link will become an HTML reference to the corresponding named anchor in the linked file. @item *My Target In an Org file, restrict search to headlines. @item #my-custom-id Link to a heading with a @code{CUSTOM_ID} property @item /regexp/ Do a regular expression search for @code{regexp}. This uses the Emacs command @code{occur} to list all matches in a separate window. If the target file is in Org mode, @code{org-occur} is used to create a sparse tree with the matches. @c If the target file is a directory, @c @code{grep} will be used to search all files in the directory. @end table As a degenerate case, a file link with an empty file name can be used to search the current file. For example, @code{[[file:::find me]]} does a search for @samp{find me} in the current file, just as @samp{[[find me]]} would. @node Custom searches, , Search options, Hyperlinks @section Custom Searches @cindex custom search strings @cindex search strings, custom The default mechanism for creating search strings and for doing the actual search related to a file link may not work correctly in all cases. For example, Bib@TeX{} database files have many entries like @samp{year="1993"} which would not result in good search strings, because the only unique identification for a Bib@TeX{} entry is the citation key. @vindex org-create-file-search-functions @vindex org-execute-file-search-functions If you come across such a problem, you can write custom functions to set the right search string for a particular file type, and to do the search for the string in the file. Using @code{add-hook}, these functions need to be added to the hook variables @code{org-create-file-search-functions} and @code{org-execute-file-search-functions}. See the docstring for these variables for more information. Org actually uses this mechanism for Bib@TeX{} database files, and you can use the corresponding code as an implementation example. See the file @file{org-bibtex.el}. @node TODO Items, Tags, Hyperlinks, Top @chapter TODO items @cindex TODO items Org mode does not maintain TODO lists as separate documents@footnote{Of course, you can make a document that contains only long lists of TODO items, but this is not required.}. Instead, TODO items are an integral part of the notes file, because TODO items usually come up while taking notes! With Org mode, simply mark any entry in a tree as being a TODO item. In this way, information is not duplicated, and the entire context from which the TODO item emerged is always present. Of course, this technique for managing TODO items scatters them throughout your notes file. Org mode compensates for this by providing methods to give you an overview of all the things that you have to do. @menu * TODO basics:: Marking and displaying TODO entries * TODO extensions:: Workflow and assignments * Progress logging:: Dates and notes for progress * Priorities:: Some things are more important than others * Breaking down tasks:: Splitting a task into manageable pieces * Checkboxes:: Tick-off lists @end menu @node TODO basics, TODO extensions, TODO Items, TODO Items @section Basic TODO functionality Any headline becomes a TODO item when it starts with the word @samp{TODO}, for example: @example *** TODO Write letter to Sam Fortune @end example @noindent The most important commands to work with TODO entries are: @table @kbd @orgcmd{C-c C-t,org-todo} @cindex cycling, of TODO states Rotate the TODO state of the current item among @example ,-> (unmarked) -> TODO -> DONE --. '--------------------------------' @end example The same rotation can also be done ``remotely'' from the timeline and agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}). @orgkey{C-u C-c C-t} Select a specific keyword using completion or (if it has been set up) the fast selection interface. For the latter, you need to assign keys to TODO states, see @ref{Per-file keywords}, and @ref{Setting tags}, for more information. @kindex S-@key{right} @kindex S-@key{left} @item S-@key{right} @ @r{/} @ S-@key{left} @vindex org-treat-S-cursor-todo-selection-as-state-change Select the following/preceding TODO state, similar to cycling. Useful mostly if more than two TODO states are possible (@pxref{TODO extensions}). See also @ref{Conflicts}, for a discussion of the interaction with @code{shift-selection-mode}. See also the variable @code{org-treat-S-cursor-todo-selection-as-state-change}. @orgcmd{C-c / t,org-show-todo-key} @cindex sparse tree, for TODO @vindex org-todo-keywords View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds the entire buffer, but shows all TODO items (with not-DONE state) and the headings hierarchy above them. With a prefix argument (or by using @kbd{C-c / T}), search for a specific TODO. You will be prompted for the keyword, and you can also give a list of keywords like @code{KWD1|KWD2|...} to list entries that match any one of these keywords. With a numeric prefix argument N, show the tree for the Nth keyword in the variable @code{org-todo-keywords}. With two prefix arguments, find all TODO states, both un-done and done. @orgcmd{C-c a t,org-todo-list} Show the global TODO list. Collects the TODO items (with not-DONE states) from all agenda files (@pxref{Agenda Views}) into a single buffer. The new buffer will be in @code{agenda-mode}, which provides commands to examine and manipulate the TODO entries from the new buffer (@pxref{Agenda commands}). @xref{Global TODO list}, for more information. @orgcmd{S-M-@key{RET},org-insert-todo-heading} Insert a new TODO entry below the current one. @end table @noindent @vindex org-todo-state-tags-triggers Changing a TODO state can also trigger tag changes. See the docstring of the option @code{org-todo-state-tags-triggers} for details. @node TODO extensions, Progress logging, TODO basics, TODO Items @section Extended use of TODO keywords @cindex extended TODO keywords @vindex org-todo-keywords By default, marked TODO entries have one of only two states: TODO and DONE. Org mode allows you to classify TODO items in more complex ways with @emph{TODO keywords} (stored in @code{org-todo-keywords}). With special setup, the TODO keyword system can work differently in different files. Note that @i{tags} are another way to classify headlines in general and TODO items in particular (@pxref{Tags}). @menu * Workflow states:: From TODO to DONE in steps * TODO types:: I do this, Fred does the rest * Multiple sets in one file:: Mixing it all, and still finding your way * Fast access to TODO states:: Single letter selection of a state * Per-file keywords:: Different files, different requirements * Faces for TODO keywords:: Highlighting states * TODO dependencies:: When one task needs to wait for others @end menu @node Workflow states, TODO types, TODO extensions, TODO extensions @subsection TODO keywords as workflow states @cindex TODO workflow @cindex workflow states as TODO keywords You can use TODO keywords to indicate different @emph{sequential} states in the process of working on an item, for example@footnote{Changing this variable only becomes effective after restarting Org mode in a buffer.}: @lisp (setq org-todo-keywords '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED"))) @end lisp The vertical bar separates the TODO keywords (states that @emph{need action}) from the DONE states (which need @emph{no further action}). If you don't provide the separator bar, the last state is used as the DONE state. @cindex completion, of TODO keywords With this setup, the command @kbd{C-c C-t} will cycle an entry from TODO to FEEDBACK, then to VERIFY, and finally to DONE and DELEGATED. You may also use a numeric prefix argument to quickly select a specific state. For example @kbd{C-3 C-c C-t} will change the state immediately to VERIFY. Or you can use @kbd{S-@key{left}} to go backward through the sequence. If you define many keywords, you can use in-buffer completion (@pxref{Completion}) or even a special one-key selection scheme (@pxref{Fast access to TODO states}) to insert these words into the buffer. Changing a TODO state can be logged with a timestamp, see @ref{Tracking TODO state changes}, for more information. @node TODO types, Multiple sets in one file, Workflow states, TODO extensions @subsection TODO keywords as types @cindex TODO types @cindex names as TODO keywords @cindex types as TODO keywords The second possibility is to use TODO keywords to indicate different @emph{types} of action items. For example, you might want to indicate that items are for ``work'' or ``home''. Or, when you work with several people on a single project, you might want to assign action items directly to persons, by using their names as TODO keywords. This would be set up like this: @lisp (setq org-todo-keywords '((type "Fred" "Sara" "Lucy" "|" "DONE"))) @end lisp In this case, different keywords do not indicate a sequence, but rather different types. So the normal work flow would be to assign a task to a person, and later to mark it DONE. Org mode supports this style by adapting the workings of the command @kbd{C-c C-t}@footnote{This is also true for the @kbd{t} command in the timeline and agenda buffers.}. When used several times in succession, it will still cycle through all names, in order to first select the right type for a task. But when you return to the item after some time and execute @kbd{C-c C-t} again, it will switch from any name directly to DONE. Use prefix arguments or completion to quickly select a specific name. You can also review the items of a specific TODO type in a sparse tree by using a numeric prefix to @kbd{C-c / t}. For example, to see all things Lucy has to do, you would use @kbd{C-3 C-c / t}. To collect Lucy's items from all agenda files into a single buffer, you would use the numeric prefix argument as well when creating the global TODO list: @kbd{C-3 C-c a t}. @node Multiple sets in one file, Fast access to TODO states, TODO types, TODO extensions @subsection Multiple keyword sets in one file @cindex TODO keyword sets Sometimes you may want to use different sets of TODO keywords in parallel. For example, you may want to have the basic @code{TODO}/@code{DONE}, but also a workflow for bug fixing, and a separate state indicating that an item has been canceled (so it is not DONE, but also does not require action). Your setup would then look like this: @lisp (setq org-todo-keywords '((sequence "TODO" "|" "DONE") (sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED") (sequence "|" "CANCELED"))) @end lisp The keywords should all be different, this helps Org mode to keep track of which subsequence should be used for a given entry. In this setup, @kbd{C-c C-t} only operates within a subsequence, so it switches from @code{DONE} to (nothing) to @code{TODO}, and from @code{FIXED} to (nothing) to @code{REPORT}. Therefore you need a mechanism to initially select the correct sequence. Besides the obvious ways like typing a keyword or using completion, you may also apply the following commands: @table @kbd @kindex C-S-@key{right} @kindex C-S-@key{left} @kindex C-u C-u C-c C-t @item C-u C-u C-c C-t @itemx C-S-@key{right} @itemx C-S-@key{left} These keys jump from one TODO subset to the next. In the above example, @kbd{C-u C-u C-c C-t} or @kbd{C-S-@key{right}} would jump from @code{TODO} or @code{DONE} to @code{REPORT}, and any of the words in the second row to @code{CANCELED}. Note that the @kbd{C-S-} key binding conflict with @code{shift-selection-mode} (@pxref{Conflicts}). @kindex S-@key{right} @kindex S-@key{left} @item S-@key{right} @itemx S-@key{left} @kbd{S-@key{}} and @kbd{S-@key{}} and walk through @emph{all} keywords from all sets, so for example @kbd{S-@key{}} would switch from @code{DONE} to @code{REPORT} in the example above. See also @ref{Conflicts}, for a discussion of the interaction with @code{shift-selection-mode}. @end table @node Fast access to TODO states, Per-file keywords, Multiple sets in one file, TODO extensions @subsection Fast access to TODO states If you would like to quickly change an entry to an arbitrary TODO state instead of cycling through the states, you can set up keys for single-letter access to the states. This is done by adding the section key after each keyword, in parentheses. For example: @lisp (setq org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d)") (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)") (sequence "|" "CANCELED(c)"))) @end lisp @vindex org-fast-tag-selection-include-todo If you then press @kbd{C-c C-t} followed by the selection key, the entry will be switched to this state. @kbd{SPC} can be used to remove any TODO keyword from an entry.@footnote{Check also the variable @code{org-fast-tag-selection-include-todo}, it allows you to change the TODO state through the tags interface (@pxref{Setting tags}), in case you like to mingle the two concepts. Note that this means you need to come up with unique keys across both sets of keywords.} @node Per-file keywords, Faces for TODO keywords, Fast access to TODO states, TODO extensions @subsection Setting up keywords for individual files @cindex keyword options @cindex per-file keywords @cindex #+TODO @cindex #+TYP_TODO @cindex #+SEQ_TODO It can be very useful to use different aspects of the TODO mechanism in different files. For file-local settings, you need to add special lines to the file which set the keywords and interpretation for that file only. For example, to set one of the two examples discussed above, you need one of the following lines, starting in column zero anywhere in the file: @example #+TODO: TODO FEEDBACK VERIFY | DONE CANCELED @end example @noindent (you may also write @code{#+SEQ_TODO} to be explicit about the interpretation, but it means the same as @code{#+TODO}), or @example #+TYP_TODO: Fred Sara Lucy Mike | DONE @end example A setup for using several sets in parallel would be: @example #+TODO: TODO | DONE #+TODO: REPORT BUG KNOWNCAUSE | FIXED #+TODO: | CANCELED @end example @cindex completion, of option keywords @kindex M-@key{TAB} @noindent To make sure you are using the correct keyword, type @samp{#+} into the buffer and then use @kbd{M-@key{TAB}} completion. @cindex DONE, final TODO keyword Remember that the keywords after the vertical bar (or the last keyword if no bar is there) must always mean that the item is DONE (although you may use a different word). After changing one of these lines, use @kbd{C-c C-c} with the cursor still in the line to make the changes known to Org mode@footnote{Org mode parses these lines only when Org mode is activated after visiting a file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#+} is simply restarting Org mode for the current buffer.}. @node Faces for TODO keywords, TODO dependencies, Per-file keywords, TODO extensions @subsection Faces for TODO keywords @cindex faces, for TODO keywords @vindex org-todo @r{(face)} @vindex org-done @r{(face)} @vindex org-todo-keyword-faces Org mode highlights TODO keywords with special faces: @code{org-todo} for keywords indicating that an item still has to be acted upon, and @code{org-done} for keywords indicating that an item is finished. If you are using more than 2 different states, you might want to use special faces for some of them. This can be done using the variable @code{org-todo-keyword-faces}. For example: @lisp @group (setq org-todo-keyword-faces '(("TODO" . org-warning) ("STARTED" . "yellow") ("CANCELED" . (:foreground "blue" :weight bold)))) @end group @end lisp While using a list with face properties as shown for CANCELED @emph{should} work, this does not always seem to be the case. If necessary, define a special face and use that. A string is interpreted as a color. The variable @code{org-faces-easy-properties} determines if that color is interpreted as a foreground or a background color. @node TODO dependencies, , Faces for TODO keywords, TODO extensions @subsection TODO dependencies @cindex TODO dependencies @cindex dependencies, of TODO states @vindex org-enforce-todo-dependencies @cindex property, ORDERED The structure of Org files (hierarchy and lists) makes it easy to define TODO dependencies. Usually, a parent TODO task should not be marked DONE until all subtasks (defined as children tasks) are marked as DONE. And sometimes there is a logical sequence to a number of (sub)tasks, so that one task cannot be acted upon before all siblings above it are done. If you customize the variable @code{org-enforce-todo-dependencies}, Org will block entries from changing state to DONE while they have children that are not DONE. Furthermore, if an entry has a property @code{ORDERED}, each of its children will be blocked until all earlier siblings are marked DONE. Here is an example: @example * TODO Blocked until (two) is done ** DONE one ** TODO two * Parent :PROPERTIES: :ORDERED: t :END: ** TODO a ** TODO b, needs to wait for (a) ** TODO c, needs to wait for (a) and (b) @end example @table @kbd @orgcmd{C-c C-x o,org-toggle-ordered-property} @vindex org-track-ordered-property-with-tag @cindex property, ORDERED Toggle the @code{ORDERED} property of the current entry. A property is used for this behavior because this should be local to the current entry, not inherited like a tag. However, if you would like to @i{track} the value of this property with a tag for better visibility, customize the variable @code{org-track-ordered-property-with-tag}. @orgkey{C-u C-u C-u C-c C-t} Change TODO state, circumventing any state blocking. @end table @vindex org-agenda-dim-blocked-tasks If you set the variable @code{org-agenda-dim-blocked-tasks}, TODO entries that cannot be closed because of such dependencies will be shown in a dimmed font or even made invisible in agenda views (@pxref{Agenda Views}). @cindex checkboxes and TODO dependencies @vindex org-enforce-todo-dependencies You can also block changes of TODO states by looking at checkboxes (@pxref{Checkboxes}). If you set the variable @code{org-enforce-todo-checkbox-dependencies}, an entry that has unchecked checkboxes will be blocked from switching to DONE. If you need more complex dependency structures, for example dependencies between entries in different trees or files, check out the contributed module @file{org-depend.el}. @page @node Progress logging, Priorities, TODO extensions, TODO Items @section Progress logging @cindex progress logging @cindex logging, of progress Org mode can automatically record a timestamp and possibly a note when you mark a TODO item as DONE, or even each time you change the state of a TODO item. This system is highly configurable, settings can be on a per-keyword basis and can be localized to a file or even a subtree. For information on how to clock working time for a task, see @ref{Clocking work time}. @menu * Closing items:: When was this entry marked DONE? * Tracking TODO state changes:: When did the status change? * Tracking your habits:: How consistent have you been? @end menu @node Closing items, Tracking TODO state changes, Progress logging, Progress logging @subsection Closing items The most basic logging is to keep track of @emph{when} a certain TODO item was finished. This is achieved with@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: logdone}} @lisp (setq org-log-done 'time) @end lisp @noindent Then each time you turn an entry from a TODO (not-done) state into any of the DONE states, a line @samp{CLOSED: [timestamp]} will be inserted just after the headline. If you turn the entry back into a TODO item through further state cycling, that line will be removed again. If you want to record a note along with the timestamp, use@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: lognotedone}} @lisp (setq org-log-done 'note) @end lisp @noindent You will then be prompted for a note, and that note will be stored below the entry with a @samp{Closing Note} heading. In the timeline (@pxref{Timeline}) and in the agenda (@pxref{Weekly/daily agenda}), you can then use the @kbd{l} key to display the TODO items with a @samp{CLOSED} timestamp on each day, giving you an overview of what has been done. @node Tracking TODO state changes, Tracking your habits, Closing items, Progress logging @subsection Tracking TODO state changes @cindex drawer, for state change recording @vindex org-log-states-order-reversed @vindex org-log-into-drawer @cindex property, LOG_INTO_DRAWER When TODO keywords are used as workflow states (@pxref{Workflow states}), you might want to keep track of when a state change occurred and maybe take a note about this change. You can either record just a timestamp, or a time-stamped note for a change. These records will be inserted after the headline as an itemized list, newest first@footnote{See the variable @code{org-log-states-order-reversed}}. When taking a lot of notes, you might want to get the notes out of the way into a drawer (@pxref{Drawers}). Customize the variable @code{org-log-into-drawer} to get this behavior---the recommended drawer for this is called @code{LOGBOOK}. You can also overrule the setting of this variable for a subtree by setting a @code{LOG_INTO_DRAWER} property. Since it is normally too much to record a note for every state, Org mode expects configuration on a per-keyword basis for this. This is achieved by adding special markers @samp{!} (for a timestamp) or @samp{@@} (for a note with timestamp) in parentheses after each keyword. For example, with the setting @lisp (setq org-todo-keywords '((sequence "TODO(t)" "WAIT(w@@/!)" "|" "DONE(d!)" "CANCELED(c@@)"))) @end lisp To record a timestamp without a note for TODO keywords configured with @samp{@@}, just type @kbd{C-c C-c} to enter a blank note when prompted. @noindent @vindex org-log-done you not only define global TODO keywords and fast access keys, but also request that a time is recorded when the entry is set to DONE@footnote{It is possible that Org mode will record two timestamps when you are using both @code{org-log-done} and state change logging. However, it will never prompt for two notes---if you have configured both, the state change recording note will take precedence and cancel the @samp{Closing Note}.}, and that a note is recorded when switching to WAIT or CANCELED. The setting for WAIT is even more special: the @samp{!} after the slash means that in addition to the note taken when entering the state, a timestamp should be recorded when @i{leaving} the WAIT state, if and only if the @i{target} state does not configure logging for entering it. So it has no effect when switching from WAIT to DONE, because DONE is configured to record a timestamp only. But when switching from WAIT back to TODO, the @samp{/!} in the WAIT setting now triggers a timestamp even though TODO has no logging configured. You can use the exact same syntax for setting logging preferences local to a buffer: @example #+TODO: TODO(t) WAIT(w@@/!) | DONE(d!) CANCELED(c@@) @end example @cindex property, LOGGING In order to define logging settings that are local to a subtree or a single item, define a LOGGING property in this entry. Any non-empty LOGGING property resets all logging settings to nil. You may then turn on logging for this specific tree using STARTUP keywords like @code{lognotedone} or @code{logrepeat}, as well as adding state specific settings like @code{TODO(!)}. For example @example * TODO Log each state with only a time :PROPERTIES: :LOGGING: TODO(!) WAIT(!) DONE(!) CANCELED(!) :END: * TODO Only log when switching to WAIT, and when repeating :PROPERTIES: :LOGGING: WAIT(@@) logrepeat :END: * TODO No logging at all :PROPERTIES: :LOGGING: nil :END: @end example @node Tracking your habits, , Tracking TODO state changes, Progress logging @subsection Tracking your habits @cindex habits Org has the ability to track the consistency of a special category of TODOs, called ``habits''. A habit has the following properties: @enumerate @item You have enabled the @code{habits} module by customizing the variable @code{org-modules}. @item The habit is a TODO item, with a TODO keyword representing an open state. @item The property @code{STYLE} is set to the value @code{habit}. @item The TODO has a scheduled date, usually with a @code{.+} style repeat interval. A @code{++} style may be appropriate for habits with time constraints, e.g., must be done on weekends, or a @code{+} style for an unusual habit that can have a backlog, e.g., weekly reports. @item The TODO may also have minimum and maximum ranges specified by using the syntax @samp{.+2d/3d}, which says that you want to do the task at least every three days, but at most every two days. @item You must also have state logging for the @code{DONE} state enabled, in order for historical data to be represented in the consistency graph. If it is not enabled it is not an error, but the consistency graphs will be largely meaningless. @end enumerate To give you an idea of what the above rules look like in action, here's an actual habit with some history: @example ** TODO Shave SCHEDULED: <2009-10-17 Sat .+2d/4d> - State "DONE" from "TODO" [2009-10-15 Thu] - State "DONE" from "TODO" [2009-10-12 Mon] - State "DONE" from "TODO" [2009-10-10 Sat] - State "DONE" from "TODO" [2009-10-04 Sun] - State "DONE" from "TODO" [2009-10-02 Fri] - State "DONE" from "TODO" [2009-09-29 Tue] - State "DONE" from "TODO" [2009-09-25 Fri] - State "DONE" from "TODO" [2009-09-19 Sat] - State "DONE" from "TODO" [2009-09-16 Wed] - State "DONE" from "TODO" [2009-09-12 Sat] :PROPERTIES: :STYLE: habit :LAST_REPEAT: [2009-10-19 Mon 00:36] :END: @end example What this habit says is: I want to shave at most every 2 days (given by the @code{SCHEDULED} date and repeat interval) and at least every 4 days. If today is the 15th, then the habit first appears in the agenda on Oct 17, after the minimum of 2 days has elapsed, and will appear overdue on Oct 19, after four days have elapsed. What's really useful about habits is that they are displayed along with a consistency graph, to show how consistent you've been at getting that task done in the past. This graph shows every day that the task was done over the past three weeks, with colors for each day. The colors used are: @table @code @item Blue If the task wasn't to be done yet on that day. @item Green If the task could have been done on that day. @item Yellow If the task was going to be overdue the next day. @item Red If the task was overdue on that day. @end table In addition to coloring each day, the day is also marked with an asterisk if the task was actually done that day, and an exclamation mark to show where the current day falls in the graph. There are several configuration variables that can be used to change the way habits are displayed in the agenda. @table @code @item org-habit-graph-column The buffer column at which the consistency graph should be drawn. This will overwrite any text in that column, so it is a good idea to keep your habits' titles brief and to the point. @item org-habit-preceding-days The amount of history, in days before today, to appear in consistency graphs. @item org-habit-following-days The number of days after today that will appear in consistency graphs. @item org-habit-show-habits-only-for-today If non-nil, only show habits in today's agenda view. This is set to true by default. @end table Lastly, pressing @kbd{K} in the agenda buffer will cause habits to temporarily be disabled and they won't appear at all. Press @kbd{K} again to bring them back. They are also subject to tag filtering, if you have habits which should only be done in certain contexts, for example. @node Priorities, Breaking down tasks, Progress logging, TODO Items @section Priorities @cindex priorities If you use Org mode extensively, you may end up with enough TODO items that it starts to make sense to prioritize them. Prioritizing can be done by placing a @emph{priority cookie} into the headline of a TODO item, like this @example *** TODO [#A] Write letter to Sam Fortune @end example @noindent @vindex org-priority-faces By default, Org mode supports three priorities: @samp{A}, @samp{B}, and @samp{C}. @samp{A} is the highest priority. An entry without a cookie is treated just like priority @samp{B}. Priorities make a difference only for sorting in the agenda (@pxref{Weekly/daily agenda}); outside the agenda, they have no inherent meaning to Org mode. The cookies can be highlighted with special faces by customizing the variable @code{org-priority-faces}. Priorities can be attached to any outline node; they do not need to be TODO items. @table @kbd @item @kbd{C-c ,} @kindex @kbd{C-c ,} @findex org-priority Set the priority of the current headline (@command{org-priority}). The command prompts for a priority character @samp{A}, @samp{B} or @samp{C}. When you press @key{SPC} instead, the priority cookie is removed from the headline. The priorities can also be changed ``remotely'' from the timeline and agenda buffer with the @kbd{,} command (@pxref{Agenda commands}). @c @orgcmdkkcc{S-@key{up},S-@key{down},org-priority-up,org-priority-down} @vindex org-priority-start-cycle-with-default Increase/decrease priority of current headline@footnote{See also the option @code{org-priority-start-cycle-with-default}.}. Note that these keys are also used to modify timestamps (@pxref{Creating timestamps}). See also @ref{Conflicts}, for a discussion of the interaction with @code{shift-selection-mode}. @end table @vindex org-highest-priority @vindex org-lowest-priority @vindex org-default-priority You can change the range of allowed priorities by setting the variables @code{org-highest-priority}, @code{org-lowest-priority}, and @code{org-default-priority}. For an individual buffer, you may set these values (highest, lowest, default) like this (please make sure that the highest priority is earlier in the alphabet than the lowest priority): @cindex #+PRIORITIES @example #+PRIORITIES: A C B @end example @node Breaking down tasks, Checkboxes, Priorities, TODO Items @section Breaking tasks down into subtasks @cindex tasks, breaking down @cindex statistics, for TODO items @vindex org-agenda-todo-list-sublevels It is often advisable to break down large tasks into smaller, manageable subtasks. You can do this by creating an outline tree below a TODO item, with detailed subtasks on the tree@footnote{To keep subtasks out of the global TODO list, see the @code{org-agenda-todo-list-sublevels}.}. To keep the overview over the fraction of subtasks that are already completed, insert either @samp{[/]} or @samp{[%]} anywhere in the headline. These cookies will be updated each time the TODO status of a child changes, or when pressing @kbd{C-c C-c} on the cookie. For example: @example * Organize Party [33%] ** TODO Call people [1/2] *** TODO Peter *** DONE Sarah ** TODO Buy food ** DONE Talk to neighbor @end example @cindex property, COOKIE_DATA If a heading has both checkboxes and TODO children below it, the meaning of the statistics cookie become ambiguous. Set the property @code{COOKIE_DATA} to either @samp{checkbox} or @samp{todo} to resolve this issue. @vindex org-hierarchical-todo-statistics If you would like to have the statistics cookie count any TODO entries in the subtree (not just direct children), configure the variable @code{org-hierarchical-todo-statistics}. To do this for a single subtree, include the word @samp{recursive} into the value of the @code{COOKIE_DATA} property. @example * Parent capturing statistics [2/20] :PROPERTIES: :COOKIE_DATA: todo recursive :END: @end example If you would like a TODO entry to automatically change to DONE when all children are done, you can use the following setup: @example (defun org-summary-todo (n-done n-not-done) "Switch entry to DONE when all subentries are done, to TODO otherwise." (let (org-log-done org-log-states) ; turn off logging (org-todo (if (= n-not-done 0) "DONE" "TODO")))) (add-hook 'org-after-todo-statistics-hook 'org-summary-todo) @end example Another possibility is the use of checkboxes to identify (a hierarchy of) a large number of subtasks (@pxref{Checkboxes}). @node Checkboxes, , Breaking down tasks, TODO Items @section Checkboxes @cindex checkboxes @vindex org-list-automatic-rules Every item in a plain list@footnote{With the exception of description lists. But you can allow it by modifying @code{org-list-automatic-rules} accordingly.} (@pxref{Plain lists}) can be made into a checkbox by starting it with the string @samp{[ ]}. This feature is similar to TODO items (@pxref{TODO Items}), but is more lightweight. Checkboxes are not included into the global TODO list, so they are often great to split a task into a number of simple steps. Or you can use them in a shopping list. To toggle a checkbox, use @kbd{C-c C-c}, or use the mouse (thanks to Piotr Zielinski's @file{org-mouse.el}). Here is an example of a checkbox list. @example * TODO Organize party [2/4] - [-] call people [1/3] - [ ] Peter - [X] Sarah - [ ] Sam - [X] order food - [ ] think about what music to play - [X] talk to the neighbors @end example Checkboxes work hierarchically, so if a checkbox item has children that are checkboxes, toggling one of the children checkboxes will make the parent checkbox reflect if none, some, or all of the children are checked. @cindex statistics, for checkboxes @cindex checkbox statistics @cindex property, COOKIE_DATA @vindex org-hierarchical-checkbox-statistics The @samp{[2/4]} and @samp{[1/3]} in the first and second line are cookies indicating how many checkboxes present in this entry have been checked off, and the total number of checkboxes present. This can give you an idea on how many checkboxes remain, even without opening a folded entry. The cookies can be placed into a headline or into (the first line of) a plain list item. Each cookie covers checkboxes of direct children structurally below the headline/item on which the cookie appears@footnote{Set the variable @code{org-hierarchical-checkbox-statistics} if you want such cookies to count all checkboxes below the cookie, not just those belonging to direct children.}. You have to insert the cookie yourself by typing either @samp{[/]} or @samp{[%]}. With @samp{[/]} you get an @samp{n out of m} result, as in the examples above. With @samp{[%]} you get information about the percentage of checkboxes checked (in the above example, this would be @samp{[50%]} and @samp{[33%]}, respectively). In a headline, a cookie can count either checkboxes below the heading or TODO states of children, and it will display whatever was changed last. Set the property @code{COOKIE_DATA} to either @samp{checkbox} or @samp{todo} to resolve this issue. @cindex blocking, of checkboxes @cindex checkbox blocking @cindex property, ORDERED If the current outline node has an @code{ORDERED} property, checkboxes must be checked off in sequence, and an error will be thrown if you try to check off a box while there are unchecked boxes above it. @noindent The following commands work with checkboxes: @table @kbd @orgcmd{C-c C-c,org-toggle-checkbox} Toggle checkbox status or (with prefix arg) checkbox presence at point. With a single prefix argument, add an empty checkbox or remove the current one@footnote{`C-u C-c C-c' on the @emph{first} item of a list with no checkbox will add checkboxes to the rest of the list.}. With a double prefix argument, set it to @samp{[-]}, which is considered to be an intermediate state. @orgcmd{C-c C-x C-b,org-toggle-checkbox} Toggle checkbox status or (with prefix arg) checkbox presence at point. With double prefix argument, set it to @samp{[-]}, which is considered to be an intermediate state. @itemize @minus @item If there is an active region, toggle the first checkbox in the region and set all remaining boxes to the same status as the first. With a prefix arg, add or remove the checkbox for all items in the region. @item If the cursor is in a headline, toggle checkboxes in the region between this headline and the next (so @emph{not} the entire subtree). @item If there is no active region, just toggle the checkbox at point. @end itemize @orgcmd{M-S-@key{RET},org-insert-todo-heading} Insert a new item with a checkbox. This works only if the cursor is already in a plain list item (@pxref{Plain lists}). @orgcmd{C-c C-x o,org-toggle-ordered-property} @vindex org-track-ordered-property-with-tag @cindex property, ORDERED Toggle the @code{ORDERED} property of the entry, to toggle if checkboxes must be checked off in sequence. A property is used for this behavior because this should be local to the current entry, not inherited like a tag. However, if you would like to @i{track} the value of this property with a tag for better visibility, customize the variable @code{org-track-ordered-property-with-tag}. @orgcmd{C-c #,org-update-statistics-cookies} Update the statistics cookie in the current outline entry. When called with a @kbd{C-u} prefix, update the entire file. Checkbox statistic cookies are updated automatically if you toggle checkboxes with @kbd{C-c C-c} and make new ones with @kbd{M-S-@key{RET}}. TODO statistics cookies update when changing TODO states. If you delete boxes/entries or add/change them by hand, use this command to get things back into sync. @end table @node Tags, Properties and Columns, TODO Items, Top @chapter Tags @cindex tags @cindex headline tagging @cindex matching, tags @cindex sparse tree, tag based An excellent way to implement labels and contexts for cross-correlating information is to assign @i{tags} to headlines. Org mode has extensive support for tags. @vindex org-tag-faces Every headline can contain a list of tags; they occur at the end of the headline. Tags are normal words containing letters, numbers, @samp{_}, and @samp{@@}. Tags must be preceded and followed by a single colon, e.g., @samp{:work:}. Several tags can be specified, as in @samp{:work:urgent:}. Tags will by default be in bold face with the same color as the headline. You may specify special faces for specific tags using the variable @code{org-tag-faces}, in much the same way as you can for TODO keywords (@pxref{Faces for TODO keywords}). @menu * Tag inheritance:: Tags use the tree structure of the outline * Setting tags:: How to assign tags to a headline * Tag searches:: Searching for combinations of tags @end menu @node Tag inheritance, Setting tags, Tags, Tags @section Tag inheritance @cindex tag inheritance @cindex inheritance, of tags @cindex sublevels, inclusion into tags match @i{Tags} make use of the hierarchical structure of outline trees. If a heading has a certain tag, all subheadings will inherit the tag as well. For example, in the list @example * Meeting with the French group :work: ** Summary by Frank :boss:notes: *** TODO Prepare slides for him :action: @end example @noindent the final heading will have the tags @samp{:work:}, @samp{:boss:}, @samp{:notes:}, and @samp{:action:} even though the final heading is not explicitly marked with those tags. You can also set tags that all entries in a file should inherit just as if these tags were defined in a hypothetical level zero that surrounds the entire file. Use a line like this@footnote{As with all these in-buffer settings, pressing @kbd{C-c C-c} activates any changes in the line.}: @cindex #+FILETAGS @example #+FILETAGS: :Peter:Boss:Secret: @end example @noindent @vindex org-use-tag-inheritance @vindex org-tags-exclude-from-inheritance To limit tag inheritance to specific tags, or to turn it off entirely, use the variables @code{org-use-tag-inheritance} and @code{org-tags-exclude-from-inheritance}. @vindex org-tags-match-list-sublevels When a headline matches during a tags search while tag inheritance is turned on, all the sublevels in the same tree will (for a simple match form) match as well@footnote{This is only true if the search does not involve more complex tests including properties (@pxref{Property searches}).}. The list of matches may then become very long. If you only want to see the first tags match in a subtree, configure the variable @code{org-tags-match-list-sublevels} (not recommended). @node Setting tags, Tag searches, Tag inheritance, Tags @section Setting tags @cindex setting tags @cindex tags, setting @kindex M-@key{TAB} Tags can simply be typed into the buffer at the end of a headline. After a colon, @kbd{M-@key{TAB}} offers completion on tags. There is also a special command for inserting tags: @table @kbd @orgcmd{C-c C-q,org-set-tags-command} @cindex completion, of tags @vindex org-tags-column Enter new tags for the current headline. Org mode will either offer completion or a special single-key interface for setting tags, see below. After pressing @key{RET}, the tags will be inserted and aligned to @code{org-tags-column}. When called with a @kbd{C-u} prefix, all tags in the current buffer will be aligned to that column, just to make things look nice. TAGS are automatically realigned after promotion, demotion, and TODO state changes (@pxref{TODO basics}). @orgcmd{C-c C-c,org-set-tags-command} When the cursor is in a headline, this does the same as @kbd{C-c C-q}. @end table @vindex org-tag-alist Org supports tag insertion based on a @emph{list of tags}. By default this list is constructed dynamically, containing all tags currently used in the buffer. You may also globally specify a hard list of tags with the variable @code{org-tag-alist}. Finally you can set the default tags for a given file with lines like @cindex #+TAGS @example #+TAGS: @@work @@home @@tennisclub #+TAGS: laptop car pc sailboat @end example If you have globally defined your preferred set of tags using the variable @code{org-tag-alist}, but would like to use a dynamic tag list in a specific file, add an empty TAGS option line to that file: @example #+TAGS: @end example @vindex org-tag-persistent-alist If you have a preferred set of tags that you would like to use in every file, in addition to those defined on a per-file basis by TAGS option lines, then you may specify a list of tags with the variable @code{org-tag-persistent-alist}. You may turn this off on a per-file basis by adding a STARTUP option line to that file: @example #+STARTUP: noptag @end example By default Org mode uses the standard minibuffer completion facilities for entering tags. However, it also implements another, quicker, tag selection method called @emph{fast tag selection}. This allows you to select and deselect tags with just a single key press. For this to work well you should assign unique letters to most of your commonly used tags. You can do this globally by configuring the variable @code{org-tag-alist} in your @file{.emacs} file. For example, you may find the need to tag many items in different files with @samp{:@@home:}. In this case you can set something like: @lisp (setq org-tag-alist '(("@@work" . ?w) ("@@home" . ?h) ("laptop" . ?l))) @end lisp @noindent If the tag is only relevant to the file you are working on, then you can instead set the TAGS option line as: @example #+TAGS: @@work(w) @@home(h) @@tennisclub(t) laptop(l) pc(p) @end example @noindent The tags interface will show the available tags in a splash window. If you want to start a new line after a specific tag, insert @samp{\n} into the tag list @example #+TAGS: @@work(w) @@home(h) @@tennisclub(t) \n laptop(l) pc(p) @end example @noindent or write them in two lines: @example #+TAGS: @@work(w) @@home(h) @@tennisclub(t) #+TAGS: laptop(l) pc(p) @end example @noindent You can also group together tags that are mutually exclusive by using braces, as in: @example #+TAGS: @{ @@work(w) @@home(h) @@tennisclub(t) @} laptop(l) pc(p) @end example @noindent you indicate that at most one of @samp{@@work}, @samp{@@home}, and @samp{@@tennisclub} should be selected. Multiple such groups are allowed. @noindent Don't forget to press @kbd{C-c C-c} with the cursor in one of these lines to activate any changes. @noindent To set these mutually exclusive groups in the variable @code{org-tags-alist}, you must use the dummy tags @code{:startgroup} and @code{:endgroup} instead of the braces. Similarly, you can use @code{:newline} to indicate a line break. The previous example would be set globally by the following configuration: @lisp (setq org-tag-alist '((:startgroup . nil) ("@@work" . ?w) ("@@home" . ?h) ("@@tennisclub" . ?t) (:endgroup . nil) ("laptop" . ?l) ("pc" . ?p))) @end lisp If at least one tag has a selection key then pressing @kbd{C-c C-c} will automatically present you with a special interface, listing inherited tags, the tags of the current headline, and a list of all valid tags with corresponding keys@footnote{Keys will automatically be assigned to tags which have no configured keys.}. In this interface, you can use the following keys: @table @kbd @item a-z... Pressing keys assigned to tags will add or remove them from the list of tags in the current line. Selecting a tag in a group of mutually exclusive tags will turn off any other tags from that group. @kindex @key{TAB} @item @key{TAB} Enter a tag in the minibuffer, even if the tag is not in the predefined list. You will be able to complete on all tags present in the buffer. You can also add several tags: just separate them with a comma. @kindex @key{SPC} @item @key{SPC} Clear all tags for this line. @kindex @key{RET} @item @key{RET} Accept the modified set. @item C-g Abort without installing changes. @item q If @kbd{q} is not assigned to a tag, it aborts like @kbd{C-g}. @item ! Turn off groups of mutually exclusive tags. Use this to (as an exception) assign several tags from such a group. @item C-c Toggle auto-exit after the next change (see below). If you are using expert mode, the first @kbd{C-c} will display the selection window. @end table @noindent This method lets you assign tags to a headline with very few keys. With the above setup, you could clear the current tags and set @samp{@@home}, @samp{laptop} and @samp{pc} tags with just the following keys: @kbd{C-c C-c @key{SPC} h l p @key{RET}}. Switching from @samp{@@home} to @samp{@@work} would be done with @kbd{C-c C-c w @key{RET}} or alternatively with @kbd{C-c C-c C-c w}. Adding the non-predefined tag @samp{Sarah} could be done with @kbd{C-c C-c @key{TAB} S a r a h @key{RET} @key{RET}}. @vindex org-fast-tag-selection-single-key If you find that most of the time you need only a single key press to modify your list of tags, set the variable @code{org-fast-tag-selection-single-key}. Then you no longer have to press @key{RET} to exit fast tag selection---it will immediately exit after the first change. If you then occasionally need more keys, press @kbd{C-c} to turn off auto-exit for the current tag selection process (in effect: start selection with @kbd{C-c C-c C-c} instead of @kbd{C-c C-c}). If you set the variable to the value @code{expert}, the special window is not even shown for single-key tag selection, it comes up only when you press an extra @kbd{C-c}. @node Tag searches, , Setting tags, Tags @section Tag searches @cindex tag searches @cindex searching for tags Once a system of tags has been set up, it can be used to collect related information into special lists. @table @kbd @orgcmdkkc{C-c / m,C-c \\,org-match-sparse-tree} Create a sparse tree with all headlines matching a tags search. With a @kbd{C-u} prefix argument, ignore headlines that are not a TODO line. @orgcmd{C-c a m,org-tags-view} Create a global list of tag matches from all agenda files. @xref{Matching tags and properties}. @orgcmd{C-c a M,org-tags-view} @vindex org-tags-match-list-sublevels Create a global list of tag matches from all agenda files, but check only TODO items and force checking subitems (see variable @code{org-tags-match-list-sublevels}). @end table These commands all prompt for a match string which allows basic Boolean logic like @samp{+boss+urgent-project1}, to find entries with tags @samp{boss} and @samp{urgent}, but not @samp{project1}, or @samp{Kathy|Sally} to find entries which are tagged, like @samp{Kathy} or @samp{Sally}. The full syntax of the search string is rich and allows also matching against TODO keywords, entry levels and properties. For a complete description with many examples, see @ref{Matching tags and properties}. @node Properties and Columns, Dates and Times, Tags, Top @chapter Properties and columns @cindex properties A property is a key-value pair associated with an entry. Properties can be set so they are associated with a single entry, with every entry in a tree, or with every entry in an Org mode file. There are two main applications for properties in Org mode. First, properties are like tags, but with a value. Imagine maintaining a file where you document bugs and plan releases for a piece of software. Instead of using tags like @code{:release_1:}, @code{:release_2:}, you can use a property, say @code{:Release:}, that in different subtrees has different values, such as @code{1.0} or @code{2.0}. Second, you can use properties to implement (very basic) database capabilities in an Org buffer. Imagine keeping track of your music CDs, where properties could be things such as the album, artist, date of release, number of tracks, and so on. Properties can be conveniently edited and viewed in column view (@pxref{Column view}). @menu * Property syntax:: How properties are spelled out * Special properties:: Access to other Org mode features * Property searches:: Matching property values * Property inheritance:: Passing values down the tree * Column view:: Tabular viewing and editing * Property API:: Properties for Lisp programmers @end menu @node Property syntax, Special properties, Properties and Columns, Properties and Columns @section Property syntax @cindex property syntax @cindex drawer, for properties Properties are key-value pairs. When they are associated with a single entry or with a tree they need to be inserted into a special drawer (@pxref{Drawers}) with the name @code{PROPERTIES}. Each property is specified on a single line, with the key (surrounded by colons) first, and the value after it. Here is an example: @example * CD collection ** Classic *** Goldberg Variations :PROPERTIES: :Title: Goldberg Variations :Composer: J.S. Bach :Artist: Glen Gould :Publisher: Deutsche Grammophon :NDisks: 1 :END: @end example Depending on the value of @code{org-use-property-inheritance}, a property set this way will either be associated with a single entry, or the sub-tree defined by the entry, see @ref{Property inheritance}. You may define the allowed values for a particular property @samp{:Xyz:} by setting a property @samp{:Xyz_ALL:}. This special property is @emph{inherited}, so if you set it in a level 1 entry, it will apply to the entire tree. When allowed values are defined, setting the corresponding property becomes easier and is less prone to typing errors. For the example with the CD collection, we can predefine publishers and the number of disks in a box like this: @example * CD collection :PROPERTIES: :NDisks_ALL: 1 2 3 4 :Publisher_ALL: "Deutsche Grammophon" Philips EMI :END: @end example If you want to set properties that can be inherited by any entry in a file, use a line like @cindex property, _ALL @cindex #+PROPERTY @example #+PROPERTY: NDisks_ALL 1 2 3 4 @end example If you want to add to the value of an existing property, append a @code{+} to the property name. The following results in the property @code{var} having the value ``foo=1 bar=2''. @cindex property, + @example #+PROPERTY: var foo=1 #+PROPERTY: var+ bar=2 @end example It is also possible to add to the values of inherited properties. The following results in the @code{genres} property having the value ``Classic Baroque'' under the @code{Goldberg Variations} subtree. @cindex property, + @example * CD collection ** Classic :PROPERTIES: :GENRES: Classic :END: *** Goldberg Variations :PROPERTIES: :Title: Goldberg Variations :Composer: J.S. Bach :Artist: Glen Gould :Publisher: Deutsche Grammophon :NDisks: 1 :GENRES+: Baroque :END: @end example Note that a property can only have one entry per Drawer. @vindex org-global-properties Property values set with the global variable @code{org-global-properties} can be inherited by all entries in all Org files. @noindent The following commands help to work with properties: @table @kbd @orgcmd{M-@key{TAB},pcomplete} After an initial colon in a line, complete property keys. All keys used in the current file will be offered as possible completions. @orgcmd{C-c C-x p,org-set-property} Set a property. This prompts for a property name and a value. If necessary, the property drawer is created as well. @item M-x org-insert-property-drawer @findex org-insert-property-drawer Insert a property drawer into the current entry. The drawer will be inserted early in the entry, but after the lines with planning information like deadlines. @orgcmd{C-c C-c,org-property-action} With the cursor in a property drawer, this executes property commands. @orgcmd{C-c C-c s,org-set-property} Set a property in the current entry. Both the property and the value can be inserted using completion. @orgcmdkkcc{S-@key{right},S-@key{left},org-property-next-allowed-value,org-property-previous-allowed-value} Switch property at point to the next/previous allowed value. @orgcmd{C-c C-c d,org-delete-property} Remove a property from the current entry. @orgcmd{C-c C-c D,org-delete-property-globally} Globally remove a property, from all entries in the current file. @orgcmd{C-c C-c c,org-compute-property-at-point} Compute the property at point, using the operator and scope from the nearest column format definition. @end table @node Special properties, Property searches, Property syntax, Properties and Columns @section Special properties @cindex properties, special Special properties provide an alternative access method to Org mode features, like the TODO state or the priority of an entry, discussed in the previous chapters. This interface exists so that you can include these states in a column view (@pxref{Column view}), or to use them in queries. The following property names are special and (except for @code{:CATEGORY:}) should not be used as keys in the properties drawer: @cindex property, special, TODO @cindex property, special, TAGS @cindex property, special, ALLTAGS @cindex property, special, CATEGORY @cindex property, special, PRIORITY @cindex property, special, DEADLINE @cindex property, special, SCHEDULED @cindex property, special, CLOSED @cindex property, special, TIMESTAMP @cindex property, special, TIMESTAMP_IA @cindex property, special, CLOCKSUM @cindex property, special, BLOCKED @c guessing that ITEM is needed in this area; also, should this list be sorted? @cindex property, special, ITEM @cindex property, special, FILE @example TODO @r{The TODO keyword of the entry.} TAGS @r{The tags defined directly in the headline.} ALLTAGS @r{All tags, including inherited ones.} CATEGORY @r{The category of an entry.} PRIORITY @r{The priority of the entry, a string with a single letter.} DEADLINE @r{The deadline time string, without the angular brackets.} SCHEDULED @r{The scheduling timestamp, without the angular brackets.} CLOSED @r{When was this entry closed?} TIMESTAMP @r{The first keyword-less timestamp in the entry.} TIMESTAMP_IA @r{The first inactive timestamp in the entry.} CLOCKSUM @r{The sum of CLOCK intervals in the subtree. @code{org-clock-sum}} @r{must be run first to compute the values in the current buffer.} BLOCKED @r{"t" if task is currently blocked by children or siblings} ITEM @r{The content of the entry.} FILE @r{The filename the entry is located in.} @end example @node Property searches, Property inheritance, Special properties, Properties and Columns @section Property searches @cindex properties, searching @cindex searching, of properties To create sparse trees and special lists with selection based on properties, the same commands are used as for tag searches (@pxref{Tag searches}). @table @kbd @orgcmdkkc{C-c / m,C-c \,org-match-sparse-tree} Create a sparse tree with all matching entries. With a @kbd{C-u} prefix argument, ignore headlines that are not a TODO line. @orgcmd{C-c a m,org-tags-view} Create a global list of tag/property matches from all agenda files. @xref{Matching tags and properties}. @orgcmd{C-c a M,org-tags-view} @vindex org-tags-match-list-sublevels Create a global list of tag matches from all agenda files, but check only TODO items and force checking of subitems (see variable @code{org-tags-match-list-sublevels}). @end table The syntax for the search string is described in @ref{Matching tags and properties}. There is also a special command for creating sparse trees based on a single property: @table @kbd @orgkey{C-c / p} Create a sparse tree based on the value of a property. This first prompts for the name of a property, and then for a value. A sparse tree is created with all entries that define this property with the given value. If you enclose the value in curly braces, it is interpreted as a regular expression and matched against the property values. @end table @node Property inheritance, Column view, Property searches, Properties and Columns @section Property Inheritance @cindex properties, inheritance @cindex inheritance, of properties @vindex org-use-property-inheritance The outline structure of Org mode documents lends itself to an inheritance model of properties: if the parent in a tree has a certain property, the children can inherit this property. Org mode does not turn this on by default, because it can slow down property searches significantly and is often not needed. However, if you find inheritance useful, you can turn it on by setting the variable @code{org-use-property-inheritance}. It may be set to @code{t} to make all properties inherited from the parent, to a list of properties that should be inherited, or to a regular expression that matches inherited properties. If a property has the value @samp{nil}, this is interpreted as an explicit undefine of the property, so that inheritance search will stop at this value and return @code{nil}. Org mode has a few properties for which inheritance is hard-coded, at least for the special applications for which they are used: @cindex property, COLUMNS @table @code @item COLUMNS The @code{:COLUMNS:} property defines the format of column view (@pxref{Column view}). It is inherited in the sense that the level where a @code{:COLUMNS:} property is defined is used as the starting point for a column view table, independently of the location in the subtree from where columns view is turned on. @item CATEGORY @cindex property, CATEGORY For agenda view, a category set through a @code{:CATEGORY:} property applies to the entire subtree. @item ARCHIVE @cindex property, ARCHIVE For archiving, the @code{:ARCHIVE:} property may define the archive location for the entire subtree (@pxref{Moving subtrees}). @item LOGGING @cindex property, LOGGING The LOGGING property may define logging settings for an entry or a subtree (@pxref{Tracking TODO state changes}). @end table @node Column view, Property API, Property inheritance, Properties and Columns @section Column view A great way to view and edit properties in an outline tree is @emph{column view}. In column view, each outline node is turned into a table row. Columns in this table provide access to properties of the entries. Org mode implements columns by overlaying a tabular structure over the headline of each item. While the headlines have been turned into a table row, you can still change the visibility of the outline tree. For example, you get a compact table by switching to CONTENTS view (@kbd{S-@key{TAB} S-@key{TAB}}, or simply @kbd{c} while column view is active), but you can still open, read, and edit the entry below each headline. Or, you can switch to column view after executing a sparse tree command and in this way get a table only for the selected items. Column view also works in agenda buffers (@pxref{Agenda Views}) where queries have collected selected items, possibly from a number of files. @menu * Defining columns:: The COLUMNS format property * Using column view:: How to create and use column view * Capturing column view:: A dynamic block for column view @end menu @node Defining columns, Using column view, Column view, Column view @subsection Defining columns @cindex column view, for properties @cindex properties, column view Setting up a column view first requires defining the columns. This is done by defining a column format line. @menu * Scope of column definitions:: Where defined, where valid? * Column attributes:: Appearance and content of a column @end menu @node Scope of column definitions, Column attributes, Defining columns, Defining columns @subsubsection Scope of column definitions To define a column format for an entire file, use a line like @cindex #+COLUMNS @example #+COLUMNS: %25ITEM %TAGS %PRIORITY %TODO @end example To specify a format that only applies to a specific tree, add a @code{:COLUMNS:} property to the top node of that tree, for example: @example ** Top node for columns view :PROPERTIES: :COLUMNS: %25ITEM %TAGS %PRIORITY %TODO :END: @end example If a @code{:COLUMNS:} property is present in an entry, it defines columns for the entry itself, and for the entire subtree below it. Since the column definition is part of the hierarchical structure of the document, you can define columns on level 1 that are general enough for all sublevels, and more specific columns further down, when you edit a deeper part of the tree. @node Column attributes, , Scope of column definitions, Defining columns @subsubsection Column attributes A column definition sets the attributes of a column. The general definition looks like this: @example %[@var{width}]@var{property}[(@var{title})][@{@var{summary-type}@}] @end example @noindent Except for the percent sign and the property name, all items are optional. The individual parts have the following meaning: @example @var{width} @r{An integer specifying the width of the column in characters.} @r{If omitted, the width will be determined automatically.} @var{property} @r{The property that should be edited in this column.} @r{Special properties representing meta data are allowed here} @r{as well (@pxref{Special properties})} @var{title} @r{The header text for the column. If omitted, the property} @r{name is used.} @{@var{summary-type}@} @r{The summary type. If specified, the column values for} @r{parent nodes are computed from the children.} @r{Supported summary types are:} @{+@} @r{Sum numbers in this column.} @{+;%.1f@} @r{Like @samp{+}, but format result with @samp{%.1f}.} @{$@} @r{Currency, short for @samp{+;%.2f}.} @{:@} @r{Sum times, HH:MM, plain numbers are hours.} @{X@} @r{Checkbox status, @samp{[X]} if all children are @samp{[X]}.} @{X/@} @r{Checkbox status, @samp{[n/m]}.} @{X%@} @r{Checkbox status, @samp{[n%]}.} @{min@} @r{Smallest number in column.} @{max@} @r{Largest number.} @{mean@} @r{Arithmetic mean of numbers.} @{:min@} @r{Smallest time value in column.} @{:max@} @r{Largest time value.} @{:mean@} @r{Arithmetic mean of time values.} @{@@min@} @r{Minimum age (in days/hours/mins/seconds).} @{@@max@} @r{Maximum age (in days/hours/mins/seconds).} @{@@mean@} @r{Arithmetic mean of ages (in days/hours/mins/seconds).} @{est+@} @r{Add low-high estimates.} @end example @noindent Be aware that you can only have one summary type for any property you include. Subsequent columns referencing the same property will all display the same summary information. The @code{est+} summary type requires further explanation. It is used for combining estimates, expressed as low-high ranges. For example, instead of estimating a particular task will take 5 days, you might estimate it as 5-6 days if you're fairly confident you know how much work is required, or 1-10 days if you don't really know what needs to be done. Both ranges average at 5.5 days, but the first represents a more predictable delivery. When combining a set of such estimates, simply adding the lows and highs produces an unrealistically wide result. Instead, @code{est+} adds the statistical mean and variance of the sub-tasks, generating a final estimate from the sum. For example, suppose you had ten tasks, each of which was estimated at 0.5 to 2 days of work. Straight addition produces an estimate of 5 to 20 days, representing what to expect if everything goes either extremely well or extremely poorly. In contrast, @code{est+} estimates the full job more realistically, at 10-15 days. Here is an example for a complete columns definition, along with allowed values. @example :COLUMNS: %25ITEM %9Approved(Approved?)@{X@} %Owner %11Status \@footnote{Please note that the COLUMNS definition must be on a single line---it is wrapped here only because of formatting constraints.} %10Time_Estimate@{:@} %CLOCKSUM :Owner_ALL: Tammy Mark Karl Lisa Don :Status_ALL: "In progress" "Not started yet" "Finished" "" :Approved_ALL: "[ ]" "[X]" @end example @noindent The first column, @samp{%25ITEM}, means the first 25 characters of the item itself, i.e.@: of the headline. You probably always should start the column definition with the @samp{ITEM} specifier. The other specifiers create columns @samp{Owner} with a list of names as allowed values, for @samp{Status} with four different possible values, and for a checkbox field @samp{Approved}. When no width is given after the @samp{%} character, the column will be exactly as wide as it needs to be in order to fully display all values. The @samp{Approved} column does have a modified title (@samp{Approved?}, with a question mark). Summaries will be created for the @samp{Time_Estimate} column by adding time duration expressions like HH:MM, and for the @samp{Approved} column, by providing an @samp{[X]} status if all children have been checked. The @samp{CLOCKSUM} column is special, it lists the sum of CLOCK intervals in the subtree. @node Using column view, Capturing column view, Defining columns, Column view @subsection Using column view @table @kbd @tsubheading{Turning column view on and off} @orgcmd{C-c C-x C-c,org-columns} @vindex org-columns-default-format Turn on column view. If the cursor is before the first headline in the file, column view is turned on for the entire file, using the @code{#+COLUMNS} definition. If the cursor is somewhere inside the outline, this command searches the hierarchy, up from point, for a @code{:COLUMNS:} property that defines a format. When one is found, the column view table is established for the tree starting at the entry that contains the @code{:COLUMNS:} property. If no such property is found, the format is taken from the @code{#+COLUMNS} line or from the variable @code{org-columns-default-format}, and column view is established for the current entry and its subtree. @orgcmd{r,org-columns-redo} Recreate the column view, to include recent changes made in the buffer. @orgcmd{g,org-columns-redo} Same as @kbd{r}. @orgcmd{q,org-columns-quit} Exit column view. @tsubheading{Editing values} @item @key{left} @key{right} @key{up} @key{down} Move through the column view from field to field. @kindex S-@key{left} @kindex S-@key{right} @item S-@key{left}/@key{right} Switch to the next/previous allowed value of the field. For this, you have to have specified allowed values for a property. @item 1..9,0 Directly select the Nth allowed value, @kbd{0} selects the 10th value. @orgcmdkkcc{n,p,org-columns-next-allowed-value,org-columns-previous-allowed-value} Same as @kbd{S-@key{left}/@key{right}} @orgcmd{e,org-columns-edit-value} Edit the property at point. For the special properties, this will invoke the same interface that you normally use to change that property. For example, when editing a TAGS property, the tag completion or fast selection interface will pop up. @orgcmd{C-c C-c,org-columns-set-tags-or-toggle} When there is a checkbox at point, toggle it. @orgcmd{v,org-columns-show-value} View the full value of this property. This is useful if the width of the column is smaller than that of the value. @orgcmd{a,org-columns-edit-allowed} Edit the list of allowed values for this property. If the list is found in the hierarchy, the modified values is stored there. If no list is found, the new value is stored in the first entry that is part of the current column view. @tsubheading{Modifying the table structure} @orgcmdkkcc{<,>,org-columns-narrow,org-columns-widen} Make the column narrower/wider by one character. @orgcmd{S-M-@key{right},org-columns-new} Insert a new column, to the left of the current column. @orgcmd{S-M-@key{left},org-columns-delete} Delete the current column. @end table @node Capturing column view, , Using column view, Column view @subsection Capturing column view Since column view is just an overlay over a buffer, it cannot be exported or printed directly. If you want to capture a column view, use a @code{columnview} dynamic block (@pxref{Dynamic blocks}). The frame of this block looks like this: @cindex #+BEGIN, columnview @example * The column view #+BEGIN: columnview :hlines 1 :id "label" #+END: @end example @noindent This dynamic block has the following parameters: @table @code @item :id This is the most important parameter. Column view is a feature that is often localized to a certain (sub)tree, and the capture block might be at a different location in the file. To identify the tree whose view to capture, you can use 4 values: @cindex property, ID @example local @r{use the tree in which the capture block is located} global @r{make a global view, including all headings in the file} "file:@var{path-to-file}" @r{run column view at the top of this file} "@var{ID}" @r{call column view in the tree that has an @code{:ID:}} @r{property with the value @i{label}. You can use} @r{@kbd{M-x org-id-copy} to create a globally unique ID for} @r{the current entry and copy it to the kill-ring.} @end example @item :hlines When @code{t}, insert an hline after every line. When a number @var{N}, insert an hline before each headline with level @code{<= @var{N}}. @item :vlines When set to @code{t}, force column groups to get vertical lines. @item :maxlevel When set to a number, don't capture entries below this level. @item :skip-empty-rows When set to @code{t}, skip rows where the only non-empty specifier of the column view is @code{ITEM}. @end table @noindent The following commands insert or update the dynamic block: @table @kbd @orgcmd{C-c C-x i,org-insert-columns-dblock} Insert a dynamic block capturing a column view. You will be prompted for the scope or ID of the view. @orgcmdkkc{C-c C-c,C-c C-x C-u,org-dblock-update} Update dynamic block at point. The cursor needs to be in the @code{#+BEGIN} line of the dynamic block. @orgcmd{C-u C-c C-x C-u,org-update-all-dblocks} Update all dynamic blocks (@pxref{Dynamic blocks}). This is useful if you have several clock table blocks, column-capturing blocks or other dynamic blocks in a buffer. @end table You can add formulas to the column view table and you may add plotting instructions in front of the table---these will survive an update of the block. If there is a @code{#+TBLFM:} after the table, the table will actually be recalculated automatically after an update. An alternative way to capture and process property values into a table is provided by Eric Schulte's @file{org-collector.el} which is a contributed package@footnote{Contributed packages are not part of Emacs, but are distributed with the main distribution of Org (visit @uref{http://orgmode.org}).}. It provides a general API to collect properties from entries in a certain scope, and arbitrary Lisp expressions to process these values before inserting them into a table or a dynamic block. @node Property API, , Column view, Properties and Columns @section The Property API @cindex properties, API @cindex API, for properties There is a full API for accessing and changing properties. This API can be used by Emacs Lisp programs to work with properties and to implement features based on them. For more information see @ref{Using the property API}. @node Dates and Times, Capture - Refile - Archive, Properties and Columns, Top @chapter Dates and times @cindex dates @cindex times @cindex timestamp @cindex date stamp To assist project planning, TODO items can be labeled with a date and/or a time. The specially formatted string carrying the date and time information is called a @emph{timestamp} in Org mode. This may be a little confusing because timestamp is often used as indicating when something was created or last changed. However, in Org mode this term is used in a much wider sense. @menu * Timestamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps * Deadlines and scheduling:: Planning your work * Clocking work time:: Tracking how long you spend on a task * Effort estimates:: Planning work effort in advance * Relative timer:: Notes with a running timer * Countdown timer:: Starting a countdown timer for a task @end menu @node Timestamps, Creating timestamps, Dates and Times, Dates and Times @section Timestamps, deadlines, and scheduling @cindex timestamps @cindex ranges, time @cindex date stamps @cindex deadlines @cindex scheduling A timestamp is a specification of a date (possibly with a time or a range of times) in a special format, either @samp{<2003-09-16 Tue>}@footnote{In this simplest form, the day name is optional when you type the date yourself. However, any dates inserted or modified by Org will add that day name, for reading convenience.} or @samp{<2003-09-16 Tue 09:39>} or @samp{<2003-09-16 Tue 12:00-12:30>}@footnote{This is inspired by the standard ISO 8601 date/time format. To use an alternative format, see @ref{Custom time format}.}. A timestamp can appear anywhere in the headline or body of an Org tree entry. Its presence causes entries to be shown on specific dates in the agenda (@pxref{Weekly/daily agenda}). We distinguish: @table @var @item Plain timestamp; Event; Appointment @cindex timestamp @cindex appointment A simple timestamp just assigns a date/time to an item. This is just like writing down an appointment or event in a paper agenda. In the timeline and agenda displays, the headline of an entry associated with a plain timestamp will be shown exactly on that date. @example * Meet Peter at the movies <2006-11-01 Wed 19:15> * Discussion on climate change <2006-11-02 Thu 20:00-22:00> @end example @item Timestamp with repeater interval @cindex timestamp, with repeater interval A timestamp may contain a @emph{repeater interval}, indicating that it applies not only on the given date, but again and again after a certain interval of N days (d), weeks (w), months (m), or years (y). The following will show up in the agenda every Wednesday: @example * Pick up Sam at school <2007-05-16 Wed 12:30 +1w> @end example @item Diary-style sexp entries For more complex date specifications, Org mode supports using the special sexp diary entries implemented in the Emacs calendar/diary package@footnote{When working with the standard diary sexp functions, you need to be very careful with the order of the arguments. That order depend evilly on the variable @code{calendar-date-style} (or, for older Emacs versions, @code{european-calendar-style}). For example, to specify a date December 12, 2005, the call might look like @code{(diary-date 12 1 2005)} or @code{(diary-date 1 12 2005)} or @code{(diary-date 2005 12 1)}, depending on the settings. This has been the source of much confusion. Org mode users can resort to special versions of these functions like @code{org-date} or @code{org-anniversary}. These work just like the corresponding @code{diary-} functions, but with stable ISO order of arguments (year, month, day) wherever applicable, independent of the value of @code{calendar-date-style}.}. For example with optional time @example * 22:00-23:00 The nerd meeting on every 2nd Thursday of the month <%%(org-float t 4 2)> @end example @item Time/Date range @cindex timerange @cindex date range Two timestamps connected by @samp{--} denote a range. The headline will be shown on the first and last day of the range, and on any dates that are displayed and fall in the range. Here is an example: @example ** Meeting in Amsterdam <2004-08-23 Mon>--<2004-08-26 Thu> @end example @item Inactive timestamp @cindex timestamp, inactive @cindex inactive timestamp Just like a plain timestamp, but with square brackets instead of angular ones. These timestamps are inactive in the sense that they do @emph{not} trigger an entry to show up in the agenda. @example * Gillian comes late for the fifth time [2006-11-01 Wed] @end example @end table @node Creating timestamps, Deadlines and scheduling, Timestamps, Dates and Times @section Creating timestamps @cindex creating timestamps @cindex timestamps, creating For Org mode to recognize timestamps, they need to be in the specific format. All commands listed below produce timestamps in the correct format. @table @kbd @orgcmd{C-c .,org-time-stamp} Prompt for a date and insert a corresponding timestamp. When the cursor is at an existing timestamp in the buffer, the command is used to modify this timestamp instead of inserting a new one. When this command is used twice in succession, a time range is inserted. @c @orgcmd{C-c !,org-time-stamp-inactive} Like @kbd{C-c .}, but insert an inactive timestamp that will not cause an agenda entry. @c @kindex C-u C-c . @kindex C-u C-c ! @item C-u C-c . @itemx C-u C-c ! @vindex org-time-stamp-rounding-minutes Like @kbd{C-c .} and @kbd{C-c !}, but use the alternative format which contains date and time. The default time can be rounded to multiples of 5 minutes, see the option @code{org-time-stamp-rounding-minutes}. @c @orgkey{C-c C-c} Normalize timestamp, insert/fix day name if missing or wrong. @c @orgcmd{C-c <,org-date-from-calendar} Insert a timestamp corresponding to the cursor date in the Calendar. @c @orgcmd{C-c >,org-goto-calendar} Access the Emacs calendar for the current date. If there is a timestamp in the current line, go to the corresponding date instead. @c @orgcmd{C-c C-o,org-open-at-point} Access the agenda for the date given by the timestamp or -range at point (@pxref{Weekly/daily agenda}). @c @orgcmdkkcc{S-@key{left},S-@key{right},org-timestamp-down-day,org-timestamp-up-day} Change date at cursor by one day. These key bindings conflict with shift-selection and related modes (@pxref{Conflicts}). @c @orgcmdkkcc{S-@key{up},S-@key{down},org-timestamp-up,org-timestamp-down-down} Change the item under the cursor in a timestamp. The cursor can be on a year, month, day, hour or minute. When the timestamp contains a time range like @samp{15:30-16:30}, modifying the first time will also shift the second, shifting the time block with constant length. To change the length, modify the second time. Note that if the cursor is in a headline and not at a timestamp, these same keys modify the priority of an item. (@pxref{Priorities}). The key bindings also conflict with shift-selection and related modes (@pxref{Conflicts}). @c @orgcmd{C-c C-y,org-evaluate-time-range} @cindex evaluate time range Evaluate a time range by computing the difference between start and end. With a prefix argument, insert result after the time range (in a table: into the following column). @end table @menu * The date/time prompt:: How Org mode helps you entering date and time * Custom time format:: Making dates look different @end menu @node The date/time prompt, Custom time format, Creating timestamps, Creating timestamps @subsection The date/time prompt @cindex date, reading in minibuffer @cindex time, reading in minibuffer @vindex org-read-date-prefer-future When Org mode prompts for a date/time, the default is shown in default date/time format, and the prompt therefore seems to ask for a specific format. But it will in fact accept any string containing some date and/or time information, and it is really smart about interpreting your input. You can, for example, use @kbd{C-y} to paste a (possibly multi-line) string copied from an email message. Org mode will find whatever information is in there and derive anything you have not specified from the @emph{default date and time}. The default is usually the current date and time, but when modifying an existing timestamp, or when entering the second stamp of a range, it is taken from the stamp in the buffer. When filling in information, Org mode assumes that most of the time you will want to enter a date in the future: if you omit the month/year and the given day/month is @i{before} today, it will assume that you mean a future date@footnote{See the variable @code{org-read-date-prefer-future}. You may set that variable to the symbol @code{time} to even make a time before now shift the date to tomorrow.}. If the date has been automatically shifted into the future, the time prompt will show this with @samp{(=>F).} For example, let's assume that today is @b{June 13, 2006}. Here is how various inputs will be interpreted, the items filled in by Org mode are in @b{bold}. @example 3-2-5 @result{} 2003-02-05 2/5/3 @result{} 2003-02-05 14 @result{} @b{2006}-@b{06}-14 12 @result{} @b{2006}-@b{07}-12 2/5 @result{} @b{2007}-02-05 Fri @result{} nearest Friday (default date or later) sep 15 @result{} @b{2006}-09-15 feb 15 @result{} @b{2007}-02-15 sep 12 9 @result{} 2009-09-12 12:45 @result{} @b{2006}-@b{06}-@b{13} 12:45 22 sept 0:34 @result{} @b{2006}-09-22 0:34 w4 @result{} ISO week for of the current year @b{2006} 2012 w4 fri @result{} Friday of ISO week 4 in 2012 2012-w04-5 @result{} Same as above @end example Furthermore you can specify a relative date by giving, as the @emph{first} thing in the input: a plus/minus sign, a number and a letter ([dwmy]) to indicate change in days, weeks, months, or years. With a single plus or minus, the date is always relative to today. With a double plus or minus, it is relative to the default date. If instead of a single letter, you use the abbreviation of day name, the date will be the Nth such day, e.g.@: @example +0 @result{} today . @result{} today +4d @result{} four days from today +4 @result{} same as above +2w @result{} two weeks from today ++5 @result{} five days from default date +2tue @result{} second Tuesday from now. @end example @vindex parse-time-months @vindex parse-time-weekdays The function understands English month and weekday abbreviations. If you want to use unabbreviated names and/or other languages, configure the variables @code{parse-time-months} and @code{parse-time-weekdays}. @vindex org-read-date-force-compatible-dates Not all dates can be represented in a given Emacs implementation. By default Org mode forces dates into the compatibility range 1970--2037 which works on all Emacs implementations. If you want to use dates outside of this range, read the docstring of the variable @code{org-read-date-force-compatible-dates}. You can specify a time range by giving start and end times or by giving a start time and a duration (in HH:MM format). Use one or two dash(es) as the separator in the former case and use '+' as the separator in the latter case, e.g.@: @example 11am-1:15pm @result{} 11:00-13:15 11am--1:15pm @result{} same as above 11am+2:15 @result{} same as above @end example @cindex calendar, for selecting date @vindex org-popup-calendar-for-date-prompt Parallel to the minibuffer prompt, a calendar is popped up@footnote{If you don't need/want the calendar, configure the variable @code{org-popup-calendar-for-date-prompt}.}. When you exit the date prompt, either by clicking on a date in the calendar, or by pressing @key{RET}, the date selected in the calendar will be combined with the information entered at the prompt. You can control the calendar fully from the minibuffer: @kindex < @kindex > @kindex M-v @kindex C-v @kindex mouse-1 @kindex S-@key{right} @kindex S-@key{left} @kindex S-@key{down} @kindex S-@key{up} @kindex M-S-@key{right} @kindex M-S-@key{left} @kindex @key{RET} @example @key{RET} @r{Choose date at cursor in calendar.} mouse-1 @r{Select date by clicking on it.} S-@key{right}/@key{left} @r{One day forward/backward.} S-@key{down}/@key{up} @r{One week forward/backward.} M-S-@key{right}/@key{left} @r{One month forward/backward.} > / < @r{Scroll calendar forward/backward by one month.} M-v / C-v @r{Scroll calendar forward/backward by 3 months.} @end example @vindex org-read-date-display-live The actions of the date/time prompt may seem complex, but I assure you they will grow on you, and you will start getting annoyed by pretty much any other way of entering a date/time out there. To help you understand what is going on, the current interpretation of your input will be displayed live in the minibuffer@footnote{If you find this distracting, turn the display of with @code{org-read-date-display-live}.}. @node Custom time format, , The date/time prompt, Creating timestamps @subsection Custom time format @cindex custom date/time format @cindex time format, custom @cindex date format, custom @vindex org-display-custom-times @vindex org-time-stamp-custom-formats Org mode uses the standard ISO notation for dates and times as it is defined in ISO 8601. If you cannot get used to this and require another representation of date and time to keep you happy, you can get it by customizing the variables @code{org-display-custom-times} and @code{org-time-stamp-custom-formats}. @table @kbd @orgcmd{C-c C-x C-t,org-toggle-time-stamp-overlays} Toggle the display of custom formats for dates and times. @end table @noindent Org mode needs the default format for scanning, so the custom date/time format does not @emph{replace} the default format---instead it is put @emph{over} the default format using text properties. This has the following consequences: @itemize @bullet @item You cannot place the cursor onto a timestamp anymore, only before or after. @item The @kbd{S-@key{up}/@key{down}} keys can no longer be used to adjust each component of a timestamp. If the cursor is at the beginning of the stamp, @kbd{S-@key{up}/@key{down}} will change the stamp by one day, just like @kbd{S-@key{left}/@key{right}}. At the end of the stamp, the time will be changed by one minute. @item If the timestamp contains a range of clock times or a repeater, these will not be overlaid, but remain in the buffer as they were. @item When you delete a timestamp character-by-character, it will only disappear from the buffer after @emph{all} (invisible) characters belonging to the ISO timestamp have been removed. @item If the custom timestamp format is longer than the default and you are using dates in tables, table alignment will be messed up. If the custom format is shorter, things do work as expected. @end itemize @node Deadlines and scheduling, Clocking work time, Creating timestamps, Dates and Times @section Deadlines and scheduling A timestamp may be preceded by special keywords to facilitate planning: @table @var @item DEADLINE @cindex DEADLINE keyword Meaning: the task (most likely a TODO item, though not necessarily) is supposed to be finished on that date. @vindex org-deadline-warning-days On the deadline date, the task will be listed in the agenda. In addition, the agenda for @emph{today} will carry a warning about the approaching or missed deadline, starting @code{org-deadline-warning-days} before the due date, and continuing until the entry is marked DONE. An example: @example *** TODO write article about the Earth for the Guide DEADLINE: <2004-02-29 Sun> The editor in charge is [[bbdb:Ford Prefect]] @end example You can specify a different lead time for warnings for a specific deadlines using the following syntax. Here is an example with a warning period of 5 days @code{DEADLINE: <2004-02-29 Sun -5d>}. @item SCHEDULED @cindex SCHEDULED keyword Meaning: you are planning to start working on that task on the given date. @vindex org-agenda-skip-scheduled-if-done The headline will be listed under the given date@footnote{It will still be listed on that date after it has been marked DONE. If you don't like this, set the variable @code{org-agenda-skip-scheduled-if-done}.}. In addition, a reminder that the scheduled date has passed will be present in the compilation for @emph{today}, until the entry is marked DONE, i.e.@: the task will automatically be forwarded until completed. @example *** TODO Call Trillian for a date on New Years Eve. SCHEDULED: <2004-12-25 Sat> @end example @noindent @b{Important:} Scheduling an item in Org mode should @i{not} be understood in the same way that we understand @i{scheduling a meeting}. Setting a date for a meeting is just a simple appointment, you should mark this entry with a simple plain timestamp, to get this item shown on the date where it applies. This is a frequent misunderstanding by Org users. In Org mode, @i{scheduling} means setting a date when you want to start working on an action item. @end table You may use timestamps with repeaters in scheduling and deadline entries. Org mode will issue early and late warnings based on the assumption that the timestamp represents the @i{nearest instance} of the repeater. However, the use of diary sexp entries like @c @code{<%%(org-float t 42)>} @c in scheduling and deadline timestamps is limited. Org mode does not know enough about the internals of each sexp function to issue early and late warnings. However, it will show the item on each day where the sexp entry matches. @menu * Inserting deadline/schedule:: Planning items * Repeated tasks:: Items that show up again and again @end menu @node Inserting deadline/schedule, Repeated tasks, Deadlines and scheduling, Deadlines and scheduling @subsection Inserting deadlines or schedules The following commands allow you to quickly insert@footnote{The @samp{SCHEDULED} and @samp{DEADLINE} dates are inserted on the line right below the headline. Don't put any text between this line and the headline.} a deadline or to schedule an item: @table @kbd @c @orgcmd{C-c C-d,org-deadline} Insert @samp{DEADLINE} keyword along with a stamp. The insertion will happen in the line directly following the headline. Any CLOSED timestamp will be removed. When called with a prefix arg, an existing deadline will be removed from the entry. Depending on the variable @code{org-log-redeadline}@footnote{with corresponding @code{#+STARTUP} keywords @code{logredeadline}, @code{lognoteredeadline}, and @code{nologredeadline}}, a note will be taken when changing an existing deadline. @orgcmd{C-c C-s,org-schedule} Insert @samp{SCHEDULED} keyword along with a stamp. The insertion will happen in the line directly following the headline. Any CLOSED timestamp will be removed. When called with a prefix argument, remove the scheduling date from the entry. Depending on the variable @code{org-log-reschedule}@footnote{with corresponding @code{#+STARTUP} keywords @code{logreschedule}, @code{lognotereschedule}, and @code{nologreschedule}}, a note will be taken when changing an existing scheduling time. @c @orgcmd{C-c C-x C-k,org-mark-entry-for-agenda-action} @kindex k a @kindex k s Mark the current entry for agenda action. After you have marked the entry like this, you can open the agenda or the calendar to find an appropriate date. With the cursor on the selected date, press @kbd{k s} or @kbd{k d} to schedule the marked item. @c @orgcmd{C-c / d,org-check-deadlines} @cindex sparse tree, for deadlines @vindex org-deadline-warning-days Create a sparse tree with all deadlines that are either past-due, or which will become due within @code{org-deadline-warning-days}. With @kbd{C-u} prefix, show all deadlines in the file. With a numeric prefix, check that many days. For example, @kbd{C-1 C-c / d} shows all deadlines due tomorrow. @c @orgcmd{C-c / b,org-check-before-date} Sparse tree for deadlines and scheduled items before a given date. @c @orgcmd{C-c / a,org-check-after-date} Sparse tree for deadlines and scheduled items after a given date. @end table Note that @code{org-schedule} and @code{org-deadline} supports setting the date by indicating a relative time: e.g. +1d will set the date to the next day after today, and --1w will set the date to the previous week before any current timestamp. @node Repeated tasks, , Inserting deadline/schedule, Deadlines and scheduling @subsection Repeated tasks @cindex tasks, repeated @cindex repeated tasks Some tasks need to be repeated again and again. Org mode helps to organize such tasks using a so-called repeater in a DEADLINE, SCHEDULED, or plain timestamp. In the following example @example ** TODO Pay the rent DEADLINE: <2005-10-01 Sat +1m> @end example @noindent the @code{+1m} is a repeater; the intended interpretation is that the task has a deadline on <2005-10-01> and repeats itself every (one) month starting from that time. If you need both a repeater and a special warning period in a deadline entry, the repeater should come first and the warning period last: @code{DEADLINE: <2005-10-01 Sat +1m -3d>}. @vindex org-todo-repeat-to-state Deadlines and scheduled items produce entries in the agenda when they are over-due, so it is important to be able to mark such an entry as completed once you have done so. When you mark a DEADLINE or a SCHEDULE with the TODO keyword DONE, it will no longer produce entries in the agenda. The problem with this is, however, that then also the @emph{next} instance of the repeated entry will not be active. Org mode deals with this in the following way: When you try to mark such an entry DONE (using @kbd{C-c C-t}), it will shift the base date of the repeating timestamp by the repeater interval, and immediately set the entry state back to TODO@footnote{In fact, the target state is taken from, in this sequence, the @code{REPEAT_TO_STATE} property or the variable @code{org-todo-repeat-to-state}. If neither of these is specified, the target state defaults to the first state of the TODO state sequence.}. In the example above, setting the state to DONE would actually switch the date like this: @example ** TODO Pay the rent DEADLINE: <2005-11-01 Tue +1m> @end example @vindex org-log-repeat A timestamp@footnote{You can change this using the option @code{org-log-repeat}, or the @code{#+STARTUP} options @code{logrepeat}, @code{lognoterepeat}, and @code{nologrepeat}. With @code{lognoterepeat}, you will also be prompted for a note.} will be added under the deadline, to keep a record that you actually acted on the previous instance of this deadline. As a consequence of shifting the base date, this entry will no longer be visible in the agenda when checking past dates, but all future instances will be visible. With the @samp{+1m} cookie, the date shift will always be exactly one month. So if you have not paid the rent for three months, marking this entry DONE will still keep it as an overdue deadline. Depending on the task, this may not be the best way to handle it. For example, if you forgot to call your father for 3 weeks, it does not make sense to call him 3 times in a single day to make up for it. Finally, there are tasks like changing batteries which should always repeat a certain time @i{after} the last time you did it. For these tasks, Org mode has special repeaters @samp{++} and @samp{.+}. For example: @example ** TODO Call Father DEADLINE: <2008-02-10 Sun ++1w> Marking this DONE will shift the date by at least one week, but also by as many weeks as it takes to get this date into the future. However, it stays on a Sunday, even if you called and marked it done on Saturday. ** TODO Check the batteries in the smoke detectors DEADLINE: <2005-11-01 Tue .+1m> Marking this DONE will shift the date to one month after today. @end example You may have both scheduling and deadline information for a specific task---just make sure that the repeater intervals on both are the same. An alternative to using a repeater is to create a number of copies of a task subtree, with dates shifted in each copy. The command @kbd{C-c C-x c} was created for this purpose, it is described in @ref{Structure editing}. @node Clocking work time, Effort estimates, Deadlines and scheduling, Dates and Times @section Clocking work time @cindex clocking time @cindex time clocking Org mode allows you to clock the time you spend on specific tasks in a project. When you start working on an item, you can start the clock. When you stop working on that task, or when you mark the task done, the clock is stopped and the corresponding time interval is recorded. It also computes the total time spent on each subtree of a project. And it remembers a history or tasks recently clocked, to that you can jump quickly between a number of tasks absorbing your time. To save the clock history across Emacs sessions, use @lisp (setq org-clock-persist 'history) (org-clock-persistence-insinuate) @end lisp When you clock into a new task after resuming Emacs, the incomplete clock@footnote{To resume the clock under the assumption that you have worked on this task while outside Emacs, use @code{(setq org-clock-persist t)}.} will be found (@pxref{Resolving idle time}) and you will be prompted about what to do with it. @menu * Clocking commands:: Starting and stopping a clock * The clock table:: Detailed reports * Resolving idle time:: Resolving time when you've been idle @end menu @node Clocking commands, The clock table, Clocking work time, Clocking work time @subsection Clocking commands @table @kbd @orgcmd{C-c C-x C-i,org-clock-in} @vindex org-clock-into-drawer @cindex property, LOG_INTO_DRAWER Start the clock on the current item (clock-in). This inserts the CLOCK keyword together with a timestamp. If this is not the first clocking of this item, the multiple CLOCK lines will be wrapped into a @code{:LOGBOOK:} drawer (see also the variable @code{org-clock-into-drawer}). You can also overrule the setting of this variable for a subtree by setting a @code{CLOCK_INTO_DRAWER} or @code{LOG_INTO_DRAWER} property. When called with a @kbd{C-u} prefix argument, select the task from a list of recently clocked tasks. With two @kbd{C-u C-u} prefixes, clock into the task at point and mark it as the default task. The default task will always be available when selecting a clocking task, with letter @kbd{d}.@* @cindex property: CLOCK_MODELINE_TOTAL @cindex property: LAST_REPEAT @vindex org-clock-modeline-total While the clock is running, the current clocking time is shown in the mode line, along with the title of the task. The clock time shown will be all time ever clocked for this task and its children. If the task has an effort estimate (@pxref{Effort estimates}), the mode line displays the current clocking time against it@footnote{To add an effort estimate ``on the fly'', hook a function doing this to @code{org-clock-in-prepare-hook}.} If the task is a repeating one (@pxref{Repeated tasks}), only the time since the last reset of the task @footnote{as recorded by the @code{LAST_REPEAT} property} will be shown. More control over what time is shown can be exercised with the @code{CLOCK_MODELINE_TOTAL} property. It may have the values @code{current} to show only the current clocking instance, @code{today} to show all time clocked on this tasks today (see also the variable @code{org-extend-today-until}), @code{all} to include all time, or @code{auto} which is the default@footnote{See also the variable @code{org-clock-modeline-total}.}.@* Clicking with @kbd{mouse-1} onto the mode line entry will pop up a menu with clocking options. @c @orgcmd{C-c C-x C-o,org-clock-out} @vindex org-log-note-clock-out Stop the clock (clock-out). This inserts another timestamp at the same location where the clock was last started. It also directly computes the resulting time in inserts it after the time range as @samp{=> HH:MM}. See the variable @code{org-log-note-clock-out} for the possibility to record an additional note together with the clock-out timestamp@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: lognoteclock-out}}. @orgcmd{C-c C-x C-e,org-clock-modify-effort-estimate} Update the effort estimate for the current clock task. @kindex C-c C-y @kindex C-c C-c @orgcmdkkc{C-c C-c,C-c C-y,org-evaluate-time-range} Recompute the time interval after changing one of the timestamps. This is only necessary if you edit the timestamps directly. If you change them with @kbd{S-@key{cursor}} keys, the update is automatic. @orgcmd{C-S-@key{up/down},org-clock-timestamps-up/down} On @code{CLOCK} log lines, increase/decrease both timestamps at the same time so that duration keeps the same. @orgcmd{C-c C-t,org-todo} Changing the TODO state of an item to DONE automatically stops the clock if it is running in this same item. @orgcmd{C-c C-x C-x,org-clock-cancel} Cancel the current clock. This is useful if a clock was started by mistake, or if you ended up working on something else. @orgcmd{C-c C-x C-j,org-clock-goto} Jump to the headline of the currently clocked in task. With a @kbd{C-u} prefix arg, select the target task from a list of recently clocked tasks. @orgcmd{C-c C-x C-d,org-clock-display} @vindex org-remove-highlights-with-change Display time summaries for each subtree in the current buffer. This puts overlays at the end of each headline, showing the total time recorded under that heading, including the time of any subheadings. You can use visibility cycling to study the tree, but the overlays disappear when you change the buffer (see variable @code{org-remove-highlights-with-change}) or press @kbd{C-c C-c}. @end table The @kbd{l} key may be used in the timeline (@pxref{Timeline}) and in the agenda (@pxref{Weekly/daily agenda}) to show which tasks have been worked on or closed during a day. @node The clock table, Resolving idle time, Clocking commands, Clocking work time @subsection The clock table @cindex clocktable, dynamic block @cindex report, of clocked time Org mode can produce quite complex reports based on the time clocking information. Such a report is called a @emph{clock table}, because it is formatted as one or several Org tables. @table @kbd @orgcmd{C-c C-x C-r,org-clock-report} Insert a dynamic block (@pxref{Dynamic blocks}) containing a clock report as an Org mode table into the current file. When the cursor is at an existing clock table, just update it. When called with a prefix argument, jump to the first clock report in the current document and update it. The clock table always includes also trees with @code{:ARCHIVE:} tag. @orgcmdkkc{C-c C-c,C-c C-x C-u,org-dblock-update} Update dynamic block at point. The cursor needs to be in the @code{#+BEGIN} line of the dynamic block. @orgkey{C-u C-c C-x C-u} Update all dynamic blocks (@pxref{Dynamic blocks}). This is useful if you have several clock table blocks in a buffer. @orgcmdkxkc{S-@key{left},S-@key{right},org-clocktable-try-shift} Shift the current @code{:block} interval and update the table. The cursor needs to be in the @code{#+BEGIN: clocktable} line for this command. If @code{:block} is @code{today}, it will be shifted to @code{today-1} etc. @end table Here is an example of the frame for a clock table as it is inserted into the buffer with the @kbd{C-c C-x C-r} command: @cindex #+BEGIN, clocktable @example #+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file #+END: clocktable @end example @noindent @vindex org-clocktable-defaults The @samp{BEGIN} line and specify a number of options to define the scope, structure, and formatting of the report. Defaults for all these options can be configured in the variable @code{org-clocktable-defaults}. @noindent First there are options that determine which clock entries are to be selected: @example :maxlevel @r{Maximum level depth to which times are listed in the table.} @r{Clocks at deeper levels will be summed into the upper level.} :scope @r{The scope to consider. This can be any of the following:} nil @r{the current buffer or narrowed region} file @r{the full current buffer} subtree @r{the subtree where the clocktable is located} tree@var{N} @r{the surrounding level @var{N} tree, for example @code{tree3}} tree @r{the surrounding level 1 tree} agenda @r{all agenda files} ("file"..) @r{scan these files} file-with-archives @r{current file and its archives} agenda-with-archives @r{all agenda files, including archives} :block @r{The time block to consider. This block is specified either} @r{absolute, or relative to the current time and may be any of} @r{these formats:} 2007-12-31 @r{New year eve 2007} 2007-12 @r{December 2007} 2007-W50 @r{ISO-week 50 in 2007} 2007-Q2 @r{2nd quarter in 2007} 2007 @r{the year 2007} today, yesterday, today-@var{N} @r{a relative day} thisweek, lastweek, thisweek-@var{N} @r{a relative week} thismonth, lastmonth, thismonth-@var{N} @r{a relative month} thisyear, lastyear, thisyear-@var{N} @r{a relative year} @r{Use @kbd{S-@key{left}/@key{right}} keys to shift the time interval.} :tstart @r{A time string specifying when to start considering times.} :tend @r{A time string specifying when to stop considering times.} :step @r{@code{week} or @code{day}, to split the table into chunks.} @r{To use this, @code{:block} or @code{:tstart}, @code{:tend} are needed.} :stepskip0 @r{Do not show steps that have zero time.} :fileskip0 @r{Do not show table sections from files which did not contribute.} :tags @r{A tags match to select entries that should contribute. See} @r{@ref{Matching tags and properties} for the match syntax.} @end example Then there are options which determine the formatting of the table. There options are interpreted by the function @code{org-clocktable-write-default}, but you can specify your own function using the @code{:formatter} parameter. @example :emphasize @r{When @code{t}, emphasize level one and level two items.} :lang @r{Language@footnote{Language terms can be set through the variable @code{org-clock-clocktable-language-setup}.} to use for descriptive cells like "Task".} :link @r{Link the item headlines in the table to their origins.} :narrow @r{An integer to limit the width of the headline column in} @r{the org table. If you write it like @samp{50!}, then the} @r{headline will also be shortened in export.} :indent @r{Indent each headline field according to its level.} :tcolumns @r{Number of columns to be used for times. If this is smaller} @r{than @code{:maxlevel}, lower levels will be lumped into one column.} :level @r{Should a level number column be included?} :compact @r{Abbreviation for @code{:level nil :indent t :narrow 40! :tcolumns 1}} @r{All are overwritten except if there is an explicit @code{:narrow}} :timestamp @r{A timestamp for the entry, when available. Look for SCHEDULED,} @r{DEADLINE, TIMESTAMP and TIMESTAMP_IA, in this order.} :properties @r{List of properties that should be shown in the table. Each} @r{property will get its own column.} :inherit-props @r{When this flag is @code{t}, the values for @code{:properties} will be inherited.} :formula @r{Content of a @code{#+TBLFM} line to be added and evaluated.} @r{As a special case, @samp{:formula %} adds a column with % time.} @r{If you do not specify a formula here, any existing formula} @r{below the clock table will survive updates and be evaluated.} :formatter @r{A function to format clock data and insert it into the buffer.} @end example To get a clock summary of the current level 1 tree, for the current day, you could write @example #+BEGIN: clocktable :maxlevel 2 :block today :scope tree1 :link t #+END: clocktable @end example @noindent and to use a specific time range you could write@footnote{Note that all parameters must be specified in a single line---the line is broken here only to fit it into the manual.} @example #+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>" :tend "<2006-08-10 Thu 12:00>" #+END: clocktable @end example A summary of the current subtree with % times would be @example #+BEGIN: clocktable :scope subtree :link t :formula % #+END: clocktable @end example A horizontally compact representation of everything clocked during last week would be @example #+BEGIN: clocktable :scope agenda :block lastweek :compact t #+END: clocktable @end example @node Resolving idle time, , The clock table, Clocking work time @subsection Resolving idle time @cindex resolve idle time @cindex idle, resolve, dangling If you clock in on a work item, and then walk away from your computer---perhaps to take a phone call---you often need to ``resolve'' the time you were away by either subtracting it from the current clock, or applying it to another one. @vindex org-clock-idle-time By customizing the variable @code{org-clock-idle-time} to some integer, such as 10 or 15, Emacs can alert you when you get back to your computer after being idle for that many minutes@footnote{On computers using Mac OS X, idleness is based on actual user idleness, not just Emacs' idle time. For X11, you can install a utility program @file{x11idle.c}, available in the UTILITIES directory of the Org git distribution, to get the same general treatment of idleness. On other systems, idle time refers to Emacs idle time only.}, and ask what you want to do with the idle time. There will be a question waiting for you when you get back, indicating how much idle time has passed (constantly updated with the current amount), as well as a set of choices to correct the discrepancy: @table @kbd @item k To keep some or all of the minutes and stay clocked in, press @kbd{k}. Org will ask how many of the minutes to keep. Press @key{RET} to keep them all, effectively changing nothing, or enter a number to keep that many minutes. @item K If you use the shift key and press @kbd{K}, it will keep however many minutes you request and then immediately clock out of that task. If you keep all of the minutes, this is the same as just clocking out of the current task. @item s To keep none of the minutes, use @kbd{s} to subtract all the away time from the clock, and then check back in from the moment you returned. @item S To keep none of the minutes and just clock out at the start of the away time, use the shift key and press @kbd{S}. Remember that using shift will always leave you clocked out, no matter which option you choose. @item C To cancel the clock altogether, use @kbd{C}. Note that if instead of canceling you subtract the away time, and the resulting clock amount is less than a minute, the clock will still be canceled rather than clutter up the log with an empty entry. @end table What if you subtracted those away minutes from the current clock, and now want to apply them to a new clock? Simply clock in to any task immediately after the subtraction. Org will notice that you have subtracted time ``on the books'', so to speak, and will ask if you want to apply those minutes to the next task you clock in on. There is one other instance when this clock resolution magic occurs. Say you were clocked in and hacking away, and suddenly your cat chased a mouse who scared a hamster that crashed into your UPS's power button! You suddenly lose all your buffers, but thanks to auto-save you still have your recent Org mode changes, including your last clock in. If you restart Emacs and clock into any task, Org will notice that you have a dangling clock which was never clocked out from your last session. Using that clock's starting time as the beginning of the unaccounted-for period, Org will ask how you want to resolve that time. The logic and behavior is identical to dealing with away time due to idleness; it is just happening due to a recovery event rather than a set amount of idle time. You can also check all the files visited by your Org agenda for dangling clocks at any time using @kbd{M-x org-resolve-clocks}. @node Effort estimates, Relative timer, Clocking work time, Dates and Times @section Effort estimates @cindex effort estimates @cindex property, Effort @vindex org-effort-property If you want to plan your work in a very detailed way, or if you need to produce offers with quotations of the estimated work effort, you may want to assign effort estimates to entries. If you are also clocking your work, you may later want to compare the planned effort with the actual working time, a great way to improve planning estimates. Effort estimates are stored in a special property @samp{Effort}@footnote{You may change the property being used with the variable @code{org-effort-property}.}. You can set the effort for an entry with the following commands: @table @kbd @orgcmd{C-c C-x e,org-set-effort} Set the effort estimate for the current entry. With a numeric prefix argument, set it to the Nth allowed value (see below). This command is also accessible from the agenda with the @kbd{e} key. @orgcmd{C-c C-x C-e,org-clock-modify-effort-estimate} Modify the effort estimate of the item currently being clocked. @end table Clearly the best way to work with effort estimates is through column view (@pxref{Column view}). You should start by setting up discrete values for effort estimates, and a @code{COLUMNS} format that displays these values together with clock sums (if you want to clock your time). For a specific buffer you can use @example #+PROPERTY: Effort_ALL 0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00 #+COLUMNS: %40ITEM(Task) %17Effort(Estimated Effort)@{:@} %CLOCKSUM @end example @noindent @vindex org-global-properties @vindex org-columns-default-format or, even better, you can set up these values globally by customizing the variables @code{org-global-properties} and @code{org-columns-default-format}. In particular if you want to use this setup also in the agenda, a global setup may be advised. The way to assign estimates to individual items is then to switch to column mode, and to use @kbd{S-@key{right}} and @kbd{S-@key{left}} to change the value. The values you enter will immediately be summed up in the hierarchy. In the column next to it, any clocked time will be displayed. @vindex org-agenda-columns-add-appointments-to-effort-sum If you switch to column view in the daily/weekly agenda, the effort column will summarize the estimated work effort for each day@footnote{Please note the pitfalls of summing hierarchical data in a flat list (@pxref{Agenda column view}).}, and you can use this to find space in your schedule. To get an overview of the entire part of the day that is committed, you can set the option @code{org-agenda-columns-add-appointments-to-effort-sum}. The appointments on a day that take place over a specified time interval will then also be added to the load estimate of the day. Effort estimates can be used in secondary agenda filtering that is triggered with the @kbd{/} key in the agenda (@pxref{Agenda commands}). If you have these estimates defined consistently, two or three key presses will narrow down the list to stuff that fits into an available time slot. @node Relative timer, Countdown timer, Effort estimates, Dates and Times @section Taking notes with a relative timer @cindex relative timer When taking notes during, for example, a meeting or a video viewing, it can be useful to have access to times relative to a starting time. Org provides such a relative timer and make it easy to create timed notes. @table @kbd @orgcmd{C-c C-x .,org-timer} Insert a relative time into the buffer. The first time you use this, the timer will be started. When called with a prefix argument, the timer is restarted. @orgcmd{C-c C-x -,org-timer-item} Insert a description list item with the current relative time. With a prefix argument, first reset the timer to 0. @orgcmd{M-@key{RET},org-insert-heading} Once the timer list is started, you can also use @kbd{M-@key{RET}} to insert new timer items. @c for key sequences with a comma, command name macros fail :( @kindex C-c C-x , @item C-c C-x , Pause the timer, or continue it if it is already paused (@command{org-timer-pause-or-continue}). @c removed the sentence because it is redundant to the following item @kindex C-u C-c C-x , @item C-u C-c C-x , Stop the timer. After this, you can only start a new timer, not continue the old one. This command also removes the timer from the mode line. @orgcmd{C-c C-x 0,org-timer-start} Reset the timer without inserting anything into the buffer. By default, the timer is reset to 0. When called with a @kbd{C-u} prefix, reset the timer to specific starting offset. The user is prompted for the offset, with a default taken from a timer string at point, if any, So this can be used to restart taking notes after a break in the process. When called with a double prefix argument @kbd{C-u C-u}, change all timer strings in the active region by a certain amount. This can be used to fix timer strings if the timer was not started at exactly the right moment. @end table @node Countdown timer, , Relative timer, Dates and Times @section Countdown timer @cindex Countdown timer @kindex C-c C-x ; @kindex ; Calling @code{org-timer-set-timer} from an Org mode buffer runs a countdown timer. Use @kbd{;} from agenda buffers, @key{C-c C-x ;} everywhere else. @code{org-timer-set-timer} prompts the user for a duration and displays a countdown timer in the modeline. @code{org-timer-default-timer} sets the default countdown value. Giving a prefix numeric argument overrides this default value. @node Capture - Refile - Archive, Agenda Views, Dates and Times, Top @chapter Capture - Refile - Archive @cindex capture An important part of any organization system is the ability to quickly capture new ideas and tasks, and to associate reference material with them. Org does this using a process called @i{capture}. It also can store files related to a task (@i{attachments}) in a special directory. Once in the system, tasks and projects need to be moved around. Moving completed project trees to an archive file keeps the system compact and fast. @menu * Capture:: Capturing new stuff * Attachments:: Add files to tasks * RSS Feeds:: Getting input from RSS feeds * Protocols:: External (e.g.@: Browser) access to Emacs and Org * Refiling notes:: Moving a tree from one place to another * Archiving:: What to do with finished projects @end menu @node Capture, Attachments, Capture - Refile - Archive, Capture - Refile - Archive @section Capture @cindex capture Org's method for capturing new items is heavily inspired by John Wiegley excellent remember package. Up to version 6.36 Org used a special setup for @file{remember.el}. @file{org-remember.el} is still part of Org mode for backward compatibility with existing setups. You can find the documentation for org-remember at @url{http://orgmode.org/org-remember.pdf}. The new capturing setup described here is preferred and should be used by new users. To convert your @code{org-remember-templates}, run the command @example @kbd{M-x org-capture-import-remember-templates @key{RET}} @end example @noindent and then customize the new variable with @kbd{M-x customize-variable org-capture-templates}, check the result, and save the customization. You can then use both remember and capture until you are familiar with the new mechanism. Capture lets you quickly store notes with little interruption of your work flow. The basic process of capturing is very similar to remember, but Org does enhance it with templates and more. @menu * Setting up capture:: Where notes will be stored * Using capture:: Commands to invoke and terminate capture * Capture templates:: Define the outline of different note types @end menu @node Setting up capture, Using capture, Capture, Capture @subsection Setting up capture The following customization sets a default target file for notes, and defines a global key@footnote{Please select your own key, @kbd{C-c c} is only a suggestion.} for capturing new material. @vindex org-default-notes-file @example (setq org-default-notes-file (concat org-directory "/notes.org")) (define-key global-map "\C-cc" 'org-capture) @end example @node Using capture, Capture templates, Setting up capture, Capture @subsection Using capture @table @kbd @orgcmd{C-c c,org-capture} Call the command @code{org-capture}. Note that this keybinding is global and not active by default - you need to install it. If you have templates @cindex date tree defined @pxref{Capture templates}, it will offer these templates for selection or use a new Org outline node as the default template. It will insert the template into the target file and switch to an indirect buffer narrowed to this new node. You may then insert the information you want. @orgcmd{C-c C-c,org-capture-finalize} Once you have finished entering information into the capture buffer, @kbd{C-c C-c} will return you to the window configuration before the capture process, so that you can resume your work without further distraction. When called with a prefix arg, finalize and then jump to the captured item. @orgcmd{C-c C-w,org-capture-refile} Finalize the capture process by refiling (@pxref{Refiling notes}) the note to a different place. Please realize that this is a normal refiling command that will be executed---so the cursor position at the moment you run this command is important. If you have inserted a tree with a parent and children, first move the cursor back to the parent. Any prefix argument given to this command will be passed on to the @code{org-refile} command. @orgcmd{C-c C-k,org-capture-kill} Abort the capture process and return to the previous state. @end table You can also call @code{org-capture} in a special way from the agenda, using the @kbd{k c} key combination. With this access, any timestamps inserted by the selected capture template will default to the cursor date in the agenda, rather than to the current date. To find the locations of the last stored capture, use @code{org-capture} with prefix commands: @table @kbd @orgkey{C-u C-c c} Visit the target location of a capture template. You get to select the template in the usual way. @orgkey{C-u C-u C-c c} Visit the last stored capture item in its buffer. @end table @node Capture templates, , Using capture, Capture @subsection Capture templates @cindex templates, for Capture You can use templates for different types of capture items, and for different target locations. The easiest way to create such templates is through the customize interface. @table @kbd @orgkey{C-c c C} Customize the variable @code{org-capture-templates}. @end table Before we give the formal description of template definitions, let's look at an example. Say you would like to use one template to create general TODO entries, and you want to put these entries under the heading @samp{Tasks} in your file @file{~/org/gtd.org}. Also, a date tree in the file @file{journal.org} should capture journal entries. A possible configuration would look like: @example (setq org-capture-templates '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks") "* TODO %?\n %i\n %a") ("j" "Journal" entry (file+datetree "~/org/journal.org") "* %?\nEntered on %U\n %i\n %a"))) @end example @noindent If you then press @kbd{C-c c t}, Org will prepare the template for you like this: @example * TODO [[file:@var{link to where you initiated capture}]] @end example @noindent During expansion of the template, @code{%a} has been replaced by a link to the location from where you called the capture command. This can be extremely useful for deriving tasks from emails, for example. You fill in the task definition, press @code{C-c C-c} and Org returns you to the same place where you started the capture process. To define special keys to capture to a particular template without going through the interactive template selection, you can create your key binding like this: @lisp (define-key global-map "\C-cx" (lambda () (interactive) (org-capture nil "x"))) @end lisp @menu * Template elements:: What is needed for a complete template entry * Template expansion:: Filling in information about time and context @end menu @node Template elements, Template expansion, Capture templates, Capture templates @subsubsection Template elements Now lets look at the elements of a template definition. Each entry in @code{org-capture-templates} is a list with the following items: @table @var @item keys The keys that will select the template, as a string, characters only, for example @code{"a"} for a template to be selected with a single key, or @code{"bt"} for selection with two keys. When using several keys, keys using the same prefix key must be sequential in the list and preceded by a 2-element entry explaining the prefix key, for example @example ("b" "Templates for marking stuff to buy") @end example @noindent If you do not define a template for the @kbd{C} key, this key will be used to open the customize buffer for this complex variable. @item description A short string describing the template, which will be shown during selection. @item type The type of entry, a symbol. Valid values are: @table @code @item entry An Org mode node, with a headline. Will be filed as the child of the target entry or as a top-level entry. The target file should be an Org mode file. @item item A plain list item, placed in the first plain list at the target location. Again the target file should be an Org file. @item checkitem A checkbox item. This only differs from the plain list item by the default template. @item table-line a new line in the first table at the target location. Where exactly the line will be inserted depends on the properties @code{:prepend} and @code{:table-line-pos} (see below). @item plain Text to be inserted as it is. @end table @item target @vindex org-default-notes-file Specification of where the captured item should be placed. In Org mode files, targets usually define a node. Entries will become children of this node. Other types will be added to the table or list in the body of this node. Most target specifications contain a file name. If that file name is the empty string, it defaults to @code{org-default-notes-file}. A file can also be given as a variable, function, or Emacs Lisp form. Valid values are: @table @code @item (file "path/to/file") Text will be placed at the beginning or end of that file. @item (id "id of existing org entry") Filing as child of this entry, or in the body of the entry. @item (file+headline "path/to/file" "node headline") Fast configuration if the target heading is unique in the file. @item (file+olp "path/to/file" "Level 1 heading" "Level 2" ...) For non-unique headings, the full path is safer. @item (file+regexp "path/to/file" "regexp to find location") Use a regular expression to position the cursor. @item (file+datetree "path/to/file") Will create a heading in a date tree for today's date. @item (file+datetree+prompt "path/to/file") Will create a heading in a date tree, but will prompt for the date. @item (file+function "path/to/file" function-finding-location) A function to find the right location in the file. @item (clock) File to the entry that is currently being clocked. @item (function function-finding-location) Most general way, write your own function to find both file and location. @end table @item template The template for creating the capture item. If you leave this empty, an appropriate default template will be used. Otherwise this is a string with escape codes, which will be replaced depending on time and context of the capture call. The string with escapes may be loaded from a template file, using the special syntax @code{(file "path/to/template")}. See below for more details. @item properties The rest of the entry is a property list of additional options. Recognized properties are: @table @code @item :prepend Normally new captured information will be appended at the target location (last child, last table line, last list item...). Setting this property will change that. @item :immediate-finish When set, do not offer to edit the information, just file it away immediately. This makes sense if the template only needs information that can be added automatically. @item :empty-lines Set this to the number of lines to insert before and after the new item. Default 0, only common other value is 1. @item :clock-in Start the clock in this item. @item :clock-keep Keep the clock running when filing the captured entry. @item :clock-resume If starting the capture interrupted a clock, restart that clock when finished with the capture. Note that @code{:clock-keep} has precedence over @code{:clock-resume}. When setting both to @code{t}, the current clock will run and the previous one will not be resumed. @item :unnarrowed Do not narrow the target buffer, simply show the full buffer. Default is to narrow it so that you only see the new material. @item :table-line-pos Specification of the location in the table where the new line should be inserted. It should be a string like @code{"II-3"} meaning that the new line should become the third line before the second horizontal separator line. @item :kill-buffer If the target file was not yet visited when capture was invoked, kill the buffer again after capture is completed. @end table @end table @node Template expansion, , Template elements, Capture templates @subsubsection Template expansion In the template itself, special @kbd{%}-escapes@footnote{If you need one of these sequences literally, escape the @kbd{%} with a backslash.} allow dynamic insertion of content. The templates are expanded in the order given here: @smallexample %[@var{file}] @r{insert the contents of the file given by @var{file}.} %(@var{sexp}) @r{evaluate Elisp @var{sexp} and replace with the result.} %<...> @r{the result of format-time-string on the ... format specification.} %t @r{timestamp, date only.} %T @r{timestamp with date and time.} %u, %U @r{like the above, but inactive timestamps.} %a @r{annotation, normally the link created with @code{org-store-link}.} %i @r{initial content, the region when capture is called while the} @r{region is active.} @r{The entire text will be indented like @code{%i} itself.} %A @r{like @code{%a}, but prompt for the description part.} %c @r{Current kill ring head.} %x @r{Content of the X clipboard.} %k @r{title of the currently clocked task.} %K @r{link to the currently clocked task.} %n @r{user name (taken from @code{user-full-name}).} %f @r{file visited by current buffer when org-capture was called.} %F @r{full path of the file or directory visited by current buffer.} %:keyword @r{specific information for certain link types, see below.} %^g @r{prompt for tags, with completion on tags in target file.} %^G @r{prompt for tags, with completion all tags in all agenda files.} %^t @r{like @code{%t}, but prompt for date. Similarly @code{%^T}, @code{%^u}, @code{%^U}.} @r{You may define a prompt like @code{%^@{Birthday@}t}.} %^C @r{Interactive selection of which kill or clip to use.} %^L @r{Like @code{%^C}, but insert as link.} %^@{@var{prop}@}p @r{Prompt the user for a value for property @var{prop}.} %^@{@var{prompt}@} @r{prompt the user for a string and replace this sequence with it.} @r{You may specify a default value and a completion table with} @r{%^@{prompt|default|completion2|completion3...@}.} @r{The arrow keys access a prompt-specific history.} @end smallexample @noindent For specific link types, the following keywords will be defined@footnote{If you define your own link types (@pxref{Adding hyperlink types}), any property you store with @code{org-store-link-props} can be accessed in capture templates in a similar way.}: @vindex org-from-is-user-regexp @smallexample Link type | Available keywords ------------------------+---------------------------------------------- bbdb | %:name %:company irc | %:server %:port %:nick vm, wl, mh, mew, rmail | %:type %:subject %:message-id | %:from %:fromname %:fromaddress | %:to %:toname %:toaddress | %:date @r{(message date header field)} | %:date-timestamp @r{(date as active timestamp)} | %:date-timestamp-inactive @r{(date as inactive timestamp)} | %:fromto @r{(either "to NAME" or "from NAME")@footnote{This will always be the other, not the user. See the variable @code{org-from-is-user-regexp}.}} gnus | %:group, @r{for messages also all email fields} w3, w3m | %:url info | %:file %:node calendar | %:date @end smallexample @noindent To place the cursor after template expansion use: @smallexample %? @r{After completing the template, position cursor here.} @end smallexample @node Attachments, RSS Feeds, Capture, Capture - Refile - Archive @section Attachments @cindex attachments @vindex org-attach-directory It is often useful to associate reference material with an outline node/task. Small chunks of plain text can simply be stored in the subtree of a project. Hyperlinks (@pxref{Hyperlinks}) can establish associations with files that live elsewhere on your computer or in the cloud, like emails or source code files belonging to a project. Another method is @i{attachments}, which are files located in a directory belonging to an outline node. Org uses directories named by the unique ID of each entry. These directories are located in the @file{data} directory which lives in the same directory where your Org file lives@footnote{If you move entries or Org files from one directory to another, you may want to configure @code{org-attach-directory} to contain an absolute path.}. If you initialize this directory with @code{git init}, Org will automatically commit changes when it sees them. The attachment system has been contributed to Org by John Wiegley. In cases where it seems better to do so, you can also attach a directory of your choice to an entry. You can also make children inherit the attachment directory from a parent, so that an entire subtree uses the same attached directory. @noindent The following commands deal with attachments: @table @kbd @orgcmd{C-c C-a,org-attach} The dispatcher for commands related to the attachment system. After these keys, a list of commands is displayed and you must press an additional key to select a command: @table @kbd @orgcmdtkc{a,C-c C-a a,org-attach-attach} @vindex org-attach-method Select a file and move it into the task's attachment directory. The file will be copied, moved, or linked, depending on @code{org-attach-method}. Note that hard links are not supported on all systems. @kindex C-c C-a c @kindex C-c C-a m @kindex C-c C-a l @item c/m/l Attach a file using the copy/move/link method. Note that hard links are not supported on all systems. @orgcmdtkc{n,C-c C-a n,org-attach-new} Create a new attachment as an Emacs buffer. @orgcmdtkc{z,C-c C-a z,org-attach-sync} Synchronize the current task with its attachment directory, in case you added attachments yourself. @orgcmdtkc{o,C-c C-a o,org-attach-open} @vindex org-file-apps Open current task's attachment. If there is more than one, prompt for a file name first. Opening will follow the rules set by @code{org-file-apps}. For more details, see the information on following hyperlinks (@pxref{Handling links}). @orgcmdtkc{O,C-c C-a O,org-attach-open-in-emacs} Also open the attachment, but force opening the file in Emacs. @orgcmdtkc{f,C-c C-a f,org-attach-reveal} Open the current task's attachment directory. @orgcmdtkc{F,C-c C-a F,org-attach-reveal-in-emacs} Also open the directory, but force using @command{dired} in Emacs. @orgcmdtkc{d,C-c C-a d,org-attach-delete-one} Select and delete a single attachment. @orgcmdtkc{D,C-c C-a D,org-attach-delete-all} Delete all of a task's attachments. A safer way is to open the directory in @command{dired} and delete from there. @orgcmdtkc{s,C-c C-a s,org-attach-set-directory} @cindex property, ATTACH_DIR Set a specific directory as the entry's attachment directory. This works by putting the directory path into the @code{ATTACH_DIR} property. @orgcmdtkc{i,C-c C-a i,org-attach-set-inherit} @cindex property, ATTACH_DIR_INHERIT Set the @code{ATTACH_DIR_INHERIT} property, so that children will use the same directory for attachments as the parent does. @end table @end table @node RSS Feeds, Protocols, Attachments, Capture - Refile - Archive @section RSS feeds @cindex RSS feeds @cindex Atom feeds Org can add and change entries based on information found in RSS feeds and Atom feeds. You could use this to make a task out of each new podcast in a podcast feed. Or you could use a phone-based note-creating service on the web to import tasks into Org. To access feeds, configure the variable @code{org-feed-alist}. The docstring of this variable has detailed information. Here is just an example: @example (setq org-feed-alist '(("Slashdot" "http://rss.slashdot.org/Slashdot/slashdot" "~/txt/org/feeds.org" "Slashdot Entries"))) @end example @noindent will configure that new items from the feed provided by @code{rss.slashdot.org} will result in new entries in the file @file{~/org/feeds.org} under the heading @samp{Slashdot Entries}, whenever the following command is used: @table @kbd @orgcmd{C-c C-x g,org-feed-update-all} @item C-c C-x g Collect items from the feeds configured in @code{org-feed-alist} and act upon them. @orgcmd{C-c C-x G,org-feed-goto-inbox} Prompt for a feed name and go to the inbox configured for this feed. @end table Under the same headline, Org will create a drawer @samp{FEEDSTATUS} in which it will store information about the status of items in the feed, to avoid adding the same item several times. You should add @samp{FEEDSTATUS} to the list of drawers in that file: @example #+DRAWERS: LOGBOOK PROPERTIES FEEDSTATUS @end example For more information, including how to read atom feeds, see @file{org-feed.el} and the docstring of @code{org-feed-alist}. @node Protocols, Refiling notes, RSS Feeds, Capture - Refile - Archive @section Protocols for external access @cindex protocols, for external access @cindex emacsserver You can set up Org for handling protocol calls from outside applications that are passed to Emacs through the @file{emacsserver}. For example, you can configure bookmarks in your web browser to send a link to the current page to Org and create a note from it using capture (@pxref{Capture}). Or you could create a bookmark that will tell Emacs to open the local source file of a remote website you are looking at with the browser. See @uref{http://orgmode.org/worg/org-contrib/org-protocol.php} for detailed documentation and setup instructions. @node Refiling notes, Archiving, Protocols, Capture - Refile - Archive @section Refiling notes @cindex refiling notes When reviewing the captured data, you may want to refile some of the entries into a different list, for example into a project. Cutting, finding the right location, and then pasting the note is cumbersome. To simplify this process, you can use the following special command: @table @kbd @orgcmd{C-c C-w,org-refile} @vindex org-reverse-note-order @vindex org-refile-targets @vindex org-refile-use-outline-path @vindex org-outline-path-complete-in-steps @vindex org-refile-allow-creating-parent-nodes @vindex org-log-refile @vindex org-refile-use-cache Refile the entry or region at point. This command offers possible locations for refiling the entry and lets you select one with completion. The item (or all items in the region) is filed below the target heading as a subitem. Depending on @code{org-reverse-note-order}, it will be either the first or last subitem.@* By default, all level 1 headlines in the current buffer are considered to be targets, but you can have more complex definitions across a number of files. See the variable @code{org-refile-targets} for details. If you would like to select a location via a file-path-like completion along the outline path, see the variables @code{org-refile-use-outline-path} and @code{org-outline-path-complete-in-steps}. If you would like to be able to create new nodes as new parents for refiling on the fly, check the variable @code{org-refile-allow-creating-parent-nodes}. When the variable @code{org-log-refile}@footnote{with corresponding @code{#+STARTUP} keywords @code{logrefile}, @code{lognoterefile}, and @code{nologrefile}} is set, a timestamp or a note will be recorded when an entry has been refiled. @orgkey{C-u C-c C-w} Use the refile interface to jump to a heading. @orgcmd{C-u C-u C-c C-w,org-refile-goto-last-stored} Jump to the location where @code{org-refile} last moved a tree to. @item C-2 C-c C-w Refile as the child of the item currently being clocked. @orgcmdtkc{C-0 C-c C-w @ @r{or} @ C-u C-u C-u C-c C-w,C-0 C-c C-w,org-refile-cache-clear} Clear the target cache. Caching of refile targets can be turned on by setting @code{org-refile-use-cache}. To make the command see new possible targets, you have to clear the cache with this command. @end table @node Archiving, , Refiling notes, Capture - Refile - Archive @section Archiving @cindex archiving When a project represented by a (sub)tree is finished, you may want to move the tree out of the way and to stop it from contributing to the agenda. Archiving is important to keep your working files compact and global searches like the construction of agenda views fast. @table @kbd @orgcmd{C-c C-x C-a,org-archive-subtree-default} @vindex org-archive-default-command Archive the current entry using the command specified in the variable @code{org-archive-default-command}. @end table @menu * Moving subtrees:: Moving a tree to an archive file * Internal archiving:: Switch off a tree but keep it in the file @end menu @node Moving subtrees, Internal archiving, Archiving, Archiving @subsection Moving a tree to the archive file @cindex external archiving The most common archiving action is to move a project tree to another file, the archive file. @table @kbd @orgcmdkskc{C-c C-x C-s,C-c $,org-archive-subtree} @vindex org-archive-location Archive the subtree starting at the cursor position to the location given by @code{org-archive-location}. @orgkey{C-u C-c C-x C-s} Check if any direct children of the current headline could be moved to the archive. To do this, each subtree is checked for open TODO entries. If none are found, the command offers to move it to the archive location. If the cursor is @emph{not} on a headline when this command is invoked, the level 1 trees will be checked. @end table @cindex archive locations The default archive location is a file in the same directory as the current file, with the name derived by appending @file{_archive} to the current file name. For information and examples on how to change this, see the documentation string of the variable @code{org-archive-location}. There is also an in-buffer option for setting this variable, for example@footnote{For backward compatibility, the following also works: If there are several such lines in a file, each specifies the archive location for the text below it. The first such line also applies to any text before its definition. However, using this method is @emph{strongly} deprecated as it is incompatible with the outline structure of the document. The correct method for setting multiple archive locations in a buffer is using properties.}: @cindex #+ARCHIVE @example #+ARCHIVE: %s_done:: @end example @cindex property, ARCHIVE @noindent If you would like to have a special ARCHIVE location for a single entry or a (sub)tree, give the entry an @code{:ARCHIVE:} property with the location as the value (@pxref{Properties and Columns}). @vindex org-archive-save-context-info When a subtree is moved, it receives a number of special properties that record context information like the file from where the entry came, its outline path the archiving time etc. Configure the variable @code{org-archive-save-context-info} to adjust the amount of information added. @node Internal archiving, , Moving subtrees, Archiving @subsection Internal archiving If you want to just switch off (for agenda views) certain subtrees without moving them to a different file, you can use the @code{ARCHIVE tag}. A headline that is marked with the ARCHIVE tag (@pxref{Tags}) stays at its location in the outline tree, but behaves in the following way: @itemize @minus @item @vindex org-cycle-open-archived-trees It does not open when you attempt to do so with a visibility cycling command (@pxref{Visibility cycling}). You can force cycling archived subtrees with @kbd{C-@key{TAB}}, or by setting the option @code{org-cycle-open-archived-trees}. Also normal outline commands like @code{show-all} will open archived subtrees. @item @vindex org-sparse-tree-open-archived-trees During sparse tree construction (@pxref{Sparse trees}), matches in archived subtrees are not exposed, unless you configure the option @code{org-sparse-tree-open-archived-trees}. @item @vindex org-agenda-skip-archived-trees During agenda view construction (@pxref{Agenda Views}), the content of archived trees is ignored unless you configure the option @code{org-agenda-skip-archived-trees}, in which case these trees will always be included. In the agenda you can press @kbd{v a} to get archives temporarily included. @item @vindex org-export-with-archived-trees Archived trees are not exported (@pxref{Exporting}), only the headline is. Configure the details using the variable @code{org-export-with-archived-trees}. @item @vindex org-columns-skip-archived-trees Archived trees are excluded from column view unless the variable @code{org-columns-skip-archived-trees} is configured to @code{nil}. @end itemize The following commands help manage the ARCHIVE tag: @table @kbd @orgcmd{C-c C-x a,org-toggle-archive-tag} Toggle the ARCHIVE tag for the current headline. When the tag is set, the headline changes to a shadowed face, and the subtree below it is hidden. @orgkey{C-u C-c C-x a} Check if any direct children of the current headline should be archived. To do this, each subtree is checked for open TODO entries. If none are found, the command offers to set the ARCHIVE tag for the child. If the cursor is @emph{not} on a headline when this command is invoked, the level 1 trees will be checked. @orgcmd{C-@kbd{TAB},org-force-cycle-archived} Cycle a tree even if it is tagged with ARCHIVE. @orgcmd{C-c C-x A,org-archive-to-archive-sibling} Move the current entry to the @emph{Archive Sibling}. This is a sibling of the entry with the heading @samp{Archive} and the tag @samp{ARCHIVE}. The entry becomes a child of that sibling and in this way retains a lot of its original context, including inherited tags and approximate position in the outline. @end table @node Agenda Views, Markup, Capture - Refile - Archive, Top @chapter Agenda views @cindex agenda views Due to the way Org works, TODO items, time-stamped items, and tagged headlines can be scattered throughout a file or even a number of files. To get an overview of open action items, or of events that are important for a particular date, this information must be collected, sorted and displayed in an organized way. Org can select items based on various criteria and display them in a separate buffer. Seven different view types are provided: @itemize @bullet @item an @emph{agenda} that is like a calendar and shows information for specific dates, @item a @emph{TODO list} that covers all unfinished action items, @item a @emph{match view}, showings headlines based on the tags, properties, and TODO state associated with them, @item a @emph{timeline view} that shows all events in a single Org file, in time-sorted view, @item a @emph{text search view} that shows all entries from multiple files that contain specified keywords, @item a @emph{stuck projects view} showing projects that currently don't move along, and @item @emph{custom views} that are special searches and combinations of different views. @end itemize @noindent The extracted information is displayed in a special @emph{agenda buffer}. This buffer is read-only, but provides commands to visit the corresponding locations in the original Org files, and even to edit these files remotely. @vindex org-agenda-window-setup @vindex org-agenda-restore-windows-after-quit Two variables control how the agenda buffer is displayed and whether the window configuration is restored when the agenda exits: @code{org-agenda-window-setup} and @code{org-agenda-restore-windows-after-quit}. @menu * Agenda files:: Files being searched for agenda information * Agenda dispatcher:: Keyboard access to agenda views * Built-in agenda views:: What is available out of the box? * Presentation and sorting:: How agenda items are prepared for display * Agenda commands:: Remote editing of Org trees * Custom agenda views:: Defining special searches and views * Exporting Agenda Views:: Writing a view to a file * Agenda column view:: Using column view for collected entries @end menu @node Agenda files, Agenda dispatcher, Agenda Views, Agenda Views @section Agenda files @cindex agenda files @cindex files for agenda @vindex org-agenda-files The information to be shown is normally collected from all @emph{agenda files}, the files listed in the variable @code{org-agenda-files}@footnote{If the value of that variable is not a list, but a single file name, then the list of agenda files will be maintained in that external file.}. If a directory is part of this list, all files with the extension @file{.org} in this directory will be part of the list. Thus, even if you only work with a single Org file, that file should be put into the list@footnote{When using the dispatcher, pressing @kbd{<} before selecting a command will actually limit the command to the current file, and ignore @code{org-agenda-files} until the next dispatcher command.}. You can customize @code{org-agenda-files}, but the easiest way to maintain it is through the following commands @cindex files, adding to agenda list @table @kbd @orgcmd{C-c [,org-agenda-file-to-front} Add current file to the list of agenda files. The file is added to the front of the list. If it was already in the list, it is moved to the front. With a prefix argument, file is added/moved to the end. @orgcmd{C-c ],org-remove-file} Remove current file from the list of agenda files. @kindex C-, @cindex cycling, of agenda files @orgcmd{C-',org-cycle-agenda-files} @itemx C-, Cycle through agenda file list, visiting one file after the other. @kindex M-x org-iswitchb @item M-x org-iswitchb Command to use an @code{iswitchb}-like interface to switch to and between Org buffers. @end table @noindent The Org menu contains the current list of files and can be used to visit any of them. If you would like to focus the agenda temporarily on a file not in this list, or on just one file in the list, or even on only a subtree in a file, then this can be done in different ways. For a single agenda command, you may press @kbd{<} once or several times in the dispatcher (@pxref{Agenda dispatcher}). To restrict the agenda scope for an extended period, use the following commands: @table @kbd @orgcmd{C-c C-x <,org-agenda-set-restriction-lock} Permanently restrict the agenda to the current subtree. When with a prefix argument, or with the cursor before the first headline in a file, the agenda scope is set to the entire file. This restriction remains in effect until removed with @kbd{C-c C-x >}, or by typing either @kbd{<} or @kbd{>} in the agenda dispatcher. If there is a window displaying an agenda view, the new restriction takes effect immediately. @orgcmd{C-c C-x >,org-agenda-remove-restriction-lock} Remove the permanent restriction created by @kbd{C-c C-x <}. @end table @noindent When working with @file{speedbar.el}, you can use the following commands in the Speedbar frame: @table @kbd @orgcmdtkc{< @r{in the speedbar frame},<,org-speedbar-set-agenda-restriction} Permanently restrict the agenda to the item---either an Org file or a subtree in such a file---at the cursor in the Speedbar frame. If there is a window displaying an agenda view, the new restriction takes effect immediately. @orgcmdtkc{> @r{in the speedbar frame},>,org-agenda-remove-restriction-lock} Lift the restriction. @end table @node Agenda dispatcher, Built-in agenda views, Agenda files, Agenda Views @section The agenda dispatcher @cindex agenda dispatcher @cindex dispatching agenda commands The views are created through a dispatcher, which should be bound to a global key---for example @kbd{C-c a} (@pxref{Activation}). In the following we will assume that @kbd{C-c a} is indeed how the dispatcher is accessed and list keyboard access to commands accordingly. After pressing @kbd{C-c a}, an additional letter is required to execute a command. The dispatcher offers the following default commands: @table @kbd @item a Create the calendar-like agenda (@pxref{Weekly/daily agenda}). @item t @r{/} T Create a list of all TODO items (@pxref{Global TODO list}). @item m @r{/} M Create a list of headlines matching a TAGS expression (@pxref{Matching tags and properties}). @item L Create the timeline view for the current buffer (@pxref{Timeline}). @item s Create a list of entries selected by a boolean expression of keywords and/or regular expressions that must or must not occur in the entry. @item / @vindex org-agenda-text-search-extra-files Search for a regular expression in all agenda files and additionally in the files listed in @code{org-agenda-text-search-extra-files}. This uses the Emacs command @code{multi-occur}. A prefix argument can be used to specify the number of context lines for each match, default is 1. @item # @r{/} ! Create a list of stuck projects (@pxref{Stuck projects}). @item < Restrict an agenda command to the current buffer@footnote{For backward compatibility, you can also press @kbd{1} to restrict to the current buffer.}. After pressing @kbd{<}, you still need to press the character selecting the command. @item < < If there is an active region, restrict the following agenda command to the region. Otherwise, restrict it to the current subtree@footnote{For backward compatibility, you can also press @kbd{0} to restrict to the current region/subtree.}. After pressing @kbd{< <}, you still need to press the character selecting the command. @end table You can also define custom commands that will be accessible through the dispatcher, just like the default commands. This includes the possibility to create extended agenda buffers that contain several blocks together, for example the weekly agenda, the global TODO list and a number of special tags matches. @xref{Custom agenda views}. @node Built-in agenda views, Presentation and sorting, Agenda dispatcher, Agenda Views @section The built-in agenda views In this section we describe the built-in views. @menu * Weekly/daily agenda:: The calendar page with current tasks * Global TODO list:: All unfinished action items * Matching tags and properties:: Structured information with fine-tuned search * Timeline:: Time-sorted view for single file * Search view:: Find entries by searching for text * Stuck projects:: Find projects you need to review @end menu @node Weekly/daily agenda, Global TODO list, Built-in agenda views, Built-in agenda views @subsection The weekly/daily agenda @cindex agenda @cindex weekly agenda @cindex daily agenda The purpose of the weekly/daily @emph{agenda} is to act like a page of a paper agenda, showing all the tasks for the current week or day. @table @kbd @cindex org-agenda, command @orgcmd{C-c a a,org-agenda-list} Compile an agenda for the current week from a list of Org files. The agenda shows the entries for each day. With a numeric prefix@footnote{For backward compatibility, the universal prefix @kbd{C-u} causes all TODO entries to be listed before the agenda. This feature is deprecated, use the dedicated TODO list, or a block agenda instead (@pxref{Block agenda}).} (like @kbd{C-u 2 1 C-c a a}) you may set the number of days to be displayed. @end table @vindex org-agenda-span @vindex org-agenda-ndays The default number of days displayed in the agenda is set by the variable @code{org-agenda-span} (or the obsolete @code{org-agenda-ndays}). This variable can be set to any number of days you want to see by default in the agenda, or to a span name, such a @code{day}, @code{week}, @code{month} or @code{year}. Remote editing from the agenda buffer means, for example, that you can change the dates of deadlines and appointments from the agenda buffer. The commands available in the Agenda buffer are listed in @ref{Agenda commands}. @subsubheading Calendar/Diary integration @cindex calendar integration @cindex diary integration Emacs contains the calendar and diary by Edward M. Reingold. The calendar displays a three-month calendar with holidays from different countries and cultures. The diary allows you to keep track of anniversaries, lunar phases, sunrise/set, recurrent appointments (weekly, monthly) and more. In this way, it is quite complementary to Org. It can be very useful to combine output from Org with the diary. In order to include entries from the Emacs diary into Org mode's agenda, you only need to customize the variable @lisp (setq org-agenda-include-diary t) @end lisp @noindent After that, everything will happen automatically. All diary entries including holidays, anniversaries, etc., will be included in the agenda buffer created by Org mode. @key{SPC}, @key{TAB}, and @key{RET} can be used from the agenda buffer to jump to the diary file in order to edit existing diary entries. The @kbd{i} command to insert new entries for the current date works in the agenda buffer, as well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display Sunrise/Sunset times, show lunar phases and to convert to other calendars, respectively. @kbd{c} can be used to switch back and forth between calendar and agenda. If you are using the diary only for sexp entries and holidays, it is faster to not use the above setting, but instead to copy or even move the entries into an Org file. Org mode evaluates diary-style sexp entries, and does it faster because there is no overhead for first creating the diary display. Note that the sexp entries must start at the left margin, no whitespace is allowed before them. For example, the following segment of an Org file will be processed and entries will be made in the agenda: @example * Birthdays and similar stuff #+CATEGORY: Holiday %%(org-calendar-holiday) ; special function for holiday names #+CATEGORY: Ann %%(org-anniversary 1956 5 14)@footnote{@code{org-anniversary} is just like @code{diary-anniversary}, but the argument order is always according to ISO and therefore independent of the value of @code{calendar-date-style}.} Arthur Dent is %d years old %%(org-anniversary 1869 10 2) Mahatma Gandhi would be %d years old @end example @subsubheading Anniversaries from BBDB @cindex BBDB, anniversaries @cindex anniversaries, from BBDB If you are using the Big Brothers Database to store your contacts, you will very likely prefer to store anniversaries in BBDB rather than in a separate Org or diary file. Org supports this and will show BBDB anniversaries as part of the agenda. All you need to do is to add the following to one of your agenda files: @example * Anniversaries :PROPERTIES: :CATEGORY: Anniv :END: %%(org-bbdb-anniversaries) @end example You can then go ahead and define anniversaries for a BBDB record. Basically, you need to press @kbd{C-o anniversary @key{RET}} with the cursor in a BBDB record and then add the date in the format @code{YYYY-MM-DD} or @code{MM-DD}, followed by a space and the class of the anniversary (@samp{birthday} or @samp{wedding}, or a format string). If you omit the class, it will default to @samp{birthday}. Here are a few examples, the header for the file @file{org-bbdb.el} contains more detailed information. @example 1973-06-22 06-22 1955-08-02 wedding 2008-04-14 %s released version 6.01 of org mode, %d years ago @end example After a change to BBDB, or for the first agenda display during an Emacs session, the agenda display will suffer a short delay as Org updates its hash with anniversaries. However, from then on things will be very fast---much faster in fact than a long list of @samp{%%(diary-anniversary)} entries in an Org or Diary file. @subsubheading Appointment reminders @cindex @file{appt.el} @cindex appointment reminders @cindex appointment @cindex reminders Org can interact with Emacs appointments notification facility. To add all the appointments of your agenda files, use the command @code{org-agenda-to-appt}. This command also lets you filter through the list of your appointments and add only those belonging to a specific category or matching a regular expression. See the docstring for details. @node Global TODO list, Matching tags and properties, Weekly/daily agenda, Built-in agenda views @subsection The global TODO list @cindex global TODO list @cindex TODO list, global The global TODO list contains all unfinished TODO items formatted and collected into a single place. @table @kbd @orgcmd{C-c a t,org-todo-list} Show the global TODO list. This collects the TODO items from all agenda files (@pxref{Agenda Views}) into a single buffer. By default, this lists items with a state the is not a DONE state. The buffer is in @code{agenda-mode}, so there are commands to examine and manipulate the TODO entries directly from that buffer (@pxref{Agenda commands}). @orgcmd{C-c a T,org-todo-list} @cindex TODO keyword matching @vindex org-todo-keywords Like the above, but allows selection of a specific TODO keyword. You can also do this by specifying a prefix argument to @kbd{C-c a t}. You are prompted for a keyword, and you may also specify several keywords by separating them with @samp{|} as the boolean OR operator. With a numeric prefix, the Nth keyword in @code{org-todo-keywords} is selected. @kindex r The @kbd{r} key in the agenda buffer regenerates it, and you can give a prefix argument to this command to change the selected TODO keyword, for example @kbd{3 r}. If you often need a search for a specific keyword, define a custom command for it (@pxref{Agenda dispatcher}).@* Matching specific TODO keywords can also be done as part of a tags search (@pxref{Tag searches}). @end table Remote editing of TODO items means that you can change the state of a TODO entry with a single key press. The commands available in the TODO list are described in @ref{Agenda commands}. @cindex sublevels, inclusion into TODO list Normally the global TODO list simply shows all headlines with TODO keywords. This list can become very long. There are two ways to keep it more compact: @itemize @minus @item @vindex org-agenda-todo-ignore-scheduled @vindex org-agenda-todo-ignore-deadlines @vindex org-agenda-todo-ignore-timestamp @vindex org-agenda-todo-ignore-with-date Some people view a TODO item that has been @emph{scheduled} for execution or have a @emph{deadline} (@pxref{Timestamps}) as no longer @emph{open}. Configure the variables @code{org-agenda-todo-ignore-scheduled}, @code{org-agenda-todo-ignore-deadlines}, @code{org-agenda-todo-ignore-timestamp} and/or @code{org-agenda-todo-ignore-with-date} to exclude such items from the global TODO list. @item @vindex org-agenda-todo-list-sublevels TODO items may have sublevels to break up the task into subtasks. In such cases it may be enough to list only the highest level TODO headline and omit the sublevels from the global list. Configure the variable @code{org-agenda-todo-list-sublevels} to get this behavior. @end itemize @node Matching tags and properties, Timeline, Global TODO list, Built-in agenda views @subsection Matching tags and properties @cindex matching, of tags @cindex matching, of properties @cindex tags view @cindex match view If headlines in the agenda files are marked with @emph{tags} (@pxref{Tags}), or have properties (@pxref{Properties and Columns}), you can select headlines based on this metadata and collect them into an agenda buffer. The match syntax described here also applies when creating sparse trees with @kbd{C-c / m}. @table @kbd @orgcmd{C-c a m,org-tags-view} Produce a list of all headlines that match a given set of tags. The command prompts for a selection criterion, which is a boolean logic expression with tags, like @samp{+work+urgent-withboss} or @samp{work|home} (@pxref{Tags}). If you often need a specific search, define a custom command for it (@pxref{Agenda dispatcher}). @orgcmd{C-c a M,org-tags-view} @vindex org-tags-match-list-sublevels @vindex org-agenda-tags-todo-honor-ignore-options Like @kbd{C-c a m}, but only select headlines that are also TODO items in a not-DONE state and force checking subitems (see variable @code{org-tags-match-list-sublevels}). To exclude scheduled/deadline items, see the variable @code{org-agenda-tags-todo-honor-ignore-options}. Matching specific TODO keywords together with a tags match is also possible, see @ref{Tag searches}. @end table The commands available in the tags list are described in @ref{Agenda commands}. @subsubheading Match syntax @cindex Boolean logic, for tag/property searches A search string can use Boolean operators @samp{&} for AND and @samp{|} for OR. @samp{&} binds more strongly than @samp{|}. Parentheses are currently not implemented. Each element in the search is either a tag, a regular expression matching tags, or an expression like @code{PROPERTY OPERATOR VALUE} with a comparison operator, accessing a property value. Each element may be preceded by @samp{-}, to select against it, and @samp{+} is syntactic sugar for positive selection. The AND operator @samp{&} is optional when @samp{+} or @samp{-} is present. Here are some examples, using only tags. @table @samp @item +work-boss Select headlines tagged @samp{:work:}, but discard those also tagged @samp{:boss:}. @item work|laptop Selects lines tagged @samp{:work:} or @samp{:laptop:}. @item work|laptop+night Like before, but require the @samp{:laptop:} lines to be tagged also @samp{:night:}. @end table @cindex regular expressions, with tags search Instead of a tag, you may also specify a regular expression enclosed in curly braces. For example, @samp{work+@{^boss.*@}} matches headlines that contain the tag @samp{:work:} and any tag @i{starting} with @samp{boss}. @cindex TODO keyword matching, with tags search @cindex level, require for tags/property match @cindex category, require for tags/property match @vindex org-odd-levels-only You may also test for properties (@pxref{Properties and Columns}) at the same time as matching tags. The properties may be real properties, or special properties that represent other metadata (@pxref{Special properties}). For example, the ``property'' @code{TODO} represents the TODO keyword of the entry. Or, the ``property'' @code{LEVEL} represents the level of an entry. So a search @samp{+LEVEL=3+boss-TODO="DONE"} lists all level three headlines that have the tag @samp{boss} and are @emph{not} marked with the TODO keyword DONE. In buffers with @code{org-odd-levels-only} set, @samp{LEVEL} does not count the number of stars, but @samp{LEVEL=2} will correspond to 3 stars etc. Here are more examples: @table @samp @item work+TODO="WAITING" Select @samp{:work:}-tagged TODO lines with the specific TODO keyword @samp{WAITING}. @item work+TODO="WAITING"|home+TODO="WAITING" Waiting tasks both at work and at home. @end table When matching properties, a number of different operators can be used to test the value of a property. Here is a complex example: @example +work-boss+PRIORITY="A"+Coffee="unlimited"+Effort<2 \ +With=@{Sarah\|Denny@}+SCHEDULED>="<2008-10-11>" @end example @noindent The type of comparison will depend on how the comparison value is written: @itemize @minus @item If the comparison value is a plain number, a numerical comparison is done, and the allowed operators are @samp{<}, @samp{=}, @samp{>}, @samp{<=}, @samp{>=}, and @samp{<>}. @item If the comparison value is enclosed in double-quotes, a string comparison is done, and the same operators are allowed. @item If the comparison value is enclosed in double-quotes @emph{and} angular brackets (like @samp{DEADLINE<="<2008-12-24 18:30>"}), both values are assumed to be date/time specifications in the standard Org way, and the comparison will be done accordingly. Special values that will be recognized are @code{""} for now (including time), and @code{""}, and @code{""} for these days at 0:00 hours, i.e.@: without a time specification. Also strings like @code{"<+5d>"} or @code{"<-2m>"} with units @code{d}, @code{w}, @code{m}, and @code{y} for day, week, month, and year, respectively, can be used. @item If the comparison value is enclosed in curly braces, a regexp match is performed, with @samp{=} meaning that the regexp matches the property value, and @samp{<>} meaning that it does not match. @end itemize So the search string in the example finds entries tagged @samp{:work:} but not @samp{:boss:}, which also have a priority value @samp{A}, a @samp{:Coffee:} property with the value @samp{unlimited}, an @samp{Effort} property that is numerically smaller than 2, a @samp{:With:} property that is matched by the regular expression @samp{Sarah\|Denny}, and that are scheduled on or after October 11, 2008. Accessing TODO, LEVEL, and CATEGORY during a search is fast. Accessing any other properties will slow down the search. However, once you have paid the price by accessing one property, testing additional properties is cheap again. You can configure Org mode to use property inheritance during a search, but beware that this can slow down searches considerably. See @ref{Property inheritance}, for details. For backward compatibility, and also for typing speed, there is also a different way to test TODO states in a search. For this, terminate the tags/property part of the search string (which may include several terms connected with @samp{|}) with a @samp{/} and then specify a Boolean expression just for TODO keywords. The syntax is then similar to that for tags, but should be applied with care: for example, a positive selection on several TODO keywords cannot meaningfully be combined with boolean AND. However, @emph{negative selection} combined with AND can be meaningful. To make sure that only lines are checked that actually have any TODO keyword (resulting in a speed-up), use @kbd{C-c a M}, or equivalently start the TODO part after the slash with @samp{!}. Using @kbd{C-c a M} or @samp{/!} will not match TODO keywords in a DONE state. Examples: @table @samp @item work/WAITING Same as @samp{work+TODO="WAITING"} @item work/!-WAITING-NEXT Select @samp{:work:}-tagged TODO lines that are neither @samp{WAITING} nor @samp{NEXT} @item work/!+WAITING|+NEXT Select @samp{:work:}-tagged TODO lines that are either @samp{WAITING} or @samp{NEXT}. @end table @node Timeline, Search view, Matching tags and properties, Built-in agenda views @subsection Timeline for a single file @cindex timeline, single file @cindex time-sorted view The timeline summarizes all time-stamped items from a single Org mode file in a @emph{time-sorted view}. The main purpose of this command is to give an overview over events in a project. @table @kbd @orgcmd{C-c a L,org-timeline} Show a time-sorted view of the Org file, with all time-stamped items. When called with a @kbd{C-u} prefix, all unfinished TODO entries (scheduled or not) are also listed under the current date. @end table @noindent The commands available in the timeline buffer are listed in @ref{Agenda commands}. @node Search view, Stuck projects, Timeline, Built-in agenda views @subsection Search view @cindex search view @cindex text search @cindex searching, for text This agenda view is a general text search facility for Org mode entries. It is particularly useful to find notes. @table @kbd @orgcmd{C-c a s,org-search-view} This is a special search that lets you select entries by matching a substring or specific words using a boolean logic. @end table For example, the search string @samp{computer equipment} will find entries that contain @samp{computer equipment} as a substring. If the two words are separated by more space or a line break, the search will still match. Search view can also search for specific keywords in the entry, using Boolean logic. The search string @samp{+computer +wifi -ethernet -@{8\.11[bg]@}} will search for note entries that contain the keywords @code{computer} and @code{wifi}, but not the keyword @code{ethernet}, and which are also not matched by the regular expression @code{8\.11[bg]}, meaning to exclude both 8.11b and 8.11g. The first @samp{+} is necessary to turn on word search, other @samp{+} characters are optional. For more details, see the docstring of the command @code{org-search-view}. @vindex org-agenda-text-search-extra-files Note that in addition to the agenda files, this command will also search the files listed in @code{org-agenda-text-search-extra-files}. @node Stuck projects, , Search view, Built-in agenda views @subsection Stuck projects @pindex GTD, Getting Things Done If you are following a system like David Allen's GTD to organize your work, one of the ``duties'' you have is a regular review to make sure that all projects move along. A @emph{stuck} project is a project that has no defined next actions, so it will never show up in the TODO lists Org mode produces. During the review, you need to identify such projects and define next actions for them. @table @kbd @orgcmd{C-c a #,org-agenda-list-stuck-projects} List projects that are stuck. @kindex C-c a ! @item C-c a ! @vindex org-stuck-projects Customize the variable @code{org-stuck-projects} to define what a stuck project is and how to find it. @end table You almost certainly will have to configure this view before it will work for you. The built-in default assumes that all your projects are level-2 headlines, and that a project is not stuck if it has at least one entry marked with a TODO keyword TODO or NEXT or NEXTACTION. Let's assume that you, in your own way of using Org mode, identify projects with a tag PROJECT, and that you use a TODO keyword MAYBE to indicate a project that should not be considered yet. Let's further assume that the TODO keyword DONE marks finished projects, and that NEXT and TODO indicate next actions. The tag @@SHOP indicates shopping and is a next action even without the NEXT tag. Finally, if the project contains the special word IGNORE anywhere, it should not be listed either. In this case you would start by identifying eligible projects with a tags/todo match@footnote{@xref{Tag searches}.} @samp{+PROJECT/-MAYBE-DONE}, and then check for TODO, NEXT, @@SHOP, and IGNORE in the subtree to identify projects that are not stuck. The correct customization for this is @lisp (setq org-stuck-projects '("+PROJECT/-MAYBE-DONE" ("NEXT" "TODO") ("@@SHOP") "\\")) @end lisp Note that if a project is identified as non-stuck, the subtree of this entry will still be searched for stuck projects. @node Presentation and sorting, Agenda commands, Built-in agenda views, Agenda Views @section Presentation and sorting @cindex presentation, of agenda items @vindex org-agenda-prefix-format @vindex org-agenda-tags-column Before displaying items in an agenda view, Org mode visually prepares the items and sorts them. Each item occupies a single line. The line starts with a @emph{prefix} that contains the @emph{category} (@pxref{Categories}) of the item and other important information. You can customize in which column tags will be displayed through @code{org-agenda-tags-column}. You can also customize the prefix using the option @code{org-agenda-prefix-format}. This prefix is followed by a cleaned-up version of the outline headline associated with the item. @menu * Categories:: Not all tasks are equal * Time-of-day specifications:: How the agenda knows the time * Sorting of agenda items:: The order of things @end menu @node Categories, Time-of-day specifications, Presentation and sorting, Presentation and sorting @subsection Categories @cindex category @cindex #+CATEGORY The category is a broad label assigned to each agenda item. By default, the category is simply derived from the file name, but you can also specify it with a special line in the buffer, like this@footnote{For backward compatibility, the following also works: if there are several such lines in a file, each specifies the category for the text below it. The first category also applies to any text before the first CATEGORY line. However, using this method is @emph{strongly} deprecated as it is incompatible with the outline structure of the document. The correct method for setting multiple categories in a buffer is using a property.}: @example #+CATEGORY: Thesis @end example @noindent @cindex property, CATEGORY If you would like to have a special CATEGORY for a single entry or a (sub)tree, give the entry a @code{:CATEGORY:} property with the special category you want to apply as the value. @noindent The display in the agenda buffer looks best if the category is not longer than 10 characters. @noindent You can set up icons for category by customizing the @code{org-agenda-category-icon-alist} variable. @node Time-of-day specifications, Sorting of agenda items, Categories, Presentation and sorting @subsection Time-of-day specifications @cindex time-of-day specification Org mode checks each agenda item for a time-of-day specification. The time can be part of the timestamp that triggered inclusion into the agenda, for example as in @w{@samp{<2005-05-10 Tue 19:00>}}. Time ranges can be specified with two timestamps, like @c @w{@samp{<2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>}}. In the headline of the entry itself, a time(range) may also appear as plain text (like @samp{12:45} or a @samp{8:30-1pm}). If the agenda integrates the Emacs diary (@pxref{Weekly/daily agenda}), time specifications in diary entries are recognized as well. For agenda display, Org mode extracts the time and displays it in a standard 24 hour format as part of the prefix. The example times in the previous paragraphs would end up in the agenda like this: @example 8:30-13:00 Arthur Dent lies in front of the bulldozer 12:45...... Ford Prefect arrives and takes Arthur to the pub 19:00...... The Vogon reads his poem 20:30-22:15 Marvin escorts the Hitchhikers to the bridge @end example @cindex time grid If the agenda is in single-day mode, or for the display of today, the timed entries are embedded in a time grid, like @example 8:00...... ------------------ 8:30-13:00 Arthur Dent lies in front of the bulldozer 10:00...... ------------------ 12:00...... ------------------ 12:45...... Ford Prefect arrives and takes Arthur to the pub 14:00...... ------------------ 16:00...... ------------------ 18:00...... ------------------ 19:00...... The Vogon reads his poem 20:00...... ------------------ 20:30-22:15 Marvin escorts the Hitchhikers to the bridge @end example @vindex org-agenda-use-time-grid @vindex org-agenda-time-grid The time grid can be turned on and off with the variable @code{org-agenda-use-time-grid}, and can be configured with @code{org-agenda-time-grid}. @node Sorting of agenda items, , Time-of-day specifications, Presentation and sorting @subsection Sorting of agenda items @cindex sorting, of agenda items @cindex priorities, of agenda items Before being inserted into a view, the items are sorted. How this is done depends on the type of view. @itemize @bullet @item @vindex org-agenda-files For the daily/weekly agenda, the items for each day are sorted. The default order is to first collect all items containing an explicit time-of-day specification. These entries will be shown at the beginning of the list, as a @emph{schedule} for the day. After that, items remain grouped in categories, in the sequence given by @code{org-agenda-files}. Within each category, items are sorted by priority (@pxref{Priorities}), which is composed of the base priority (2000 for priority @samp{A}, 1000 for @samp{B}, and 0 for @samp{C}), plus additional increments for overdue scheduled or deadline items. @item For the TODO list, items remain in the order of categories, but within each category, sorting takes place according to priority (@pxref{Priorities}). The priority used for sorting derives from the priority cookie, with additions depending on how close an item is to its due or scheduled date. @item For tags matches, items are not sorted at all, but just appear in the sequence in which they are found in the agenda files. @end itemize @vindex org-agenda-sorting-strategy Sorting can be customized using the variable @code{org-agenda-sorting-strategy}, and may also include criteria based on the estimated effort of an entry (@pxref{Effort estimates}). @node Agenda commands, Custom agenda views, Presentation and sorting, Agenda Views @section Commands in the agenda buffer @cindex commands, in agenda buffer Entries in the agenda buffer are linked back to the Org file or diary file where they originate. You are not allowed to edit the agenda buffer itself, but commands are provided to show and jump to the original entry location, and to edit the Org files ``remotely'' from the agenda buffer. In this way, all information is stored only once, removing the risk that your agenda and note files may diverge. Some commands can be executed with mouse clicks on agenda lines. For the other commands, the cursor needs to be in the desired line. @table @kbd @tsubheading{Motion} @cindex motion commands in agenda @orgcmd{n,org-agenda-next-line} Next line (same as @key{down} and @kbd{C-n}). @orgcmd{p,org-agenda-previous-line} Previous line (same as @key{up} and @kbd{C-p}). @tsubheading{View/Go to Org file} @orgcmdkkc{@key{SPC},mouse-3,org-agenda-show-and-scroll-up} Display the original location of the item in another window. With prefix arg, make sure that the entire entry is made visible in the outline, not only the heading. @c @orgcmd{L,org-agenda-recenter} Display original location and recenter that window. @c @orgcmdkkc{@key{TAB},mouse-2,org-agenda-goto} Go to the original location of the item in another window. @c @orgcmd{@key{RET},org-agenda-switch-to} Go to the original location of the item and delete other windows. @c @orgcmd{F,org-agenda-follow-mode} @vindex org-agenda-start-with-follow-mode Toggle Follow mode. In Follow mode, as you move the cursor through the agenda buffer, the other window always shows the corresponding location in the Org file. The initial setting for this mode in new agenda buffers can be set with the variable @code{org-agenda-start-with-follow-mode}. @c @orgcmd{C-c C-x b,org-agenda-tree-to-indirect-buffer} Display the entire subtree of the current item in an indirect buffer. With a numeric prefix argument N, go up to level N and then take that tree. If N is negative, go up that many levels. With a @kbd{C-u} prefix, do not remove the previously used indirect buffer. @orgcmd{C-c C-o,org-agenda-open-link} Follow a link in the entry. This will offer a selection of any links in the text belonging to the referenced Org node. If there is only one link, it will be followed without a selection prompt. @tsubheading{Change display} @cindex display changing, in agenda @kindex A @item A Interactively select another agenda view and append it to the current view. @c @kindex o @item o Delete other windows. @c @orgcmdkskc{v d,d,org-agenda-day-view} @xorgcmdkskc{v w,w,org-agenda-week-view} @xorgcmd{v m,org-agenda-month-view} @xorgcmd{v y,org-agenda-year-view} @xorgcmd{v SPC,org-agenda-reset-view} @vindex org-agenda-span Switch to day/week/month/year view. When switching to day or week view, this setting becomes the default for subsequent agenda refreshes. Since month and year views are slow to create, they do not become the default. A numeric prefix argument may be used to jump directly to a specific day of the year, ISO week, month, or year, respectively. For example, @kbd{32 d} jumps to February 1st, @kbd{9 w} to ISO week number 9. When setting day, week, or month view, a year may be encoded in the prefix argument as well. For example, @kbd{200712 w} will jump to week 12 in 2007. If such a year specification has only one or two digits, it will be mapped to the interval 1938-2037. @kbd{v @key{SPC}} will reset to what is set in @code{org-agenda-span}. @c @orgcmd{f,org-agenda-later} Go forward in time to display the following @code{org-agenda-current-span} days. For example, if the display covers a week, switch to the following week. With prefix arg, go forward that many times @code{org-agenda-current-span} days. @c @orgcmd{b,org-agenda-earlier} Go backward in time to display earlier dates. @c @orgcmd{.,org-agenda-goto-today} Go to today. @c @orgcmd{j,org-agenda-goto-date} Prompt for a date and go there. @c @orgcmd{J,org-agenda-clock-goto} Go to the currently clocked-in task @i{in the agenda buffer}. @c @orgcmd{D,org-agenda-toggle-diary} Toggle the inclusion of diary entries. See @ref{Weekly/daily agenda}. @c @orgcmdkskc{v l,l,org-agenda-log-mode} @kindex v L @vindex org-log-done @vindex org-agenda-log-mode-items Toggle Logbook mode. In Logbook mode, entries that were marked DONE while logging was on (variable @code{org-log-done}) are shown in the agenda, as are entries that have been clocked on that day. You can configure the entry types that should be included in log mode using the variable @code{org-agenda-log-mode-items}. When called with a @kbd{C-u} prefix, show all possible logbook entries, including state changes. When called with two prefix args @kbd{C-u C-u}, show only logging information, nothing else. @kbd{v L} is equivalent to @kbd{C-u v l}. @c @orgcmdkskc{v [,[,org-agenda-manipulate-query-add} Include inactive timestamps into the current view. Only for weekly/daily agenda and timeline views. @c @orgcmd{v a,org-agenda-archives-mode} @xorgcmd{v A,org-agenda-archives-mode 'files} Toggle Archives mode. In Archives mode, trees that are marked @code{ARCHIVED} are also scanned when producing the agenda. When you use the capital @kbd{A}, even all archive files are included. To exit archives mode, press @kbd{v a} again. @c @orgcmdkskc{v R,R,org-agenda-clockreport-mode} @vindex org-agenda-start-with-clockreport-mode @vindex org-clock-report-include-clocking-task Toggle Clockreport mode. In Clockreport mode, the daily/weekly agenda will always show a table with the clocked times for the timespan and file scope covered by the current agenda view. The initial setting for this mode in new agenda buffers can be set with the variable @code{org-agenda-start-with-clockreport-mode}. By using a prefix argument when toggling this mode (i.e.@: @kbd{C-u R}), the clock table will not show contributions from entries that are hidden by agenda filtering@footnote{Only tags filtering will be respected here, effort filtering is ignored.}. See also the variable @code{org-clock-report-include-clocking-task}. @c @orgkey{v c} @vindex org-agenda-clock-consistency-checks Show overlapping clock entries, clocking gaps, and other clocking problems in the current agenda range. You can then visit clocking lines and fix them manually. See the variable @code{org-agenda-clock-consistency-checks} for information on how to customize the definition of what constituted a clocking problem. To return to normal agenda display, press @kbd{l} to exit Logbook mode. @c @orgcmdkskc{v E,E,org-agenda-entry-text-mode} @vindex org-agenda-start-with-entry-text-mode @vindex org-agenda-entry-text-maxlines Toggle entry text mode. In entry text mode, a number of lines from the Org outline node referenced by an agenda line will be displayed below the line. The maximum number of lines is given by the variable @code{org-agenda-entry-text-maxlines}. Calling this command with a numeric prefix argument will temporarily modify that number to the prefix value. @c @orgcmd{G,org-agenda-toggle-time-grid} @vindex org-agenda-use-time-grid @vindex org-agenda-time-grid Toggle the time grid on and off. See also the variables @code{org-agenda-use-time-grid} and @code{org-agenda-time-grid}. @c @orgcmd{r,org-agenda-redo} Recreate the agenda buffer, for example to reflect the changes after modification of the timestamps of items with @kbd{S-@key{left}} and @kbd{S-@key{right}}. When the buffer is the global TODO list, a prefix argument is interpreted to create a selective list for a specific TODO keyword. @orgcmd{g,org-agenda-redo} Same as @kbd{r}. @c @orgcmdkskc{C-x C-s,s,org-save-all-org-buffers} Save all Org buffers in the current Emacs session, and also the locations of IDs. @c @orgcmd{C-c C-x C-c,org-agenda-columns} @vindex org-columns-default-format Invoke column view (@pxref{Column view}) in the agenda buffer. The column view format is taken from the entry at point, or (if there is no entry at point), from the first entry in the agenda view. So whatever the format for that entry would be in the original buffer (taken from a property, from a @code{#+COLUMNS} line, or from the default variable @code{org-columns-default-format}), will be used in the agenda. @orgcmd{C-c C-x >,org-agenda-remove-restriction-lock} Remove the restriction lock on the agenda, if it is currently restricted to a file or subtree (@pxref{Agenda files}). @tsubheading{Secondary filtering and query editing} @cindex filtering, by tag category and effort, in agenda @cindex tag filtering, in agenda @cindex category filtering, in agenda @cindex effort filtering, in agenda @cindex query editing, in agenda @orgcmd{<,org-agenda-filter-by-category} @vindex org-agenda-category-filter-preset Filter the current agenda view with respect to the category of the item at point. Pressing @code{<} another time will remove this filter. You can add a filter preset through the option @code{org-agenda-category-filter-preset} (see below.) @orgcmd{/,org-agenda-filter-by-tag} @vindex org-agenda-tag-filter-preset Filter the current agenda view with respect to a tag and/or effort estimates. The difference between this and a custom agenda command is that filtering is very fast, so that you can switch quickly between different filters without having to recreate the agenda.@footnote{Custom commands can preset a filter by binding the variable @code{org-agenda-tag-filter-preset} as an option. This filter will then be applied to the view and persist as a basic filter through refreshes and more secondary filtering. The filter is a global property of the entire agenda view---in a block agenda, you should only set this in the global options section, not in the section of an individual block.} You will be prompted for a tag selection letter; @key{SPC} will mean any tag at all. Pressing @key{TAB} at that prompt will offer use completion to select a tag (including any tags that do not have a selection character). The command then hides all entries that do not contain or inherit this tag. When called with prefix arg, remove the entries that @emph{do} have the tag. A second @kbd{/} at the prompt will turn off the filter and unhide any hidden entries. If the first key you press is either @kbd{+} or @kbd{-}, the previous filter will be narrowed by requiring or forbidding the selected additional tag. Instead of pressing @kbd{+} or @kbd{-} after @kbd{/}, you can also immediately use the @kbd{\} command. @vindex org-sort-agenda-noeffort-is-high In order to filter for effort estimates, you should set up allowed efforts globally, for example @lisp (setq org-global-properties '(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00"))) @end lisp You can then filter for an effort by first typing an operator, one of @kbd{<}, @kbd{>}, and @kbd{=}, and then the one-digit index of an effort estimate in your array of allowed values, where @kbd{0} means the 10th value. The filter will then restrict to entries with effort smaller-or-equal, equal, or larger-or-equal than the selected value. If the digits 0-9 are not used as fast access keys to tags, you can also simply press the index digit directly without an operator. In this case, @kbd{<} will be assumed. For application of the operator, entries without a defined effort will be treated according to the value of @code{org-sort-agenda-noeffort-is-high}. To filter for tasks without effort definition, press @kbd{?} as the operator. Org also supports automatic, context-aware tag filtering. If the variable @code{org-agenda-auto-exclude-function} is set to a user-defined function, that function can decide which tags should be excluded from the agenda automatically. Once this is set, the @kbd{/} command then accepts @kbd{RET} as a sub-option key and runs the auto exclusion logic. For example, let's say you use a @code{Net} tag to identify tasks which need network access, an @code{Errand} tag for errands in town, and a @code{Call} tag for making phone calls. You could auto-exclude these tags based on the availability of the Internet, and outside of business hours, with something like this: @lisp @group (defun org-my-auto-exclude-function (tag) (and (cond ((string= tag "Net") (/= 0 (call-process "/sbin/ping" nil nil nil "-c1" "-q" "-t1" "mail.gnu.org"))) ((or (string= tag "Errand") (string= tag "Call")) (let ((hour (nth 2 (decode-time)))) (or (< hour 8) (> hour 21))))) (concat "-" tag))) (setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function) @end group @end lisp @orgcmd{\\,org-agenda-filter-by-tag-refine} Narrow the current agenda filter by an additional condition. When called with prefix arg, remove the entries that @emph{do} have the tag, or that do match the effort criterion. You can achieve the same effect by pressing @kbd{+} or @kbd{-} as the first key after the @kbd{/} command. @c @kindex [ @kindex ] @kindex @{ @kindex @} @item [ ] @{ @} @table @i @item @r{in} search view add new search words (@kbd{[} and @kbd{]}) or new regular expressions (@kbd{@{} and @kbd{@}}) to the query string. The opening bracket/brace will add a positive search term prefixed by @samp{+}, indicating that this search term @i{must} occur/match in the entry. The closing bracket/brace will add a negative search term which @i{must not} occur/match in the entry for it to be selected. @end table @tsubheading{Remote editing} @cindex remote editing, from agenda @item 0-9 Digit argument. @c @cindex undoing remote-editing events @cindex remote editing, undo @orgcmd{C-_,org-agenda-undo} Undo a change due to a remote editing command. The change is undone both in the agenda buffer and in the remote buffer. @c @orgcmd{t,org-agenda-todo} Change the TODO state of the item, both in the agenda and in the original org file. @c @orgcmd{C-S-@key{right},org-agenda-todo-nextset} @orgcmd{C-S-@key{left},org-agenda-todo-previousset} Switch to the next/previous set of TODO keywords. @c @orgcmd{C-k,org-agenda-kill} @vindex org-agenda-confirm-kill Delete the current agenda item along with the entire subtree belonging to it in the original Org file. If the text to be deleted remotely is longer than one line, the kill needs to be confirmed by the user. See variable @code{org-agenda-confirm-kill}. @c @orgcmd{C-c C-w,org-agenda-refile} Refile the entry at point. @c @orgcmdkskc{C-c C-x C-a,a,org-agenda-archive-default-with-confirmation} @vindex org-archive-default-command Archive the subtree corresponding to the entry at point using the default archiving command set in @code{org-archive-default-command}. When using the @code{a} key, confirmation will be required. @c @orgcmd{C-c C-x a,org-agenda-toggle-archive-tag} Toggle the ARCHIVE tag for the current headline. @c @orgcmd{C-c C-x A,org-agenda-archive-to-archive-sibling} Move the subtree corresponding to the current entry to its @emph{archive sibling}. @c @orgcmdkskc{C-c C-x C-s,$,org-agenda-archive} Archive the subtree corresponding to the current headline. This means the entry will be moved to the configured archive location, most likely a different file. @c @orgcmd{T,org-agenda-show-tags} @vindex org-agenda-show-inherited-tags Show all tags associated with the current item. This is useful if you have turned off @code{org-agenda-show-inherited-tags}, but still want to see all tags of a headline occasionally. @c @orgcmd{:,org-agenda-set-tags} Set tags for the current headline. If there is an active region in the agenda, change a tag for all headings in the region. @c @kindex , @item , Set the priority for the current item (@command{org-agenda-priority}). Org mode prompts for the priority character. If you reply with @key{SPC}, the priority cookie is removed from the entry. @c @orgcmd{P,org-agenda-show-priority} Display weighted priority of current item. @c @orgcmdkkc{+,S-@key{up},org-agenda-priority-up} Increase the priority of the current item. The priority is changed in the original buffer, but the agenda is not resorted. Use the @kbd{r} key for this. @c @orgcmdkkc{-,S-@key{down},org-agenda-priority-down} Decrease the priority of the current item. @c @orgcmdkkc{z,C-c C-z,org-agenda-add-note} @vindex org-log-into-drawer Add a note to the entry. This note will be recorded, and then filed to the same location where state change notes are put. Depending on @code{org-log-into-drawer}, this may be inside a drawer. @c @orgcmd{C-c C-a,org-attach} Dispatcher for all command related to attachments. @c @orgcmd{C-c C-s,org-agenda-schedule} Schedule this item. With prefix arg remove the scheduling timestamp @c @orgcmd{C-c C-d,org-agenda-deadline} Set a deadline for this item. With prefix arg remove the deadline. @c @orgcmd{k,org-agenda-action} Agenda actions, to set dates for selected items to the cursor date. This command also works in the calendar! The command prompts for an additional key: @example m @r{Mark the entry at point for action. You can also make entries} @r{in Org files with @kbd{C-c C-x C-k}.} d @r{Set the deadline of the marked entry to the date at point.} s @r{Schedule the marked entry at the date at point.} r @r{Call @code{org-capture} with the cursor date as default date.} @end example @noindent Press @kbd{r} afterward to refresh the agenda and see the effect of the command. @c @orgcmd{S-@key{right},org-agenda-do-date-later} Change the timestamp associated with the current line by one day into the future. If the date is in the past, the first call to this command will move it to today.@* With a numeric prefix argument, change it by that many days. For example, @kbd{3 6 5 S-@key{right}} will change it by a year. With a @kbd{C-u} prefix, change the time by one hour. If you immediately repeat the command, it will continue to change hours even without the prefix arg. With a double @kbd{C-u C-u} prefix, do the same for changing minutes.@* The stamp is changed in the original Org file, but the change is not directly reflected in the agenda buffer. Use @kbd{r} or @kbd{g} to update the buffer. @c @orgcmd{S-@key{left},org-agenda-do-date-earlier} Change the timestamp associated with the current line by one day into the past. @c @orgcmd{>,org-agenda-date-prompt} Change the timestamp associated with the current line. The key @kbd{>} has been chosen, because it is the same as @kbd{S-.} on my keyboard. @c @orgcmd{I,org-agenda-clock-in} Start the clock on the current item. If a clock is running already, it is stopped first. @c @orgcmd{O,org-agenda-clock-out} Stop the previously started clock. @c @orgcmd{X,org-agenda-clock-cancel} Cancel the currently running clock. @c @orgcmd{J,org-agenda-clock-goto} Jump to the running clock in another window. @tsubheading{Bulk remote editing selected entries} @cindex remote editing, bulk, from agenda @orgcmd{m,org-agenda-bulk-mark} Mark the entry at point for bulk action. With prefix arg, mark that many successive entries. @c @orgcmd{%,org-agenda-bulk-mark-regexp} Mark entries matching a regular expression for bulk action. @c @orgcmd{u,org-agenda-bulk-unmark} Unmark entry for bulk action. @c @orgcmd{U,org-agenda-bulk-remove-all-marks} Unmark all marked entries for bulk action. @c @orgcmd{B,org-agenda-bulk-action} Bulk action: act on all marked entries in the agenda. This will prompt for another key to select the action to be applied. The prefix arg to @kbd{B} will be passed through to the @kbd{s} and @kbd{d} commands, to bulk-remove these special timestamps. @example r @r{Prompt for a single refile target and move all entries. The entries} @r{will no longer be in the agenda; refresh (@kbd{g}) to bring them back.} $ @r{Archive all selected entries.} A @r{Archive entries by moving them to their respective archive siblings.} t @r{Change TODO state. This prompts for a single TODO keyword and} @r{changes the state of all selected entries, bypassing blocking and} @r{suppressing logging notes (but not timestamps).} + @r{Add a tag to all selected entries.} - @r{Remove a tag from all selected entries.} s @r{Schedule all items to a new date. To shift existing schedule dates} @r{by a fixed number of days, use something starting with double plus} @r{at the prompt, for example @samp{++8d} or @samp{++2w}.} S @r{Reschedule randomly into the coming N days. N will be prompted for.} @r{With prefix arg (@kbd{C-u B S}), scatter only across weekdays.} d @r{Set deadline to a specific date.} f @r{Apply a function to marked entries.} @r{For example, the function below sets the CATEGORY property of the} @r{entries to web.} @r{(defun set-category ()} @r{ (interactive "P")} @r{ (let* ((marker (or (org-get-at-bol 'org-hd-marker)} @r{ (org-agenda-error)))} @r{ (buffer (marker-buffer marker)))} @r{ (with-current-buffer buffer} @r{ (save-excursion} @r{ (save-restriction} @r{ (widen)} @r{ (goto-char marker)} @r{ (org-back-to-heading t)} @r{ (org-set-property "CATEGORY" "web"))))))} @end example @tsubheading{Calendar commands} @cindex calendar commands, from agenda @orgcmd{c,org-agenda-goto-calendar} Open the Emacs calendar and move to the date at the agenda cursor. @c @orgcmd{c,org-calendar-goto-agenda} When in the calendar, compute and show the Org mode agenda for the date at the cursor. @c @cindex diary entries, creating from agenda @orgcmd{i,org-agenda-diary-entry} @vindex org-agenda-diary-file Insert a new entry into the diary, using the date at the cursor and (for block entries) the date at the mark. This will add to the Emacs diary file@footnote{This file is parsed for the agenda when @code{org-agenda-include-diary} is set.}, in a way similar to the @kbd{i} command in the calendar. The diary file will pop up in another window, where you can add the entry. If you configure @code{org-agenda-diary-file} to point to an Org mode file, Org will create entries (in Org mode syntax) in that file instead. Most entries will be stored in a date-based outline tree that will later make it easy to archive appointments from previous months/years. The tree will be built under an entry with a @code{DATE_TREE} property, or else with years as top-level entries. Emacs will prompt you for the entry text---if you specify it, the entry will be created in @code{org-agenda-diary-file} without further interaction. If you directly press @key{RET} at the prompt without typing text, the target file will be shown in another window for you to finish the entry there. See also the @kbd{k r} command. @c @orgcmd{M,org-agenda-phases-of-moon} Show the phases of the moon for the three months around current date. @c @orgcmd{S,org-agenda-sunrise-sunset} Show sunrise and sunset times. The geographical location must be set with calendar variables, see the documentation for the Emacs calendar. @c @orgcmd{C,org-agenda-convert-date} Convert the date at cursor into many other cultural and historic calendars. @c @orgcmd{H,org-agenda-holidays} Show holidays for three months around the cursor date. @item M-x org-export-icalendar-combine-agenda-files Export a single iCalendar file containing entries from all agenda files. This is a globally available command, and also available in the agenda menu. @tsubheading{Exporting to a file} @orgcmd{C-x C-w,org-write-agenda} @cindex exporting agenda views @cindex agenda views, exporting @vindex org-agenda-exporter-settings Write the agenda view to a file. Depending on the extension of the selected file name, the view will be exported as HTML (extension @file{.html} or @file{.htm}), Postscript (extension @file{.ps}), PDF (extension @file{.pdf}), and plain text (any other extension). When called with a @kbd{C-u} prefix argument, immediately open the newly created file. Use the variable @code{org-agenda-exporter-settings} to set options for @file{ps-print} and for @file{htmlize} to be used during export. @tsubheading{Quit and Exit} @orgcmd{q,org-agenda-quit} Quit agenda, remove the agenda buffer. @c @cindex agenda files, removing buffers @orgcmd{x,org-agenda-exit} Exit agenda, remove the agenda buffer and all buffers loaded by Emacs for the compilation of the agenda. Buffers created by the user to visit Org files will not be removed. @end table @node Custom agenda views, Exporting Agenda Views, Agenda commands, Agenda Views @section Custom agenda views @cindex custom agenda views @cindex agenda views, custom Custom agenda commands serve two purposes: to store and quickly access frequently used TODO and tags searches, and to create special composite agenda buffers. Custom agenda commands will be accessible through the dispatcher (@pxref{Agenda dispatcher}), just like the default commands. @menu * Storing searches:: Type once, use often * Block agenda:: All the stuff you need in a single buffer * Setting Options:: Changing the rules @end menu @node Storing searches, Block agenda, Custom agenda views, Custom agenda views @subsection Storing searches The first application of custom searches is the definition of keyboard shortcuts for frequently used searches, either creating an agenda buffer, or a sparse tree (the latter covering of course only the current buffer). @kindex C-c a C @vindex org-agenda-custom-commands Custom commands are configured in the variable @code{org-agenda-custom-commands}. You can customize this variable, for example by pressing @kbd{C-c a C}. You can also directly set it with Emacs Lisp in @file{.emacs}. The following example contains all valid search types: @lisp @group (setq org-agenda-custom-commands '(("w" todo "WAITING") ("W" todo-tree "WAITING") ("u" tags "+boss-urgent") ("v" tags-todo "+boss-urgent") ("U" tags-tree "+boss-urgent") ("f" occur-tree "\\") ("h" . "HOME+Name tags searches") ; description for "h" prefix ("hl" tags "+home+Lisa") ("hp" tags "+home+Peter") ("hk" tags "+home+Kim"))) @end group @end lisp @noindent The initial string in each entry defines the keys you have to press after the dispatcher command @kbd{C-c a} in order to access the command. Usually this will be just a single character, but if you have many similar commands, you can also define two-letter combinations where the first character is the same in several combinations and serves as a prefix key@footnote{You can provide a description for a prefix key by inserting a cons cell with the prefix and the description.}. The second parameter is the search type, followed by the string or regular expression to be used for the matching. The example above will therefore define: @table @kbd @item C-c a w as a global search for TODO entries with @samp{WAITING} as the TODO keyword @item C-c a W as the same search, but only in the current buffer and displaying the results as a sparse tree @item C-c a u as a global tags search for headlines marked @samp{:boss:} but not @samp{:urgent:} @item C-c a v as the same search as @kbd{C-c a u}, but limiting the search to headlines that are also TODO items @item C-c a U as the same search as @kbd{C-c a u}, but only in the current buffer and displaying the result as a sparse tree @item C-c a f to create a sparse tree (again: current buffer only) with all entries containing the word @samp{FIXME} @item C-c a h as a prefix command for a HOME tags search where you have to press an additional key (@kbd{l}, @kbd{p} or @kbd{k}) to select a name (Lisa, Peter, or Kim) as additional tag to match. @end table @node Block agenda, Setting Options, Storing searches, Custom agenda views @subsection Block agenda @cindex block agenda @cindex agenda, with block views Another possibility is the construction of agenda views that comprise the results of @emph{several} commands, each of which creates a block in the agenda buffer. The available commands include @code{agenda} for the daily or weekly agenda (as created with @kbd{C-c a a}), @code{alltodo} for the global TODO list (as constructed with @kbd{C-c a t}), and the matching commands discussed above: @code{todo}, @code{tags}, and @code{tags-todo}. Here are two examples: @lisp @group (setq org-agenda-custom-commands '(("h" "Agenda and Home-related tasks" ((agenda "") (tags-todo "home") (tags "garden"))) ("o" "Agenda and Office-related tasks" ((agenda "") (tags-todo "work") (tags "office"))))) @end group @end lisp @noindent This will define @kbd{C-c a h} to create a multi-block view for stuff you need to attend to at home. The resulting agenda buffer will contain your agenda for the current week, all TODO items that carry the tag @samp{home}, and also all lines tagged with @samp{garden}. Finally the command @kbd{C-c a o} provides a similar view for office tasks. @node Setting Options, , Block agenda, Custom agenda views @subsection Setting options for custom commands @cindex options, for custom agenda views @vindex org-agenda-custom-commands Org mode contains a number of variables regulating agenda construction and display. The global variables define the behavior for all agenda commands, including the custom commands. However, if you want to change some settings just for a single custom view, you can do so. Setting options requires inserting a list of variable names and values at the right spot in @code{org-agenda-custom-commands}. For example: @lisp @group (setq org-agenda-custom-commands '(("w" todo "WAITING" ((org-agenda-sorting-strategy '(priority-down)) (org-agenda-prefix-format " Mixed: "))) ("U" tags-tree "+boss-urgent" ((org-show-following-heading nil) (org-show-hierarchy-above nil))) ("N" search "" ((org-agenda-files '("~org/notes.org")) (org-agenda-text-search-extra-files nil))))) @end group @end lisp @noindent Now the @kbd{C-c a w} command will sort the collected entries only by priority, and the prefix format is modified to just say @samp{ Mixed: } instead of giving the category of the entry. The sparse tags tree of @kbd{C-c a U} will now turn out ultra-compact, because neither the headline hierarchy above the match, nor the headline following the match will be shown. The command @kbd{C-c a N} will do a text search limited to only a single file. @vindex org-agenda-custom-commands For command sets creating a block agenda, @code{org-agenda-custom-commands} has two separate spots for setting options. You can add options that should be valid for just a single command in the set, and options that should be valid for all commands in the set. The former are just added to the command entry; the latter must come after the list of command entries. Going back to the block agenda example (@pxref{Block agenda}), let's change the sorting strategy for the @kbd{C-c a h} commands to @code{priority-down}, but let's sort the results for GARDEN tags query in the opposite order, @code{priority-up}. This would look like this: @lisp @group (setq org-agenda-custom-commands '(("h" "Agenda and Home-related tasks" ((agenda) (tags-todo "home") (tags "garden" ((org-agenda-sorting-strategy '(priority-up))))) ((org-agenda-sorting-strategy '(priority-down)))) ("o" "Agenda and Office-related tasks" ((agenda) (tags-todo "work") (tags "office"))))) @end group @end lisp As you see, the values and parentheses setting is a little complex. When in doubt, use the customize interface to set this variable---it fully supports its structure. Just one caveat: when setting options in this interface, the @emph{values} are just Lisp expressions. So if the value is a string, you need to add the double-quotes around the value yourself. @node Exporting Agenda Views, Agenda column view, Custom agenda views, Agenda Views @section Exporting Agenda Views @cindex agenda views, exporting If you are away from your computer, it can be very useful to have a printed version of some agenda views to carry around. Org mode can export custom agenda views as plain text, HTML@footnote{You need to install Hrvoje Niksic's @file{htmlize.el}.}, Postscript, PDF@footnote{To create PDF output, the ghostscript @file{ps2pdf} utility must be installed on the system. Selecting a PDF file will also create the postscript file.}, and iCalendar files. If you want to do this only occasionally, use the command @table @kbd @orgcmd{C-x C-w,org-write-agenda} @cindex exporting agenda views @cindex agenda views, exporting @vindex org-agenda-exporter-settings Write the agenda view to a file. Depending on the extension of the selected file name, the view will be exported as HTML (extension @file{.html} or @file{.htm}), Postscript (extension @file{.ps}), iCalendar (extension @file{.ics}), or plain text (any other extension). Use the variable @code{org-agenda-exporter-settings} to set options for @file{ps-print} and for @file{htmlize} to be used during export, for example @vindex org-agenda-add-entry-text-maxlines @vindex htmlize-output-type @vindex ps-number-of-columns @vindex ps-landscape-mode @lisp (setq org-agenda-exporter-settings '((ps-number-of-columns 2) (ps-landscape-mode t) (org-agenda-add-entry-text-maxlines 5) (htmlize-output-type 'css))) @end lisp @end table If you need to export certain agenda views frequently, you can associate any custom agenda command with a list of output file names @footnote{If you want to store standard views like the weekly agenda or the global TODO list as well, you need to define custom commands for them in order to be able to specify file names.}. Here is an example that first defines custom commands for the agenda and the global TODO list, together with a number of files to which to export them. Then we define two block agenda commands and specify file names for them as well. File names can be relative to the current working directory, or absolute. @lisp @group (setq org-agenda-custom-commands '(("X" agenda "" nil ("agenda.html" "agenda.ps")) ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps")) ("h" "Agenda and Home-related tasks" ((agenda "") (tags-todo "home") (tags "garden")) nil ("~/views/home.html")) ("o" "Agenda and Office-related tasks" ((agenda) (tags-todo "work") (tags "office")) nil ("~/views/office.ps" "~/calendars/office.ics")))) @end group @end lisp The extension of the file name determines the type of export. If it is @file{.html}, Org mode will use the @file{htmlize.el} package to convert the buffer to HTML and save it to this file name. If the extension is @file{.ps}, @code{ps-print-buffer-with-faces} is used to produce Postscript output. If the extension is @file{.ics}, iCalendar export is run export over all files that were used to construct the agenda, and limit the export to entries listed in the agenda. Any other extension produces a plain ASCII file. The export files are @emph{not} created when you use one of those commands interactively because this might use too much overhead. Instead, there is a special command to produce @emph{all} specified files in one step: @table @kbd @orgcmd{C-c a e,org-store-agenda-views} Export all agenda views that have export file names associated with them. @end table You can use the options section of the custom agenda commands to also set options for the export commands. For example: @lisp (setq org-agenda-custom-commands '(("X" agenda "" ((ps-number-of-columns 2) (ps-landscape-mode t) (org-agenda-prefix-format " [ ] ") (org-agenda-with-colors nil) (org-agenda-remove-tags t)) ("theagenda.ps")))) @end lisp @noindent This command sets two options for the Postscript exporter, to make it print in two columns in landscape format---the resulting page can be cut in two and then used in a paper agenda. The remaining settings modify the agenda prefix to omit category and scheduling information, and instead include a checkbox to check off items. We also remove the tags to make the lines compact, and we don't want to use colors for the black-and-white printer. Settings specified in @code{org-agenda-exporter-settings} will also apply, but the settings in @code{org-agenda-custom-commands} take precedence. @noindent From the command line you may also use @example emacs -eval (org-batch-store-agenda-views) -kill @end example @noindent or, if you need to modify some parameters@footnote{Quoting depends on the system you use, please check the FAQ for examples.} @example emacs -eval '(org-batch-store-agenda-views \ org-agenda-span (quote month) \ org-agenda-start-day "2007-11-01" \ org-agenda-include-diary nil \ org-agenda-files (quote ("~/org/project.org")))' \ -kill @end example @noindent which will create the agenda views restricted to the file @file{~/org/project.org}, without diary entries and with a 30-day extent. You can also extract agenda information in a way that allows further processing by other programs. See @ref{Extracting agenda information}, for more information. @node Agenda column view, , Exporting Agenda Views, Agenda Views @section Using column view in the agenda @cindex column view, in agenda @cindex agenda, column view Column view (@pxref{Column view}) is normally used to view and edit properties embedded in the hierarchical structure of an Org file. It can be quite useful to use column view also from the agenda, where entries are collected by certain criteria. @table @kbd @orgcmd{C-c C-x C-c,org-agenda-columns} Turn on column view in the agenda. @end table To understand how to use this properly, it is important to realize that the entries in the agenda are no longer in their proper outline environment. This causes the following issues: @enumerate @item @vindex org-columns-default-format @vindex org-overriding-columns-format Org needs to make a decision which @code{COLUMNS} format to use. Since the entries in the agenda are collected from different files, and different files may have different @code{COLUMNS} formats, this is a non-trivial problem. Org first checks if the variable @code{org-agenda-overriding-columns-format} is currently set, and if so, takes the format from there. Otherwise it takes the format associated with the first item in the agenda, or, if that item does not have a specific format (defined in a property, or in its file), it uses @code{org-columns-default-format}. @item @cindex property, special, CLOCKSUM If any of the columns has a summary type defined (@pxref{Column attributes}), turning on column view in the agenda will visit all relevant agenda files and make sure that the computations of this property are up to date. This is also true for the special @code{CLOCKSUM} property. Org will then sum the values displayed in the agenda. In the daily/weekly agenda, the sums will cover a single day; in all other views they cover the entire block. It is vital to realize that the agenda may show the same entry @emph{twice} (for example as scheduled and as a deadline), and it may show two entries from the same hierarchy (for example a @emph{parent} and its @emph{child}). In these cases, the summation in the agenda will lead to incorrect results because some values will count double. @item When the column view in the agenda shows the @code{CLOCKSUM}, that is always the entire clocked time for this item. So even in the daily/weekly agenda, the clocksum listed in column view may originate from times outside the current view. This has the advantage that you can compare these values with a column listing the planned total effort for a task---one of the major applications for column view in the agenda. If you want information about clocked time in the displayed period use clock table mode (press @kbd{R} in the agenda). @end enumerate @node Markup, Exporting, Agenda Views, Top @chapter Markup for rich export When exporting Org mode documents, the exporter tries to reflect the structure of the document as accurately as possible in the backend. Since export targets like HTML, @LaTeX{}, or DocBook allow much richer formatting, Org mode has rules on how to prepare text for rich export. This section summarizes the markup rules used in an Org mode buffer. @menu * Structural markup elements:: The basic structure as seen by the exporter * Images and tables:: Tables and Images will be included * Literal examples:: Source code examples with special formatting * Include files:: Include additional files into a document * Index entries:: Making an index * Macro replacement:: Use macros to create complex output * Embedded @LaTeX{}:: LaTeX can be freely used inside Org documents @end menu @node Structural markup elements, Images and tables, Markup, Markup @section Structural markup elements @menu * Document title:: Where the title is taken from * Headings and sections:: The document structure as seen by the exporter * Table of contents:: The if and where of the table of contents * Initial text:: Text before the first heading? * Lists:: Lists * Paragraphs:: Paragraphs * Footnote markup:: Footnotes * Emphasis and monospace:: Bold, italic, etc. * Horizontal rules:: Make a line * Comment lines:: What will *not* be exported @end menu @node Document title, Headings and sections, Structural markup elements, Structural markup elements @subheading Document title @cindex document title, markup rules @noindent The title of the exported document is taken from the special line @cindex #+TITLE @example #+TITLE: This is the title of the document @end example @noindent If this line does not exist, the title is derived from the first non-empty, non-comment line in the buffer. If no such line exists, or if you have turned off exporting of the text before the first headline (see below), the title will be the file name without extension. @cindex property, EXPORT_TITLE If you are exporting only a subtree by marking is as the region, the heading of the subtree will become the title of the document. If the subtree has a property @code{EXPORT_TITLE}, that will take precedence. @node Headings and sections, Table of contents, Document title, Structural markup elements @subheading Headings and sections @cindex headings and sections, markup rules @vindex org-export-headline-levels The outline structure of the document as described in @ref{Document Structure}, forms the basis for defining sections of the exported document. However, since the outline structure is also used for (for example) lists of tasks, only the first three outline levels will be used as headings. Deeper levels will become itemized lists. You can change the location of this switch globally by setting the variable @code{org-export-headline-levels}, or on a per-file basis with a line @cindex #+OPTIONS @example #+OPTIONS: H:4 @end example @node Table of contents, Initial text, Headings and sections, Structural markup elements @subheading Table of contents @cindex table of contents, markup rules @vindex org-export-with-toc The table of contents is normally inserted directly before the first headline of the file. If you would like to get it to a different location, insert the string @code{[TABLE-OF-CONTENTS]} on a line by itself at the desired location. The depth of the table of contents is by default the same as the number of headline levels, but you can choose a smaller number, or turn off the table of contents entirely, by configuring the variable @code{org-export-with-toc}, or on a per-file basis with a line like @example #+OPTIONS: toc:2 (only to two levels in TOC) #+OPTIONS: toc:nil (no TOC at all) @end example @node Initial text, Lists, Table of contents, Structural markup elements @subheading Text before the first headline @cindex text before first headline, markup rules @cindex #+TEXT Org mode normally exports the text before the first headline, and even uses the first line as the document title. The text will be fully marked up. If you need to include literal HTML, @LaTeX{}, or DocBook code, use the special constructs described below in the sections for the individual exporters. @vindex org-export-skip-text-before-1st-heading Some people like to use the space before the first headline for setup and internal links and therefore would like to control the exported text before the first headline in a different way. You can do so by setting the variable @code{org-export-skip-text-before-1st-heading} to @code{t}. On a per-file basis, you can get the same effect with @samp{#+OPTIONS: skip:t}. @noindent If you still want to have some text before the first headline, use the @code{#+TEXT} construct: @example #+OPTIONS: skip:t #+TEXT: This text will go before the *first* headline. #+TEXT: [TABLE-OF-CONTENTS] #+TEXT: This goes between the table of contents and the *first* headline @end example @node Lists, Paragraphs, Initial text, Structural markup elements @subheading Lists @cindex lists, markup rules Plain lists as described in @ref{Plain lists}, are translated to the backend's syntax for such lists. Most backends support unordered, ordered, and description lists. @node Paragraphs, Footnote markup, Lists, Structural markup elements @subheading Paragraphs, line breaks, and quoting @cindex paragraphs, markup rules Paragraphs are separated by at least one empty line. If you need to enforce a line break within a paragraph, use @samp{\\} at the end of a line. To keep the line breaks in a region, but otherwise use normal formatting, you can use this construct, which can also be used to format poetry. @cindex #+BEGIN_VERSE @example #+BEGIN_VERSE Great clouds overhead Tiny black birds rise and fall Snow covers Emacs -- AlexSchroeder #+END_VERSE @end example When quoting a passage from another document, it is customary to format this as a paragraph that is indented on both the left and the right margin. You can include quotations in Org mode documents like this: @cindex #+BEGIN_QUOTE @example #+BEGIN_QUOTE Everything should be made as simple as possible, but not any simpler -- Albert Einstein #+END_QUOTE @end example If you would like to center some text, do it like this: @cindex #+BEGIN_CENTER @example #+BEGIN_CENTER Everything should be made as simple as possible, \\ but not any simpler #+END_CENTER @end example @node Footnote markup, Emphasis and monospace, Paragraphs, Structural markup elements @subheading Footnote markup @cindex footnotes, markup rules @cindex @file{footnote.el} Footnotes defined in the way described in @ref{Footnotes}, will be exported by all backends. Org allows multiple references to the same note, and multiple footnotes side by side. @node Emphasis and monospace, Horizontal rules, Footnote markup, Structural markup elements @subheading Emphasis and monospace @cindex underlined text, markup rules @cindex bold text, markup rules @cindex italic text, markup rules @cindex verbatim text, markup rules @cindex code text, markup rules @cindex strike-through text, markup rules You can make words @b{*bold*}, @i{/italic/}, _underlined_, @code{=code=} and @code{~verbatim~}, and, if you must, @samp{+strike-through+}. Text in the code and verbatim string is not processed for Org mode specific syntax; it is exported verbatim. @node Horizontal rules, Comment lines, Emphasis and monospace, Structural markup elements @subheading Horizontal rules @cindex horizontal rules, markup rules A line consisting of only dashes, and at least 5 of them, will be exported as a horizontal line (@samp{
} in HTML and @code{\hrule} in @LaTeX{}). @node Comment lines, , Horizontal rules, Structural markup elements @subheading Comment lines @cindex comment lines @cindex exporting, not @cindex #+BEGIN_COMMENT Lines starting with @samp{#} in column zero are treated as comments and will never be exported. If you want an indented line to be treated as a comment, start it with @samp{#+ }. Also entire subtrees starting with the word @samp{COMMENT} will never be exported. Finally, regions surrounded by @samp{#+BEGIN_COMMENT} ... @samp{#+END_COMMENT} will not be exported. @table @kbd @kindex C-c ; @item C-c ; Toggle the COMMENT keyword at the beginning of an entry. @end table @node Images and tables, Literal examples, Structural markup elements, Markup @section Images and Tables @cindex tables, markup rules @cindex #+CAPTION @cindex #+LABEL Both the native Org mode tables (@pxref{Tables}) and tables formatted with the @file{table.el} package will be exported properly. For Org mode tables, the lines before the first horizontal separator line will become table header lines. You can use the following lines somewhere before the table to assign a caption and a label for cross references, and in the text you can refer to the object with @code{\ref@{tab:basic-data@}}: @example #+CAPTION: This is the caption for the next table (or link) #+LABEL: tbl:basic-data | ... | ...| |-----|----| @end example Optionally, the caption can take the form: @example #+CAPTION: [Caption for list of figures]@{Caption for table (or link).@} @end example @cindex inlined images, markup rules Some backends (HTML, @LaTeX{}, and DocBook) allow you to directly include images into the exported document. Org does this, if a link to an image files does not have a description part, for example @code{[[./img/a.jpg]]}. If you wish to define a caption for the image and maybe a label for internal cross references, make sure that the link is on a line by itself and precede it with @code{#+CAPTION} and @code{#+LABEL} as follows: @example #+CAPTION: This is the caption for the next figure link (or table) #+LABEL: fig:SED-HR4049 [[./img/a.jpg]] @end example You may also define additional attributes for the figure. As this is backend-specific, see the sections about the individual backends for more information. @xref{Handling links,the discussion of image links}. @node Literal examples, Include files, Images and tables, Markup @section Literal examples @cindex literal examples, markup rules @cindex code line references, markup rules You can include literal examples that should not be subjected to markup. Such examples will be typeset in monospace, so this is well suited for source code and similar examples. @cindex #+BEGIN_EXAMPLE @example #+BEGIN_EXAMPLE Some example from a text file. #+END_EXAMPLE @end example Note that such blocks may be @i{indented} in order to align nicely with indented text and in particular with plain list structure (@pxref{Plain lists}). For simplicity when using small examples, you can also start the example lines with a colon followed by a space. There may also be additional whitespace before the colon: @example Here is an example : Some example from a text file. @end example @cindex formatting source code, markup rules If the example is source code from a programming language, or any other text that can be marked up by font-lock in Emacs, you can ask for the example to look like the fontified Emacs buffer@footnote{This works automatically for the HTML backend (it requires version 1.34 of the @file{htmlize.el} package, which is distributed with Org). Fontified code chunks in @LaTeX{} can be achieved using either the listings or the @url{http://code.google.com/p/minted, minted,} package. To use listings, turn on the variable @code{org-export-latex-listings} and ensure that the listings package is included by the @LaTeX{} header (e.g.@: by configuring @code{org-export-latex-packages-alist}). See the listings documentation for configuration options, including obtaining colored output. For minted it is necessary to install the program @url{http://pygments.org, pygments}, in addition to setting @code{org-export-latex-minted}, ensuring that the minted package is included by the @LaTeX{} header, and ensuring that the @code{-shell-escape} option is passed to @file{pdflatex} (see @code{org-latex-to-pdf-process}). See the documentation of the variables @code{org-export-latex-listings} and @code{org-export-latex-minted} for further details.}. This is done with the @samp{src} block, where you also need to specify the name of the major mode that should be used to fontify the example@footnote{Code in @samp{src} blocks may also be evaluated either interactively or on export. See @pxref{Working With Source Code} for more information on evaluating code blocks.}, see @ref{Easy Templates} for shortcuts to easily insert code blocks. @cindex #+BEGIN_SRC @example #+BEGIN_SRC emacs-lisp (defun org-xor (a b) "Exclusive or." (if a (not b) b)) #+END_SRC @end example Both in @code{example} and in @code{src} snippets, you can add a @code{-n} switch to the end of the @code{BEGIN} line, to get the lines of the example numbered. If you use a @code{+n} switch, the numbering from the previous numbered snippet will be continued in the current one. In literal examples, Org will interpret strings like @samp{(ref:name)} as labels, and use them as targets for special hyperlinks like @code{[[(name)]]} (i.e.@: the reference name enclosed in single parenthesis). In HTML, hovering the mouse over such a link will remote-highlight the corresponding code line, which is kind of cool. You can also add a @code{-r} switch which @i{removes} the labels from the source code@footnote{Adding @code{-k} to @code{-n -r} will @i{keep} the labels in the source code while using line numbers for the links, which might be useful to explain those in an Org mode example code.}. With the @code{-n} switch, links to these references will be labeled by the line numbers from the code listing, otherwise links will use the labels with no parentheses. Here is an example: @example #+BEGIN_SRC emacs-lisp -n -r (save-excursion (ref:sc) (goto-char (point-min)) (ref:jump) #+END_SRC In line [[(sc)]] we remember the current position. [[(jump)][Line (jump)]] jumps to point-min. @end example @vindex org-coderef-label-format If the syntax for the label format conflicts with the language syntax, use a @code{-l} switch to change the format, for example @samp{#+BEGIN_SRC pascal -n -r -l "((%s))"}. See also the variable @code{org-coderef-label-format}. HTML export also allows examples to be published as text areas (@pxref{Text areas in HTML export}). Because the @code{#+BEGIN_...} and @code{#+END_...} patterns need to be added so often, shortcuts are provided using the Easy Templates facility (@pxref{Easy Templates}). @table @kbd @kindex C-c ' @item C-c ' Edit the source code example at point in its native mode. This works by switching to a temporary buffer with the source code. You need to exit by pressing @kbd{C-c '} again@footnote{Upon exit, lines starting with @samp{*} or @samp{#} will get a comma prepended, to keep them from being interpreted by Org as outline nodes or special comments. These commas will be stripped for editing with @kbd{C-c '}, and also for export.}. The edited version will then replace the old version in the Org buffer. Fixed-width regions (where each line starts with a colon followed by a space) will be edited using @code{artist-mode}@footnote{You may select a different-mode with the variable @code{org-edit-fixed-width-region-mode}.} to allow creating ASCII drawings easily. Using this command in an empty line will create a new fixed-width region. @kindex C-c l @item C-c l Calling @code{org-store-link} while editing a source code example in a temporary buffer created with @kbd{C-c '} will prompt for a label. Make sure that it is unique in the current buffer, and insert it with the proper formatting like @samp{(ref:label)} at the end of the current line. Then the label is stored as a link @samp{(label)}, for retrieval with @kbd{C-c C-l}. @end table @node Include files, Index entries, Literal examples, Markup @section Include files @cindex include files, markup rules During export, you can include the content of another file. For example, to include your @file{.emacs} file, you could use: @cindex #+INCLUDE @example #+INCLUDE: "~/.emacs" src emacs-lisp @end example @noindent The optional second and third parameter are the markup (e.g.@: @samp{quote}, @samp{example}, or @samp{src}), and, if the markup is @samp{src}, the language for formatting the contents. The markup is optional; if it is not given, the text will be assumed to be in Org mode format and will be processed normally. The include line will also allow additional keyword parameters @code{:prefix1} and @code{:prefix} to specify prefixes for the first line and for each following line, @code{:minlevel} in order to get Org mode content demoted to a specified level, as well as any options accepted by the selected markup. For example, to include a file as an item, use @example #+INCLUDE: "~/snippets/xx" :prefix1 " + " :prefix " " @end example You can also include a portion of a file by specifying a lines range using the @code{:lines} parameter. The line at the upper end of the range will not be included. The start and/or the end of the range may be omitted to use the obvious defaults. @example #+INCLUDE: "~/.emacs" :lines "5-10" @r{Include lines 5 to 10, 10 excluded} #+INCLUDE: "~/.emacs" :lines "-10" @r{Include lines 1 to 10, 10 excluded} #+INCLUDE: "~/.emacs" :lines "10-" @r{Include lines from 10 to EOF} @end example @table @kbd @kindex C-c ' @item C-c ' Visit the include file at point. @end table @node Index entries, Macro replacement, Include files, Markup @section Index entries @cindex index entries, for publishing You can specify entries that will be used for generating an index during publishing. This is done by lines starting with @code{#+INDEX}. An entry the contains an exclamation mark will create a sub item. See @ref{Generating an index} for more information. @example * Curriculum Vitae #+INDEX: CV #+INDEX: Application!CV @end example @node Macro replacement, Embedded @LaTeX{}, Index entries, Markup @section Macro replacement @cindex macro replacement, during export @cindex #+MACRO You can define text snippets with @example #+MACRO: name replacement text $1, $2 are arguments @end example @noindent which can be referenced anywhere in the document (even in code examples) with @code{@{@{@{name(arg1,arg2)@}@}@}}. In addition to defined macros, @code{@{@{@{title@}@}@}}, @code{@{@{@{author@}@}@}}, etc., will reference information set by the @code{#+TITLE:}, @code{#+AUTHOR:}, and similar lines. Also, @code{@{@{@{date(@var{FORMAT})@}@}@}} and @code{@{@{@{modification-time(@var{FORMAT})@}@}@}} refer to current date time and to the modification time of the file being exported, respectively. @var{FORMAT} should be a format string understood by @code{format-time-string}. Macro expansion takes place during export, and some people use it to construct complex HTML code. @node Embedded @LaTeX{}, , Macro replacement, Markup @section Embedded @LaTeX{} @cindex @TeX{} interpretation @cindex @LaTeX{} interpretation Plain ASCII is normally sufficient for almost all note taking. Exceptions include scientific notes, which often require mathematical symbols and the occasional formula. @LaTeX{}@footnote{@LaTeX{} is a macro system based on Donald E. Knuth's @TeX{} system. Many of the features described here as ``@LaTeX{}'' are really from @TeX{}, but for simplicity I am blurring this distinction.} is widely used to typeset scientific documents. Org mode supports embedding @LaTeX{} code into its files, because many academics are used to writing and reading @LaTeX{} source code, and because it can be readily processed to produce pretty output for a number of export backends. @menu * Special symbols:: Greek letters and other symbols * Subscripts and superscripts:: Simple syntax for raising/lowering text * @LaTeX{} fragments:: Complex formulas made easy * Previewing @LaTeX{} fragments:: What will this snippet look like? * CDLaTeX mode:: Speed up entering of formulas @end menu @node Special symbols, Subscripts and superscripts, Embedded @LaTeX{}, Embedded @LaTeX{} @subsection Special symbols @cindex math symbols @cindex special symbols @cindex @TeX{} macros @cindex @LaTeX{} fragments, markup rules @cindex HTML entities @cindex @LaTeX{} entities You can use @LaTeX{} macros to insert special symbols like @samp{\alpha} to indicate the Greek letter, or @samp{\to} to indicate an arrow. Completion for these macros is available, just type @samp{\} and maybe a few letters, and press @kbd{M-@key{TAB}} to see possible completions. Unlike @LaTeX{} code, Org mode allows these macros to be present without surrounding math delimiters, for example: @example Angles are written as Greek letters \alpha, \beta and \gamma. @end example @vindex org-entities During export, these symbols will be transformed into the native format of the exporter backend. Strings like @code{\alpha} will be exported as @code{α} in the HTML output, and as @code{$\alpha$} in the @LaTeX{} output. Similarly, @code{\nbsp} will become @code{ } in HTML and @code{~} in @LaTeX{}. If you need such a symbol inside a word, terminate it like this: @samp{\Aacute@{@}stor}. A large number of entities is provided, with names taken from both HTML and @LaTeX{}; see the variable @code{org-entities} for the complete list. @samp{\-} is treated as a shy hyphen, and @samp{--}, @samp{---}, and @samp{...} are all converted into special commands creating hyphens of different lengths or a compact set of dots. If you would like to see entities displayed as UTF8 characters, use the following command@footnote{You can turn this on by default by setting the variable @code{org-pretty-entities}, or on a per-file base with the @code{#+STARTUP} option @code{entitiespretty}.}: @table @kbd @kindex C-c C-x \ @item C-c C-x \ Toggle display of entities as UTF-8 characters. This does not change the buffer content which remains plain ASCII, but it overlays the UTF-8 character for display purposes only. @end table @node Subscripts and superscripts, @LaTeX{} fragments, Special symbols, Embedded @LaTeX{} @subsection Subscripts and superscripts @cindex subscript @cindex superscript Just like in @LaTeX{}, @samp{^} and @samp{_} are used to indicate super- and subscripts. Again, these can be used without embedding them in math-mode delimiters. To increase the readability of ASCII text, it is not necessary (but OK) to surround multi-character sub- and superscripts with curly braces. For example @example The mass of the sun is M_sun = 1.989 x 10^30 kg. The radius of the sun is R_@{sun@} = 6.96 x 10^8 m. @end example @vindex org-export-with-sub-superscripts To avoid interpretation as raised or lowered text, you can quote @samp{^} and @samp{_} with a backslash: @samp{\^} and @samp{\_}. If you write a text where the underscore is often used in a different context, Org's convention to always interpret these as subscripts can get in your way. Configure the variable @code{org-export-with-sub-superscripts} to globally change this convention, or use, on a per-file basis: @example #+OPTIONS: ^:@{@} @end example @noindent With this setting, @samp{a_b} will not be interpreted as a subscript, but @samp{a_@{b@}} will. @table @kbd @kindex C-c C-x \ @item C-c C-x \ In addition to showing entities as UTF-8 characters, this command will also format sub- and superscripts in a WYSIWYM way. @end table @node @LaTeX{} fragments, Previewing @LaTeX{} fragments, Subscripts and superscripts, Embedded @LaTeX{} @subsection @LaTeX{} fragments @cindex @LaTeX{} fragments @vindex org-format-latex-header Going beyond symbols and sub- and superscripts, a full formula language is needed. Org mode can contain @LaTeX{} math fragments, and it supports ways to process these for several export backends. When exporting to @LaTeX{}, the code is obviously left as it is. When exporting to HTML, Org invokes the @uref{http://www.mathjax.org, MathJax library} (@pxref{Math formatting in HTML export}) to process and display the math@footnote{If you plan to use this regularly or on pages with significant page views, you should install @file{MathJax} on your own server in order to limit the load of our server.}. Finally, it can also process the mathematical expressions into images@footnote{For this to work you need to be on a system with a working @LaTeX{} installation. You also need the @file{dvipng} program, available at @url{http://sourceforge.net/projects/dvipng/}. The @LaTeX{} header that will be used when processing a fragment can be configured with the variable @code{org-format-latex-header}.} that can be displayed in a browser or in DocBook documents. @LaTeX{} fragments don't need any special marking at all. The following snippets will be identified as @LaTeX{} source code: @itemize @bullet @item Environments of any kind@footnote{When @file{MathJax} is used, only the environment recognized by @file{MathJax} will be processed. When @file{dvipng} is used to create images, any @LaTeX{} environments will be handled.}. The only requirement is that the @code{\begin} statement appears on a new line, preceded by only whitespace. @item Text within the usual @LaTeX{} math delimiters. To avoid conflicts with currency specifications, single @samp{$} characters are only recognized as math delimiters if the enclosed text contains at most two line breaks, is directly attached to the @samp{$} characters with no whitespace in between, and if the closing @samp{$} is followed by whitespace, punctuation or a dash. For the other delimiters, there is no such restriction, so when in doubt, use @samp{\(...\)} as inline math delimiters. @end itemize @noindent For example: @example \begin@{equation@} % arbitrary environments, x=\sqrt@{b@} % even tables, figures \end@{equation@} % etc If $a^2=b$ and \( b=2 \), then the solution must be either $$ a=+\sqrt@{2@} $$ or \[ a=-\sqrt@{2@} \]. @end example @noindent @vindex org-format-latex-options If you need any of the delimiter ASCII sequences for other purposes, you can configure the option @code{org-format-latex-options} to deselect the ones you do not wish to have interpreted by the @LaTeX{} converter. @vindex org-export-with-LaTeX-fragments @LaTeX{} processing can be configured with the variable @code{org-export-with-LaTeX-fragments}. The default setting is @code{t} which means @file{MathJax} for HTML, and no processing for DocBook, ASCII and @LaTeX{} backends. You can also set this variable on a per-file basis using one of these lines: @example #+OPTIONS: LaTeX:t @r{Do the right thing automatically (MathJax)} #+OPTIONS: LaTeX:dvipng @r{Force using dvipng images} #+OPTIONS: LaTeX:nil @r{Do not process @LaTeX{} fragments at all} #+OPTIONS: LaTeX:verbatim @r{Verbatim export, for jsMath or so} @end example @node Previewing @LaTeX{} fragments, CDLaTeX mode, @LaTeX{} fragments, Embedded @LaTeX{} @subsection Previewing @LaTeX{} fragments @cindex @LaTeX{} fragments, preview If you have @file{dvipng} installed, @LaTeX{} fragments can be processed to produce preview images of the typeset expressions: @table @kbd @kindex C-c C-x C-l @item C-c C-x C-l Produce a preview image of the @LaTeX{} fragment at point and overlay it over the source code. If there is no fragment at point, process all fragments in the current entry (between two headlines). When called with a prefix argument, process the entire subtree. When called with two prefix arguments, or when the cursor is before the first headline, process the entire buffer. @kindex C-c C-c @item C-c C-c Remove the overlay preview images. @end table @vindex org-format-latex-options You can customize the variable @code{org-format-latex-options} to influence some aspects of the preview. In particular, the @code{:scale} (and for HTML export, @code{:html-scale}) property can be used to adjust the size of the preview images. @node CDLaTeX mode, , Previewing @LaTeX{} fragments, Embedded @LaTeX{} @subsection Using CD@LaTeX{} to enter math @cindex CD@LaTeX{} CD@LaTeX{} mode is a minor mode that is normally used in combination with a major @LaTeX{} mode like AUC@TeX{} in order to speed-up insertion of environments and math templates. Inside Org mode, you can make use of some of the features of CD@LaTeX{} mode. You need to install @file{cdlatex.el} and @file{texmathp.el} (the latter comes also with AUC@TeX{}) from @url{http://www.astro.uva.nl/~dominik/Tools/cdlatex}. Don't use CD@LaTeX{} mode itself under Org mode, but use the light version @code{org-cdlatex-mode} that comes as part of Org mode. Turn it on for the current buffer with @code{M-x org-cdlatex-mode}, or for all Org files with @lisp (add-hook 'org-mode-hook 'turn-on-org-cdlatex) @end lisp When this mode is enabled, the following features are present (for more details see the documentation of CD@LaTeX{} mode): @itemize @bullet @kindex C-c @{ @item Environment templates can be inserted with @kbd{C-c @{}. @item @kindex @key{TAB} The @key{TAB} key will do template expansion if the cursor is inside a @LaTeX{} fragment@footnote{Org mode has a method to test if the cursor is inside such a fragment, see the documentation of the function @code{org-inside-LaTeX-fragment-p}.}. For example, @key{TAB} will expand @code{fr} to @code{\frac@{@}@{@}} and position the cursor correctly inside the first brace. Another @key{TAB} will get you into the second brace. Even outside fragments, @key{TAB} will expand environment abbreviations at the beginning of a line. For example, if you write @samp{equ} at the beginning of a line and press @key{TAB}, this abbreviation will be expanded to an @code{equation} environment. To get a list of all abbreviations, type @kbd{M-x cdlatex-command-help}. @item @kindex _ @kindex ^ @vindex cdlatex-simplify-sub-super-scripts Pressing @kbd{_} and @kbd{^} inside a @LaTeX{} fragment will insert these characters together with a pair of braces. If you use @key{TAB} to move out of the braces, and if the braces surround only a single character or macro, they are removed again (depending on the variable @code{cdlatex-simplify-sub-super-scripts}). @item @kindex ` Pressing the backquote @kbd{`} followed by a character inserts math macros, also outside @LaTeX{} fragments. If you wait more than 1.5 seconds after the backquote, a help window will pop up. @item @kindex ' Pressing the single-quote @kbd{'} followed by another character modifies the symbol before point with an accent or a font. If you wait more than 1.5 seconds after the single-quote, a help window will pop up. Character modification will work only inside @LaTeX{} fragments; outside the quote is normal. @end itemize @node Exporting, Publishing, Markup, Top @chapter Exporting @cindex exporting Org mode documents can be exported into a variety of other formats. For printing and sharing of notes, ASCII export produces a readable and simple version of an Org file. HTML export allows you to publish a notes file on the web, while the XOXO format provides a solid base for exchange with a broad range of other applications. @LaTeX{} export lets you use Org mode and its structured editing functions to easily create @LaTeX{} files. DocBook export makes it possible to convert Org files to many other formats using DocBook tools. OpenDocument Text (ODT) export allows seamless collaboration across organizational boundaries. For project management you can create gantt and resource charts by using TaskJuggler export. To incorporate entries with associated times like deadlines or appointments into a desktop calendar program like iCal, Org mode can also produce extracts in the iCalendar format. Currently, Org mode only supports export, not import of these different formats. Org supports export of selected regions when @code{transient-mark-mode} is enabled (default in Emacs 23). @menu * Selective export:: Using tags to select and exclude trees * Export options:: Per-file export settings * The export dispatcher:: How to access exporter commands * ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding * HTML export:: Exporting to HTML * @LaTeX{} and PDF export:: Exporting to @LaTeX{}, and processing to PDF * DocBook export:: Exporting to DocBook * OpenDocument Text export:: Exporting to OpenDocument Text * TaskJuggler export:: Exporting to TaskJuggler * Freemind export:: Exporting to Freemind mind maps * XOXO export:: Exporting to XOXO * iCalendar export:: Exporting in iCalendar format @end menu @node Selective export, Export options, Exporting, Exporting @section Selective export @cindex export, selective by tags or TODO keyword @vindex org-export-select-tags @vindex org-export-exclude-tags @cindex org-export-with-tasks You may use tags to select the parts of a document that should be exported, or to exclude parts from export. This behavior is governed by two variables: @code{org-export-select-tags} and @code{org-export-exclude-tags}, respectively defaulting to @code{'(:export:)} and @code{'(:noexport:)}. @enumerate @item Org first checks if any of the @emph{select} tags is present in the buffer. If yes, all trees that do not carry one of these tags will be excluded. If a selected tree is a subtree, the heading hierarchy above it will also be selected for export, but not the text below those headings. @item If none of the select tags is found, the whole buffer will be selected for export. @item Finally, all subtrees that are marked by any of the @emph{exclude} tags will be removed from the export buffer. @end enumerate The variable @code{org-export-with-tasks} can be configured to select which kind of tasks should be included for export. See the docstring of the variable for more information. @node Export options, The export dispatcher, Selective export, Exporting @section Export options @cindex options, for export @cindex completion, of option keywords The exporter recognizes special lines in the buffer which provide additional information. These lines may be put anywhere in the file. The whole set of lines can be inserted into the buffer with @kbd{C-c C-e t}. For individual lines, a good way to make sure the keyword is correct is to type @samp{#+} and then use @kbd{M-@key{TAB}} completion (@pxref{Completion}). For a summary of other in-buffer settings not specifically related to export, see @ref{In-buffer settings}. In particular, note that you can place commonly-used (export) options in a separate file which can be included using @code{#+SETUPFILE}. @table @kbd @orgcmd{C-c C-e t,org-insert-export-options-template} Insert template with export options, see example below. @end table @cindex #+TITLE @cindex #+AUTHOR @cindex #+DATE @cindex #+EMAIL @cindex #+DESCRIPTION @cindex #+KEYWORDS @cindex #+LANGUAGE @cindex #+TEXT @cindex #+OPTIONS @cindex #+BIND @cindex #+LINK_UP @cindex #+LINK_HOME @cindex #+EXPORT_SELECT_TAGS @cindex #+EXPORT_EXCLUDE_TAGS @cindex #+XSLT @cindex #+LATEX_HEADER @vindex user-full-name @vindex user-mail-address @vindex org-export-default-language @vindex org-export-date-timestamp-format @example #+TITLE: the title to be shown (default is the buffer name) #+AUTHOR: the author (default taken from @code{user-full-name}) #+DATE: a date, an Org timestamp@footnote{@code{org-export-date-timestamp-format} defines how this timestamp will be exported.}, or a format string for @code{format-time-string} #+EMAIL: his/her email address (default from @code{user-mail-address}) #+DESCRIPTION: the page description, e.g.@: for the XHTML meta tag #+KEYWORDS: the page keywords, e.g.@: for the XHTML meta tag #+LANGUAGE: language for HTML, e.g.@: @samp{en} (@code{org-export-default-language}) #+TEXT: Some descriptive text to be inserted at the beginning. #+TEXT: Several lines may be given. #+OPTIONS: H:2 num:t toc:t \n:nil @@:t ::t |:t ^:t f:t TeX:t ... #+BIND: lisp-var lisp-val, e.g.@:: @code{org-export-latex-low-levels itemize} @r{You need to confirm using these, or configure @code{org-export-allow-BIND}} #+LINK_UP: the ``up'' link of an exported page #+LINK_HOME: the ``home'' link of an exported page #+LATEX_HEADER: extra line(s) for the @LaTeX{} header, like \usepackage@{xyz@} #+EXPORT_SELECT_TAGS: Tags that select a tree for export #+EXPORT_EXCLUDE_TAGS: Tags that exclude a tree from export #+XSLT: the XSLT stylesheet used by DocBook exporter to generate FO file @end example @noindent The @code{#+OPTIONS} line is a compact@footnote{If you want to configure many options this way, you can use several @code{#+OPTIONS} lines.} form to specify export settings. Here you can: @cindex headline levels @cindex section-numbers @cindex table of contents @cindex line-break preservation @cindex quoted HTML tags @cindex fixed-width sections @cindex tables @cindex @TeX{}-like syntax for sub- and superscripts @cindex footnotes @cindex special strings @cindex emphasized text @cindex @TeX{} macros @cindex @LaTeX{} fragments @cindex author info, in export @cindex time info, in export @vindex org-export-plist-vars @vindex org-export-author-info @vindex org-export-creator-info @vindex org-export-email-info @vindex org-export-time-stamp-file @example H: @r{set the number of headline levels for export} num: @r{turn on/off section-numbers} toc: @r{turn on/off table of contents, or set level limit (integer)} \n: @r{turn on/off line-break-preservation (DOES NOT WORK)} @@: @r{turn on/off quoted HTML tags} :: @r{turn on/off fixed-width sections} |: @r{turn on/off tables} ^: @r{turn on/off @TeX{}-like syntax for sub- and superscripts. If} @r{you write "^:@{@}", @code{a_@{b@}} will be interpreted, but} @r{the simple @code{a_b} will be left as it is.} -: @r{turn on/off conversion of special strings.} f: @r{turn on/off footnotes like this[1].} todo: @r{turn on/off inclusion of TODO keywords into exported text} tasks: @r{turn on/off inclusion of tasks (TODO items), can be nil to remove} @r{all tasks, @code{todo} to remove DONE tasks, or list of kwds to keep} pri: @r{turn on/off priority cookies} tags: @r{turn on/off inclusion of tags, may also be @code{not-in-toc}} <: @r{turn on/off inclusion of any time/date stamps like DEADLINES} *: @r{turn on/off emphasized text (bold, italic, underlined)} TeX: @r{turn on/off simple @TeX{} macros in plain text} LaTeX: @r{configure export of @LaTeX{} fragments. Default @code{auto}} skip: @r{turn on/off skipping the text before the first heading} author: @r{turn on/off inclusion of author name/email into exported file} email: @r{turn on/off inclusion of author email into exported file} creator: @r{turn on/off inclusion of creator info into exported file} timestamp: @r{turn on/off inclusion creation time into exported file} d: @r{turn on/off inclusion of drawers} @end example @noindent These options take effect in both the HTML and @LaTeX{} export, except for @code{TeX} and @code{LaTeX} options, which are respectively @code{t} and @code{nil} for the @LaTeX{} export. The default values for these and many other options are given by a set of variables. For a list of such variables, the corresponding OPTIONS keys and also the publishing keys (@pxref{Project alist}), see the constant @code{org-export-plist-vars}. When exporting only a single subtree by selecting it with @kbd{C-c @@} before calling an export command, the subtree can overrule some of the file's export settings with properties @code{EXPORT_FILE_NAME}, @code{EXPORT_TITLE}, @code{EXPORT_TEXT}, @code{EXPORT_AUTHOR}, @code{EXPORT_DATE}, and @code{EXPORT_OPTIONS}. @node The export dispatcher, ASCII/Latin-1/UTF-8 export, Export options, Exporting @section The export dispatcher @cindex dispatcher, for export commands All export commands can be reached using the export dispatcher, which is a prefix key that prompts for an additional key specifying the command. Normally the entire file is exported, but if there is an active region that contains one outline tree, the first heading is used as document title and the subtrees are exported. @table @kbd @orgcmd{C-c C-e,org-export} @vindex org-export-run-in-background Dispatcher for export and publishing commands. Displays a help-window listing the additional key(s) needed to launch an export or publishing command. The prefix arg is passed through to the exporter. A double prefix @kbd{C-u C-u} causes most commands to be executed in the background, in a separate Emacs process@footnote{To make this behavior the default, customize the variable @code{org-export-run-in-background}.}. @orgcmd{C-c C-e v,org-export-visible} Like @kbd{C-c C-e}, but only export the text that is currently visible (i.e.@: not hidden by outline visibility). @orgcmd{C-u C-u C-c C-e,org-export} @vindex org-export-run-in-background Call the exporter, but reverse the setting of @code{org-export-run-in-background}, i.e.@: request background processing if not set, or force processing in the current Emacs process if set. @end table @node ASCII/Latin-1/UTF-8 export, HTML export, The export dispatcher, Exporting @section ASCII/Latin-1/UTF-8 export @cindex ASCII export @cindex Latin-1 export @cindex UTF-8 export ASCII export produces a simple and very readable version of an Org mode file, containing only plain ASCII. Latin-1 and UTF-8 export augment the file with special characters and symbols available in these encodings. @cindex region, active @cindex active region @cindex transient-mark-mode @table @kbd @orgcmd{C-c C-e a,org-export-as-ascii} @cindex property, EXPORT_FILE_NAME Export as ASCII file. For an Org file, @file{myfile.org}, the ASCII file will be @file{myfile.txt}. The file will be overwritten without warning. If there is an active region@footnote{This requires @code{transient-mark-mode} be turned on.}, only the region will be exported. If the selected region is a single tree@footnote{To select the current subtree, use @kbd{C-c @@}.}, the tree head will become the document title. If the tree head entry has or inherits an @code{EXPORT_FILE_NAME} property, that name will be used for the export. @orgcmd{C-c C-e A,org-export-as-ascii-to-buffer} Export to a temporary buffer. Do not create a file. @orgcmd{C-c C-e n,org-export-as-latin1} @xorgcmd{C-c C-e N,org-export-as-latin1-to-buffer} Like the above commands, but use Latin-1 encoding. @orgcmd{C-c C-e u,org-export-as-utf8} @xorgcmd{C-c C-e U,org-export-as-utf8-to-buffer} Like the above commands, but use UTF-8 encoding. @item C-c C-e v a/n/u Export only the visible part of the document. @end table @cindex headline levels, for exporting In the exported version, the first 3 outline levels will become headlines, defining a general document structure. Additional levels will be exported as itemized lists. If you want that transition to occur at a different level, specify it with a prefix argument. For example, @example @kbd{C-1 C-c C-e a} @end example @noindent creates only top level headlines and does the rest as items. When headlines are converted to items, the indentation of the text following the headline is changed to fit nicely under the item. This is done with the assumption that the first body line indicates the base indentation of the body text. Any indentation larger than this is adjusted to preserve the layout relative to the first line. Should there be lines with less indentation than the first, these are left alone. @vindex org-export-ascii-links-to-notes Links will be exported in a footnote-like style, with the descriptive part in the text and the link in a note before the next heading. See the variable @code{org-export-ascii-links-to-notes} for details and other options. @node HTML export, @LaTeX{} and PDF export, ASCII/Latin-1/UTF-8 export, Exporting @section HTML export @cindex HTML export Org mode contains an HTML (XHTML 1.0 strict) exporter with extensive HTML formatting, in ways similar to John Gruber's @emph{markdown} language, but with additional support for tables. @menu * HTML Export commands:: How to invoke HTML export * HTML preamble and postamble:: How to insert a preamble and a postamble * Quoting HTML tags:: Using direct HTML in Org mode * Links in HTML export:: How links will be interpreted and formatted * Tables in HTML export:: How to modify the formatting of tables * Images in HTML export:: How to insert figures into HTML output * Math formatting in HTML export:: Beautiful math also on the web * Text areas in HTML export:: An alternative way to show an example * CSS support:: Changing the appearance of the output * JavaScript support:: Info and Folding in a web browser @end menu @node HTML Export commands, HTML preamble and postamble, HTML export, HTML export @subsection HTML export commands @cindex region, active @cindex active region @cindex transient-mark-mode @table @kbd @orgcmd{C-c C-e h,org-export-as-html} @cindex property, EXPORT_FILE_NAME Export as HTML file. For an Org file @file{myfile.org}, the HTML file will be @file{myfile.html}. The file will be overwritten without warning. If there is an active region@footnote{This requires @code{transient-mark-mode} be turned on.}, only the region will be exported. If the selected region is a single tree@footnote{To select the current subtree, use @kbd{C-c @@}.}, the tree head will become the document title. If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME} property, that name will be used for the export. @orgcmd{C-c C-e b,org-export-as-html-and-open} Export as HTML file and immediately open it with a browser. @orgcmd{C-c C-e H,org-export-as-html-to-buffer} Export to a temporary buffer. Do not create a file. @orgcmd{C-c C-e R,org-export-region-as-html} Export the active region to a temporary buffer. With a prefix argument, do not produce the file header and footer, but just the plain HTML section for the region. This is good for cut-and-paste operations. @item C-c C-e v h/b/H/R Export only the visible part of the document. @item M-x org-export-region-as-html Convert the region to HTML under the assumption that it was Org mode syntax before. This is a global command that can be invoked in any buffer. @item M-x org-replace-region-by-HTML Replace the active region (assumed to be in Org mode syntax) by HTML code. @end table @cindex headline levels, for exporting In the exported version, the first 3 outline levels will become headlines, defining a general document structure. Additional levels will be exported as itemized lists. If you want that transition to occur at a different level, specify it with a numeric prefix argument. For example, @example @kbd{C-2 C-c C-e b} @end example @noindent creates two levels of headings and does the rest as items. @node HTML preamble and postamble, Quoting HTML tags, HTML Export commands, HTML export @subsection HTML preamble and postamble @vindex org-export-html-preamble @vindex org-export-html-postamble @vindex org-export-html-preamble-format @vindex org-export-html-postamble-format @vindex org-export-html-validation-link @vindex org-export-author-info @vindex org-export-email-info @vindex org-export-creator-info @vindex org-export-time-stamp-file The HTML exporter lets you define a preamble and a postamble. The default value for @code{org-export-html-preamble} is @code{t}, which means that the preamble is inserted depending on the relevant formatting string in @code{org-export-html-preamble-format}. Setting @code{org-export-html-preamble} to a string will override the default formatting string. Setting it to a function, will insert the output of the function, which must be a string; such a function takes no argument but you can check against the value of @code{opt-plist}, which contains the list of publishing properties for the current file. Setting to @code{nil} will not insert any preamble. The default value for @code{org-export-html-postamble} is @code{'auto}, which means that the HTML exporter will look for the value of @code{org-export-author-info}, @code{org-export-email-info}, @code{org-export-creator-info} and @code{org-export-time-stamp-file}, @code{org-export-html-validation-link} and build the postamble from these values. Setting @code{org-export-html-postamble} to @code{t} will insert the postamble from the relevant formatting string found in @code{org-export-html-postamble-format}. Setting it to @code{nil} will not insert any postamble. @node Quoting HTML tags, Links in HTML export, HTML preamble and postamble, HTML export @subsection Quoting HTML tags Plain @samp{<} and @samp{>} are always transformed to @samp{<} and @samp{>} in HTML export. If you want to include simple HTML tags which should be interpreted as such, mark them with @samp{@@} as in @samp{@@bold text@@}. Note that this really works only for simple tags. For more extensive HTML that should be copied verbatim to the exported file use either @cindex #+HTML @cindex #+BEGIN_HTML @example #+HTML: Literal HTML code for export @end example @noindent or @cindex #+BEGIN_HTML @example #+BEGIN_HTML All lines between these markers are exported literally #+END_HTML @end example @node Links in HTML export, Tables in HTML export, Quoting HTML tags, HTML export @subsection Links in HTML export @cindex links, in HTML export @cindex internal links, in HTML export @cindex external links, in HTML export Internal links (@pxref{Internal links}) will continue to work in HTML. This includes automatic links created by radio targets (@pxref{Radio targets}). Links to external files will still work if the target file is on the same @i{relative} path as the published Org file. Links to other @file{.org} files will be translated into HTML links under the assumption that an HTML version also exists of the linked file, at the same relative path. @samp{id:} links can then be used to jump to specific entries across files. For information related to linking files while publishing them to a publishing directory see @ref{Publishing links}. If you want to specify attributes for links, you can do so using a special @code{#+ATTR_HTML} line to define attributes that will be added to the @code{} or @code{} tags. Here is an example that sets @code{title} and @code{style} attributes for a link: @cindex #+ATTR_HTML @example #+ATTR_HTML: title="The Org mode homepage" style="color:red;" [[http://orgmode.org]] @end example @node Tables in HTML export, Images in HTML export, Links in HTML export, HTML export @subsection Tables @cindex tables, in HTML @vindex org-export-html-table-tag Org mode tables are exported to HTML using the table tag defined in @code{org-export-html-table-tag}. The default setting makes tables without cell borders and frame. If you would like to change this for individual tables, place something like the following before the table: @cindex #+CAPTION @cindex #+ATTR_HTML @example #+CAPTION: This is a table with lines around and between cells #+ATTR_HTML: border="2" rules="all" frame="border" @end example @node Images in HTML export, Math formatting in HTML export, Tables in HTML export, HTML export @subsection Images in HTML export @cindex images, inline in HTML @cindex inlining images in HTML @vindex org-export-html-inline-images HTML export can inline images given as links in the Org file, and it can make an image the clickable part of a link. By default@footnote{But see the variable @code{org-export-html-inline-images}.}, images are inlined if a link does not have a description. So @samp{[[file:myimg.jpg]]} will be inlined, while @samp{[[file:myimg.jpg][the image]]} will just produce a link @samp{the image} that points to the image. If the description part itself is a @code{file:} link or a @code{http:} URL pointing to an image, this image will be inlined and activated so that clicking on the image will activate the link. For example, to include a thumbnail that will link to a high resolution version of the image, you could use: @example [[file:highres.jpg][file:thumb.jpg]] @end example If you need to add attributes to an inlined image, use a @code{#+ATTR_HTML}. In the example below we specify the @code{alt} and @code{title} attributes to support text viewers and accessibility, and align it to the right. @cindex #+CAPTION @cindex #+ATTR_HTML @example #+CAPTION: A black cat stalking a spider #+ATTR_HTML: alt="cat/spider image" title="Action!" align="right" [[./img/a.jpg]] @end example @noindent You could use @code{http} addresses just as well. @node Math formatting in HTML export, Text areas in HTML export, Images in HTML export, HTML export @subsection Math formatting in HTML export @cindex MathJax @cindex dvipng @LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be displayed in two different ways on HTML pages. The default is to use the @uref{http://www.mathjax.org, MathJax system} which should work out of the box with Org mode installation because @code{http://orgmode.org} serves @file{MathJax} for Org mode users for small applications and for testing purposes. @b{If you plan to use this regularly or on pages with significant page views, you should install@footnote{Installation instructions can be found on the MathJax website, see @uref{http://www.mathjax.org/resources/docs/?installation.html}.} MathJax on your own server in order to limit the load of our server.} To configure @file{MathJax}, use the variable @code{org-export-html-mathjax-options} or insert something like the following into the buffer: @example #+MATHJAX: align:"left" mathml:t path:"/MathJax/MathJax.js" @end example @noindent See the docstring of the variable @code{org-export-html-mathjax-options} for the meaning of the parameters in this line. If you prefer, you can also request that @LaTeX{} fragments are processed into small images that will be inserted into the browser page. Before the availability of MathJax, this was the default method for Org files. This method requires that the @file{dvipng} program is available on your system. You can still get this processing with @example #+OPTIONS: LaTeX:dvipng @end example @node Text areas in HTML export, CSS support, Math formatting in HTML export, HTML export @subsection Text areas in HTML export @cindex text areas, in HTML An alternative way to publish literal code examples in HTML is to use text areas, where the example can even be edited before pasting it into an application. It is triggered by a @code{-t} switch at an @code{example} or @code{src} block. Using this switch disables any options for syntax and label highlighting, and line numbering, which may be present. You may also use @code{-h} and @code{-w} switches to specify the height and width of the text area, which default to the number of lines in the example, and 80, respectively. For example @example #+BEGIN_EXAMPLE -t -w 40 (defun org-xor (a b) "Exclusive or." (if a (not b) b)) #+END_EXAMPLE @end example @node CSS support, JavaScript support, Text areas in HTML export, HTML export @subsection CSS support @cindex CSS, for HTML export @cindex HTML export, CSS @vindex org-export-html-todo-kwd-class-prefix @vindex org-export-html-tag-class-prefix You can also give style information for the exported file. The HTML exporter assigns the following special CSS classes@footnote{If the classes on TODO keywords and tags lead to conflicts, use the variables @code{org-export-html-todo-kwd-class-prefix} and @code{org-export-html-tag-class-prefix} to make them unique.} to appropriate parts of the document---your style specifications may change these, in addition to any of the standard classes like for headlines, tables, etc. @example p.author @r{author information, including email} p.date @r{publishing date} p.creator @r{creator info, about org mode version} .title @r{document title} .todo @r{TODO keywords, all not-done states} .done @r{the DONE keywords, all states that count as done} .WAITING @r{each TODO keyword also uses a class named after itself} .timestamp @r{timestamp} .timestamp-kwd @r{keyword associated with a timestamp, like SCHEDULED} .timestamp-wrapper @r{span around keyword plus timestamp} .tag @r{tag in a headline} ._HOME @r{each tag uses itself as a class, "@@" replaced by "_"} .target @r{target for links} .linenr @r{the line number in a code example} .code-highlighted @r{for highlighting referenced code lines} div.outline-N @r{div for outline level N (headline plus text))} div.outline-text-N @r{extra div for text at outline level N} .section-number-N @r{section number in headlines, different for each level} div.figure @r{how to format an inlined image} pre.src @r{formatted source code} pre.example @r{normal example} p.verse @r{verse paragraph} div.footnotes @r{footnote section headline} p.footnote @r{footnote definition paragraph, containing a footnote} .footref @r{a footnote reference number (always a )} .footnum @r{footnote number in footnote definition (always )} @end example @vindex org-export-html-style-default @vindex org-export-html-style-include-default @vindex org-export-html-style @vindex org-export-html-extra @vindex org-export-html-style-default Each exported file contains a compact default style that defines these classes in a basic way@footnote{This style is defined in the constant @code{org-export-html-style-default}, which you should not modify. To turn inclusion of these defaults off, customize @code{org-export-html-style-include-default}}. You may overwrite these settings, or add to them by using the variables @code{org-export-html-style} (for Org-wide settings) and @code{org-export-html-style-extra} (for more fine-grained settings, like file-local settings). To set the latter variable individually for each file, you can use @cindex #+STYLE @example #+STYLE: @end example @noindent For longer style definitions, you can use several such lines. You could also directly write a @code{} section in this way, without referring to an external file. In order to add styles to a subtree, use the @code{:HTML_CONTAINER_CLASS:} property to assign a class to the tree. In order to specify CSS styles for a particular headline, you can use the id specified in a @code{:CUSTOM_ID:} property. @c FIXME: More about header and footer styles @c FIXME: Talk about links and targets. @node JavaScript support, , CSS support, HTML export @subsection JavaScript supported display of web pages @cindex Rose, Sebastian Sebastian Rose has written a JavaScript program especially designed to enhance the web viewing experience of HTML files created with Org. This program allows you to view large files in two different ways. The first one is an @emph{Info}-like mode where each section is displayed separately and navigation can be done with the @kbd{n} and @kbd{p} keys (and some other keys as well, press @kbd{?} for an overview of the available keys). The second view type is a @emph{folding} view much like Org provides inside Emacs. The script is available at @url{http://orgmode.org/org-info.js} and you can find the documentation for it at @url{http://orgmode.org/worg/code/org-info-js/}. We host the script at our site, but if you use it a lot, you might not want to be dependent on @url{orgmode.org} and prefer to install a local copy on your own web server. To use the script, you need to make sure that the @file{org-jsinfo.el} module gets loaded. It should be loaded by default, but you can try @kbd{M-x customize-variable @key{RET} org-modules @key{RET}} to convince yourself that this is indeed the case. All it then takes to make use of the program is adding a single line to the Org file: @cindex #+INFOJS_OPT @example #+INFOJS_OPT: view:info toc:nil @end example @noindent If this line is found, the HTML header will automatically contain the code needed to invoke the script. Using the line above, you can set the following viewing options: @example path: @r{The path to the script. The default is to grab the script from} @r{@url{http://orgmode.org/org-info.js}, but you might want to have} @r{a local copy and use a path like @samp{../scripts/org-info.js}.} view: @r{Initial view when website is first shown. Possible values are:} info @r{Info-like interface with one section per page.} overview @r{Folding interface, initially showing only top-level.} content @r{Folding interface, starting with all headlines visible.} showall @r{Folding interface, all headlines and text visible.} sdepth: @r{Maximum headline level that will still become an independent} @r{section for info and folding modes. The default is taken from} @r{@code{org-export-headline-levels} (= the @code{H} switch in @code{#+OPTIONS}).} @r{If this is smaller than in @code{org-export-headline-levels}, each} @r{info/folding section can still contain child headlines.} toc: @r{Should the table of contents @emph{initially} be visible?} @r{Even when @code{nil}, you can always get to the "toc" with @kbd{i}.} tdepth: @r{The depth of the table of contents. The defaults are taken from} @r{the variables @code{org-export-headline-levels} and @code{org-export-with-toc}.} ftoc: @r{Does the CSS of the page specify a fixed position for the "toc"?} @r{If yes, the toc will never be displayed as a section.} ltoc: @r{Should there be short contents (children) in each section?} @r{Make this @code{above} if the section should be above initial text.} mouse: @r{Headings are highlighted when the mouse is over them. Should be} @r{@samp{underline} (default) or a background color like @samp{#cccccc}.} buttons: @r{Should view-toggle buttons be everywhere? When @code{nil} (the} @r{default), only one such button will be present.} @end example @noindent @vindex org-infojs-options @vindex org-export-html-use-infojs You can choose default values for these options by customizing the variable @code{org-infojs-options}. If you always want to apply the script to your pages, configure the variable @code{org-export-html-use-infojs}. @node @LaTeX{} and PDF export, DocBook export, HTML export, Exporting @section @LaTeX{} and PDF export @cindex @LaTeX{} export @cindex PDF export @cindex Guerry, Bastien Org mode contains a @LaTeX{} exporter written by Bastien Guerry. With further processing@footnote{The default @LaTeX{} output is designed for processing with @code{pdftex} or @LaTeX{}. It includes packages that are not compatible with @code{xetex} and possibly @code{luatex}. See the variables @code{org-export-latex-default-packages-alist} and @code{org-export-latex-packages-alist}.}, this backend is also used to produce PDF output. Since the @LaTeX{} output uses @file{hyperref} to implement links and cross references, the PDF output file will be fully linked. Beware of the fact that your @code{org} file has to be properly structured in order to be correctly exported: respect the hierarchy of sections. @menu * @LaTeX{}/PDF export commands:: * Header and sectioning:: Setting up the export file structure * Quoting @LaTeX{} code:: Incorporating literal @LaTeX{} code * Tables in @LaTeX{} export:: Options for exporting tables to @LaTeX{} * Images in @LaTeX{} export:: How to insert figures into @LaTeX{} output * Beamer class export:: Turning the file into a presentation @end menu @node @LaTeX{}/PDF export commands, Header and sectioning, @LaTeX{} and PDF export, @LaTeX{} and PDF export @subsection @LaTeX{} export commands @cindex region, active @cindex active region @cindex transient-mark-mode @table @kbd @orgcmd{C-c C-e l,org-export-as-latex} @cindex property EXPORT_FILE_NAME Export as @LaTeX{} file. For an Org file @file{myfile.org}, the @LaTeX{} file will be @file{myfile.tex}. The file will be overwritten without warning. If there is an active region@footnote{This requires @code{transient-mark-mode} be turned on.}, only the region will be exported. If the selected region is a single tree@footnote{To select the current subtree, use @kbd{C-c @@}.}, the tree head will become the document title. If the tree head entry has or inherits an @code{EXPORT_FILE_NAME} property, that name will be used for the export. @orgcmd{C-c C-e L,org-export-as-latex-to-buffer} Export to a temporary buffer. Do not create a file. @item C-c C-e v l/L Export only the visible part of the document. @item M-x org-export-region-as-latex Convert the region to @LaTeX{} under the assumption that it was Org mode syntax before. This is a global command that can be invoked in any buffer. @item M-x org-replace-region-by-latex Replace the active region (assumed to be in Org mode syntax) by @LaTeX{} code. @orgcmd{C-c C-e p,org-export-as-pdf} Export as @LaTeX{} and then process to PDF. @orgcmd{C-c C-e d,org-export-as-pdf-and-open} Export as @LaTeX{} and then process to PDF, then open the resulting PDF file. @end table @cindex headline levels, for exporting @vindex org-latex-low-levels In the exported version, the first 3 outline levels will become headlines, defining a general document structure. Additional levels will be exported as description lists. The exporter can ignore them or convert them to a custom string depending on @code{org-latex-low-levels}. If you want that transition to occur at a different level, specify it with a numeric prefix argument. For example, @example @kbd{C-2 C-c C-e l} @end example @noindent creates two levels of headings and does the rest as items. @node Header and sectioning, Quoting @LaTeX{} code, @LaTeX{}/PDF export commands, @LaTeX{} and PDF export @subsection Header and sectioning structure @cindex @LaTeX{} class @cindex @LaTeX{} sectioning structure @cindex @LaTeX{} header @cindex header, for @LaTeX{} files @cindex sectioning structure, for @LaTeX{} export By default, the @LaTeX{} output uses the class @code{article}. @vindex org-export-latex-default-class @vindex org-export-latex-classes @vindex org-export-latex-default-packages-alist @vindex org-export-latex-packages-alist @cindex #+LATEX_HEADER @cindex #+LATEX_CLASS @cindex #+LATEX_CLASS_OPTIONS @cindex property, LATEX_CLASS @cindex property, LATEX_CLASS_OPTIONS You can change this globally by setting a different value for @code{org-export-latex-default-class} or locally by adding an option like @code{#+LaTeX_CLASS: myclass} in your file, or with a @code{:LaTeX_CLASS:} property that applies when exporting a region containing only this (sub)tree. The class must be listed in @code{org-export-latex-classes}. This variable defines a header template for each class@footnote{Into which the values of @code{org-export-latex-default-packages-alist} and @code{org-export-latex-packages-alist} are spliced.}, and allows you to define the sectioning structure for each class. You can also define your own classes there. @code{#+LaTeX_CLASS_OPTIONS} or a @code{LaTeX_CLASS_OPTIONS} property can specify the options for the @code{\documentclass} macro. You can also use @code{#+LATEX_HEADER: \usepackage@{xyz@}} to add lines to the header. See the docstring of @code{org-export-latex-classes} for more information. @node Quoting @LaTeX{} code, Tables in @LaTeX{} export, Header and sectioning, @LaTeX{} and PDF export @subsection Quoting @LaTeX{} code Embedded @LaTeX{} as described in @ref{Embedded @LaTeX{}}, will be correctly inserted into the @LaTeX{} file. This includes simple macros like @samp{\ref@{LABEL@}} to create a cross reference to a figure. Furthermore, you can add special code that should only be present in @LaTeX{} export with the following constructs: @cindex #+LaTeX @cindex #+BEGIN_LaTeX @example #+LaTeX: Literal @LaTeX{} code for export @end example @noindent or @cindex #+BEGIN_LaTeX @example #+BEGIN_LaTeX All lines between these markers are exported literally #+END_LaTeX @end example @node Tables in @LaTeX{} export, Images in @LaTeX{} export, Quoting @LaTeX{} code, @LaTeX{} and PDF export @subsection Tables in @LaTeX{} export @cindex tables, in @LaTeX{} export For @LaTeX{} export of a table, you can specify a label, a caption and placement options (@pxref{Images and tables}). You can also use the @code{ATTR_LaTeX} line to request a @code{longtable} environment for the table, so that it may span several pages, or to change the default table environment from @code{table} to @code{table*} or to change the default inner tabular environment to @code{tabularx} or @code{tabulary}. Finally, you can set the alignment string, and (with @code{tabularx} or @code{tabulary}) the width: @cindex #+CAPTION @cindex #+LABEL @cindex #+ATTR_LaTeX @example #+CAPTION: A long table #+LABEL: tbl:long #+ATTR_LaTeX: longtable align=l|lp@{3cm@}r|l | ..... | ..... | | ..... | ..... | @end example or to specify a multicolumn table with @code{tabulary} @cindex #+CAPTION @cindex #+LABEL @cindex #+ATTR_LaTeX @example #+CAPTION: A wide table with tabulary #+LABEL: tbl:wide #+ATTR_LaTeX: table* tabulary width=\textwidth | ..... | ..... | | ..... | ..... | @end example @node Images in @LaTeX{} export, Beamer class export, Tables in @LaTeX{} export, @LaTeX{} and PDF export @subsection Images in @LaTeX{} export @cindex images, inline in @LaTeX{} @cindex inlining images in @LaTeX{} Images that are linked to without a description part in the link, like @samp{[[file:img.jpg]]} or @samp{[[./img.jpg]]} will be inserted into the PDF output file resulting from @LaTeX{} processing. Org will use an @code{\includegraphics} macro to insert the image. If you have specified a caption and/or a label as described in @ref{Images and tables}, the figure will be wrapped into a @code{figure} environment and thus become a floating element. You can use an @code{#+ATTR_LaTeX:} line to specify various other options. You can ask org to export an image as a float without specifying a label or a caption by using the keyword @code{float} in this line. Various optional arguments to the @code{\includegraphics} macro can also be specified in this fashion. To modify the placement option of the floating environment, add something like @samp{placement=[h!]} to the attributes. It is to be noted this option can be used with tables as well@footnote{One can also take advantage of this option to pass other, unrelated options into the figure or table environment. For an example see the section ``Exporting org files'' in @url{http://orgmode.org/worg/org-hacks.html}}. For example the @code{#+ATTR_LaTeX:} line below is exported as the @code{figure} environment below it. If you would like to let text flow around the image, add the word @samp{wrap} to the @code{#+ATTR_LaTeX:} line, which will make the figure occupy the left half of the page. To fine-tune, the @code{placement} field will be the set of additional arguments needed by the @code{wrapfigure} environment. Note that if you change the size of the image, you need to use compatible settings for @code{\includegraphics} and @code{wrapfigure}. @cindex #+CAPTION @cindex #+LABEL @cindex #+ATTR_LaTeX @example #+CAPTION: The black-body emission of the disk around HR 4049 #+LABEL: fig:SED-HR4049 #+ATTR_LaTeX: width=5cm,angle=90 [[./img/sed-hr4049.pdf]] #+ATTR_LaTeX: width=0.38\textwidth wrap placement=@{r@}@{0.4\textwidth@} [[./img/hst.png]] @end example If you wish to include an image which spans multiple columns in a page, you can use the keyword @code{multicolumn} in the @code{#+ATTR_LaTeX} line. This will export the image wrapped in a @code{figure*} environment. If you need references to a label created in this way, write @samp{\ref@{fig:SED-HR4049@}} just like in @LaTeX{}. @node Beamer class export, , Images in @LaTeX{} export, @LaTeX{} and PDF export @subsection Beamer class export The @LaTeX{} class @file{beamer} allows production of high quality presentations using @LaTeX{} and pdf processing. Org mode has special support for turning an Org mode file or tree into a @file{beamer} presentation. When the @LaTeX{} class for the current buffer (as set with @code{#+LaTeX_CLASS: beamer}) or subtree (set with a @code{LaTeX_CLASS} property) is @code{beamer}, a special export mode will turn the file or tree into a beamer presentation. Any tree with not-too-deep level nesting should in principle be exportable as a beamer presentation. By default, the top-level entries (or the first level below the selected subtree heading) will be turned into frames, and the outline structure below this level will become itemize lists. You can also configure the variable @code{org-beamer-frame-level} to a different level---then the hierarchy above frames will produce the sectioning structure of the presentation. A template for useful in-buffer settings or properties can be inserted into the buffer with @kbd{M-x org-insert-beamer-options-template}. Among other things, this will install a column view format which is very handy for editing special properties used by beamer. You can influence the structure of the presentation using the following properties: @table @code @item BEAMER_env The environment that should be used to format this entry. Valid environments are defined in the constant @code{org-beamer-environments-default}, and you can define more in @code{org-beamer-environments-extra}. If this property is set, the entry will also get a @code{:B_environment:} tag to make this visible. This tag has no semantic meaning, it is only a visual aid. @item BEAMER_envargs The beamer-special arguments that should be used for the environment, like @code{[t]} or @code{[<+->]} of @code{<2-3>}. If the @code{BEAMER_col} property is also set, something like @code{C[t]} can be added here as well to set an options argument for the implied @code{columns} environment. @code{c[t]} or @code{c<2->} will set an options for the implied @code{column} environment. @item BEAMER_col The width of a column that should start with this entry. If this property is set, the entry will also get a @code{:BMCOL:} property to make this visible. Also this tag is only a visual aid. When this is a plain number, it will be interpreted as a fraction of @code{\textwidth}. Otherwise it will be assumed that you have specified the units, like @samp{3cm}. The first such property in a frame will start a @code{columns} environment to surround the columns. This environment is closed when an entry has a @code{BEAMER_col} property with value 0 or 1, or automatically at the end of the frame. @item BEAMER_extra Additional commands that should be inserted after the environment has been opened. For example, when creating a frame, this can be used to specify transitions. @end table Frames will automatically receive a @code{fragile} option if they contain source code that uses the verbatim environment. Special @file{beamer} specific code can be inserted using @code{#+BEAMER:} and @code{#+BEGIN_beamer...#+end_beamer} constructs, similar to other export backends, but with the difference that @code{#+LaTeX:} stuff will be included in the presentation as well. Outline nodes with @code{BEAMER_env} property value @samp{note} or @samp{noteNH} will be formatted as beamer notes, i,e, they will be wrapped into @code{\note@{...@}}. The former will include the heading as part of the note text, the latter will ignore the heading of that node. To simplify note generation, it is actually enough to mark the note with a @emph{tag} (either @code{:B_note:} or @code{:B_noteNH:}) instead of creating the @code{BEAMER_env} property. You can turn on a special minor mode @code{org-beamer-mode} for editing support with @example #+STARTUP: beamer @end example @table @kbd @orgcmd{C-c C-b,org-beamer-select-environment} In @code{org-beamer-mode}, this key offers fast selection of a beamer environment or the @code{BEAMER_col} property. @end table Column view provides a great way to set the environment of a node and other important parameters. Make sure you are using a COLUMN format that is geared toward this special purpose. The command @kbd{M-x org-insert-beamer-options-template} defines such a format. Here is a simple example Org document that is intended for beamer export. @smallexample #+LaTeX_CLASS: beamer #+TITLE: Example Presentation #+AUTHOR: Carsten Dominik #+LaTeX_CLASS_OPTIONS: [presentation] #+BEAMER_FRAME_LEVEL: 2 #+BEAMER_HEADER_EXTRA: \usetheme@{Madrid@}\usecolortheme@{default@} #+COLUMNS: %35ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Args) %4BEAMER_col(Col) %8BEAMER_extra(Ex) * This is the first structural section ** Frame 1 \\ with a subtitle *** Thanks to Eric Fraga :BMCOL:B_block: :PROPERTIES: :BEAMER_env: block :BEAMER_envargs: C[t] :BEAMER_col: 0.5 :END: for the first viable beamer setup in Org *** Thanks to everyone else :BMCOL:B_block: :PROPERTIES: :BEAMER_col: 0.5 :BEAMER_env: block :BEAMER_envargs: <2-> :END: for contributing to the discussion **** This will be formatted as a beamer note :B_note: ** Frame 2 \\ where we will not use columns *** Request :B_block: Please test this stuff! :PROPERTIES: :BEAMER_env: block :END: @end smallexample For more information, see the documentation on Worg. @node DocBook export, OpenDocument Text export, @LaTeX{} and PDF export, Exporting @section DocBook export @cindex DocBook export @cindex PDF export @cindex Cui, Baoqiu Org contains a DocBook exporter written by Baoqiu Cui. Once an Org file is exported to DocBook format, it can be further processed to produce other formats, including PDF, HTML, man pages, etc., using many available DocBook tools and stylesheets. Currently DocBook exporter only supports DocBook V5.0. @menu * DocBook export commands:: How to invoke DocBook export * Quoting DocBook code:: Incorporating DocBook code in Org files * Recursive sections:: Recursive sections in DocBook * Tables in DocBook export:: Tables are exported as HTML tables * Images in DocBook export:: How to insert figures into DocBook output * Special characters:: How to handle special characters @end menu @node DocBook export commands, Quoting DocBook code, DocBook export, DocBook export @subsection DocBook export commands @cindex region, active @cindex active region @cindex transient-mark-mode @table @kbd @orgcmd{C-c C-e D,org-export-as-docbook} @cindex property EXPORT_FILE_NAME Export as DocBook file. For an Org file, @file{myfile.org}, the DocBook XML file will be @file{myfile.xml}. The file will be overwritten without warning. If there is an active region@footnote{This requires @code{transient-mark-mode} to be turned on}, only the region will be exported. If the selected region is a single tree@footnote{To select the current subtree, use @kbd{C-c @@}.}, the tree head will become the document title. If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME} property, that name will be used for the export. @orgcmd{C-c C-e V,org-export-as-docbook-pdf-and-open} Export as DocBook file, process to PDF, then open the resulting PDF file. @vindex org-export-docbook-xslt-proc-command @vindex org-export-docbook-xsl-fo-proc-command Note that, in order to produce PDF output based on exported DocBook file, you need to have XSLT processor and XSL-FO processor software installed on your system. Check variables @code{org-export-docbook-xslt-proc-command} and @code{org-export-docbook-xsl-fo-proc-command}. @vindex org-export-docbook-xslt-stylesheet The stylesheet argument @code{%s} in variable @code{org-export-docbook-xslt-proc-command} is replaced by the value of variable @code{org-export-docbook-xslt-stylesheet}, which needs to be set by the user. You can also overrule this global setting on a per-file basis by adding an in-buffer setting @code{#+XSLT:} to the Org file. @orgkey{C-c C-e v D} Export only the visible part of the document. @end table @node Quoting DocBook code, Recursive sections, DocBook export commands, DocBook export @subsection Quoting DocBook code You can quote DocBook code in Org files and copy it verbatim into exported DocBook file with the following constructs: @cindex #+DOCBOOK @cindex #+BEGIN_DOCBOOK @example #+DOCBOOK: Literal DocBook code for export @end example @noindent or @cindex #+BEGIN_DOCBOOK @example #+BEGIN_DOCBOOK All lines between these markers are exported by DocBook exporter literally. #+END_DOCBOOK @end example For example, you can use the following lines to include a DocBook warning admonition. As to what this warning says, you should pay attention to the document context when quoting DocBook code in Org files. You may make exported DocBook XML files invalid by not quoting DocBook code correctly. @example #+BEGIN_DOCBOOK You should know what you are doing when quoting DocBook XML code in your Org file. Invalid DocBook XML may be generated by DocBook exporter if you are not careful! #+END_DOCBOOK @end example @node Recursive sections, Tables in DocBook export, Quoting DocBook code, DocBook export @subsection Recursive sections @cindex DocBook recursive sections DocBook exporter exports Org files as articles using the @code{article} element in DocBook. Recursive sections, i.e.@: @code{section} elements, are used in exported articles. Top level headlines in Org files are exported as top level sections, and lower level headlines are exported as nested sections. The entire structure of Org files will be exported completely, no matter how many nested levels of headlines there are. Using recursive sections makes it easy to port and reuse exported DocBook code in other DocBook document types like @code{book} or @code{set}. @node Tables in DocBook export, Images in DocBook export, Recursive sections, DocBook export @subsection Tables in DocBook export @cindex tables, in DocBook export Tables in Org files are exported as HTML tables, which have been supported since DocBook V4.3. If a table does not have a caption, an informal table is generated using the @code{informaltable} element; otherwise, a formal table will be generated using the @code{table} element. @node Images in DocBook export, Special characters, Tables in DocBook export, DocBook export @subsection Images in DocBook export @cindex images, inline in DocBook @cindex inlining images in DocBook Images that are linked to without a description part in the link, like @samp{[[file:img.jpg]]} or @samp{[[./img.jpg]]}, will be exported to DocBook using @code{mediaobject} elements. Each @code{mediaobject} element contains an @code{imageobject} that wraps an @code{imagedata} element. If you have specified a caption for an image as described in @ref{Images and tables}, a @code{caption} element will be added in @code{mediaobject}. If a label is also specified, it will be exported as an @code{xml:id} attribute of the @code{mediaobject} element. @vindex org-export-docbook-default-image-attributes Image attributes supported by the @code{imagedata} element, like @code{align} or @code{width}, can be specified in two ways: you can either customize variable @code{org-export-docbook-default-image-attributes} or use the @code{#+ATTR_DOCBOOK:} line. Attributes specified in variable @code{org-export-docbook-default-image-attributes} are applied to all inline images in the Org file to be exported (unless they are overridden by image attributes specified in @code{#+ATTR_DOCBOOK:} lines). The @code{#+ATTR_DOCBOOK:} line can be used to specify additional image attributes or override default image attributes for individual images. If the same attribute appears in both the @code{#+ATTR_DOCBOOK:} line and variable @code{org-export-docbook-default-image-attributes}, the former takes precedence. Here is an example about how image attributes can be set: @cindex #+CAPTION @cindex #+LABEL @cindex #+ATTR_DOCBOOK @example #+CAPTION: The logo of Org mode #+LABEL: unicorn-svg #+ATTR_DOCBOOK: scalefit="1" width="100%" depth="100%" [[./img/org-mode-unicorn.svg]] @end example @vindex org-export-docbook-inline-image-extensions By default, DocBook exporter recognizes the following image file types: @file{jpeg}, @file{jpg}, @file{png}, @file{gif}, and @file{svg}. You can customize variable @code{org-export-docbook-inline-image-extensions} to add more types to this list as long as DocBook supports them. @node Special characters, , Images in DocBook export, DocBook export @subsection Special characters in DocBook export @cindex Special characters in DocBook export @vindex org-export-docbook-doctype @vindex org-entities Special characters that are written in @TeX{}-like syntax, such as @code{\alpha}, @code{\Gamma}, and @code{\Zeta}, are supported by DocBook exporter. These characters are rewritten to XML entities, like @code{α}, @code{Γ}, and @code{Ζ}, based on the list saved in variable @code{org-entities}. As long as the generated DocBook file includes the corresponding entities, these special characters are recognized. You can customize variable @code{org-export-docbook-doctype} to include the entities you need. For example, you can set variable @code{org-export-docbook-doctype} to the following value to recognize all special characters included in XHTML entities: @example " %xhtml1-symbol; ]> " @end example @c begin opendocument @node OpenDocument Text export, TaskJuggler export, DocBook export, Exporting @section OpenDocument Text export @cindex K, Jambunathan @cindex ODT @cindex OpenDocument @cindex export, OpenDocument @cindex LibreOffice @cindex org-odt.el @cindex org-modules Orgmode@footnote{Versions 7.8 or later} supports export to OpenDocument Text (ODT) format using the @file{org-odt.el} module. Documents created by this exporter use the @cite{OpenDocument-v1.2 specification}@footnote{@url{http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html, Open Document Format for Office Applications (OpenDocument) Version 1.2}} and are compatible with LibreOffice 3.4. @menu * Pre-requisites for ODT export:: What packages ODT exporter relies on * ODT export commands:: How to invoke ODT export * Extending ODT export:: How to produce @samp{doc}, @samp{pdf} files * Applying custom styles:: How to apply custom styles to the output * Links in ODT export:: How links will be interpreted and formatted * Tables in ODT export:: How Tables are exported * Images in ODT export:: How to insert images * Math formatting in ODT export:: How @LaTeX{} fragments are formatted * Labels and captions in ODT export:: How captions are rendered * Literal examples in ODT export:: How source and example blocks are formatted * Advanced topics in ODT export:: Read this if you are a power user @end menu @node Pre-requisites for ODT export, ODT export commands, OpenDocument Text export, OpenDocument Text export @subsection Pre-requisites for ODT export @cindex zip The ODT exporter relies on the @file{zip} program to create the final output. Check the availability of this program before proceeding further. @node ODT export commands, Extending ODT export, Pre-requisites for ODT export, OpenDocument Text export @subsection ODT export commands @subsubheading Exporting to ODT @anchor{x-export-to-odt} @cindex region, active @cindex active region @cindex transient-mark-mode @table @kbd @orgcmd{C-c C-e o,org-export-as-odt} @cindex property EXPORT_FILE_NAME Export as OpenDocument Text file. @vindex org-export-odt-preferred-output-format If @code{org-export-odt-preferred-output-format} is specified, automatically convert the exported file to that format. @xref{x-export-to-other-formats, , Automatically exporting to other formats}. For an Org file @file{myfile.org}, the ODT file will be @file{myfile.odt}. The file will be overwritten without warning. If there is an active region,@footnote{This requires @code{transient-mark-mode} to be turned on} only the region will be exported. If the selected region is a single tree,@footnote{To select the current subtree, use @kbd{C-c @@}} the tree head will become the document title. If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME} property, that name will be used for the export. @orgcmd{C-c C-e O,org-export-as-odt-and-open} Export as OpenDocument Text file and open the resulting file. @vindex org-export-odt-preferred-output-format If @code{org-export-odt-preferred-output-format} is specified, open the converted file instead. @xref{x-export-to-other-formats, , Automatically exporting to other formats}. @end table @node Extending ODT export, Applying custom styles, ODT export commands, OpenDocument Text export @subsection Extending ODT export The ODT exporter can interface with a variety of document converters and supports popular converters out of the box. As a result, you can use it to export to formats like @samp{doc} or convert a document from one format (say @samp{csv}) to another format (say @samp{ods} or @samp{xls}). @cindex @file{unoconv} @cindex LibreOffice If you have a working installation of LibreOffice, a document converter is pre-configured for you and you can use it right away. If you would like to use @file{unoconv} as your preferred converter, customize the variable @code{org-export-odt-convert-process} to point to @code{unoconv}. You can also use your own favorite converter or tweak the default settings of the @file{LibreOffice} and @samp{unoconv} converters. @xref{Configuring a document converter}. @subsubsection Automatically exporting to other formats @anchor{x-export-to-other-formats} @vindex org-export-odt-preferred-output-format Very often, you will find yourself exporting to ODT format, only to immediately save the exported document to other formats like @samp{doc}, @samp{docx}, @samp{rtf}, @samp{pdf} etc. In such cases, you can specify your preferred output format by customizing the variable @code{org-export-odt-preferred-output-format}. This way, the export commands (@pxref{x-export-to-odt,,Exporting to ODT}) can be extended to export to a format that is of immediate interest to you. @subsubsection Converting between document formats @anchor{x-convert-to-other-formats} There are many document converters in the wild which support conversion to and from various file formats, including, but not limited to the ODT format. LibreOffice converter, mentioned above, is one such converter. Once a converter is configured, you can interact with it using the following command. @vindex org-export-odt-convert @table @kbd @item M-x org-export-odt-convert Convert an existing document from one format to another. With a prefix argument, also open the newly produced file. @end table @node Applying custom styles, Links in ODT export, Extending ODT export, OpenDocument Text export @subsection Applying custom styles @cindex styles, custom @cindex template, custom The ODT exporter ships with a set of OpenDocument styles (@pxref{Working with OpenDocument style files}) that ensure a well-formatted output. These factory styles, however, may not cater to your specific tastes. To customize the output, you can either modify the above styles files directly, or generate the required styles using an application like LibreOffice. The latter method is suitable for expert and non-expert users alike, and is described here. @subsubsection Applying custom styles - the easy way @enumerate @item Create a sample @file{example.org} file with the below settings and export it to ODT format. @example #+OPTIONS: H:10 num:t @end example @item Open the above @file{example.odt} using LibreOffice. Use the @file{Stylist} to locate the target styles - these typically have the @samp{Org} prefix - and modify those to your taste. Save the modified file either as an OpenDocument Text (@file{.odt}) or OpenDocument Template (@file{.ott}) file. @item @cindex #+ODT_STYLES_FILE @vindex org-export-odt-styles-file Customize the variable @code{org-export-odt-styles-file} and point it to the newly created file. For additional configuration options @pxref{x-overriding-factory-styles,,Overriding factory styles}. If you would like to choose a style on a per-file basis, you can use the @code{#+ODT_STYLES_FILE} option. A typical setting will look like @example #+ODT_STYLES_FILE: "/path/to/example.ott" @end example or @example #+ODT_STYLES_FILE: ("/path/to/file.ott" ("styles.xml" "image/hdr.png")) @end example @end enumerate @subsubsection Using third-party styles and templates You can use third-party styles and templates for customizing your output. This will produce the desired output only if the template provides all style names that the @samp{ODT} exporter relies on. Unless this condition is met, the output is going to be less than satisfactory. So it is highly recommended that you only work with templates that are directly derived from the factory settings. @node Links in ODT export, Tables in ODT export, Applying custom styles, OpenDocument Text export @subsection Links in ODT export @cindex tables, in DocBook export ODT exporter creates native cross-references for internal links. It creates Internet-style links for all other links. A link with no description and destined to a regular (un-itemized) outline heading is replaced with a cross-reference and section number of the heading. A @samp{\ref@{label@}}-style reference to an image, table etc. is replaced with a cross-reference and sequence number of the labeled entity. @xref{Labels and captions in ODT export}. @node Tables in ODT export, Images in ODT export, Links in ODT export, OpenDocument Text export @subsection Tables in ODT export @cindex tables, in DocBook export Export of native Org mode tables (@pxref{Tables}) and simple @file{table.el} tables is supported. However, export of complex @file{table.el} tables - tables that have column or row spans - is not supported. Such tables are stripped from the exported document. By default, a table is exported with top and bottom frames and with rules separating row and column groups (@pxref{Column groups}). Furthermore, all tables are typeset to occupy the same width. If the table specifies alignment and relative width for its columns (@pxref{Column width and alignment}) then these are honored on export.@footnote{The column widths are interpreted as weighted ratios with the default weight being 1} @cindex #+ATTR_ODT You can control the width of the table by specifying @code{:rel-width} property using an @code{#+ATTR_ODT} line. For example, consider the following table which makes use of all the rules mentioned above. @example #+ATTR_ODT: :rel-width 50 | Area/Month | Jan | Feb | Mar | Sum | |---------------+-------+-------+-------+-------| | / | < | | | < | | | | | | | | North America | 1 | 21 | 926 | 948 | | Middle East | 6 | 75 | 844 | 925 | | Asia Pacific | 9 | 27 | 790 | 826 | |---------------+-------+-------+-------+-------| | Sum | 16 | 123 | 2560 | 2699 | @end example On export, the table will occupy 50% of text area. The columns will be sized (roughly) in the ratio of 13:5:5:5:6. The first column will be left-aligned and rest of the columns will be right-aligned. There will be vertical rules after separating the header and last columns from other columns. There will be horizontal rules separating the header and last rows from other rows. If you are not satisfied with the above formatting options, you can create custom table styles and associate them with a table using the @code{#+ATTR_ODT} line. @xref{Customizing tables in ODT export}. @node Images in ODT export, Math formatting in ODT export, Tables in ODT export, OpenDocument Text export @subsection Images in ODT export @cindex images, embedding in ODT @cindex embedding images in ODT @subsubheading Embedding images You can embed images within the exported document by providing a link to the desired image file with no link description. For example, to embed @samp{img.png} do either of the following: @example [[file:img.png]] @end example @example [[./img.png]] @end example @subsubheading Embedding clickable images You can create clickable images by providing a link whose description is a link to an image file. For example, to embed a image @file{org-mode-unicorn.png} which when clicked jumps to @uref{http://Orgmode.org} website, do the following @example [[http://orgmode.org][./org-mode-unicorn.png]] @end example @subsubheading Sizing and scaling of embedded images @cindex #+ATTR_ODT You can control the size and scale of the embedded images using the @code{#+ATTR_ODT} attribute. @cindex identify, ImageMagick @vindex org-export-odt-pixels-per-inch The exporter specifies the desired size of the image in the final document in units of centimeters. In order to scale the embedded images, the exporter queries for pixel dimensions of the images using one of a) ImageMagick's @file{identify} program or b) Emacs `create-image' and `image-size' APIs.@footnote{Use of @file{ImageMagick} is only desirable. However, if you routinely produce documents that have large images or you export your Org files that has images using a Emacs batch script, then the use of @file{ImageMagick} is mandatory.} The pixel dimensions are subsequently converted in to units of centimeters using @code{org-export-odt-pixels-per-inch}. The default value of this variable is set to @code{display-pixels-per-inch}. You can tweak this variable to achieve the best results. The examples below illustrate the various possibilities. @table @asis @item Explicitly size the image To embed @file{img.png} as a 10 cm x 10 cm image, do the following: @example #+ATTR_ODT: :width 10 :height 10 [[./img.png]] @end example @item Scale the image To embed @file{img.png} at half its size, do the following: @example #+ATTR_ODT: :scale 0.5 [[./img.png]] @end example @item Scale the image to a specific width To embed @file{img.png} with a width of 10 cm while retaining the original height:width ratio, do the following: @example #+ATTR_ODT: :width 10 [[./img.png]] @end example @item Scale the image to a specific height To embed @file{img.png} with a height of 10 cm while retaining the original height:width ratio, do the following @example #+ATTR_ODT: :height 10 [[./img.png]] @end example @end table @subsubheading Anchoring of images @cindex #+ATTR_ODT You can control the manner in which an image is anchored by setting the @code{:anchor} property of it's @code{#+ATTR_ODT} line. You can specify one of the the following three values for the @code{:anchor} property - @samp{"as-char"}, @samp{"paragraph"} and @samp{"page"}. To create an image that is anchored to a page, do the following: @example #+ATTR_ODT: :anchor "page" [[./img.png]] @end example @node Math formatting in ODT export, Labels and captions in ODT export, Images in ODT export, OpenDocument Text export @subsection Math formatting in ODT export The ODT exporter has special support for handling math. @menu * Working with @LaTeX{} math snippets:: How to embed @LaTeX{} math fragments * Working with MathML or OpenDocument formula files:: How to embed equations in native format @end menu @node Working with @LaTeX{} math snippets, Working with MathML or OpenDocument formula files, Math formatting in ODT export, Math formatting in ODT export @subsubsection Working with @LaTeX{} math snippets @LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be embedded in the ODT document in one of the following ways: @cindex MathML @enumerate @item MathML This option is activated on a per-file basis with @example #+OPTIONS: LaTeX:t @end example With this option, @LaTeX{} fragments are first converted into MathML fragments using an external @LaTeX{}-to-MathML converter program. The resulting MathML fragments are then embedded as an OpenDocument Formula in the exported document. @vindex org-latex-to-mathml-convert-command @vindex org-latex-to-mathml-jar-file You can specify the @LaTeX{}-to-MathML converter by customizing the variables @code{org-latex-to-mathml-convert-command} and @code{org-latex-to-mathml-jar-file}. If you prefer to use @file{MathToWeb}@footnote{See @uref{http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl, MathToWeb}} as your converter, you can configure the above variables as shown below. @lisp (setq org-latex-to-mathml-convert-command "java -jar %j -unicode -force -df %o %I" org-latex-to-mathml-jar-file "/path/to/mathtoweb.jar") @end lisp You can use the following commands to quickly verify the reliability of the @LaTeX{}-to-MathML converter. @table @kbd @item M-x org-export-as-odf Convert a @LaTeX{} math snippet to OpenDocument formula (@file{.odf}) file. @item M-x org-export-as-odf-and-open Convert a @LaTeX{} math snippet to OpenDocument formula (@file{.odf}) file and open the formula file with the system-registered application. @end table @cindex dvipng @item PNG images This option is activated on a per-file basis with @example #+OPTIONS: LaTeX:dvipng @end example With this option, @LaTeX{} fragments are processed into PNG images and the resulting images are embedded in the exported document. This method requires that the @file{dvipng} program be available on your system. @end enumerate @node Working with MathML or OpenDocument formula files, , Working with @LaTeX{} math snippets, Math formatting in ODT export @subsubsection Working with MathML or OpenDocument formula files For various reasons, you may find embedding @LaTeX{} math snippets in an ODT document less than reliable. In that case, you can embed a math equation by linking to its MathML (@file{.mml}) source or its OpenDocument formula (@file{.odf}) file as shown below: @example [[./equation.mml]] @end example or @example [[./equation.odf]] @end example @node Labels and captions in ODT export, Literal examples in ODT export, Math formatting in ODT export, OpenDocument Text export @subsection Labels and captions in ODT export You can label and caption various category of objects - an inline image, a table, a @LaTeX{} fragment or a Math formula - using @code{#+LABEL} and @code{#+CAPTION} lines. @xref{Images and tables}. ODT exporter enumerates each labeled or captioned object of a given category separately. As a result, each such object is assigned a sequence number based on order of it's appearance in the Org file. In the exported document, a user-provided caption is augmented with the category and sequence number. Consider the following inline image in an Org file. @example #+CAPTION: Bell curve #+LABEL: fig:SED-HR4049 [[./img/a.png]] @end example It could be rendered as shown below in the exported document. @example Figure 2: Bell curve @end example @vindex org-export-odt-category-strings You can modify the category component of the caption by customizing the variable @code{org-export-odt-category-strings}. For example, to tag all embedded images with the string @samp{Illustration} (instead of the default @samp{Figure}) use the following setting. @lisp (setq org-export-odt-category-strings '(("en" "Table" "Illustration" "Equation" "Equation"))) @end lisp With this, previous image will be captioned as below in the exported document. @example Illustration 2: Bell curve @end example @node Literal examples in ODT export, Advanced topics in ODT export, Labels and captions in ODT export, OpenDocument Text export @subsection Literal examples in ODT export Export of literal examples (@pxref{Literal examples}) with full fontification is supported. Internally, the exporter relies on @file{htmlfontify.el} to generate all style definitions needed for a fancy listing.@footnote{Your @file{htmlfontify.el} library must at least be at Emacs 24.1 levels for fontification to be turned on.} The auto-generated styles have @samp{OrgSrc} as prefix and inherit their color from the faces used by Emacs @code{font-lock} library for the source language. @vindex org-export-odt-fontify-srcblocks If you prefer to use your own custom styles for fontification, you can do so by customizing the variable @code{org-export-odt-create-custom-styles-for-srcblocks}. @vindex org-export-odt-create-custom-styles-for-srcblocks You can turn off fontification of literal examples by customizing the variable @code{org-export-odt-fontify-srcblocks}. @node Advanced topics in ODT export, , Literal examples in ODT export, OpenDocument Text export @subsection Advanced topics in ODT export If you rely heavily on ODT export, you may want to exploit the full set of features that the exporter offers. This section describes features that would be of interest to power users. @menu * Configuring a document converter:: How to register a document converter * Working with OpenDocument style files:: Explore the internals * Creating one-off styles:: How to produce custom highlighting etc * Customizing tables in ODT export:: How to define and use Table templates * Validating OpenDocument XML:: How to debug corrupt OpenDocument files @end menu @node Configuring a document converter, Working with OpenDocument style files, Advanced topics in ODT export, Advanced topics in ODT export @subsubsection Configuring a document converter @cindex convert @cindex doc, docx, rtf @cindex converter The ODT exporter can work with popular converters with little or no extra configuration from your side. @xref{Extending ODT export}. If you are using a converter that is not supported by default or if you would like to tweak the default converter settings, proceed as below. @enumerate @item Register the converter @vindex org-export-odt-convert-processes Name your converter and add it to the list of known converters by customizing the variable @code{org-export-odt-convert-processes}. Also specify how the converter can be invoked via command-line to effect the conversion. @item Configure its capabilities @vindex org-export-odt-convert-capabilities @anchor{x-odt-converter-capabilities} Specify the set of formats the converter can handle by customizing the variable @code{org-export-odt-convert-capabilities}. Use the default value for this variable as a guide for configuring your converter. As suggested by the default setting, you can specify the full set of formats supported by the converter and not limit yourself to specifying formats that are related to just the OpenDocument Text format. @item Choose the converter @vindex org-export-odt-convert-process Select the newly added converter as the preferred one by customizing the variable @code{org-export-odt-convert-process}. @end enumerate @node Working with OpenDocument style files, Creating one-off styles, Configuring a document converter, Advanced topics in ODT export @subsubsection Working with OpenDocument style files @cindex styles, custom @cindex template, custom This section explores the internals of the ODT exporter and the means by which it produces styled documents. Read this section if you are interested in exploring the automatic and custom OpenDocument styles used by the exporter. @anchor{x-factory-styles} @subsubheading Factory styles The ODT exporter relies on two files for generating its output. These files are bundled with the distribution under the directory pointed to by the variable @code{org-odt-styles-dir}. The two files are: @itemize @anchor{x-orgodtstyles-xml} @item @file{OrgOdtStyles.xml} This file contributes to the @file{styles.xml} file of the final @samp{ODT} document. This file gets modified for the following purposes: @enumerate @item To control outline numbering based on user settings. @item To add styles generated by @file{htmlfontify.el} for fontification of code blocks. @end enumerate @anchor{x-orgodtcontenttemplate-xml} @item @file{OrgOdtContentTemplate.xml} This file contributes to the @file{content.xml} file of the final @samp{ODT} document. The contents of the Org outline are inserted between the @samp{}@dots{}@samp{} elements of this file. Apart from serving as a template file for the final @file{content.xml}, the file serves the following purposes: @enumerate @item It contains automatic styles for formatting of tables which are referenced by the exporter. @item It contains @samp{}@dots{}@samp{} elements that control how various entities - tables, images, equations etc - are numbered. @end enumerate @end itemize @anchor{x-overriding-factory-styles} @subsubheading Overriding factory styles The following two variables control the location from which the ODT exporter picks up the custom styles and content template files. You can customize these variables to override the factory styles used by the exporter. @itemize @anchor{x-org-export-odt-styles-file} @item @code{org-export-odt-styles-file} Use this variable to specify the @file{styles.xml} that will be used in the final output. You can specify one of the following values: @enumerate @item A @file{styles.xml} file Use this file instead of the default @file{styles.xml} @item A @file{.odt} or @file{.ott} file Use the @file{styles.xml} contained in the specified OpenDocument Text or Template file @item A @file{.odt} or @file{.ott} file and a subset of files contained within them Use the @file{styles.xml} contained in the specified OpenDocument Text or Template file. Additionally extract the specified member files and embed those within the final @samp{ODT} document. Use this option if the @file{styles.xml} file references additional files like header and footer images. @item @code{nil} Use the default @file{styles.xml} @end enumerate @anchor{x-org-export-odt-content-template-file} @item @code{org-export-odt-content-template-file} Use this variable to specify the blank @file{content.xml} that will be used in the final output. @end itemize @node Creating one-off styles, Customizing tables in ODT export, Working with OpenDocument style files, Advanced topics in ODT export @subsubsection Creating one-off styles There are times when you would want one-off formatting in the exported document. You can achieve this by embedding raw OpenDocument XML in the Org file. The use of this feature is better illustrated with couple of examples. @enumerate @item Embedding ODT tags as part of regular text You can include simple OpenDocument tags by prefixing them with @samp{@@}. For example, to highlight a region of text do the following: @example @@This is a highlighted text@@. But this is a regular text. @end example @strong{Hint:} To see the above example in action, edit your @file{styles.xml} (@pxref{x-orgodtstyles-xml,,Factory styles}) and add a custom @samp{Highlight} style as shown below. @example @end example @item Embedding a one-line OpenDocument XML You can add a simple OpenDocument one-liner using the @code{#+ODT:} directive. For example, to force a page break do the following: @example #+ODT: @end example @strong{Hint:} To see the above example in action, edit your @file{styles.xml} (@pxref{x-orgodtstyles-xml,,Factory styles}) and add a custom @samp{PageBreak} style as shown below. @example @end example @item Embedding a block of OpenDocument XML You can add a large block of OpenDocument XML using the @code{#+BEGIN_ODT}@dots{}@code{#+END_ODT} construct. For example, to create a one-off paragraph that uses bold text, do the following: @example #+BEGIN_ODT This paragraph is specially formatted and uses bold text. #+END_ODT @end example @end enumerate @node Customizing tables in ODT export, Validating OpenDocument XML, Creating one-off styles, Advanced topics in ODT export @subsubsection Customizing tables in ODT export @cindex tables, in ODT export @cindex #+ATTR_ODT You can override the default formatting of the table by specifying a custom table style with the @code{#+ATTR_ODT} line. For a discussion on default formatting of tables @pxref{Tables in ODT export}. This feature closely mimics the way table templates are defined in the OpenDocument-v1.2 specification.@footnote{@url{http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html, OpenDocument-v1.2 Specification}} @subsubheading Custom table styles - an illustration To have a quick preview of this feature, install the below setting and export the table that follows. @lisp (setq org-export-odt-table-styles (append org-export-odt-table-styles '(("TableWithHeaderRowAndColumn" "Custom" ((use-first-row-styles . t) (use-first-column-styles . t))) ("TableWithFirstRowandLastRow" "Custom" ((use-first-row-styles . t) (use-last-row-styles . t)))))) @end lisp @example #+ATTR_ODT: :style "TableWithHeaderRowAndColumn" | Name | Phone | Age | | Peter | 1234 | 17 | | Anna | 4321 | 25 | @end example In the above example, you used a template named @samp{Custom} and installed two table styles with the names @samp{TableWithHeaderRowAndColumn} and @samp{TableWithFirstRowandLastRow}. (@strong{Important:} The OpenDocument styles needed for producing the above template have been pre-defined for you. These styles are available under the section marked @samp{Custom Table Template} in @file{OrgOdtContentTemplate.xml} (@pxref{x-orgodtcontenttemplate-xml,,Factory styles}). If you need additional templates you have to define these styles yourselves. @subsubheading Custom table styles - the nitty-gritty To use this feature proceed as follows: @enumerate @item Create a table template@footnote{See the @code{} element of the OpenDocument-v1.2 specification} A table template is nothing but a set of @samp{table-cell} and @samp{paragraph} styles for each of the following table cell categories: @itemize @minus @item Body @item First column @item Last column @item First row @item Last row @item Even row @item Odd row @item Even column @item Odd Column @end itemize The names for the above styles must be chosen based on the name of the table template using a well-defined convention. The naming convention is better illustrated with an example. For a table template with the name @samp{Custom}, the needed style names are listed in the following table. @multitable {Table cell type} {CustomEvenColumnTableCell} {CustomEvenColumnTableParagraph} @headitem Table cell type @tab @code{table-cell} style @tab @code{paragraph} style @item @tab @tab @item Body @tab @samp{CustomTableCell} @tab @samp{CustomTableParagraph} @item First column @tab @samp{CustomFirstColumnTableCell} @tab @samp{CustomFirstColumnTableParagraph} @item Last column @tab @samp{CustomLastColumnTableCell} @tab @samp{CustomLastColumnTableParagraph} @item First row @tab @samp{CustomFirstRowTableCell} @tab @samp{CustomFirstRowTableParagraph} @item Last row @tab @samp{CustomLastRowTableCell} @tab @samp{CustomLastRowTableParagraph} @item Even row @tab @samp{CustomEvenRowTableCell} @tab @samp{CustomEvenRowTableParagraph} @item Odd row @tab @samp{CustomOddRowTableCell} @tab @samp{CustomOddRowTableParagraph} @item Even column @tab @samp{CustomEvenColumnTableCell} @tab @samp{CustomEvenColumnTableParagraph} @item Odd column @tab @samp{CustomOddColumnTableCell} @tab @samp{CustomOddColumnTableParagraph} @end multitable To create a table template with the name @samp{Custom}, define the above styles in the @code{}...@code{} element of the content template file (@pxref{x-orgodtcontenttemplate-xml,,Factory styles}). @item Define a table style@footnote{See the attributes @code{table:template-name}, @code{table:use-first-row-styles}, @code{table:use-last-row-styles}, @code{table:use-first-column-styles}, @code{table:use-last-column-styles}, @code{table:use-banding-rows-styles}, and @code{table:use-banding-column-styles} of the @code{} element in the OpenDocument-v1.2 specification} @vindex org-export-odt-table-styles To define a table style, create an entry for the style in the variable @code{org-export-odt-table-styles} and specify the following: @itemize @minus @item the name of the table template created in step (1) @item the set of cell styles in that template that are to be activated @end itemize For example, the entry below defines two different table styles @samp{TableWithHeaderRowAndColumn} and @samp{TableWithFirstRowandLastRow} based on the same template @samp{Custom}. The styles achieve their intended effect by selectively activating the individual cell styles in that template. @lisp (setq org-export-odt-table-styles (append org-export-odt-table-styles '(("TableWithHeaderRowAndColumn" "Custom" ((use-first-row-styles . t) (use-first-column-styles . t))) ("TableWithFirstRowandLastRow" "Custom" ((use-first-row-styles . t) (use-last-row-styles . t)))))) @end lisp @item Associate a table with the table style To do this, specify the table style created in step (2) as part of the @code{ATTR_ODT} line as shown below. @example #+ATTR_ODT: :style "TableWithHeaderRowAndColumn" | Name | Phone | Age | | Peter | 1234 | 17 | | Anna | 4321 | 25 | @end example @end enumerate @node Validating OpenDocument XML, , Customizing tables in ODT export, Advanced topics in ODT export @subsubsection Validating OpenDocument XML Occasionally, you will discover that the document created by the ODT exporter cannot be opened by your favorite application. One of the common reasons for this is that the @file{.odt} file is corrupt. In such cases, you may want to validate the document against the OpenDocument RELAX NG Compact Syntax (RNC) schema. For de-compressing the @file{.odt} file@footnote{@file{.odt} files are nothing but @samp{zip} archives}: @inforef{File Archives,,emacs}. For general help with validation (and schema-sensitive editing) of XML files: @inforef{Introduction,,nxml-mode}. @vindex org-export-odt-schema-dir If you have ready access to OpenDocument @file{.rnc} files and the needed schema-locating rules in a single folder, you can customize the variable @code{org-export-odt-schema-dir} to point to that directory. The ODT exporter will take care of updating the @code{rng-schema-locating-files} for you. @c end opendocument @node TaskJuggler export, Freemind export, OpenDocument Text export, Exporting @section TaskJuggler export @cindex TaskJuggler export @cindex Project management @uref{http://www.taskjuggler.org/, TaskJuggler} is a project management tool. It provides an optimizing scheduler that computes your project time lines and resource assignments based on the project outline and the constraints that you have provided. The TaskJuggler exporter is a bit different from other exporters, such as the @code{HTML} and @LaTeX{} exporters for example, in that it does not export all the nodes of a document or strictly follow the order of the nodes in the document. Instead the TaskJuggler exporter looks for a tree that defines the tasks and a optionally tree that defines the resources for this project. It then creates a TaskJuggler file based on these trees and the attributes defined in all the nodes. @subsection TaskJuggler export commands @table @kbd @orgcmd{C-c C-e j,org-export-as-taskjuggler} Export as TaskJuggler file. @orgcmd{C-c C-e J,org-export-as-taskjuggler-and-open} Export as TaskJuggler file and then open the file with TaskJugglerUI. @end table @subsection Tasks @vindex org-export-taskjuggler-project-tag Create your tasks as you usually do with Org mode. Assign efforts to each task using properties (it is easiest to do this in the column view). You should end up with something similar to the example by Peter Jones in @url{http://www.contextualdevelopment.com/static/artifacts/articles/2008/project-planning/project-planning.org}. Now mark the top node of your tasks with a tag named @code{:taskjuggler_project:} (or whatever you customized @code{org-export-taskjuggler-project-tag} to). You are now ready to export the project plan with @kbd{C-c C-e J} which will export the project plan and open a gantt chart in TaskJugglerUI. @subsection Resources @vindex org-export-taskjuggler-resource-tag Next you can define resources and assign those to work on specific tasks. You can group your resources hierarchically. Tag the top node of the resources with @code{:taskjuggler_resource:} (or whatever you customized @code{org-export-taskjuggler-resource-tag} to). You can optionally assign an identifier (named @samp{resource_id}) to the resources (using the standard Org properties commands, @pxref{Property syntax}) or you can let the exporter generate identifiers automatically (the exporter picks the first word of the headline as the identifier as long as it is unique---see the documentation of @code{org-taskjuggler-get-unique-id}). Using that identifier you can then allocate resources to tasks. This is again done with the @samp{allocate} property on the tasks. Do this in column view or when on the task type @kbd{C-c C-x p allocate @key{RET} @key{RET}}. Once the allocations are done you can again export to TaskJuggler and check in the Resource Allocation Graph which person is working on what task at what time. @subsection Export of properties The exporter also takes TODO state information into consideration, i.e.@: if a task is marked as done it will have the corresponding attribute in TaskJuggler (@samp{complete 100}). Also it will export any property on a task resource or resource node which is known to TaskJuggler, such as @samp{limits}, @samp{vacation}, @samp{shift}, @samp{booking}, @samp{efficiency}, @samp{journalentry}, @samp{rate} for resources or @samp{account}, @samp{start}, @samp{note}, @samp{duration}, @samp{end}, @samp{journalentry}, @samp{milestone}, @samp{reference}, @samp{responsible}, @samp{scheduling}, etc for tasks. @subsection Dependencies The exporter will handle dependencies that are defined in the tasks either with the @samp{ORDERED} attribute (@pxref{TODO dependencies}), with the @samp{BLOCKER} attribute (see @file{org-depend.el}) or alternatively with a @samp{depends} attribute. Both the @samp{BLOCKER} and the @samp{depends} attribute can be either @samp{previous-sibling} or a reference to an identifier (named @samp{task_id}) which is defined for another task in the project. @samp{BLOCKER} and the @samp{depends} attribute can define multiple dependencies separated by either space or comma. You can also specify optional attributes on the dependency by simply appending it. The following examples should illustrate this: @example * Preparation :PROPERTIES: :task_id: preparation :ORDERED: t :END: * Training material :PROPERTIES: :task_id: training_material :ORDERED: t :END: ** Markup Guidelines :PROPERTIES: :Effort: 2d :END: ** Workflow Guidelines :PROPERTIES: :Effort: 2d :END: * Presentation :PROPERTIES: :Effort: 2d :BLOCKER: training_material @{ gapduration 1d @} preparation :END: @end example @subsection Reports @vindex org-export-taskjuggler-default-reports TaskJuggler can produce many kinds of reports (e.g.@: gantt chart, resource allocation, etc). The user defines what kind of reports should be generated for a project in the TaskJuggler file. The exporter will automatically insert some default reports in the file. These defaults are defined in @code{org-export-taskjuggler-default-reports}. They can be modified using customize along with a number of other options. For a more complete list, see @kbd{M-x customize-group @key{RET} org-export-taskjuggler @key{RET}}. For more information and examples see the Org-taskjuggler tutorial at @uref{http://orgmode.org/worg/org-tutorials/org-taskjuggler.html}. @node Freemind export, XOXO export, TaskJuggler export, Exporting @section Freemind export @cindex Freemind export @cindex mind map The Freemind exporter was written by Lennart Borgman. @table @kbd @orgcmd{C-c C-e m,org-export-as-freemind} Export as Freemind mind map. For an Org file @file{myfile.org}, the Freemind file will be @file{myfile.mm}. @end table @node XOXO export, iCalendar export, Freemind export, Exporting @section XOXO export @cindex XOXO export Org mode contains an exporter that produces XOXO-style output. Currently, this exporter only handles the general outline structure and does not interpret any additional Org mode features. @table @kbd @orgcmd{C-c C-e x,org-export-as-xoxo} Export as XOXO file. For an Org file @file{myfile.org}, the XOXO file will be @file{myfile.html}. @orgkey{C-c C-e v x} Export only the visible part of the document. @end table @node iCalendar export, , XOXO export, Exporting @section iCalendar export @cindex iCalendar export @vindex org-icalendar-include-todo @vindex org-icalendar-use-deadline @vindex org-icalendar-use-scheduled @vindex org-icalendar-categories @vindex org-icalendar-alarm-time Some people use Org mode for keeping track of projects, but still prefer a standard calendar application for anniversaries and appointments. In this case it can be useful to show deadlines and other time-stamped items in Org files in the calendar application. Org mode can export calendar information in the standard iCalendar format. If you also want to have TODO entries included in the export, configure the variable @code{org-icalendar-include-todo}. Plain timestamps are exported as VEVENT, and TODO items as VTODO. It will also create events from deadlines that are in non-TODO items. Deadlines and scheduling dates in TODO items will be used to set the start and due dates for the TODO entry@footnote{See the variables @code{org-icalendar-use-deadline} and @code{org-icalendar-use-scheduled}.}. As categories, it will use the tags locally defined in the heading, and the file/tree category@footnote{To add inherited tags or the TODO state, configure the variable @code{org-icalendar-categories}.}. See the variable @code{org-icalendar-alarm-time} for a way to assign alarms to entries with a time. @vindex org-icalendar-store-UID @cindex property, ID The iCalendar standard requires each entry to have a globally unique identifier (UID). Org creates these identifiers during export. If you set the variable @code{org-icalendar-store-UID}, the UID will be stored in the @code{:ID:} property of the entry and re-used next time you report this entry. Since a single entry can give rise to multiple iCalendar entries (as a timestamp, a deadline, a scheduled item, and as a TODO item), Org adds prefixes to the UID, depending on what triggered the inclusion of the entry. In this way the UID remains unique, but a synchronization program can still figure out from which entry all the different instances originate. @table @kbd @orgcmd{C-c C-e i,org-export-icalendar-this-file} Create iCalendar entries for the current file and store them in the same directory, using a file extension @file{.ics}. @orgcmd{C-c C-e I, org-export-icalendar-all-agenda-files} @vindex org-agenda-files Like @kbd{C-c C-e i}, but do this for all files in @code{org-agenda-files}. For each of these files, a separate iCalendar file will be written. @orgcmd{C-c C-e c,org-export-icalendar-combine-agenda-files} @vindex org-combined-agenda-icalendar-file Create a single large iCalendar file from all files in @code{org-agenda-files} and write it to the file given by @code{org-combined-agenda-icalendar-file}. @end table @vindex org-use-property-inheritance @vindex org-icalendar-include-body @cindex property, SUMMARY @cindex property, DESCRIPTION @cindex property, LOCATION The export will honor SUMMARY, DESCRIPTION and LOCATION@footnote{The LOCATION property can be inherited from higher in the hierarchy if you configure @code{org-use-property-inheritance} accordingly.} properties if the selected entries have them. If not, the summary will be derived from the headline, and the description from the body (limited to @code{org-icalendar-include-body} characters). How this calendar is best read and updated, depends on the application you are using. The FAQ covers this issue. @node Publishing, Working With Source Code, Exporting, Top @chapter Publishing @cindex publishing Org includes a publishing management system that allows you to configure automatic HTML conversion of @emph{projects} composed of interlinked org files. You can also configure Org to automatically upload your exported HTML pages and related attachments, such as images and source code files, to a web server. You can also use Org to convert files into PDF, or even combine HTML and PDF conversion so that files are available in both formats on the server. Publishing has been contributed to Org by David O'Toole. @menu * Configuration:: Defining projects * Uploading files:: How to get files up on the server * Sample configuration:: Example projects * Triggering publication:: Publication commands @end menu @node Configuration, Uploading files, Publishing, Publishing @section Configuration Publishing needs significant configuration to specify files, destination and many other properties of a project. @menu * Project alist:: The central configuration variable * Sources and destinations:: From here to there * Selecting files:: What files are part of the project? * Publishing action:: Setting the function doing the publishing * Publishing options:: Tweaking HTML/@LaTeX{} export * Publishing links:: Which links keep working after publishing? * Sitemap:: Generating a list of all pages * Generating an index:: An index that reaches across pages @end menu @node Project alist, Sources and destinations, Configuration, Configuration @subsection The variable @code{org-publish-project-alist} @cindex org-publish-project-alist @cindex projects, for publishing @vindex org-publish-project-alist Publishing is configured almost entirely through setting the value of one variable, called @code{org-publish-project-alist}. Each element of the list configures one project, and may be in one of the two following forms: @lisp ("project-name" :property value :property value ...) @r{i.e.@: a well-formed property list with alternating keys and values} @r{or} ("project-name" :components ("project-name" "project-name" ...)) @end lisp In both cases, projects are configured by specifying property values. A project defines the set of files that will be published, as well as the publishing configuration to use when publishing those files. When a project takes the second form listed above, the individual members of the @code{:components} property are taken to be sub-projects, which group together files requiring different publishing options. When you publish such a ``meta-project'', all the components will also be published, in the sequence given. @node Sources and destinations, Selecting files, Project alist, Configuration @subsection Sources and destinations for files @cindex directories, for publishing Most properties are optional, but some should always be set. In particular, Org needs to know where to look for source files, and where to put published files. @multitable @columnfractions 0.3 0.7 @item @code{:base-directory} @tab Directory containing publishing source files @item @code{:publishing-directory} @tab Directory where output files will be published. You can directly publish to a webserver using a file name syntax appropriate for the Emacs @file{tramp} package. Or you can publish to a local directory and use external tools to upload your website (@pxref{Uploading files}). @item @code{:preparation-function} @tab Function or list of functions to be called before starting the publishing process, for example, to run @code{make} for updating files to be published. The project property list is scoped into this call as the variable @code{project-plist}. @item @code{:completion-function} @tab Function or list of functions called after finishing the publishing process, for example, to change permissions of the resulting files. The project property list is scoped into this call as the variable @code{project-plist}. @end multitable @noindent @node Selecting files, Publishing action, Sources and destinations, Configuration @subsection Selecting files @cindex files, selecting for publishing By default, all files with extension @file{.org} in the base directory are considered part of the project. This can be modified by setting the properties @multitable @columnfractions 0.25 0.75 @item @code{:base-extension} @tab Extension (without the dot!) of source files. This actually is a regular expression. Set this to the symbol @code{any} if you want to get all files in @code{:base-directory}, even without extension. @item @code{:exclude} @tab Regular expression to match file names that should not be published, even though they have been selected on the basis of their extension. @item @code{:include} @tab List of files to be included regardless of @code{:base-extension} and @code{:exclude}. @item @code{:recursive} @tab Non-nil means, check base-directory recursively for files to publish. @end multitable @node Publishing action, Publishing options, Selecting files, Configuration @subsection Publishing action @cindex action, for publishing Publishing means that a file is copied to the destination directory and possibly transformed in the process. The default transformation is to export Org files as HTML files, and this is done by the function @code{org-publish-org-to-html} which calls the HTML exporter (@pxref{HTML export}). But you also can publish your content as PDF files using @code{org-publish-org-to-pdf}, or as @code{ascii}, @code{latin1} or @code{utf8} encoded files using the corresponding functions. If you want to publish the Org file itself, but with @i{archived}, @i{commented}, and @i{tag-excluded} trees removed, use @code{org-publish-org-to-org} and set the parameters @code{:plain-source} and/or @code{:htmlized-source}. This will produce @file{file.org} and @file{file.org.html} in the publishing directory@footnote{@file{file-source.org} and @file{file-source.org.html} if source and publishing directories are equal. Note that with this kind of setup, you need to add @code{:exclude "-source\\.org"} to the project definition in @code{org-publish-project-alist} to prevent the published source files from being considered as new org files the next time the project is published.}. Other files like images only need to be copied to the publishing destination; for this you may use @code{org-publish-attachment}. For non-Org files, you always need to specify the publishing function: @multitable @columnfractions 0.3 0.7 @item @code{:publishing-function} @tab Function executing the publication of a file. This may also be a list of functions, which will all be called in turn. @item @code{:plain-source} @tab Non-nil means, publish plain source. @item @code{:htmlized-source} @tab Non-nil means, publish htmlized source. @end multitable The function must accept three arguments: a property list containing at least a @code{:publishing-directory} property, the name of the file to be published, and the path to the publishing directory of the output file. It should take the specified file, make the necessary transformation (if any) and place the result into the destination folder. @node Publishing options, Publishing links, Publishing action, Configuration @subsection Options for the HTML/@LaTeX{} exporters @cindex options, for publishing The property list can be used to set many export options for the HTML and @LaTeX{} exporters. In most cases, these properties correspond to user variables in Org. The table below lists these properties along with the variable they belong to. See the documentation string for the respective variable for details. @vindex org-export-html-link-up @vindex org-export-html-link-home @vindex org-export-default-language @vindex org-display-custom-times @vindex org-export-headline-levels @vindex org-export-with-section-numbers @vindex org-export-section-number-format @vindex org-export-with-toc @vindex org-export-preserve-breaks @vindex org-export-with-archived-trees @vindex org-export-with-emphasize @vindex org-export-with-sub-superscripts @vindex org-export-with-special-strings @vindex org-export-with-footnotes @vindex org-export-with-drawers @vindex org-export-with-tags @vindex org-export-with-todo-keywords @vindex org-export-with-tasks @vindex org-export-with-done-tasks @vindex org-export-with-priority @vindex org-export-with-TeX-macros @vindex org-export-with-LaTeX-fragments @vindex org-export-skip-text-before-1st-heading @vindex org-export-with-fixed-width @vindex org-export-with-timestamps @vindex org-export-author-info @vindex org-export-email-info @vindex org-export-creator-info @vindex org-export-time-stamp-file @vindex org-export-with-tables @vindex org-export-highlight-first-table-line @vindex org-export-html-style-include-default @vindex org-export-html-style-include-scripts @vindex org-export-html-style @vindex org-export-html-style-extra @vindex org-export-html-link-org-files-as-html @vindex org-export-html-inline-images @vindex org-export-html-extension @vindex org-export-html-table-tag @vindex org-export-html-expand @vindex org-export-html-with-timestamp @vindex org-export-publishing-directory @vindex org-export-html-preamble @vindex org-export-html-postamble @vindex user-full-name @vindex user-mail-address @vindex org-export-select-tags @vindex org-export-exclude-tags @multitable @columnfractions 0.32 0.68 @item @code{:link-up} @tab @code{org-export-html-link-up} @item @code{:link-home} @tab @code{org-export-html-link-home} @item @code{:language} @tab @code{org-export-default-language} @item @code{:customtime} @tab @code{org-display-custom-times} @item @code{:headline-levels} @tab @code{org-export-headline-levels} @item @code{:section-numbers} @tab @code{org-export-with-section-numbers} @item @code{:section-number-format} @tab @code{org-export-section-number-format} @item @code{:table-of-contents} @tab @code{org-export-with-toc} @item @code{:preserve-breaks} @tab @code{org-export-preserve-breaks} @item @code{:archived-trees} @tab @code{org-export-with-archived-trees} @item @code{:emphasize} @tab @code{org-export-with-emphasize} @item @code{:sub-superscript} @tab @code{org-export-with-sub-superscripts} @item @code{:special-strings} @tab @code{org-export-with-special-strings} @item @code{:footnotes} @tab @code{org-export-with-footnotes} @item @code{:drawers} @tab @code{org-export-with-drawers} @item @code{:tags} @tab @code{org-export-with-tags} @item @code{:todo-keywords} @tab @code{org-export-with-todo-keywords} @item @code{:tasks} @tab @code{org-export-with-tasks} @item @code{:priority} @tab @code{org-export-with-priority} @item @code{:TeX-macros} @tab @code{org-export-with-TeX-macros} @item @code{:LaTeX-fragments} @tab @code{org-export-with-LaTeX-fragments} @item @code{:latex-listings} @tab @code{org-export-latex-listings} @item @code{:skip-before-1st-heading} @tab @code{org-export-skip-text-before-1st-heading} @item @code{:fixed-width} @tab @code{org-export-with-fixed-width} @item @code{:timestamps} @tab @code{org-export-with-timestamps} @item @code{:author} @tab @code{user-full-name} @item @code{:email} @tab @code{user-mail-address} : @code{addr;addr;..} @item @code{:author-info} @tab @code{org-export-author-info} @item @code{:email-info} @tab @code{org-export-email-info} @item @code{:creator-info} @tab @code{org-export-creator-info} @item @code{:tables} @tab @code{org-export-with-tables} @item @code{:table-auto-headline} @tab @code{org-export-highlight-first-table-line} @item @code{:style-include-default} @tab @code{org-export-html-style-include-default} @item @code{:style-include-scripts} @tab @code{org-export-html-style-include-scripts} @item @code{:style} @tab @code{org-export-html-style} @item @code{:style-extra} @tab @code{org-export-html-style-extra} @item @code{:convert-org-links} @tab @code{org-export-html-link-org-files-as-html} @item @code{:inline-images} @tab @code{org-export-html-inline-images} @item @code{:html-extension} @tab @code{org-export-html-extension} @item @code{:html-preamble} @tab @code{org-export-html-preamble} @item @code{:html-postamble} @tab @code{org-export-html-postamble} @item @code{:xml-declaration} @tab @code{org-export-html-xml-declaration} @item @code{:html-table-tag} @tab @code{org-export-html-table-tag} @item @code{:expand-quoted-html} @tab @code{org-export-html-expand} @item @code{:timestamp} @tab @code{org-export-html-with-timestamp} @item @code{:publishing-directory} @tab @code{org-export-publishing-directory} @item @code{:select-tags} @tab @code{org-export-select-tags} @item @code{:exclude-tags} @tab @code{org-export-exclude-tags} @item @code{:latex-image-options} @tab @code{org-export-latex-image-default-option} @end multitable Most of the @code{org-export-with-*} variables have the same effect in both HTML and @LaTeX{} exporters, except for @code{:TeX-macros} and @code{:LaTeX-fragments} options, respectively @code{nil} and @code{t} in the @LaTeX{} export. See @code{org-export-plist-vars} to check this list of options. @vindex org-publish-project-alist When a property is given a value in @code{org-publish-project-alist}, its setting overrides the value of the corresponding user variable (if any) during publishing. Options set within a file (@pxref{Export options}), however, override everything. @node Publishing links, Sitemap, Publishing options, Configuration @subsection Links between published files @cindex links, publishing To create a link from one Org file to another, you would use something like @samp{[[file:foo.org][The foo]]} or simply @samp{file:foo.org.} (@pxref{Hyperlinks}). When published, this link becomes a link to @file{foo.html}. In this way, you can interlink the pages of your "org web" project and the links will work as expected when you publish them to HTML. If you also publish the Org source file and want to link to that, use an @code{http:} link instead of a @code{file:} link, because @code{file:} links are converted to link to the corresponding @file{html} file. You may also link to related files, such as images. Provided you are careful with relative file names, and provided you have also configured Org to upload the related files, these links will work too. See @ref{Complex example}, for an example of this usage. Sometimes an Org file to be published may contain links that are only valid in your production environment, but not in the publishing location. In this case, use the property @multitable @columnfractions 0.4 0.6 @item @code{:link-validation-function} @tab Function to validate links @end multitable @noindent to define a function for checking link validity. This function must accept two arguments, the file name and a directory relative to which the file name is interpreted in the production environment. If this function returns @code{nil}, then the HTML generator will only insert a description into the HTML file, but no link. One option for this function is @code{org-publish-validate-link} which checks if the given file is part of any project in @code{org-publish-project-alist}. @node Sitemap, Generating an index, Publishing links, Configuration @subsection Generating a sitemap @cindex sitemap, of published pages The following properties may be used to control publishing of a map of files for a given project. @multitable @columnfractions 0.35 0.65 @item @code{:auto-sitemap} @tab When non-nil, publish a sitemap during @code{org-publish-current-project} or @code{org-publish-all}. @item @code{:sitemap-filename} @tab Filename for output of sitemap. Defaults to @file{sitemap.org} (which becomes @file{sitemap.html}). @item @code{:sitemap-title} @tab Title of sitemap page. Defaults to name of file. @item @code{:sitemap-function} @tab Plug-in function to use for generation of the sitemap. Defaults to @code{org-publish-org-sitemap}, which generates a plain list of links to all files in the project. @item @code{:sitemap-sort-folders} @tab Where folders should appear in the sitemap. Set this to @code{first} (default) or @code{last} to display folders first or last, respectively. Any other value will mix files and folders. @item @code{:sitemap-sort-files} @tab How the files are sorted in the site map. Set this to @code{alphabetically} (default), @code{chronologically} or @code{anti-chronologically}. @code{chronologically} sorts the files with older date first while @code{anti-chronologically} sorts the files with newer date first. @code{alphabetically} sorts the files alphabetically. The date of a file is retrieved with @code{org-publish-find-date}. @item @code{:sitemap-ignore-case} @tab Should sorting be case-sensitive? Default @code{nil}. @item @code{:sitemap-file-entry-format} @tab With this option one can tell how a sitemap's entry is formatted in the sitemap. This is a format string with some escape sequences: @code{%t} stands for the title of the file, @code{%a} stands for the author of the file and @code{%d} stands for the date of the file. The date is retrieved with the @code{org-publish-find-date} function and formatted with @code{org-publish-sitemap-date-format}. Default @code{%t}. @item @code{:sitemap-date-format} @tab Format string for the @code{format-time-string} function that tells how a sitemap entry's date is to be formatted. This property bypasses @code{org-publish-sitemap-date-format} which defaults to @code{%Y-%m-%d}. @item @code{:sitemap-sans-extension} @tab When non-nil, remove filenames' extensions from the generated sitemap. Useful to have cool URIs (see @uref{http://www.w3.org/Provider/Style/URI}). Defaults to @code{nil}. @end multitable @node Generating an index, , Sitemap, Configuration @subsection Generating an index @cindex index, in a publishing project Org mode can generate an index across the files of a publishing project. @multitable @columnfractions 0.25 0.75 @item @code{:makeindex} @tab When non-nil, generate in index in the file @file{theindex.org} and publish it as @file{theindex.html}. @end multitable The file will be created when first publishing a project with the @code{:makeindex} set. The file only contains a statement @code{#+include: "theindex.inc"}. You can then build around this include statement by adding a title, style information, etc. @node Uploading files, Sample configuration, Configuration, Publishing @section Uploading files @cindex rsync @cindex unison For those people already utilizing third party sync tools such as @command{rsync} or @command{unison}, it might be preferable not to use the built in @i{remote} publishing facilities of Org mode which rely heavily on Tramp. Tramp, while very useful and powerful, tends not to be so efficient for multiple file transfer and has been known to cause problems under heavy usage. Specialized synchronization utilities offer several advantages. In addition to timestamp comparison, they also do content and permissions/attribute checks. For this reason you might prefer to publish your web to a local directory (possibly even @i{in place} with your Org files) and then use @file{unison} or @file{rsync} to do the synchronization with the remote host. Since Unison (for example) can be configured as to which files to transfer to a certain remote destination, it can greatly simplify the project publishing definition. Simply keep all files in the correct location, process your Org files with @code{org-publish} and let the synchronization tool do the rest. You do not need, in this scenario, to include attachments such as @file{jpg}, @file{css} or @file{gif} files in the project definition since the 3rd party tool syncs them. Publishing to a local directory is also much faster than to a remote one, so that you can afford more easily to republish entire projects. If you set @code{org-publish-use-timestamps-flag} to @code{nil}, you gain the main benefit of re-including any changed external files such as source example files you might include with @code{#+INCLUDE}. The timestamp mechanism in Org is not smart enough to detect if included files have been modified. @node Sample configuration, Triggering publication, Uploading files, Publishing @section Sample configuration Below we provide two example configurations. The first one is a simple project publishing only a set of Org files. The second example is more complex, with a multi-component project. @menu * Simple example:: One-component publishing * Complex example:: A multi-component publishing example @end menu @node Simple example, Complex example, Sample configuration, Sample configuration @subsection Example: simple publishing configuration This example publishes a set of Org files to the @file{public_html} directory on the local machine. @lisp (setq org-publish-project-alist '(("org" :base-directory "~/org/" :publishing-directory "~/public_html" :section-numbers nil :table-of-contents nil :style ""))) @end lisp @node Complex example, , Simple example, Sample configuration @subsection Example: complex publishing configuration This more complicated example publishes an entire website, including Org files converted to HTML, image files, Emacs Lisp source code, and style sheets. The publishing directory is remote and private files are excluded. To ensure that links are preserved, care should be taken to replicate your directory structure on the web server, and to use relative file paths. For example, if your Org files are kept in @file{~/org} and your publishable images in @file{~/images}, you would link to an image with @c @example file:../images/myimage.png @end example @c On the web server, the relative path to the image should be the same. You can accomplish this by setting up an "images" folder in the right place on the web server, and publishing images to it. @lisp (setq org-publish-project-alist '(("orgfiles" :base-directory "~/org/" :base-extension "org" :publishing-directory "/ssh:user@@host:~/html/notebook/" :publishing-function org-publish-org-to-html :exclude "PrivatePage.org" ;; regexp :headline-levels 3 :section-numbers nil :table-of-contents nil :style "" :html-preamble t) ("images" :base-directory "~/images/" :base-extension "jpg\\|gif\\|png" :publishing-directory "/ssh:user@@host:~/html/images/" :publishing-function org-publish-attachment) ("other" :base-directory "~/other/" :base-extension "css\\|el" :publishing-directory "/ssh:user@@host:~/html/other/" :publishing-function org-publish-attachment) ("website" :components ("orgfiles" "images" "other")))) @end lisp @node Triggering publication, , Sample configuration, Publishing @section Triggering publication Once properly configured, Org can publish with the following commands: @table @kbd @orgcmd{C-c C-e X,org-publish} Prompt for a specific project and publish all files that belong to it. @orgcmd{C-c C-e P,org-publish-current-project} Publish the project containing the current file. @orgcmd{C-c C-e F,org-publish-current-file} Publish only the current file. @orgcmd{C-c C-e E,org-publish-all} Publish every project. @end table @vindex org-publish-use-timestamps-flag Org uses timestamps to track when a file has changed. The above functions normally only publish changed files. You can override this and force publishing of all files by giving a prefix argument to any of the commands above, or by customizing the variable @code{org-publish-use-timestamps-flag}. This may be necessary in particular if files include other files via @code{#+SETUPFILE:} or @code{#+INCLUDE:}. @comment node-name, next, previous, up @comment Working With Source Code, Miscellaneous, Publishing, Top @node Working With Source Code, Miscellaneous, Publishing, Top @chapter Working with source code @cindex Schulte, Eric @cindex Davison, Dan @cindex source code, working with Source code can be included in Org mode documents using a @samp{src} block, e.g.@: @example #+BEGIN_SRC emacs-lisp (defun org-xor (a b) "Exclusive or." (if a (not b) b)) #+END_SRC @end example Org mode provides a number of features for working with live source code, including editing of code blocks in their native major-mode, evaluation of code blocks, converting code blocks into source files (known as @dfn{tangling} in literate programming), and exporting code blocks and their results in several formats. This functionality was contributed by Eric Schulte and Dan Davison, and was originally named Org-babel. The following sections describe Org mode's code block handling facilities. @menu * Structure of code blocks:: Code block syntax described * Editing source code:: Language major-mode editing * Exporting code blocks:: Export contents and/or results * Extracting source code:: Create pure source code files * Evaluating code blocks:: Place results of evaluation in the Org mode buffer * Library of Babel:: Use and contribute to a library of useful code blocks * Languages:: List of supported code block languages * Header arguments:: Configure code block functionality * Results of evaluation:: How evaluation results are handled * Noweb reference syntax:: Literate programming in Org mode * Key bindings and useful functions:: Work quickly with code blocks * Batch execution:: Call functions from the command line @end menu @comment node-name, next, previous, up @comment Structure of code blocks, Editing source code, Working With Source Code, Working With Source Code @node Structure of code blocks, Editing source code, Working With Source Code, Working With Source Code @section Structure of code blocks @cindex code block, structure @cindex source code, block structure @cindex #+NAME @cindex #+BEGIN_SRC Live code blocks can be specified with a @samp{src} block or inline.@footnote{Note that @samp{src} blocks may be inserted using Org mode's @ref{Easy Templates} system} The structure of a @samp{src} block is @example #+NAME: #+BEGIN_SRC
#+END_SRC @end example The @code{#+NAME:} line is optional, and can be used to name the code block. Live code blocks require that a language be specified on the @code{#+BEGIN_SRC} line. Switches and header arguments are optional. @cindex source code, inline Live code blocks can also be specified inline using @example src_@{@} @end example or @example src_[
]@{@} @end example @table @code @item <#+NAME: name> This line associates a name with the code block. This is similar to the @code{#+TBLNAME: NAME} lines that can be used to name tables in Org mode files. Referencing the name of a code block makes it possible to evaluate the block from other places in the file, from other files, or from Org mode table formulas (see @ref{The spreadsheet}). Names are assumed to be unique and the behavior of Org mode when two or more blocks share the same name is undefined. @cindex #+NAME @item The language of the code in the block (see @ref{Languages}). @cindex source code, language @item Optional switches control code block export (see the discussion of switches in @ref{Literal examples}) @cindex source code, switches @item
Optional header arguments control many aspects of evaluation, export and tangling of code blocks (see @ref{Header arguments}). Header arguments can also be set on a per-buffer or per-subtree basis using properties. @item source code, header arguments @item Source code in the specified language. @end table @comment node-name, next, previous, up @comment Editing source code, Exporting code blocks, Structure of code blocks, Working With Source Code @node Editing source code, Exporting code blocks, Structure of code blocks, Working With Source Code @section Editing source code @cindex code block, editing @cindex source code, editing @kindex C-c ' Use @kbd{C-c '} to edit the current code block. This brings up a language major-mode edit buffer containing the body of the code block. Saving this buffer will write the new contents back to the Org buffer. Use @kbd{C-c '} again to exit. The @code{org-src-mode} minor mode will be active in the edit buffer. The following variables can be used to configure the behavior of the edit buffer. See also the customization group @code{org-edit-structure} for further configuration options. @table @code @item org-src-lang-modes If an Emacs major-mode named @code{-mode} exists, where @code{} is the language named in the header line of the code block, then the edit buffer will be placed in that major-mode. This variable can be used to map arbitrary language names to existing major modes. @item org-src-window-setup Controls the way Emacs windows are rearranged when the edit buffer is created. @item org-src-preserve-indentation This variable is especially useful for tangling languages such as Python, in which whitespace indentation in the output is critical. @item org-src-ask-before-returning-to-edit-buffer By default, Org will ask before returning to an open edit buffer. Set this variable to nil to switch without asking. @end table To turn on native code fontification in the @emph{Org} buffer, configure the variable @code{org-src-fontify-natively}. @comment node-name, next, previous, up @comment Exporting code blocks, Extracting source code, Editing source code, Working With Source Code @node Exporting code blocks, Extracting source code, Editing source code, Working With Source Code @section Exporting code blocks @cindex code block, exporting @cindex source code, exporting It is possible to export the @emph{code} of code blocks, the @emph{results} of code block evaluation, @emph{both} the code and the results of code block evaluation, or @emph{none}. For most languages, the default exports code. However, for some languages (e.g.@: @code{ditaa}) the default exports the results of code block evaluation. For information on exporting code block bodies, see @ref{Literal examples}. The @code{:exports} header argument can be used to specify export behavior: @subsubheading Header arguments: @table @code @item :exports code The default in most languages. The body of the code block is exported, as described in @ref{Literal examples}. @item :exports results The code block will be evaluated and the results will be placed in the Org mode buffer for export, either updating previous results of the code block located anywhere in the buffer or, if no previous results exist, placing the results immediately after the code block. The body of the code block will not be exported. @item :exports both Both the code block and its results will be exported. @item :exports none Neither the code block nor its results will be exported. @end table It is possible to inhibit the evaluation of code blocks during export. Setting the @code{org-export-babel-evaluate} variable to @code{nil} will ensure that no code blocks are evaluated as part of the export process. This can be useful in situations where potentially untrusted Org mode files are exported in an automated fashion, for example when Org mode is used as the markup language for a wiki. @comment node-name, next, previous, up @comment Extracting source code, Evaluating code blocks, Exporting code blocks, Working With Source Code @node Extracting source code, Evaluating code blocks, Exporting code blocks, Working With Source Code @section Extracting source code @cindex tangling @cindex source code, extracting @cindex code block, extracting source code Creating pure source code files by extracting code from source blocks is referred to as ``tangling''---a term adopted from the literate programming community. During ``tangling'' of code blocks their bodies are expanded using @code{org-babel-expand-src-block} which can expand both variable and ``noweb'' style references (see @ref{Noweb reference syntax}). @subsubheading Header arguments @table @code @item :tangle no The default. The code block is not included in the tangled output. @item :tangle yes Include the code block in the tangled output. The output file name is the name of the org file with the extension @samp{.org} replaced by the extension for the block language. @item :tangle filename Include the code block in the tangled output to file @samp{filename}. @end table @kindex C-c C-v t @subsubheading Functions @table @code @item org-babel-tangle Tangle the current file. Bound to @kbd{C-c C-v t}. @item org-babel-tangle-file Choose a file to tangle. Bound to @kbd{C-c C-v f}. @end table @subsubheading Hooks @table @code @item org-babel-post-tangle-hook This hook is run from within code files tangled by @code{org-babel-tangle}. Example applications could include post-processing, compilation or evaluation of tangled code files. @end table @node Evaluating code blocks, Library of Babel, Extracting source code, Working With Source Code @section Evaluating code blocks @cindex code block, evaluating @cindex source code, evaluating @cindex #+RESULTS Code blocks can be evaluated@footnote{Whenever code is evaluated there is a potential for that code to do harm. Org mode provides safeguards to ensure that code is only evaluated after explicit confirmation from the user. For information on these safeguards (and on how to disable them) see @ref{Code evaluation security}.} and the results of evaluation optionally placed in the Org mode buffer. The results of evaluation are placed following a line that begins by default with @code{#+RESULTS} and optionally a cache identifier and/or the name of the evaluated code block. The default value of @code{#+RESULTS} can be changed with the customizable variable @code{org-babel-results-keyword}. By default, the evaluation facility is only enabled for Lisp code blocks specified as @code{emacs-lisp}. However, source code blocks in many languages can be evaluated within Org mode (see @ref{Languages} for a list of supported languages and @ref{Structure of code blocks} for information on the syntax used to define a code block). @kindex C-c C-c There are a number of ways to evaluate code blocks. The simplest is to press @kbd{C-c C-c} or @kbd{C-c C-v e} with the point on a code block@footnote{The @code{org-babel-no-eval-on-ctrl-c-ctrl-c} variable can be used to remove code evaluation from the @kbd{C-c C-c} key binding.}. This will call the @code{org-babel-execute-src-block} function to evaluate the block and insert its results into the Org mode buffer. @cindex #+CALL It is also possible to evaluate named code blocks from anywhere in an Org mode buffer or an Org mode table. Live code blocks located in the current Org mode buffer or in the ``Library of Babel'' (see @ref{Library of Babel}) can be executed. Named code blocks can be executed with a separate @code{#+CALL:} line or inline within a block of text. The syntax of the @code{#+CALL:} line is @example #+CALL: () #+CALL: []() @end example The syntax for inline evaluation of named code blocks is @example ... call_() ... ... call_[]()[] ... @end example @table @code @item The name of the code block to be evaluated (see @ref{Structure of code blocks}). @item Arguments specified in this section will be passed to the code block. These arguments use standard function call syntax, rather than header argument syntax. For example, a @code{#+CALL:} line that passes the number four to a code block named @code{double}, which declares the header argument @code{:var n=2}, would be written as @code{#+CALL: double(n=4)}. @item Inside header arguments are passed through and applied to the named code block. These arguments use header argument syntax rather than standard function call syntax. Inside header arguments affect how the code block is evaluated. For example, @code{[:results output]} will collect the results of everything printed to @code{STDOUT} during execution of the code block. @item End header arguments are applied to the calling instance and do not affect evaluation of the named code block. They affect how the results are incorporated into the Org mode buffer and how the call line is exported. For example, @code{:results html} will insert the results of the call line evaluation in the Org buffer, wrapped in a @code{BEGIN_HTML:} block. For more examples of passing header arguments to @code{#+CALL:} lines see @ref{Header arguments in function calls}. @end table @node Library of Babel, Languages, Evaluating code blocks, Working With Source Code @section Library of Babel @cindex babel, library of @cindex source code, library @cindex code block, library The ``Library of Babel'' consists of code blocks that can be called from any Org mode file. Code blocks defined in the ``Library of Babel'' can be called remotely as if they were in the current Org mode buffer (see @ref{Evaluating code blocks} for information on the syntax of remote code block evaluation). The central repository of code blocks in the ``Library of Babel'' is housed in an Org mode file located in the @samp{contrib} directory of Org mode. Users can add code blocks they believe to be generally useful to their ``Library of Babel.'' The code blocks can be stored in any Org mode file and then loaded into the library with @code{org-babel-lob-ingest}. @kindex C-c C-v i Code blocks located in any Org mode file can be loaded into the ``Library of Babel'' with the @code{org-babel-lob-ingest} function, bound to @kbd{C-c C-v i}. @node Languages, Header arguments, Library of Babel, Working With Source Code @section Languages @cindex babel, languages @cindex source code, languages @cindex code block, languages Code blocks in the following languages are supported. @multitable @columnfractions 0.28 0.3 0.22 0.2 @item @b{Language} @tab @b{Identifier} @tab @b{Language} @tab @b{Identifier} @item Asymptote @tab asymptote @tab Awk @tab awk @item Emacs Calc @tab calc @tab C @tab C @item C++ @tab C++ @tab Clojure @tab clojure @item CSS @tab css @tab ditaa @tab ditaa @item Graphviz @tab dot @tab Emacs Lisp @tab emacs-lisp @item gnuplot @tab gnuplot @tab Haskell @tab haskell @item Java @tab java @tab @tab @item Javascript @tab js @tab LaTeX @tab latex @item Ledger @tab ledger @tab Lisp @tab lisp @item Lilypond @tab lilypond @tab MATLAB @tab matlab @item Mscgen @tab mscgen @tab Objective Caml @tab ocaml @item Octave @tab octave @tab Org mode @tab org @item Oz @tab oz @tab Perl @tab perl @item Plantuml @tab plantuml @tab Python @tab python @item R @tab R @tab Ruby @tab ruby @item Sass @tab sass @tab Scheme @tab scheme @item GNU Screen @tab screen @tab shell @tab sh @item SQL @tab sql @tab SQLite @tab sqlite @end multitable Language-specific documentation is available for some languages. If available, it can be found at @uref{http://orgmode.org/worg/org-contrib/babel/languages}. The @code{org-babel-load-languages} controls which languages are enabled for evaluation (by default only @code{emacs-lisp} is enabled). This variable can be set using the customization interface or by adding code like the following to your emacs configuration. @quotation The following disables @code{emacs-lisp} evaluation and enables evaluation of @code{R} code blocks. Permission is also granted to copy, distribute and/or modify this document under the terms of the GNU General Public License (GPL). You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see @url{http://www.gnu.org/licenses/}. @end quotation @lisp (org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . nil) (R . t))) @end lisp It is also possible to enable support for a language by loading the related elisp file with @code{require}. @quotation The following adds support for evaluating @code{clojure} code blocks. Permission is also granted to copy, distribute and/or modify this document under the terms of the GNU General Public License (GPL). You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see @url{http://www.gnu.org/licenses/}. @end quotation @lisp (require 'ob-clojure) @end lisp @node Header arguments, Results of evaluation, Languages, Working With Source Code @section Header arguments @cindex code block, header arguments @cindex source code, block header arguments Code block functionality can be configured with header arguments. This section provides an overview of the use of header arguments, and then describes each header argument in detail. @menu * Using header arguments:: Different ways to set header arguments * Specific header arguments:: List of header arguments @end menu @node Using header arguments, Specific header arguments, Header arguments, Header arguments @subsection Using header arguments The values of header arguments can be set in six different ways, each more specific (and having higher priority) than the last. @menu * System-wide header arguments:: Set global default values * Language-specific header arguments:: Set default values by language * Buffer-wide header arguments:: Set default values for a specific buffer * Header arguments in Org mode properties:: Set default values for a buffer or heading * Code block specific header arguments:: The most common way to set values * Header arguments in function calls:: The most specific level @end menu @node System-wide header arguments, Language-specific header arguments, Using header arguments, Using header arguments @subsubheading System-wide header arguments @vindex org-babel-default-header-args System-wide values of header arguments can be specified by customizing the @code{org-babel-default-header-args} variable: @example :session => "none" :results => "replace" :exports => "code" :cache => "no" :noweb => "no" @end example @c @example @c org-babel-default-header-args is a variable defined in `org-babel.el'. @c Its value is @c ((:session . "none") @c (:results . "replace") @c (:exports . "code") @c (:cache . "no") @c (:noweb . "no")) @c Documentation: @c Default arguments to use when evaluating a code block. @c @end example For example, the following example could be used to set the default value of @code{:noweb} header arguments to @code{yes}. This would have the effect of expanding @code{:noweb} references by default when evaluating source code blocks. @lisp (setq org-babel-default-header-args (cons '(:noweb . "yes") (assq-delete-all :noweb org-babel-default-header-args))) @end lisp @node Language-specific header arguments, Buffer-wide header arguments, System-wide header arguments, Using header arguments @subsubheading Language-specific header arguments Each language can define its own set of default header arguments. See the language-specific documentation available online at @uref{http://orgmode.org/worg/org-contrib/babel}. @node Buffer-wide header arguments, Header arguments in Org mode properties, Language-specific header arguments, Using header arguments @subsubheading Buffer-wide header arguments Buffer-wide header arguments may be specified as properties through the use of @code{#+PROPERTY:} lines placed anywhere in an Org mode file (see @ref{Property syntax}). For example the following would set @code{session} to @code{*R*}, and @code{results} to @code{silent} for every code block in the buffer, ensuring that all execution took place in the same session, and no results would be inserted into the buffer. @example #+PROPERTY: session *R* #+PROPERTY: results silent @end example @node Header arguments in Org mode properties, Code block specific header arguments, Buffer-wide header arguments, Using header arguments @subsubheading Header arguments in Org mode properties Header arguments are also read from Org mode properties (see @ref{Property syntax}), which can be set on a buffer-wide or per-heading basis. An example of setting a header argument for all code blocks in a buffer is @example #+PROPERTY: tangle yes @end example @vindex org-use-property-inheritance When properties are used to set default header arguments, they are looked up with inheritance, regardless of the value of @code{org-use-property-inheritance}. In the following example the value of the @code{:cache} header argument will default to @code{yes} in all code blocks in the subtree rooted at the following heading: @example * outline header :PROPERTIES: :cache: yes :END: @end example @kindex C-c C-x p @vindex org-babel-default-header-args Properties defined in this way override the properties set in @code{org-babel-default-header-args}. It is convenient to use the @code{org-set-property} function bound to @kbd{C-c C-x p} to set properties in Org mode documents. @node Code block specific header arguments, Header arguments in function calls, Header arguments in Org mode properties, Using header arguments @subsubheading Code block specific header arguments The most common way to assign values to header arguments is at the code block level. This can be done by listing a sequence of header arguments and their values as part of the @code{#+BEGIN_SRC} line. Properties set in this way override both the values of @code{org-babel-default-header-args} and header arguments specified as properties. In the following example, the @code{:results} header argument is set to @code{silent}, meaning the results of execution will not be inserted in the buffer, and the @code{:exports} header argument is set to @code{code}, meaning only the body of the code block will be preserved on export to HTML or @LaTeX{}. @example #+NAME: factorial #+BEGIN_SRC haskell :results silent :exports code :var n=0 fac 0 = 1 fac n = n * fac (n-1) #+END_SRC @end example Similarly, it is possible to set header arguments for inline code blocks @example src_haskell[:exports both]@{fac 5@} @end example Code block header arguments can span multiple lines using @code{#+HEADER:} or @code{#+HEADERS:} lines preceding a code block or nested between the @code{#+NAME:} line and the @code{#+BEGIN_SRC} line of a named code block. @cindex #+HEADER: @cindex #+HEADERS: Multi-line header arguments on an un-named code block: @example #+HEADERS: :var data1=1 #+BEGIN_SRC emacs-lisp :var data2=2 (message "data1:%S, data2:%S" data1 data2) #+END_SRC #+results: : data1:1, data2:2 @end example Multi-line header arguments on a named code block: @example #+NAME: named-block #+HEADER: :var data=2 #+BEGIN_SRC emacs-lisp (message "data:%S" data) #+END_SRC #+results: named-block : data:2 @end example @node Header arguments in function calls, , Code block specific header arguments, Using header arguments @comment node-name, next, previous, up @subsubheading Header arguments in function calls At the most specific level, header arguments for ``Library of Babel'' or @code{#+CALL:} lines can be set as shown in the two examples below. For more information on the structure of @code{#+CALL:} lines see @ref{Evaluating code blocks}. The following will apply the @code{:exports results} header argument to the evaluation of the @code{#+CALL:} line. @example #+CALL: factorial(n=5) :exports results @end example The following will apply the @code{:session special} header argument to the evaluation of the @code{factorial} code block. @example #+CALL: factorial[:session special](n=5) @end example @node Specific header arguments, , Using header arguments, Header arguments @subsection Specific header arguments Header arguments consist of an initial colon followed by the name of the argument in lowercase letters. The following header arguments are defined: @menu * var:: Pass arguments to code blocks * results:: Specify the type of results and how they will be collected and handled * file:: Specify a path for file output * dir:: Specify the default (possibly remote) directory for code block execution * exports:: Export code and/or results * tangle:: Toggle tangling and specify file name * mkdirp:: Toggle creation of parent directories of target files during tangling * comments:: Toggle insertion of comments in tangled code files * padline:: Control insertion of padding lines in tangled code files * no-expand:: Turn off variable assignment and noweb expansion during tangling * session:: Preserve the state of code evaluation * noweb:: Toggle expansion of noweb references * noweb-ref:: Specify block's noweb reference resolution target * noweb-sep:: String used to separate noweb references * cache:: Avoid re-evaluating unchanged code blocks * sep:: Delimiter for writing tabular results outside Org * hlines:: Handle horizontal lines in tables * colnames:: Handle column names in tables * rownames:: Handle row names in tables * shebang:: Make tangled files executable * eval:: Limit evaluation of specific code blocks @end menu Additional header arguments are defined on a language-specific basis, see @ref{Languages}. @node var, results, Specific header arguments, Specific header arguments @subsubsection @code{:var} The @code{:var} header argument is used to pass arguments to code blocks. The specifics of how arguments are included in a code block vary by language; these are addressed in the language-specific documentation. However, the syntax used to specify arguments is the same across all languages. In every case, variables require a default value when they are declared. The values passed to arguments can either be literal values, references, or Emacs Lisp code (see @ref{var, Emacs Lisp evaluation of variables}). References include anything in the Org mode file that takes a @code{#+NAME:}, @code{#+TBLNAME:}, or @code{#+RESULTS:} line. This includes tables, lists, @code{#+BEGIN_EXAMPLE} blocks, other code blocks, and the results of other code blocks. Argument values can be indexed in a manner similar to arrays (see @ref{var, Indexable variable values}). The following syntax is used to pass arguments to code blocks using the @code{:var} header argument. @example :var name=assign @end example The argument, @code{assign}, can either be a literal value, such as a string @samp{"string"} or a number @samp{9}, or a reference to a table, a list, a literal example, another code block (with or without arguments), or the results of evaluating another code block. Here are examples of passing values by reference: @table @dfn @item table an Org mode table named with either a @code{#+NAME:} or @code{#+TBLNAME:} line @example #+TBLNAME: example-table | 1 | | 2 | | 3 | | 4 | #+NAME: table-length #+BEGIN_SRC emacs-lisp :var table=example-table (length table) #+END_SRC #+results: table-length : 4 @end example @item list a simple list named with a @code{#+NAME:} line (note that nesting is not carried through to the source code block) @example #+NAME: example-list - simple - not - nested - list #+BEGIN_SRC emacs-lisp :var x=example-list (print x) #+END_SRC #+results: | simple | list | @end example @item code block without arguments a code block name (from the example above), as assigned by @code{#+NAME:}, optionally followed by parentheses @example #+BEGIN_SRC emacs-lisp :var length=table-length() (* 2 length) #+END_SRC #+results: : 8 @end example @item code block with arguments a code block name, as assigned by @code{#+NAME:}, followed by parentheses and optional arguments passed within the parentheses following the code block name using standard function call syntax @example #+NAME: double #+BEGIN_SRC emacs-lisp :var input=8 (* 2 input) #+END_SRC #+results: double : 16 #+NAME: squared #+BEGIN_SRC emacs-lisp :var input=double(input=1) (* input input) #+END_SRC #+results: squared : 4 @end example @item literal example a literal example block named with a @code{#+NAME:} line @example #+NAME: literal-example #+BEGIN_EXAMPLE A literal example on two lines #+END_EXAMPLE #+NAME: read-literal-example #+BEGIN_SRC emacs-lisp :var x=literal-example (concatenate 'string x " for you.") #+END_SRC #+results: read-literal-example : A literal example : on two lines for you. @end example @end table @subsubheading Alternate argument syntax It is also possible to specify arguments in a potentially more natural way using the @code{#+NAME:} line of a code block. As in the following example, arguments can be packed inside of parentheses, separated by commas, following the source name. @example #+NAME: double(input=0, x=2) #+BEGIN_SRC emacs-lisp (* 2 (+ input x)) #+END_SRC @end example @subsubheading Indexable variable values It is possible to reference portions of variable values by ``indexing'' into the variables. Indexes are 0 based with negative values counting back from the end. If an index is separated by @code{,}s then each subsequent section will index into the next deepest nesting or dimension of the value. Note that this indexing occurs @emph{before} other table related header arguments like @code{:hlines}, @code{:colnames} and @code{:rownames} are applied. The following example assigns the last cell of the first row the table @code{example-table} to the variable @code{data}: @example #+NAME: example-table | 1 | a | | 2 | b | | 3 | c | | 4 | d | #+BEGIN_SRC emacs-lisp :var data=example-table[0,-1] data #+END_SRC #+results: : a @end example Ranges of variable values can be referenced using two integers separated by a @code{:}, in which case the entire inclusive range is referenced. For example the following assigns the middle three rows of @code{example-table} to @code{data}. @example #+NAME: example-table | 1 | a | | 2 | b | | 3 | c | | 4 | d | | 5 | 3 | #+BEGIN_SRC emacs-lisp :var data=example-table[1:3] data #+END_SRC #+results: | 2 | b | | 3 | c | | 4 | d | @end example Additionally, an empty index, or the single character @code{*}, are both interpreted to mean the entire range and as such are equivalent to @code{0:-1}, as shown in the following example in which the entire first column is referenced. @example #+NAME: example-table | 1 | a | | 2 | b | | 3 | c | | 4 | d | #+BEGIN_SRC emacs-lisp :var data=example-table[,0] data #+END_SRC #+results: | 1 | 2 | 3 | 4 | @end example It is possible to index into the results of code blocks as well as tables. Any number of dimensions can be indexed. Dimensions are separated from one another by commas, as shown in the following example. @example #+NAME: 3D #+BEGIN_SRC emacs-lisp '(((1 2 3) (4 5 6) (7 8 9)) ((10 11 12) (13 14 15) (16 17 18)) ((19 20 21) (22 23 24) (25 26 27))) #+END_SRC #+BEGIN_SRC emacs-lisp :var data=3D[1,,1] data #+END_SRC #+results: | 11 | 14 | 17 | @end example @subsubheading Emacs Lisp evaluation of variables Emacs lisp code can be used to initialize variable values. When a variable value starts with @code{(}, @code{[}, @code{'} or @code{`} it will be evaluated as Emacs Lisp and the result of the evaluation will be assigned as the variable value. The following example demonstrates use of this evaluation to reliably pass the file-name of the Org mode buffer to a code block---note that evaluation of header arguments is guaranteed to take place in the original Org mode file, while there is no such guarantee for evaluation of the code block body. @example #+BEGIN_SRC sh :var filename=(buffer-file-name) :exports both wc -w $filename #+END_SRC @end example Note that values read from tables and lists will not be evaluated as Emacs Lisp, as shown in the following example. @example #+NAME: table | (a b c) | #+HEADERS: :var data=table[0,0] #+BEGIN_SRC perl $data #+END_SRC #+results: : (a b c) @end example @node results, file, var, Specific header arguments @subsubsection @code{:results} There are three classes of @code{:results} header argument. Only one option per class may be supplied per code block. @itemize @bullet @item @b{collection} header arguments specify how the results should be collected from the code block @item @b{type} header arguments specify what type of result the code block will return---which has implications for how they will be inserted into the Org mode buffer @item @b{handling} header arguments specify how the results of evaluating the code block should be handled. @end itemize @subsubheading Collection The following options are mutually exclusive, and specify how the results should be collected from the code block. @itemize @bullet @item @code{value} This is the default. The result is the value of the last statement in the code block. This header argument places the evaluation in functional mode. Note that in some languages, e.g., Python, use of this result type requires that a @code{return} statement be included in the body of the source code block. E.g., @code{:results value}. @item @code{output} The result is the collection of everything printed to STDOUT during the execution of the code block. This header argument places the evaluation in scripting mode. E.g., @code{:results output}. @end itemize @subsubheading Type The following options are mutually exclusive and specify what type of results the code block will return. By default, results are inserted as either a table or scalar depending on their value. @itemize @bullet @item @code{table}, @code{vector} The results should be interpreted as an Org mode table. If a single value is returned, it will be converted into a table with one row and one column. E.g., @code{:results value table}. @item @code{list} The results should be interpreted as an Org mode list. If a single scalar value is returned it will be converted into a list with only one element. @item @code{scalar}, @code{verbatim} The results should be interpreted literally---they will not be converted into a table. The results will be inserted into the Org mode buffer as quoted text. E.g., @code{:results value verbatim}. @item @code{file} The results will be interpreted as the path to a file, and will be inserted into the Org mode buffer as a file link. E.g., @code{:results value file}. @item @code{raw}, @code{org} The results are interpreted as raw Org mode code and are inserted directly into the buffer. If the results look like a table they will be aligned as such by Org mode. E.g., @code{:results value raw}. @item @code{html} Results are assumed to be HTML and will be enclosed in a @code{begin_html} block. E.g., @code{:results value html}. @item @code{latex} Results assumed to be @LaTeX{} and are enclosed in a @code{begin_latex} block. E.g., @code{:results value latex}. @item @code{code} Result are assumed to be parsable code and are enclosed in a code block. E.g., @code{:results value code}. @item @code{pp} The result is converted to pretty-printed code and is enclosed in a code block. This option currently supports Emacs Lisp, Python, and Ruby. E.g., @code{:results value pp}. @item @code{wrap} The result is wrapped in a RESULTS drawer. This can be useful for inserting @code{raw} or @code{org} syntax results in such a way that their extent is known and they can be automatically removed or replaced. @end itemize @subsubheading Handling The following results options indicate what happens with the results once they are collected. @itemize @bullet @item @code{silent} The results will be echoed in the minibuffer but will not be inserted into the Org mode buffer. E.g., @code{:results output silent}. @item @code{replace} The default value. Any existing results will be removed, and the new results will be inserted into the Org mode buffer in their place. E.g., @code{:results output replace}. @item @code{append} If there are pre-existing results of the code block then the new results will be appended to the existing results. Otherwise the new results will be inserted as with @code{replace}. @item @code{prepend} If there are pre-existing results of the code block then the new results will be prepended to the existing results. Otherwise the new results will be inserted as with @code{replace}. @end itemize @node file, dir, results, Specific header arguments @subsubsection @code{:file} The header argument @code{:file} is used to specify an external file in which to save code block results. After code block evaluation an Org mode style @code{[[file:]]} link (see @ref{Link format}) to the file will be inserted into the Org mode buffer. Some languages including R, gnuplot, dot, and ditaa provide special handling of the @code{:file} header argument automatically wrapping the code block body in the boilerplate code required to save output to the specified file. This is often useful for saving graphical output of a code block to the specified file. The argument to @code{:file} should be either a string specifying the path to a file, or a list of two strings in which case the first element of the list should be the path to a file and the second a description for the link. @node dir, exports, file, Specific header arguments @subsubsection @code{:dir} and remote execution While the @code{:file} header argument can be used to specify the path to the output file, @code{:dir} specifies the default directory during code block execution. If it is absent, then the directory associated with the current buffer is used. In other words, supplying @code{:dir path} temporarily has the same effect as changing the current directory with @kbd{M-x cd path}, and then not supplying @code{:dir}. Under the surface, @code{:dir} simply sets the value of the Emacs variable @code{default-directory}. When using @code{:dir}, you should supply a relative path for file output (e.g.@: @code{:file myfile.jpg} or @code{:file results/myfile.jpg}) in which case that path will be interpreted relative to the default directory. In other words, if you want your plot to go into a folder called @file{Work} in your home directory, you could use @example #+BEGIN_SRC R :file myplot.png :dir ~/Work matplot(matrix(rnorm(100), 10), type="l") #+END_SRC @end example @subsubheading Remote execution A directory on a remote machine can be specified using tramp file syntax, in which case the code will be evaluated on the remote machine. An example is @example #+BEGIN_SRC R :file plot.png :dir /dand@@yakuba.princeton.edu: plot(1:10, main=system("hostname", intern=TRUE)) #+END_SRC @end example Text results will be returned to the local Org mode buffer as usual, and file output will be created on the remote machine with relative paths interpreted relative to the remote directory. An Org mode link to the remote file will be created. So, in the above example a plot will be created on the remote machine, and a link of the following form will be inserted in the org buffer: @example [[file:/scp:dand@@yakuba.princeton.edu:/home/dand/plot.png][plot.png]] @end example Most of this functionality follows immediately from the fact that @code{:dir} sets the value of the Emacs variable @code{default-directory}, thanks to tramp. Those using XEmacs, or GNU Emacs prior to version 23 may need to install tramp separately in order for these features to work correctly. @subsubheading Further points @itemize @bullet @item If @code{:dir} is used in conjunction with @code{:session}, although it will determine the starting directory for a new session as expected, no attempt is currently made to alter the directory associated with an existing session. @item @code{:dir} should typically not be used to create files during export with @code{:exports results} or @code{:exports both}. The reason is that, in order to retain portability of exported material between machines, during export links inserted into the buffer will @emph{not} be expanded against @code{default directory}. Therefore, if @code{default-directory} is altered using @code{:dir}, it is probable that the file will be created in a location to which the link does not point. @end itemize @node exports, tangle, dir, Specific header arguments @subsubsection @code{:exports} The @code{:exports} header argument specifies what should be included in HTML or @LaTeX{} exports of the Org mode file. @itemize @bullet @item @code{code} The default. The body of code is included into the exported file. E.g., @code{:exports code}. @item @code{results} The result of evaluating the code is included in the exported file. E.g., @code{:exports results}. @item @code{both} Both the code and results are included in the exported file. E.g., @code{:exports both}. @item @code{none} Nothing is included in the exported file. E.g., @code{:exports none}. @end itemize @node tangle, mkdirp, exports, Specific header arguments @subsubsection @code{:tangle} The @code{:tangle} header argument specifies whether or not the code block should be included in tangled extraction of source code files. @itemize @bullet @item @code{tangle} The code block is exported to a source code file named after the full path (including the directory) and file name (w/o extension) of the Org mode file. E.g., @code{:tangle yes}. @item @code{no} The default. The code block is not exported to a source code file. E.g., @code{:tangle no}. @item other Any other string passed to the @code{:tangle} header argument is interpreted as a path (directory and file name relative to the directory of the Org mode file) to which the block will be exported. E.g., @code{:tangle path}. @end itemize @node mkdirp, comments, tangle, Specific header arguments @subsubsection @code{:mkdirp} The @code{:mkdirp} header argument can be used to create parent directories of tangled files when missing. This can be set to @code{yes} to enable directory creation or to @code{no} to inhibit directory creation. @node comments, padline, mkdirp, Specific header arguments @subsubsection @code{:comments} By default code blocks are tangled to source-code files without any insertion of comments beyond those which may already exist in the body of the code block. The @code{:comments} header argument can be set as follows to control the insertion of extra comments into the tangled code file. @itemize @bullet @item @code{no} The default. No extra comments are inserted during tangling. @item @code{link} The code block is wrapped in comments which contain pointers back to the original Org file from which the code was tangled. @item @code{yes} A synonym for ``link'' to maintain backwards compatibility. @item @code{org} Include text from the Org mode file as a comment. The text is picked from the leading context of the tangled code and is limited by the nearest headline or source block as the case may be. @item @code{both} Turns on both the ``link'' and ``org'' comment options. @item @code{noweb} Turns on the ``link'' comment option, and additionally wraps expanded noweb references in the code block body in link comments. @end itemize @node padline, no-expand, comments, Specific header arguments @subsubsection @code{:padline} Control in insertion of padding lines around code block bodies in tangled code files. The default value is @code{yes} which results in insertion of newlines before and after each tangled code block. The following arguments are accepted. @itemize @bullet @item @code{yes} Insert newlines before and after each code block body in tangled code files. @item @code{no} Do not insert any newline padding in tangled output. @end itemize @node no-expand, session, padline, Specific header arguments @subsubsection @code{:no-expand} By default, code blocks are expanded with @code{org-babel-expand-src-block} during tangling. This has the effect of assigning values to variables specified with @code{:var} (see @ref{var}), and of replacing ``noweb'' references (see @ref{Noweb reference syntax}) with their targets. The @code{:no-expand} header argument can be used to turn off this behavior. @node session, noweb, no-expand, Specific header arguments @subsubsection @code{:session} The @code{:session} header argument starts a session for an interpreted language where state is preserved. By default, a session is not started. A string passed to the @code{:session} header argument will give the session a name. This makes it possible to run concurrent sessions for each interpreted language. @node noweb, noweb-ref, session, Specific header arguments @subsubsection @code{:noweb} The @code{:noweb} header argument controls expansion of ``noweb'' style (see @ref{Noweb reference syntax}) references in a code block. This header argument can have one of three values: @code{yes}, @code{no}, or @code{tangle}. @itemize @bullet @item @code{yes} All ``noweb'' syntax references in the body of the code block will be expanded before the block is evaluated, tangled or exported. @item @code{no} The default. No ``noweb'' syntax specific action is taken when the code block is evaluated, tangled or exported. @item @code{tangle} All ``noweb'' syntax references in the body of the code block will be expanded before the block is tangled, however ``noweb'' references will not be expanded when the block is evaluated or exported. @end itemize @subsubheading Noweb prefix lines Noweb insertions are now placed behind the line prefix of the @code{<>}. This behavior is illustrated in the following example. Because the @code{<>} noweb reference appears behind the SQL comment syntax, each line of the expanded noweb reference will be commented. This code block: @example -- <> @end example expands to: @example -- this is the -- multi-line body of example @end example Note that noweb replacement text that does not contain any newlines will not be affected by this change, so it is still possible to use inline noweb references. @node noweb-ref, noweb-sep, noweb, Specific header arguments @subsubsection @code{:noweb-ref} When expanding ``noweb'' style references the bodies of all code block with @emph{either} a block name matching the reference name @emph{or} a @code{:noweb-ref} header argument matching the reference name will be concatenated together to form the replacement text. By setting this header argument at the sub-tree or file level, simple code block concatenation may be achieved. For example, when tangling the following Org mode file, the bodies of code blocks will be concatenated into the resulting pure code file@footnote{(The example needs property inheritance to be turned on for the @code{noweb-ref} property, see @ref{Property inheritance}).}. @example #+BEGIN_SRC sh :tangle yes :noweb yes :shebang #!/bin/sh <> #+END_SRC * the mount point of the fullest disk :PROPERTIES: :noweb-ref: fullest-disk :END: ** query all mounted disks #+BEGIN_SRC sh df \ #+END_SRC ** strip the header row #+BEGIN_SRC sh |sed '1d' \ #+END_SRC ** sort by the percent full #+BEGIN_SRC sh |awk '@{print $5 " " $6@}'|sort -n |tail -1 \ #+END_SRC ** extract the mount point #+BEGIN_SRC sh |awk '@{print $2@}' #+END_SRC @end example The @code{:noweb-sep} (see @ref{noweb-sep}) header argument holds the string used to separate accumulate noweb references like those above. By default a newline is used. @node noweb-sep, cache, noweb-ref, Specific header arguments @subsubsection @code{:noweb-sep} The @code{:noweb-sep} header argument holds the string used to separate accumulate noweb references (see @ref{noweb-ref}). By default a newline is used. @node cache, sep, noweb-sep, Specific header arguments @subsubsection @code{:cache} The @code{:cache} header argument controls the use of in-buffer caching of the results of evaluating code blocks. It can be used to avoid re-evaluating unchanged code blocks. Note that the @code{:cache} header argument will not attempt to cache results when the @code{:session} header argument is used, because the results of the code block execution may be stored in the session outside of the Org-mode buffer. The @code{:cache} header argument can have one of two values: @code{yes} or @code{no}. @itemize @bullet @item @code{no} The default. No caching takes place, and the code block will be evaluated every time it is called. @item @code{yes} Every time the code block is run a SHA1 hash of the code and arguments passed to the block will be generated. This hash is packed into the @code{#+results:} line and will be checked on subsequent executions of the code block. If the code block has not changed since the last time it was evaluated, it will not be re-evaluated. @end itemize Code block caches notice if the value of a variable argument to the code block has changed. If this is the case, the cache is invalidated and the code block is re-run. In the following example, @code{caller} will not be re-run unless the results of @code{random} have changed since it was last run. @example #+NAME: random #+BEGIN_SRC R :cache yes runif(1) #+END_SRC #+results[a2a72cd647ad44515fab62e144796432793d68e1]: random 0.4659510825295 #+NAME: caller #+BEGIN_SRC emacs-lisp :var x=random :cache yes x #+END_SRC #+results[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller 0.254227238707244 @end example @node sep, hlines, cache, Specific header arguments @subsubsection @code{:sep} The @code{:sep} header argument can be used to control the delimiter used when writing tabular results out to files external to Org mode. This is used either when opening tabular results of a code block by calling the @code{org-open-at-point} function bound to @kbd{C-c C-o} on the code block, or when writing code block results to an external file (see @ref{file}) header argument. By default, when @code{:sep} is not specified output tables are tab delimited. @node hlines, colnames, sep, Specific header arguments @subsubsection @code{:hlines} Tables are frequently represented with one or more horizontal lines, or hlines. The @code{:hlines} argument to a code block accepts the values @code{yes} or @code{no}, with a default value of @code{no}. @itemize @bullet @item @code{no} Strips horizontal lines from the input table. In most languages this is the desired effect because an @code{hline} symbol is interpreted as an unbound variable and raises an error. Setting @code{:hlines no} or relying on the default value yields the following results. @example #+TBLNAME: many-cols | a | b | c | |---+---+---| | d | e | f | |---+---+---| | g | h | i | #+NAME: echo-table #+BEGIN_SRC python :var tab=many-cols return tab #+END_SRC #+results: echo-table | a | b | c | | d | e | f | | g | h | i | @end example @item @code{yes} Leaves hlines in the table. Setting @code{:hlines yes} has this effect. @example #+TBLNAME: many-cols | a | b | c | |---+---+---| | d | e | f | |---+---+---| | g | h | i | #+NAME: echo-table #+BEGIN_SRC python :var tab=many-cols :hlines yes return tab #+END_SRC #+results: echo-table | a | b | c | |---+---+---| | d | e | f | |---+---+---| | g | h | i | @end example @end itemize @node colnames, rownames, hlines, Specific header arguments @subsubsection @code{:colnames} The @code{:colnames} header argument accepts the values @code{yes}, @code{no}, or @code{nil} for unassigned. The default value is @code{nil}. Note that the behavior of the @code{:colnames} header argument may differ across languages. For example Emacs Lisp code blocks ignore the @code{:colnames} header argument entirely given the ease with which tables with column names may be handled directly in Emacs Lisp. @itemize @bullet @item @code{nil} If an input table looks like it has column names (because its second row is an hline), then the column names will be removed from the table before processing, then reapplied to the results. @example #+TBLNAME: less-cols | a | |---| | b | | c | #+NAME: echo-table-again #+BEGIN_SRC python :var tab=less-cols return [[val + '*' for val in row] for row in tab] #+END_SRC #+results: echo-table-again | a | |----| | b* | | c* | @end example Please note that column names are not removed before the table is indexed using variable indexing @xref{var, Indexable variable values}. @item @code{no} No column name pre-processing takes place @item @code{yes} Column names are removed and reapplied as with @code{nil} even if the table does not ``look like'' it has column names (i.e.@: the second row is not an hline) @end itemize @node rownames, shebang, colnames, Specific header arguments @subsubsection @code{:rownames} The @code{:rownames} header argument can take on the values @code{yes} or @code{no}, with a default value of @code{no}. @itemize @bullet @item @code{no} No row name pre-processing will take place. @item @code{yes} The first column of the table is removed from the table before processing, and is then reapplied to the results. @example #+TBLNAME: with-rownames | one | 1 | 2 | 3 | 4 | 5 | | two | 6 | 7 | 8 | 9 | 10 | #+NAME: echo-table-once-again #+BEGIN_SRC python :var tab=with-rownames :rownames yes return [[val + 10 for val in row] for row in tab] #+END_SRC #+results: echo-table-once-again | one | 11 | 12 | 13 | 14 | 15 | | two | 16 | 17 | 18 | 19 | 20 | @end example Please note that row names are not removed before the table is indexed using variable indexing @xref{var, Indexable variable values}. @end itemize @node shebang, eval, rownames, Specific header arguments @subsubsection @code{:shebang} Setting the @code{:shebang} header argument to a string value (e.g.@: @code{:shebang "#!/bin/bash"}) causes the string to be inserted as the first line of any tangled file holding the code block, and the file permissions of the tangled file are set to make it executable. @node eval, , shebang, Specific header arguments @subsubsection @code{:eval} The @code{:eval} header argument can be used to limit the evaluation of specific code blocks. The @code{:eval} header argument can be useful for protecting against the evaluation of dangerous code blocks or to ensure that evaluation will require a query regardless of the value of the @code{org-confirm-babel-evaluate} variable. The possible values of @code{:eval} and their effects are shown below. @table @code @item never or no The code block will not be evaluated under any circumstances. @item query Evaluation of the code block will require a query. @item never-export or no-export The code block will not be evaluated during export but may still be called interactively. @item query-export Evaluation of the code block during export will require a query. @end table If this header argument is not set then evaluation is determined by the value of the @code{org-confirm-babel-evaluate} variable see @ref{Code evaluation security}. @node Results of evaluation, Noweb reference syntax, Header arguments, Working With Source Code @section Results of evaluation @cindex code block, results of evaluation @cindex source code, results of evaluation The way in which results are handled depends on whether a session is invoked, as well as on whether @code{:results value} or @code{:results output} is used. The following table shows the table possibilities. For a full listing of the possible results header arguments see @ref{results}. @multitable @columnfractions 0.26 0.33 0.41 @item @tab @b{Non-session} @tab @b{Session} @item @code{:results value} @tab value of last expression @tab value of last expression @item @code{:results output} @tab contents of STDOUT @tab concatenation of interpreter output @end multitable Note: With @code{:results value}, the result in both @code{:session} and non-session is returned to Org mode as a table (a one- or two-dimensional vector of strings or numbers) when appropriate. @subsection Non-session @subsubsection @code{:results value} This is the default. Internally, the value is obtained by wrapping the code in a function definition in the external language, and evaluating that function. Therefore, code should be written as if it were the body of such a function. In particular, note that Python does not automatically return a value from a function unless a @code{return} statement is present, and so a @samp{return} statement will usually be required in Python. This is the only one of the four evaluation contexts in which the code is automatically wrapped in a function definition. @subsubsection @code{:results output} The code is passed to the interpreter as an external process, and the contents of the standard output stream are returned as text. (In certain languages this also contains the error output stream; this is an area for future work.) @subsection Session @subsubsection @code{:results value} The code is passed to an interpreter running as an interactive Emacs inferior process. Only languages which provide tools for interactive evaluation of code have session support, so some language (e.g., C and ditaa) do not support the @code{:session} header argument, and in other languages (e.g., Python and Haskell) which have limitations on the code which may be entered into interactive sessions, those limitations apply to the code in code blocks using the @code{:session} header argument as well. Unless the @code{:results output} option is supplied (see below) the result returned is the result of the last evaluation performed by the interpreter. (This is obtained in a language-specific manner: the value of the variable @code{_} in Python and Ruby, and the value of @code{.Last.value} in R). @subsubsection @code{:results output} The code is passed to the interpreter running as an interactive Emacs inferior process. The result returned is the concatenation of the sequence of (text) output from the interactive interpreter. Notice that this is not necessarily the same as what would be sent to @code{STDOUT} if the same code were passed to a non-interactive interpreter running as an external process. For example, compare the following two blocks: @example #+BEGIN_SRC python :results output print "hello" 2 print "bye" #+END_SRC #+results: : hello : bye @end example In non-session mode, the `2' is not printed and does not appear. @example #+BEGIN_SRC python :results output :session print "hello" 2 print "bye" #+END_SRC #+results: : hello : 2 : bye @end example But in @code{:session} mode, the interactive interpreter receives input `2' and prints out its value, `2'. (Indeed, the other print statements are unnecessary here). @node Noweb reference syntax, Key bindings and useful functions, Results of evaluation, Working With Source Code @section Noweb reference syntax @cindex code block, noweb reference @cindex syntax, noweb @cindex source code, noweb reference The ``noweb'' (see @uref{http://www.cs.tufts.edu/~nr/noweb/}) Literate Programming system allows named blocks of code to be referenced by using the familiar Noweb syntax: @example <> @end example When a code block is tangled or evaluated, whether or not ``noweb'' references are expanded depends upon the value of the @code{:noweb} header argument. If @code{:noweb yes}, then a Noweb reference is expanded before evaluation. If @code{:noweb no}, the default, then the reference is not expanded before evaluation. See the @ref{noweb-ref} header argument for a more flexible way to resolve noweb references. It is possible to include the @emph{results} of a code block rather than the body. This is done by appending parenthesis to the code block name which may optionally contain arguments to the code block as shown below. @example <> @end example Note: the default value, @code{:noweb no}, was chosen to ensure that correct code is not broken in a language, such as Ruby, where @code{<>} is a syntactically valid construct. If @code{<>} is not syntactically valid in languages that you use, then please consider setting the default value. Note: if noweb tangling is slow in large Org-mode files consider setting the @code{*org-babel-use-quick-and-dirty-noweb-expansion*} variable to true. This will result in faster noweb reference resolution at the expense of not correctly resolving inherited values of the @code{:noweb-ref} header argument. @node Key bindings and useful functions, Batch execution, Noweb reference syntax, Working With Source Code @section Key bindings and useful functions @cindex code block, key bindings Many common Org mode key sequences are re-bound depending on the context. Within a code block, the following key bindings are active: @multitable @columnfractions 0.25 0.75 @kindex C-c C-c @item @kbd{C-c C-c} @tab @code{org-babel-execute-src-block} @kindex C-c C-o @item @kbd{C-c C-o} @tab @code{org-babel-open-src-block-result} @kindex C-up @item @kbd{C-@key{up}} @tab @code{org-babel-load-in-session} @kindex M-down @item @kbd{M-@key{down}} @tab @code{org-babel-pop-to-session} @end multitable In an Org mode buffer, the following key bindings are active: @multitable @columnfractions 0.45 0.55 @kindex C-c C-v p @kindex C-c C-v C-p @item @kbd{C-c C-v p} @ @ @r{or} @ @ @kbd{C-c C-v C-p} @tab @code{org-babel-previous-src-block} @kindex C-c C-v n @kindex C-c C-v C-n @item @kbd{C-c C-v n} @ @ @r{or} @ @ @kbd{C-c C-v C-n} @tab @code{org-babel-next-src-block} @kindex C-c C-v e @kindex C-c C-v C-e @item @kbd{C-c C-v e} @ @ @r{or} @ @ @kbd{C-c C-v C-e} @tab @code{org-babel-execute-maybe} @kindex C-c C-v o @kindex C-c C-v C-o @item @kbd{C-c C-v o} @ @ @r{or} @ @ @kbd{C-c C-v C-o} @tab @code{org-babel-open-src-block-result} @kindex C-c C-v v @kindex C-c C-v C-v @item @kbd{C-c C-v v} @ @ @r{or} @ @ @kbd{C-c C-v C-v} @tab @code{org-babel-expand-src-block} @kindex C-c C-v u @kindex C-c C-v C-u @item @kbd{C-c C-v u} @ @ @r{or} @ @ @kbd{C-c C-v C-u} @tab @code{org-babel-goto-src-block-head} @kindex C-c C-v g @kindex C-c C-v C-g @item @kbd{C-c C-v g} @ @ @r{or} @ @ @kbd{C-c C-v C-g} @tab @code{org-babel-goto-named-src-block} @kindex C-c C-v r @kindex C-c C-v C-r @item @kbd{C-c C-v r} @ @ @r{or} @ @ @kbd{C-c C-v C-r} @tab @code{org-babel-goto-named-result} @kindex C-c C-v b @kindex C-c C-v C-b @item @kbd{C-c C-v b} @ @ @r{or} @ @ @kbd{C-c C-v C-b} @tab @code{org-babel-execute-buffer} @kindex C-c C-v s @kindex C-c C-v C-s @item @kbd{C-c C-v s} @ @ @r{or} @ @ @kbd{C-c C-v C-s} @tab @code{org-babel-execute-subtree} @kindex C-c C-v d @kindex C-c C-v C-d @item @kbd{C-c C-v d} @ @ @r{or} @ @ @kbd{C-c C-v C-d} @tab @code{org-babel-demarcate-block} @kindex C-c C-v t @kindex C-c C-v C-t @item @kbd{C-c C-v t} @ @ @r{or} @ @ @kbd{C-c C-v C-t} @tab @code{org-babel-tangle} @kindex C-c C-v f @kindex C-c C-v C-f @item @kbd{C-c C-v f} @ @ @r{or} @ @ @kbd{C-c C-v C-f} @tab @code{org-babel-tangle-file} @kindex C-c C-v c @kindex C-c C-v C-c @item @kbd{C-c C-v c} @ @ @r{or} @ @ @kbd{C-c C-v C-c} @tab @code{org-babel-check-src-block} @kindex C-c C-v j @kindex C-c C-v C-j @item @kbd{C-c C-v j} @ @ @r{or} @ @ @kbd{C-c C-v C-j} @tab @code{org-babel-insert-header-arg} @kindex C-c C-v l @kindex C-c C-v C-l @item @kbd{C-c C-v l} @ @ @r{or} @ @ @kbd{C-c C-v C-l} @tab @code{org-babel-load-in-session} @kindex C-c C-v i @kindex C-c C-v C-i @item @kbd{C-c C-v i} @ @ @r{or} @ @ @kbd{C-c C-v C-i} @tab @code{org-babel-lob-ingest} @kindex C-c C-v I @kindex C-c C-v C-I @item @kbd{C-c C-v I} @ @ @r{or} @ @ @kbd{C-c C-v C-I} @tab @code{org-babel-view-src-block-info} @kindex C-c C-v z @kindex C-c C-v C-z @item @kbd{C-c C-v z} @ @ @r{or} @ @ @kbd{C-c C-v C-z} @tab @code{org-babel-switch-to-session-with-code} @kindex C-c C-v a @kindex C-c C-v C-a @item @kbd{C-c C-v a} @ @ @r{or} @ @ @kbd{C-c C-v C-a} @tab @code{org-babel-sha1-hash} @kindex C-c C-v h @kindex C-c C-v C-h @item @kbd{C-c C-v h} @ @ @r{or} @ @ @kbd{C-c C-v C-h} @tab @code{org-babel-describe-bindings} @kindex C-c C-v x @kindex C-c C-v C-x @item @kbd{C-c C-v x} @ @ @r{or} @ @ @kbd{C-c C-v C-x} @tab @code{org-babel-do-key-sequence-in-edit-buffer} @end multitable @c When possible these keybindings were extended to work when the control key is @c kept pressed, resulting in the following additional keybindings. @c @multitable @columnfractions 0.25 0.75 @c @item @kbd{C-c C-v C-a} @tab @code{org-babel-sha1-hash} @c @item @kbd{C-c C-v C-b} @tab @code{org-babel-execute-buffer} @c @item @kbd{C-c C-v C-f} @tab @code{org-babel-tangle-file} @c @item @kbd{C-c C-v C-l} @tab @code{org-babel-lob-ingest} @c @item @kbd{C-c C-v C-p} @tab @code{org-babel-expand-src-block} @c @item @kbd{C-c C-v C-s} @tab @code{org-babel-execute-subtree} @c @item @kbd{C-c C-v C-t} @tab @code{org-babel-tangle} @c @item @kbd{C-c C-v C-z} @tab @code{org-babel-switch-to-session} @c @end multitable @node Batch execution, , Key bindings and useful functions, Working With Source Code @section Batch execution @cindex code block, batch execution @cindex source code, batch execution It is possible to call functions from the command line. This shell script calls @code{org-babel-tangle} on every one of its arguments. Be sure to adjust the paths to fit your system. @example #!/bin/sh # -*- mode: shell-script -*- # # tangle files with org-mode # DIR=`pwd` FILES="" ORGINSTALL="~/src/org/lisp/org-install.el" # wrap each argument in the code required to call tangle on it for i in $@@; do FILES="$FILES \"$i\"" done emacs -Q --batch -l $ORGINSTALL \ --eval "(progn (add-to-list 'load-path (expand-file-name \"~/src/org/lisp/\")) (add-to-list 'load-path (expand-file-name \"~/src/org/contrib/lisp/\")) (require 'org)(require 'org-exp)(require 'ob)(require 'ob-tangle) (mapc (lambda (file) (find-file (expand-file-name file \"$DIR\")) (org-babel-tangle) (kill-buffer)) '($FILES)))" 2>&1 |grep tangled @end example @node Miscellaneous, Hacking, Working With Source Code, Top @chapter Miscellaneous @menu * Completion:: M-TAB knows what you need * Easy Templates:: Quick insertion of structural elements * Speed keys:: Electric commands at the beginning of a headline * Code evaluation security:: Org mode files evaluate inline code * Customization:: Adapting Org to your taste * In-buffer settings:: Overview of the #+KEYWORDS * The very busy C-c C-c key:: When in doubt, press C-c C-c * Clean view:: Getting rid of leading stars in the outline * TTY keys:: Using Org on a tty * Interaction:: Other Emacs packages * org-crypt.el:: Encrypting Org files @end menu @node Completion, Easy Templates, Miscellaneous, Miscellaneous @section Completion @cindex completion, of @TeX{} symbols @cindex completion, of TODO keywords @cindex completion, of dictionary words @cindex completion, of option keywords @cindex completion, of tags @cindex completion, of property keys @cindex completion, of link abbreviations @cindex @TeX{} symbol completion @cindex TODO keywords completion @cindex dictionary word completion @cindex option keyword completion @cindex tag completion @cindex link abbreviations, completion of Emacs would not be Emacs without completion, and Org mode uses it whenever it makes sense. If you prefer an @i{iswitchb}- or @i{ido}-like interface for some of the completion prompts, you can specify your preference by setting at most one of the variables @code{org-completion-use-iswitchb} @code{org-completion-use-ido}. Org supports in-buffer completion. This type of completion does not make use of the minibuffer. You simply type a few letters into the buffer and use the key to complete text right there. @table @kbd @kindex M-@key{TAB} @item M-@key{TAB} Complete word at point @itemize @bullet @item At the beginning of a headline, complete TODO keywords. @item After @samp{\}, complete @TeX{} symbols supported by the exporter. @item After @samp{*}, complete headlines in the current buffer so that they can be used in search links like @samp{[[*find this headline]]}. @item After @samp{:} in a headline, complete tags. The list of tags is taken from the variable @code{org-tag-alist} (possibly set through the @samp{#+TAGS} in-buffer option, @pxref{Setting tags}), or it is created dynamically from all tags used in the current buffer. @item After @samp{:} and not in a headline, complete property keys. The list of keys is constructed dynamically from all keys used in the current buffer. @item After @samp{[}, complete link abbreviations (@pxref{Link abbreviations}). @item After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or @samp{OPTIONS} which set file-specific options for Org mode. When the option keyword is already complete, pressing @kbd{M-@key{TAB}} again will insert example settings for this keyword. @item In the line after @samp{#+STARTUP: }, complete startup keywords, i.e.@: valid keys for this line. @item Elsewhere, complete dictionary words using Ispell. @end itemize @end table @node Easy Templates, Speed keys, Completion, Miscellaneous @section Easy Templates @cindex template insertion @cindex insertion, of templates Org mode supports insertion of empty structural elements (like @code{#+BEGIN_SRC} and @code{#+END_SRC} pairs) with just a few key strokes. This is achieved through a native template expansion mechanism. Note that Emacs has several other template mechanisms which could be used in a similar way, for example @file{yasnippet}. To insert a structural element, type a @samp{<}, followed by a template selector and @kbd{@key{TAB}}. Completion takes effect only when the above keystrokes are typed on a line by itself. The following template selectors are currently supported. @multitable @columnfractions 0.1 0.9 @item @kbd{s} @tab @code{#+begin_src ... #+end_src} @item @kbd{e} @tab @code{#+begin_example ... #+end_example} @item @kbd{q} @tab @code{#+begin_quote ... #+end_quote} @item @kbd{v} @tab @code{#+begin_verse ... #+end_verse} @item @kbd{c} @tab @code{#+begin_center ... #+end_center} @item @kbd{l} @tab @code{#+begin_latex ... #+end_latex} @item @kbd{L} @tab @code{#+latex:} @item @kbd{h} @tab @code{#+begin_html ... #+end_html} @item @kbd{H} @tab @code{#+html:} @item @kbd{a} @tab @code{#+begin_ascii ... #+end_ascii} @item @kbd{A} @tab @code{#+ascii:} @item @kbd{i} @tab @code{#+index:} line @item @kbd{I} @tab @code{#+include:} line @end multitable For example, on an empty line, typing "Customization} menu. Many settings can also be activated on a per-file basis, by putting special lines into the buffer (@pxref{In-buffer settings}). @node In-buffer settings, The very busy C-c C-c key, Customization, Miscellaneous @section Summary of in-buffer settings @cindex in-buffer settings @cindex special keywords Org mode uses special lines in the buffer to define settings on a per-file basis. These lines start with a @samp{#+} followed by a keyword, a colon, and then individual words defining a setting. Several setting words can be in the same line, but you can also have multiple lines for the keyword. While these settings are described throughout the manual, here is a summary. After changing any of those lines in the buffer, press @kbd{C-c C-c} with the cursor still in the line to activate the changes immediately. Otherwise they become effective only when the file is visited again in a new Emacs session. @vindex org-archive-location @table @kbd @item #+ARCHIVE: %s_done:: This line sets the archive location for the agenda file. It applies for all subsequent lines until the next @samp{#+ARCHIVE} line, or the end of the file. The first such line also applies to any entries before it. The corresponding variable is @code{org-archive-location}. @item #+CATEGORY: This line sets the category for the agenda file. The category applies for all subsequent lines until the next @samp{#+CATEGORY} line, or the end of the file. The first such line also applies to any entries before it. @item #+COLUMNS: %25ITEM ..... @cindex property, COLUMNS Set the default format for columns view. This format applies when columns view is invoked in locations where no @code{COLUMNS} property applies. @item #+CONSTANTS: name1=value1 ... @vindex org-table-formula-constants @vindex org-table-formula Set file-local values for constants to be used in table formulas. This line sets the local variable @code{org-table-formula-constants-local}. The global version of this variable is @code{org-table-formula-constants}. @item #+FILETAGS: :tag1:tag2:tag3: Set tags that can be inherited by any entry in the file, including the top-level entries. @item #+DRAWERS: NAME1 ..... @vindex org-drawers Set the file-local set of drawers. The corresponding global variable is @code{org-drawers}. @item #+LINK: linkword replace @vindex org-link-abbrev-alist These lines (several are allowed) specify link abbreviations. @xref{Link abbreviations}. The corresponding variable is @code{org-link-abbrev-alist}. @item #+PRIORITIES: highest lowest default @vindex org-highest-priority @vindex org-lowest-priority @vindex org-default-priority This line sets the limits and the default for the priorities. All three must be either letters A-Z or numbers 0-9. The highest priority must have a lower ASCII number than the lowest priority. @item #+PROPERTY: Property_Name Value This line sets a default inheritance value for entries in the current buffer, most useful for specifying the allowed values of a property. @cindex #+SETUPFILE @item #+SETUPFILE: file This line defines a file that holds more in-buffer setup. Normally this is entirely ignored. Only when the buffer is parsed for option-setting lines (i.e.@: when starting Org mode for a file, when pressing @kbd{C-c C-c} in a settings line, or when exporting), then the contents of this file are parsed as if they had been included in the buffer. In particular, the file can be any other Org mode file with internal setup. You can visit the file the cursor is in the line with @kbd{C-c '}. @item #+STARTUP: @cindex #+STARTUP: This line sets options to be used at startup of Org mode, when an Org file is being visited. The first set of options deals with the initial visibility of the outline tree. The corresponding variable for global default settings is @code{org-startup-folded}, with a default value @code{t}, which means @code{overview}. @vindex org-startup-folded @cindex @code{overview}, STARTUP keyword @cindex @code{content}, STARTUP keyword @cindex @code{showall}, STARTUP keyword @cindex @code{showeverything}, STARTUP keyword @example overview @r{top-level headlines only} content @r{all headlines} showall @r{no folding of any entries} showeverything @r{show even drawer contents} @end example @vindex org-startup-indented @cindex @code{indent}, STARTUP keyword @cindex @code{noindent}, STARTUP keyword Dynamic virtual indentation is controlled by the variable @code{org-startup-indented}@footnote{Emacs 23 and Org mode 6.29 are required} @example indent @r{start with @code{org-indent-mode} turned on} noindent @r{start with @code{org-indent-mode} turned off} @end example @vindex org-startup-align-all-tables Then there are options for aligning tables upon visiting a file. This is useful in files containing narrowed table columns. The corresponding variable is @code{org-startup-align-all-tables}, with a default value @code{nil}. @cindex @code{align}, STARTUP keyword @cindex @code{noalign}, STARTUP keyword @example align @r{align all tables} noalign @r{don't align tables on startup} @end example @vindex org-startup-with-inline-images When visiting a file, inline images can be automatically displayed. The corresponding variable is @code{org-startup-with-inline-images}, with a default value @code{nil} to avoid delays when visiting a file. @cindex @code{inlineimages}, STARTUP keyword @cindex @code{noinlineimages}, STARTUP keyword @example inlineimages @r{show inline images} noinlineimages @r{don't show inline images on startup} @end example @vindex org-log-done @vindex org-log-note-clock-out @vindex org-log-repeat Logging the closing and reopening of TODO items and clock intervals can be configured using these options (see variables @code{org-log-done}, @code{org-log-note-clock-out} and @code{org-log-repeat}) @cindex @code{logdone}, STARTUP keyword @cindex @code{lognotedone}, STARTUP keyword @cindex @code{nologdone}, STARTUP keyword @cindex @code{lognoteclock-out}, STARTUP keyword @cindex @code{nolognoteclock-out}, STARTUP keyword @cindex @code{logrepeat}, STARTUP keyword @cindex @code{lognoterepeat}, STARTUP keyword @cindex @code{nologrepeat}, STARTUP keyword @cindex @code{logreschedule}, STARTUP keyword @cindex @code{lognotereschedule}, STARTUP keyword @cindex @code{nologreschedule}, STARTUP keyword @cindex @code{logredeadline}, STARTUP keyword @cindex @code{lognoteredeadline}, STARTUP keyword @cindex @code{nologredeadline}, STARTUP keyword @cindex @code{logrefile}, STARTUP keyword @cindex @code{lognoterefile}, STARTUP keyword @cindex @code{nologrefile}, STARTUP keyword @example logdone @r{record a timestamp when an item is marked DONE} lognotedone @r{record timestamp and a note when DONE} nologdone @r{don't record when items are marked DONE} logrepeat @r{record a time when reinstating a repeating item} lognoterepeat @r{record a note when reinstating a repeating item} nologrepeat @r{do not record when reinstating repeating item} lognoteclock-out @r{record a note when clocking out} nolognoteclock-out @r{don't record a note when clocking out} logreschedule @r{record a timestamp when scheduling time changes} lognotereschedule @r{record a note when scheduling time changes} nologreschedule @r{do not record when a scheduling date changes} logredeadline @r{record a timestamp when deadline changes} lognoteredeadline @r{record a note when deadline changes} nologredeadline @r{do not record when a deadline date changes} logrefile @r{record a timestamp when refiling} lognoterefile @r{record a note when refiling} nologrefile @r{do not record when refiling} @end example @vindex org-hide-leading-stars @vindex org-odd-levels-only Here are the options for hiding leading stars in outline headings, and for indenting outlines. The corresponding variables are @code{org-hide-leading-stars} and @code{org-odd-levels-only}, both with a default setting @code{nil} (meaning @code{showstars} and @code{oddeven}). @cindex @code{hidestars}, STARTUP keyword @cindex @code{showstars}, STARTUP keyword @cindex @code{odd}, STARTUP keyword @cindex @code{even}, STARTUP keyword @example hidestars @r{make all but one of the stars starting a headline invisible.} showstars @r{show all stars starting a headline} indent @r{virtual indentation according to outline level} noindent @r{no virtual indentation according to outline level} odd @r{allow only odd outline levels (1,3,...)} oddeven @r{allow all outline levels} @end example @vindex org-put-time-stamp-overlays @vindex org-time-stamp-overlay-formats To turn on custom format overlays over timestamps (variables @code{org-put-time-stamp-overlays} and @code{org-time-stamp-overlay-formats}), use @cindex @code{customtime}, STARTUP keyword @example customtime @r{overlay custom time format} @end example @vindex constants-unit-system The following options influence the table spreadsheet (variable @code{constants-unit-system}). @cindex @code{constcgs}, STARTUP keyword @cindex @code{constSI}, STARTUP keyword @example constcgs @r{@file{constants.el} should use the c-g-s unit system} constSI @r{@file{constants.el} should use the SI unit system} @end example @vindex org-footnote-define-inline @vindex org-footnote-auto-label @vindex org-footnote-auto-adjust To influence footnote settings, use the following keywords. The corresponding variables are @code{org-footnote-define-inline}, @code{org-footnote-auto-label}, and @code{org-footnote-auto-adjust}. @cindex @code{fninline}, STARTUP keyword @cindex @code{nofninline}, STARTUP keyword @cindex @code{fnlocal}, STARTUP keyword @cindex @code{fnprompt}, STARTUP keyword @cindex @code{fnauto}, STARTUP keyword @cindex @code{fnconfirm}, STARTUP keyword @cindex @code{fnplain}, STARTUP keyword @cindex @code{fnadjust}, STARTUP keyword @cindex @code{nofnadjust}, STARTUP keyword @example fninline @r{define footnotes inline} fnnoinline @r{define footnotes in separate section} fnlocal @r{define footnotes near first reference, but not inline} fnprompt @r{prompt for footnote labels} fnauto @r{create @code{[fn:1]}-like labels automatically (default)} fnconfirm @r{offer automatic label for editing or confirmation} fnplain @r{create @code{[1]}-like labels automatically} fnadjust @r{automatically renumber and sort footnotes} nofnadjust @r{do not renumber and sort automatically} @end example @cindex org-hide-block-startup To hide blocks on startup, use these keywords. The corresponding variable is @code{org-hide-block-startup}. @cindex @code{hideblocks}, STARTUP keyword @cindex @code{nohideblocks}, STARTUP keyword @example hideblocks @r{Hide all begin/end blocks on startup} nohideblocks @r{Do not hide blocks on startup} @end example @cindex org-pretty-entities The display of entities as UTF-8 characters is governed by the variable @code{org-pretty-entities} and the keywords @cindex @code{entitiespretty}, STARTUP keyword @cindex @code{entitiesplain}, STARTUP keyword @example entitiespretty @r{Show entities as UTF-8 characters where possible} entitiesplain @r{Leave entities plain} @end example @item #+TAGS: TAG1(c1) TAG2(c2) @vindex org-tag-alist These lines (several such lines are allowed) specify the valid tags in this file, and (potentially) the corresponding @emph{fast tag selection} keys. The corresponding variable is @code{org-tag-alist}. @item #+TBLFM: This line contains the formulas for the table directly above the line. @item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+DATE:, @itemx #+OPTIONS:, #+BIND:, #+XSLT:, @itemx #+DESCRIPTION:, #+KEYWORDS:, @itemx #+LATEX_HEADER:, #+STYLE:, #+LINK_UP:, #+LINK_HOME:, @itemx #+EXPORT_SELECT_TAGS:, #+EXPORT_EXCLUDE_TAGS: These lines provide settings for exporting files. For more details see @ref{Export options}. @item #+TODO: #+SEQ_TODO: #+TYP_TODO: @vindex org-todo-keywords These lines set the TODO keywords and their interpretation in the current file. The corresponding variable is @code{org-todo-keywords}. @end table @node The very busy C-c C-c key, Clean view, In-buffer settings, Miscellaneous @section The very busy C-c C-c key @kindex C-c C-c @cindex C-c C-c, overview The key @kbd{C-c C-c} has many purposes in Org, which are all mentioned scattered throughout this manual. One specific function of this key is to add @emph{tags} to a headline (@pxref{Tags}). In many other circumstances it means something like @emph{``Hey Org, look here and update according to what you see here''}. Here is a summary of what this means in different contexts. @itemize @minus @item If there are highlights in the buffer from the creation of a sparse tree, or from clock display, remove these highlights. @item If the cursor is in one of the special @code{#+KEYWORD} lines, this triggers scanning the buffer for these lines and updating the information. @item If the cursor is inside a table, realign the table. This command works even if the automatic table editor has been turned off. @item If the cursor is on a @code{#+TBLFM} line, re-apply the formulas to the entire table. @item If the current buffer is a capture buffer, close the note and file it. With a prefix argument, file it, without further interaction, to the default location. @item If the cursor is on a @code{<<>>}, update radio targets and corresponding links in this buffer. @item If the cursor is in a property line or at the start or end of a property drawer, offer property commands. @item If the cursor is at a footnote reference, go to the corresponding definition, and vice versa. @item If the cursor is on a statistics cookie, update it. @item If the cursor is in a plain list item with a checkbox, toggle the status of the checkbox. @item If the cursor is on a numbered item in a plain list, renumber the ordered list. @item If the cursor is on the @code{#+BEGIN} line of a dynamic block, the block is updated. @item If the cursor is at a timestamp, fix the day name in the timestamp. @end itemize @node Clean view, TTY keys, The very busy C-c C-c key, Miscellaneous @section A cleaner outline view @cindex hiding leading stars @cindex dynamic indentation @cindex odd-levels-only outlines @cindex clean outline view Some people find it noisy and distracting that the Org headlines start with a potentially large number of stars, and that text below the headlines is not indented. While this is no problem when writing a @emph{book-like} document where the outline headings are really section headings, in a more @emph{list-oriented} outline, indented structure is a lot cleaner: @example @group * Top level headline | * Top level headline ** Second level | * Second level *** 3rd level | * 3rd level some text | some text *** 3rd level | * 3rd level more text | more text * Another top level headline | * Another top level headline @end group @end example @noindent If you are using at least Emacs 23.2@footnote{Emacs 23.1 can actually crash with @code{org-indent-mode}} and version 6.29 of Org, this kind of view can be achieved dynamically at display time using @code{org-indent-mode}. In this minor mode, all lines are prefixed for display with the necessary amount of space@footnote{@code{org-indent-mode} also sets the @code{wrap-prefix} property, such that @code{visual-line-mode} (or purely setting @code{word-wrap}) wraps long lines (including headlines) correctly indented. }. Also headlines are prefixed with additional stars, so that the amount of indentation shifts by two@footnote{See the variable @code{org-indent-indentation-per-level}.} spaces per level. All headline stars but the last one are made invisible using the @code{org-hide} face@footnote{Turning on @code{org-indent-mode} sets @code{org-hide-leading-stars} to @code{t} and @code{org-adapt-indentation} to @code{nil}.} - see below under @samp{2.} for more information on how this works. You can turn on @code{org-indent-mode} for all files by customizing the variable @code{org-startup-indented}, or you can turn it on for individual files using @example #+STARTUP: indent @end example If you want a similar effect in an earlier version of Emacs and/or Org, or if you want the indentation to be hard space characters so that the plain text file looks as similar as possible to the Emacs display, Org supports you in the following way: @enumerate @item @emph{Indentation of text below headlines}@* You may indent text below each headline to make the left boundary line up with the headline, like @example *** 3rd level more text, now indented @end example @vindex org-adapt-indentation Org supports this with paragraph filling, line wrapping, and structure editing@footnote{See also the variable @code{org-adapt-indentation}.}, preserving or adapting the indentation as appropriate. @item @vindex org-hide-leading-stars @emph{Hiding leading stars}@* You can modify the display in such a way that all leading stars become invisible. To do this in a global way, configure the variable @code{org-hide-leading-stars} or change this on a per-file basis with @example #+STARTUP: hidestars #+STARTUP: showstars @end example With hidden stars, the tree becomes: @example @group * Top level headline * Second level * 3rd level ... @end group @end example @noindent @vindex org-hide @r{(face)} The leading stars are not truly replaced by whitespace, they are only fontified with the face @code{org-hide} that uses the background color as font color. If you are not using either white or black background, you may have to customize this face to get the wanted effect. Another possibility is to set this font such that the extra stars are @i{almost} invisible, for example using the color @code{grey90} on a white background. @item @vindex org-odd-levels-only Things become cleaner still if you skip all the even levels and use only odd levels 1, 3, 5..., effectively adding two stars to go from one outline level to the next@footnote{When you need to specify a level for a property search or refile targets, @samp{LEVEL=2} will correspond to 3 stars, etc@.}. In this way we get the outline view shown at the beginning of this section. In order to make the structure editing and export commands handle this convention correctly, configure the variable @code{org-odd-levels-only}, or set this on a per-file basis with one of the following lines: @example #+STARTUP: odd #+STARTUP: oddeven @end example You can convert an Org file from single-star-per-level to the double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels RET} in that file. The reverse operation is @kbd{M-x org-convert-to-oddeven-levels}. @end enumerate @node TTY keys, Interaction, Clean view, Miscellaneous @section Using Org on a tty @cindex tty key bindings Because Org contains a large number of commands, by default many of Org's core commands are bound to keys that are generally not accessible on a tty, such as the cursor keys (@key{left}, @key{right}, @key{up}, @key{down}), @key{TAB} and @key{RET}, in particular when used together with modifiers like @key{Meta} and/or @key{Shift}. To access these commands on a tty when special keys are unavailable, the following alternative bindings can be used. The tty bindings below will likely be more cumbersome; you may find for some of the bindings below that a customized workaround suits you better. For example, changing a timestamp is really only fun with @kbd{S-@key{cursor}} keys, whereas on a tty you would rather use @kbd{C-c .} to re-insert the timestamp. @multitable @columnfractions 0.15 0.2 0.1 0.2 @item @b{Default} @tab @b{Alternative 1} @tab @b{Speed key} @tab @b{Alternative 2} @item @kbd{S-@key{TAB}} @tab @kbd{C-u @key{TAB}} @tab @kbd{C} @tab @item @kbd{M-@key{left}} @tab @kbd{C-c C-x l} @tab @kbd{l} @tab @kbd{@key{Esc} @key{left}} @item @kbd{M-S-@key{left}} @tab @kbd{C-c C-x L} @tab @kbd{L} @tab @item @kbd{M-@key{right}} @tab @kbd{C-c C-x r} @tab @kbd{r} @tab @kbd{@key{Esc} @key{right}} @item @kbd{M-S-@key{right}} @tab @kbd{C-c C-x R} @tab @kbd{R} @tab @item @kbd{M-@key{up}} @tab @kbd{C-c C-x u} @tab @kbd{ } @tab @kbd{@key{Esc} @key{up}} @item @kbd{M-S-@key{up}} @tab @kbd{C-c C-x U} @tab @kbd{U} @tab @item @kbd{M-@key{down}} @tab @kbd{C-c C-x d} @tab @kbd{ } @tab @kbd{@key{Esc} @key{down}} @item @kbd{M-S-@key{down}} @tab @kbd{C-c C-x D} @tab @kbd{D} @tab @item @kbd{S-@key{RET}} @tab @kbd{C-c C-x c} @tab @kbd{ } @tab @item @kbd{M-@key{RET}} @tab @kbd{C-c C-x m} @tab @kbd{ } @tab @kbd{@key{Esc} @key{RET}} @item @kbd{M-S-@key{RET}} @tab @kbd{C-c C-x M} @tab @kbd{ } @tab @item @kbd{S-@key{left}} @tab @kbd{C-c @key{left}} @tab @kbd{ } @tab @item @kbd{S-@key{right}} @tab @kbd{C-c @key{right}} @tab @kbd{ } @tab @item @kbd{S-@key{up}} @tab @kbd{C-c @key{up}} @tab @kbd{ } @tab @item @kbd{S-@key{down}} @tab @kbd{C-c @key{down}} @tab @kbd{ } @tab @item @kbd{C-S-@key{left}} @tab @kbd{C-c C-x @key{left}} @tab @kbd{ } @tab @item @kbd{C-S-@key{right}} @tab @kbd{C-c C-x @key{right}} @tab @kbd{ } @tab @end multitable @node Interaction, org-crypt.el, TTY keys, Miscellaneous @section Interaction with other packages @cindex packages, interaction with other Org lives in the world of GNU Emacs and interacts in various ways with other code out there. @menu * Cooperation:: Packages Org cooperates with * Conflicts:: Packages that lead to conflicts @end menu @node Cooperation, Conflicts, Interaction, Interaction @subsection Packages that Org cooperates with @table @asis @cindex @file{calc.el} @cindex Gillespie, Dave @item @file{calc.el} by Dave Gillespie Org uses the Calc package for implementing spreadsheet functionality in its tables (@pxref{The spreadsheet}). Org checks for the availability of Calc by looking for the function @code{calc-eval} which will have been autoloaded during setup if Calc has been installed properly. As of Emacs 22, Calc is part of the Emacs distribution. Another possibility for interaction between the two packages is using Calc for embedded calculations. @xref{Embedded Mode, , Embedded Mode, calc, GNU Emacs Calc Manual}. @item @file{constants.el} by Carsten Dominik @cindex @file{constants.el} @cindex Dominik, Carsten @vindex org-table-formula-constants In a table formula (@pxref{The spreadsheet}), it is possible to use names for natural constants or units. Instead of defining your own constants in the variable @code{org-table-formula-constants}, install the @file{constants} package which defines a large number of constants and units, and lets you use unit prefixes like @samp{M} for @samp{Mega}, etc@. You will need version 2.0 of this package, available at @url{http://www.astro.uva.nl/~dominik/Tools}. Org checks for the function @code{constants-get}, which has to be autoloaded in your setup. See the installation instructions in the file @file{constants.el}. @item @file{cdlatex.el} by Carsten Dominik @cindex @file{cdlatex.el} @cindex Dominik, Carsten Org mode can make use of the CD@LaTeX{} package to efficiently enter @LaTeX{} fragments into Org files. See @ref{CDLaTeX mode}. @item @file{imenu.el} by Ake Stenhoff and Lars Lindberg @cindex @file{imenu.el} Imenu allows menu access to an index of items in a file. Org mode supports Imenu---all you need to do to get the index is the following: @lisp (add-hook 'org-mode-hook (lambda () (imenu-add-to-menubar "Imenu"))) @end lisp @vindex org-imenu-depth By default the index is two levels deep---you can modify the depth using the option @code{org-imenu-depth}. @item @file{remember.el} by John Wiegley @cindex @file{remember.el} @cindex Wiegley, John Org used to use this package for capture, but no longer does. @item @file{speedbar.el} by Eric M. Ludlam @cindex @file{speedbar.el} @cindex Ludlam, Eric M. Speedbar is a package that creates a special frame displaying files and index items in files. Org mode supports Speedbar and allows you to drill into Org files directly from the Speedbar. It also allows you to restrict the scope of agenda commands to a file or a subtree by using the command @kbd{<} in the Speedbar frame. @cindex @file{table.el} @item @file{table.el} by Takaaki Ota @kindex C-c C-c @cindex table editor, @file{table.el} @cindex @file{table.el} @cindex Ota, Takaaki Complex ASCII tables with automatic line wrapping, column- and row-spanning, and alignment can be created using the Emacs table package by Takaaki Ota (@uref{http://sourceforge.net/projects/table}, and also part of Emacs 22). Org mode will recognize these tables and export them properly. Because of interference with other Org mode functionality, you unfortunately cannot edit these tables directly in the buffer. Instead, you need to use the command @kbd{C-c '} to edit them, similar to source code snippets. @table @kbd @orgcmd{C-c ',org-edit-special} Edit a @file{table.el} table. Works when the cursor is in a table.el table. @c @orgcmd{C-c ~,org-table-create-with-table.el} Insert a @file{table.el} table. If there is already a table at point, this command converts it between the @file{table.el} format and the Org mode format. See the documentation string of the command @code{org-convert-table} for the restrictions under which this is possible. @end table @file{table.el} is part of Emacs since Emacs 22. @item @file{footnote.el} by Steven L. Baur @cindex @file{footnote.el} @cindex Baur, Steven L. Org mode recognizes numerical footnotes as provided by this package. However, Org mode also has its own footnote support (@pxref{Footnotes}), which makes using @file{footnote.el} unnecessary. @end table @node Conflicts, , Cooperation, Interaction @subsection Packages that lead to conflicts with Org mode @table @asis @cindex @code{shift-selection-mode} @vindex org-support-shift-select In Emacs 23, @code{shift-selection-mode} is on by default, meaning that cursor motions combined with the shift key should start or enlarge regions. This conflicts with the use of @kbd{S-@key{cursor}} commands in Org to change timestamps, TODO keywords, priorities, and item bullet types if the cursor is at such a location. By default, @kbd{S-@key{cursor}} commands outside special contexts don't do anything, but you can customize the variable @code{org-support-shift-select}. Org mode then tries to accommodate shift selection by (i) using it outside of the special contexts where special commands apply, and by (ii) extending an existing active region even if the cursor moves across a special context. @item @file{CUA.el} by Kim. F. Storm @cindex @file{CUA.el} @cindex Storm, Kim. F. @vindex org-replace-disputed-keys Key bindings in Org conflict with the @kbd{S-} keys used by CUA mode (as well as @code{pc-select-mode} and @code{s-region-mode}) to select and extend the region. In fact, Emacs 23 has this built-in in the form of @code{shift-selection-mode}, see previous paragraph. If you are using Emacs 23, you probably don't want to use another package for this purpose. However, if you prefer to leave these keys to a different package while working in Org mode, configure the variable @code{org-replace-disputed-keys}. When set, Org will move the following key bindings in Org files, and in the agenda buffer (but not during date selection). @example S-UP @result{} M-p S-DOWN @result{} M-n S-LEFT @result{} M-- S-RIGHT @result{} M-+ C-S-LEFT @result{} M-S-- C-S-RIGHT @result{} M-S-+ @end example @vindex org-disputed-keys Yes, these are unfortunately more difficult to remember. If you want to have other replacement keys, look at the variable @code{org-disputed-keys}. @item @file{yasnippet.el} @cindex @file{yasnippet.el} The way Org mode binds the TAB key (binding to @code{[tab]} instead of @code{"\t"}) overrules YASnippet's access to this key. The following code fixed this problem: @lisp (add-hook 'org-mode-hook (lambda () (org-set-local 'yas/trigger-key [tab]) (define-key yas/keymap [tab] 'yas/next-field-or-maybe-expand))) @end lisp The latest version of yasnippet doesn't play well with Org mode. If the above code does not fix the conflict, start by defining the following function: @lisp (defun yas/org-very-safe-expand () (let ((yas/fallback-behavior 'return-nil)) (yas/expand))) @end lisp Then, tell Org mode what to do with the new function: @lisp (add-hook 'org-mode-hook (lambda () (make-variable-buffer-local 'yas/trigger-key) (setq yas/trigger-key [tab]) (add-to-list 'org-tab-first-hook 'yas/org-very-safe-expand) (define-key yas/keymap [tab] 'yas/next-field))) @end lisp @item @file{windmove.el} by Hovav Shacham @cindex @file{windmove.el} This package also uses the @kbd{S-} keys, so everything written in the paragraph above about CUA mode also applies here. If you want make the windmove function active in locations where Org mode does not have special functionality on @kbd{S-@key{cursor}}, add this to your configuration: @lisp ;; Make windmove work in org-mode: (add-hook 'org-shiftup-final-hook 'windmove-up) (add-hook 'org-shiftleft-final-hook 'windmove-left) (add-hook 'org-shiftdown-final-hook 'windmove-down) (add-hook 'org-shiftright-final-hook 'windmove-right) @end lisp @item @file{viper.el} by Michael Kifer @cindex @file{viper.el} @kindex C-c / Viper uses @kbd{C-c /} and therefore makes this key not access the corresponding Org mode command @code{org-sparse-tree}. You need to find another key for this command, or override the key in @code{viper-vi-global-user-map} with @lisp (define-key viper-vi-global-user-map "C-c /" 'org-sparse-tree) @end lisp @end table @node org-crypt.el, , Interaction, Miscellaneous @section org-crypt.el @cindex @file{org-crypt.el} @cindex @code{org-decrypt-entry} Org-crypt will encrypt the text of an entry, but not the headline, or properties. Org-crypt uses the Emacs EasyPG library to encrypt and decrypt files. Any text below a headline that has a @samp{:crypt:} tag will be automatically be encrypted when the file is saved. If you want to use a different tag just customize the @code{org-crypt-tag-matcher} setting. To use org-crypt it is suggested that you have the following in your @file{.emacs}: @example (require 'org-crypt) (org-crypt-use-before-save-magic) (setq org-tags-exclude-from-inheritance (quote ("crypt"))) (setq org-crypt-key nil) ;; GPG key to use for encryption ;; Either the Key ID or set to nil to use symmetric encryption. (setq auto-save-default nil) ;; Auto-saving does not cooperate with org-crypt.el: so you need ;; to turn it off if you plan to use org-crypt.el quite often. ;; Otherwise, you'll get an (annoying) message each time you ;; start Org. ;; To turn it off only locally, you can insert this: ;; ;; # -*- buffer-auto-save-file-name: nil; -*- @end example Excluding the crypt tag from inheritance prevents already encrypted text being encrypted again. @node Hacking, MobileOrg, Miscellaneous, Top @appendix Hacking @cindex hacking This appendix covers some aspects where users can extend the functionality of Org. @menu * Hooks:: Who to reach into Org's internals * Add-on packages:: Available extensions * Adding hyperlink types:: New custom link types * Context-sensitive commands:: How to add functionality to such commands * Tables in arbitrary syntax:: Orgtbl for @LaTeX{} and other programs * Dynamic blocks:: Automatically filled blocks * Special agenda views:: Customized views * Extracting agenda information:: Postprocessing of agenda information * Using the property API:: Writing programs that use entry properties * Using the mapping API:: Mapping over all or selected entries @end menu @node Hooks, Add-on packages, Hacking, Hacking @section Hooks @cindex hooks Org has a large number of hook variables that can be used to add functionality. This appendix about hacking is going to illustrate the use of some of them. A complete list of all hooks with documentation is maintained by the Worg project and can be found at @uref{http://orgmode.org/worg/org-configs/org-hooks.php}. @node Add-on packages, Adding hyperlink types, Hooks, Hacking @section Add-on packages @cindex add-on packages A large number of add-on packages have been written by various authors. These packages are not part of Emacs, but they are distributed as contributed packages with the separate release available at the Org mode home page at @uref{http://orgmode.org}. The list of contributed packages, along with documentation about each package, is maintained by the Worg project at @uref{http://orgmode.org/worg/org-contrib/}. @node Adding hyperlink types, Context-sensitive commands, Add-on packages, Hacking @section Adding hyperlink types @cindex hyperlinks, adding new types Org has a large number of hyperlink types built-in (@pxref{Hyperlinks}). If you would like to add new link types, Org provides an interface for doing so. Let's look at an example file, @file{org-man.el}, that will add support for creating links like @samp{[[man:printf][The printf manpage]]} to show Unix manual pages inside Emacs: @lisp ;;; org-man.el - Support for links to manpages in Org (require 'org) (org-add-link-type "man" 'org-man-open) (add-hook 'org-store-link-functions 'org-man-store-link) (defcustom org-man-command 'man "The Emacs command to be used to display a man page." :group 'org-link :type '(choice (const man) (const woman))) (defun org-man-open (path) "Visit the manpage on PATH. PATH should be a topic that can be thrown at the man command." (funcall org-man-command path)) (defun org-man-store-link () "Store a link to a manpage." (when (memq major-mode '(Man-mode woman-mode)) ;; This is a man page, we do make this link (let* ((page (org-man-get-page-name)) (link (concat "man:" page)) (description (format "Manpage for %s" page))) (org-store-link-props :type "man" :link link :description description)))) (defun org-man-get-page-name () "Extract the page name from the buffer name." ;; This works for both `Man-mode' and `woman-mode'. (if (string-match " \\(\\S-+\\)\\*" (buffer-name)) (match-string 1 (buffer-name)) (error "Cannot create link to this man page"))) (provide 'org-man) ;;; org-man.el ends here @end lisp @noindent You would activate this new link type in @file{.emacs} with @lisp (require 'org-man) @end lisp @noindent Let's go through the file and see what it does. @enumerate @item It does @code{(require 'org)} to make sure that @file{org.el} has been loaded. @item The next line calls @code{org-add-link-type} to define a new link type with prefix @samp{man}. The call also contains the name of a function that will be called to follow such a link. @item @vindex org-store-link-functions The next line adds a function to @code{org-store-link-functions}, in order to allow the command @kbd{C-c l} to record a useful link in a buffer displaying a man page. @end enumerate The rest of the file defines the necessary variables and functions. First there is a customization variable that determines which Emacs command should be used to display man pages. There are two options, @code{man} and @code{woman}. Then the function to follow a link is defined. It gets the link path as an argument---in this case the link path is just a topic for the manual command. The function calls the value of @code{org-man-command} to display the man page. Finally the function @code{org-man-store-link} is defined. When you try to store a link with @kbd{C-c l}, this function will be called to try to make a link. The function must first decide if it is supposed to create the link for this buffer type; we do this by checking the value of the variable @code{major-mode}. If not, the function must exit and return the value @code{nil}. If yes, the link is created by getting the manual topic from the buffer name and prefixing it with the string @samp{man:}. Then it must call the command @code{org-store-link-props} and set the @code{:type} and @code{:link} properties. Optionally you can also set the @code{:description} property to provide a default for the link description when the link is later inserted into an Org buffer with @kbd{C-c C-l}. When it makes sense for your new link type, you may also define a function @code{org-PREFIX-complete-link} that implements special (e.g.@: completion) support for inserting such a link with @kbd{C-c C-l}. Such a function should not accept any arguments, and return the full link with prefix. @node Context-sensitive commands, Tables in arbitrary syntax, Adding hyperlink types, Hacking @section Context-sensitive commands @cindex context-sensitive commands, hooks @cindex add-ons, context-sensitive commands @vindex org-ctrl-c-ctrl-c-hook Org has several commands that act differently depending on context. The most important example is the @kbd{C-c C-c} (@pxref{The very busy C-c C-c key}). Also the @kbd{M-cursor} and @kbd{M-S-cursor} keys have this property. Add-ons can tap into this functionality by providing a function that detects special context for that add-on and executes functionality appropriate for the context. Here is an example from Dan Davison's @file{org-R.el} which allows you to evaluate commands based on the @file{R} programming language @footnote{@file{org-R.el} has been replaced by the Org mode functionality described in @ref{Working With Source Code} and is now obsolete.}. For this package, special contexts are lines that start with @code{#+R:} or @code{#+RR:}. @lisp (defun org-R-apply-maybe () "Detect if this is context for org-R and execute R commands." (if (save-excursion (beginning-of-line 1) (looking-at "#\\+RR?:")) (progn (call-interactively 'org-R-apply) t) ;; to signal that we took action nil)) ;; to signal that we did not (add-hook 'org-ctrl-c-ctrl-c-hook 'org-R-apply-maybe) @end lisp The function first checks if the cursor is in such a line. If that is the case, @code{org-R-apply} is called and the function returns @code{t} to signal that action was taken, and @kbd{C-c C-c} will stop looking for other contexts. If the function finds it should do nothing locally, it returns @code{nil} so that other, similar functions can have a try. @node Tables in arbitrary syntax, Dynamic blocks, Context-sensitive commands, Hacking @section Tables and lists in arbitrary syntax @cindex tables, in other modes @cindex lists, in other modes @cindex Orgtbl mode Since Orgtbl mode can be used as a minor mode in arbitrary buffers, a frequent feature request has been to make it work with native tables in specific languages, for example @LaTeX{}. However, this is extremely hard to do in a general way, would lead to a customization nightmare, and would take away much of the simplicity of the Orgtbl mode table editor. This appendix describes a different approach. We keep the Orgtbl mode table in its native format (the @i{source table}), and use a custom function to @i{translate} the table to the correct syntax, and to @i{install} it in the right location (the @i{target table}). This puts the burden of writing conversion functions on the user, but it allows for a very flexible system. Bastien added the ability to do the same with lists, in Orgstruct mode. You can use Org's facilities to edit and structure lists by turning @code{orgstruct-mode} on, then locally exporting such lists in another format (HTML, @LaTeX{} or Texinfo.) @menu * Radio tables:: Sending and receiving radio tables * A @LaTeX{} example:: Step by step, almost a tutorial * Translator functions:: Copy and modify * Radio lists:: Doing the same for lists @end menu @node Radio tables, A @LaTeX{} example, Tables in arbitrary syntax, Tables in arbitrary syntax @subsection Radio tables @cindex radio tables To define the location of the target table, you first need to create two lines that are comments in the current mode, but contain magic words for Orgtbl mode to find. Orgtbl mode will insert the translated table between these lines, replacing whatever was there before. For example: @example /* BEGIN RECEIVE ORGTBL table_name */ /* END RECEIVE ORGTBL table_name */ @end example @noindent Just above the source table, we put a special line that tells Orgtbl mode how to translate this table and where to install it. For example: @cindex #+ORGTBL @example #+ORGTBL: SEND table_name translation_function arguments.... @end example @noindent @code{table_name} is the reference name for the table that is also used in the receiver lines. @code{translation_function} is the Lisp function that does the translation. Furthermore, the line can contain a list of arguments (alternating key and value) at the end. The arguments will be passed as a property list to the translation function for interpretation. A few standard parameters are already recognized and acted upon before the translation function is called: @table @code @item :skip N Skip the first N lines of the table. Hlines do count as separate lines for this parameter! @item :skipcols (n1 n2 ...) List of columns that should be skipped. If the table has a column with calculation marks, that column is automatically discarded as well. Please note that the translator function sees the table @emph{after} the removal of these columns, the function never knows that there have been additional columns. @end table @noindent The one problem remaining is how to keep the source table in the buffer without disturbing the normal workings of the file, for example during compilation of a C file or processing of a @LaTeX{} file. There are a number of different solutions: @itemize @bullet @item The table could be placed in a block comment if that is supported by the language. For example, in C mode you could wrap the table between @samp{/*} and @samp{*/} lines. @item Sometimes it is possible to put the table after some kind of @i{END} statement, for example @samp{\bye} in @TeX{} and @samp{\end@{document@}} in @LaTeX{}. @item You can just comment the table line-by-line whenever you want to process the file, and uncomment it whenever you need to edit the table. This only sounds tedious---the command @kbd{M-x orgtbl-toggle-comment} makes this comment-toggling very easy, in particular if you bind it to a key. @end itemize @node A @LaTeX{} example, Translator functions, Radio tables, Tables in arbitrary syntax @subsection A @LaTeX{} example of radio tables @cindex @LaTeX{}, and Orgtbl mode The best way to wrap the source table in @LaTeX{} is to use the @code{comment} environment provided by @file{comment.sty}. It has to be activated by placing @code{\usepackage@{comment@}} into the document header. Orgtbl mode can insert a radio table skeleton@footnote{By default this works only for @LaTeX{}, HTML, and Texinfo. Configure the variable @code{orgtbl-radio-tables} to install templates for other modes.} with the command @kbd{M-x orgtbl-insert-radio-table}. You will be prompted for a table name, let's say we use @samp{salesfigures}. You will then get the following template: @cindex #+ORGTBL, SEND @example % BEGIN RECEIVE ORGTBL salesfigures % END RECEIVE ORGTBL salesfigures \begin@{comment@} #+ORGTBL: SEND salesfigures orgtbl-to-latex | | | \end@{comment@} @end example @noindent @vindex @LaTeX{}-verbatim-environments The @code{#+ORGTBL: SEND} line tells Orgtbl mode to use the function @code{orgtbl-to-latex} to convert the table into @LaTeX{} and to put it into the receiver location with name @code{salesfigures}. You may now fill in the table---feel free to use the spreadsheet features@footnote{If the @samp{#+TBLFM} line contains an odd number of dollar characters, this may cause problems with font-lock in @LaTeX{} mode. As shown in the example you can fix this by adding an extra line inside the @code{comment} environment that is used to balance the dollar expressions. If you are using AUC@TeX{} with the font-latex library, a much better solution is to add the @code{comment} environment to the variable @code{LaTeX-verbatim-environments}.}: @example % BEGIN RECEIVE ORGTBL salesfigures % END RECEIVE ORGTBL salesfigures \begin@{comment@} #+ORGTBL: SEND salesfigures orgtbl-to-latex | Month | Days | Nr sold | per day | |-------+------+---------+---------| | Jan | 23 | 55 | 2.4 | | Feb | 21 | 16 | 0.8 | | March | 22 | 278 | 12.6 | #+TBLFM: $4=$3/$2;%.1f % $ (optional extra dollar to keep font-lock happy, see footnote) \end@{comment@} @end example @noindent When you are done, press @kbd{C-c C-c} in the table to get the converted table inserted between the two marker lines. Now let's assume you want to make the table header by hand, because you want to control how columns are aligned, etc@. In this case we make sure that the table translator skips the first 2 lines of the source table, and tell the command to work as a @i{splice}, i.e.@: to not produce header and footer commands of the target table: @example \begin@{tabular@}@{lrrr@} Month & \multicolumn@{1@}@{c@}@{Days@} & Nr.\ sold & per day\\ % BEGIN RECEIVE ORGTBL salesfigures % END RECEIVE ORGTBL salesfigures \end@{tabular@} % \begin@{comment@} #+ORGTBL: SEND salesfigures orgtbl-to-latex :splice t :skip 2 | Month | Days | Nr sold | per day | |-------+------+---------+---------| | Jan | 23 | 55 | 2.4 | | Feb | 21 | 16 | 0.8 | | March | 22 | 278 | 12.6 | #+TBLFM: $4=$3/$2;%.1f \end@{comment@} @end example The @LaTeX{} translator function @code{orgtbl-to-latex} is already part of Orgtbl mode. It uses a @code{tabular} environment to typeset the table and marks horizontal lines with @code{\hline}. Furthermore, it interprets the following parameters (see also @pxref{Translator functions}): @table @code @item :splice nil/t When set to t, return only table body lines, don't wrap them into a tabular environment. Default is nil. @item :fmt fmt A format to be used to wrap each field, it should contain @code{%s} for the original field value. For example, to wrap each field value in dollars, you could use @code{:fmt "$%s$"}. This may also be a property list with column numbers and formats, for example @code{:fmt (2 "$%s$" 4 "%s\\%%")}. A function of one argument can be used in place of the strings; the function must return a formatted string. @item :efmt efmt Use this format to print numbers with exponentials. The format should have @code{%s} twice for inserting mantissa and exponent, for example @code{"%s\\times10^@{%s@}"}. The default is @code{"%s\\,(%s)"}. This may also be a property list with column numbers and formats, for example @code{:efmt (2 "$%s\\times10^@{%s@}$" 4 "$%s\\cdot10^@{%s@}$")}. After @code{efmt} has been applied to a value, @code{fmt} will also be applied. Similar to @code{fmt}, functions of two arguments can be supplied instead of strings. @end table @node Translator functions, Radio lists, A @LaTeX{} example, Tables in arbitrary syntax @subsection Translator functions @cindex HTML, and Orgtbl mode @cindex translator function Orgtbl mode has several translator functions built-in: @code{orgtbl-to-csv} (comma-separated values), @code{orgtbl-to-tsv} (TAB-separated values) @code{orgtbl-to-latex}, @code{orgtbl-to-html}, and @code{orgtbl-to-texinfo}. Except for @code{orgtbl-to-html}@footnote{The HTML translator uses the same code that produces tables during HTML export.}, these all use a generic translator, @code{orgtbl-to-generic}. For example, @code{orgtbl-to-latex} itself is a very short function that computes the column definitions for the @code{tabular} environment, defines a few field and line separators and then hands processing over to the generic translator. Here is the entire code: @lisp @group (defun orgtbl-to-latex (table params) "Convert the Orgtbl mode TABLE to LaTeX." (let* ((alignment (mapconcat (lambda (x) (if x "r" "l")) org-table-last-alignment "")) (params2 (list :tstart (concat "\\begin@{tabular@}@{" alignment "@}") :tend "\\end@{tabular@}" :lstart "" :lend " \\\\" :sep " & " :efmt "%s\\,(%s)" :hline "\\hline"))) (orgtbl-to-generic table (org-combine-plists params2 params)))) @end group @end lisp As you can see, the properties passed into the function (variable @var{PARAMS}) are combined with the ones newly defined in the function (variable @var{PARAMS2}). The ones passed into the function (i.e.@: the ones set by the @samp{ORGTBL SEND} line) take precedence. So if you would like to use the @LaTeX{} translator, but wanted the line endings to be @samp{\\[2mm]} instead of the default @samp{\\}, you could just overrule the default with @example #+ORGTBL: SEND test orgtbl-to-latex :lend " \\\\[2mm]" @end example For a new language, you can either write your own converter function in analogy with the @LaTeX{} translator, or you can use the generic function directly. For example, if you have a language where a table is started with @samp{!BTBL!}, ended with @samp{!ETBL!}, and where table lines are started with @samp{!BL!}, ended with @samp{!EL!}, and where the field separator is a TAB, you could call the generic translator like this (on a single line!): @example #+ORGTBL: SEND test orgtbl-to-generic :tstart "!BTBL!" :tend "!ETBL!" :lstart "!BL! " :lend " !EL!" :sep "\t" @end example @noindent Please check the documentation string of the function @code{orgtbl-to-generic} for a full list of parameters understood by that function, and remember that you can pass each of them into @code{orgtbl-to-latex}, @code{orgtbl-to-texinfo}, and any other function using the generic function. Of course you can also write a completely new function doing complicated things the generic translator cannot do. A translator function takes two arguments. The first argument is the table, a list of lines, each line either the symbol @code{hline} or a list of fields. The second argument is the property list containing all parameters specified in the @samp{#+ORGTBL: SEND} line. The function must return a single string containing the formatted table. If you write a generally useful translator, please post it on @email{emacs-orgmode@@gnu.org} so that others can benefit from your work. @node Radio lists, , Translator functions, Tables in arbitrary syntax @subsection Radio lists @cindex radio lists @cindex org-list-insert-radio-list Sending and receiving radio lists works exactly the same way as sending and receiving radio tables (@pxref{Radio tables}). As for radio tables, you can insert radio list templates in HTML, @LaTeX{} and Texinfo modes by calling @code{org-list-insert-radio-list}. Here are the differences with radio tables: @itemize @minus @item Orgstruct mode must be active. @item Use the @code{ORGLST} keyword instead of @code{ORGTBL}. @item The available translation functions for radio lists don't take parameters. @item @kbd{C-c C-c} will work when pressed on the first item of the list. @end itemize Here is a @LaTeX{} example. Let's say that you have this in your @LaTeX{} file: @cindex #+ORGLST @example % BEGIN RECEIVE ORGLST to-buy % END RECEIVE ORGLST to-buy \begin@{comment@} #+ORGLST: SEND to-buy org-list-to-latex - a new house - a new computer + a new keyboard + a new mouse - a new life \end@{comment@} @end example Pressing `C-c C-c' on @code{a new house} and will insert the converted @LaTeX{} list between the two marker lines. @node Dynamic blocks, Special agenda views, Tables in arbitrary syntax, Hacking @section Dynamic blocks @cindex dynamic blocks Org documents can contain @emph{dynamic blocks}. These are specially marked regions that are updated by some user-written function. A good example for such a block is the clock table inserted by the command @kbd{C-c C-x C-r} (@pxref{Clocking work time}). Dynamic blocks are enclosed by a BEGIN-END structure that assigns a name to the block and can also specify parameters for the function producing the content of the block. @cindex #+BEGIN:dynamic block @example #+BEGIN: myblock :parameter1 value1 :parameter2 value2 ... #+END: @end example Dynamic blocks are updated with the following commands @table @kbd @orgcmd{C-c C-x C-u,org-dblock-update} Update dynamic block at point. @orgkey{C-u C-c C-x C-u} Update all dynamic blocks in the current file. @end table Updating a dynamic block means to remove all the text between BEGIN and END, parse the BEGIN line for parameters and then call the specific writer function for this block to insert the new content. If you want to use the original content in the writer function, you can use the extra parameter @code{:content}. For a block with name @code{myblock}, the writer function is @code{org-dblock-write:myblock} with as only parameter a property list with the parameters given in the begin line. Here is a trivial example of a block that keeps track of when the block update function was last run: @example #+BEGIN: block-update-time :format "on %m/%d/%Y at %H:%M" #+END: @end example @noindent The corresponding block writer function could look like this: @lisp (defun org-dblock-write:block-update-time (params) (let ((fmt (or (plist-get params :format) "%d. %m. %Y"))) (insert "Last block update at: " (format-time-string fmt (current-time))))) @end lisp If you want to make sure that all dynamic blocks are always up-to-date, you could add the function @code{org-update-all-dblocks} to a hook, for example @code{before-save-hook}. @code{org-update-all-dblocks} is written in a way such that it does nothing in buffers that are not in @code{org-mode}. You can narrow the current buffer to the current dynamic block (like any other block) with @code{org-narrow-to-block}. @node Special agenda views, Extracting agenda information, Dynamic blocks, Hacking @section Special agenda views @cindex agenda views, user-defined @vindex org-agenda-skip-function @vindex org-agenda-skip-function-global Org provides a special hook that can be used to narrow down the selection made by these agenda views: @code{agenda}, @code{todo}, @code{alltodo}, @code{tags}, @code{tags-todo}, @code{tags-tree}. You may specify a function that is used at each match to verify if the match should indeed be part of the agenda view, and if not, how much should be skipped. You can specify a global condition that will be applied to all agenda views, this condition would be stored in the variable @code{org-agenda-skip-function-global}. More commonly, such a definition is applied only to specific custom searches, using @code{org-agenda-skip-function}. Let's say you want to produce a list of projects that contain a WAITING tag anywhere in the project tree. Let's further assume that you have marked all tree headings that define a project with the TODO keyword PROJECT. In this case you would run a TODO search for the keyword PROJECT, but skip the match unless there is a WAITING tag anywhere in the subtree belonging to the project line. To achieve this, you must write a function that searches the subtree for the tag. If the tag is found, the function must return @code{nil} to indicate that this match should not be skipped. If there is no such tag, return the location of the end of the subtree, to indicate that search should continue from there. @lisp (defun my-skip-unless-waiting () "Skip trees that are not waiting" (let ((subtree-end (save-excursion (org-end-of-subtree t)))) (if (re-search-forward ":waiting:" subtree-end t) nil ; tag found, do not skip subtree-end))) ; tag not found, continue after end of subtree @end lisp Now you may use this function in an agenda custom command, for example like this: @lisp (org-add-agenda-custom-command '("b" todo "PROJECT" ((org-agenda-skip-function 'my-skip-unless-waiting) (org-agenda-overriding-header "Projects waiting for something: ")))) @end lisp @vindex org-agenda-overriding-header Note that this also binds @code{org-agenda-overriding-header} to get a meaningful header in the agenda view. @vindex org-odd-levels-only @vindex org-agenda-skip-function A general way to create custom searches is to base them on a search for entries with a certain level limit. If you want to study all entries with your custom search function, simply do a search for @samp{LEVEL>0}@footnote{Note that, when using @code{org-odd-levels-only}, a level number corresponds to order in the hierarchy, not to the number of stars.}, and then use @code{org-agenda-skip-function} to select the entries you really want to have. You may also put a Lisp form into @code{org-agenda-skip-function}. In particular, you may use the functions @code{org-agenda-skip-entry-if} and @code{org-agenda-skip-subtree-if} in this form, for example: @table @code @item (org-agenda-skip-entry-if 'scheduled) Skip current entry if it has been scheduled. @item (org-agenda-skip-entry-if 'notscheduled) Skip current entry if it has not been scheduled. @item (org-agenda-skip-entry-if 'deadline) Skip current entry if it has a deadline. @item (org-agenda-skip-entry-if 'scheduled 'deadline) Skip current entry if it has a deadline, or if it is scheduled. @item (org-agenda-skip-entry-if 'todo '("TODO" "WAITING")) Skip current entry if the TODO keyword is TODO or WAITING. @item (org-agenda-skip-entry-if 'todo 'done) Skip current entry if the TODO keyword marks a DONE state. @item (org-agenda-skip-entry-if 'timestamp) Skip current entry if it has any timestamp, may also be deadline or scheduled. @item (org-agenda-skip-entry 'regexp "regular expression") Skip current entry if the regular expression matches in the entry. @item (org-agenda-skip-entry 'notregexp "regular expression") Skip current entry unless the regular expression matches. @item (org-agenda-skip-subtree-if 'regexp "regular expression") Same as above, but check and skip the entire subtree. @end table Therefore we could also have written the search for WAITING projects like this, even without defining a special function: @lisp (org-add-agenda-custom-command '("b" todo "PROJECT" ((org-agenda-skip-function '(org-agenda-skip-subtree-if 'regexp ":waiting:")) (org-agenda-overriding-header "Projects waiting for something: ")))) @end lisp @node Extracting agenda information, Using the property API, Special agenda views, Hacking @section Extracting agenda information @cindex agenda, pipe @cindex Scripts, for agenda processing @vindex org-agenda-custom-commands Org provides commands to access agenda information for the command line in Emacs batch mode. This extracted information can be sent directly to a printer, or it can be read by a program that does further processing of the data. The first of these commands is the function @code{org-batch-agenda}, that produces an agenda view and sends it as ASCII text to STDOUT. The command takes a single string as parameter. If the string has length 1, it is used as a key to one of the commands you have configured in @code{org-agenda-custom-commands}, basically any key you can use after @kbd{C-c a}. For example, to directly print the current TODO list, you could use @example emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr @end example If the parameter is a string with 2 or more characters, it is used as a tags/TODO match string. For example, to print your local shopping list (all items with the tag @samp{shop}, but excluding the tag @samp{NewYork}), you could use @example emacs -batch -l ~/.emacs \ -eval '(org-batch-agenda "+shop-NewYork")' | lpr @end example @noindent You may also modify parameters on the fly like this: @example emacs -batch -l ~/.emacs \ -eval '(org-batch-agenda "a" \ org-agenda-span (quote month) \ org-agenda-include-diary nil \ org-agenda-files (quote ("~/org/project.org")))' \ | lpr @end example @noindent which will produce a 30-day agenda, fully restricted to the Org file @file{~/org/projects.org}, not even including the diary. If you want to process the agenda data in more sophisticated ways, you can use the command @code{org-batch-agenda-csv} to get a comma-separated list of values for each agenda item. Each line in the output will contain a number of fields separated by commas. The fields in a line are: @example category @r{The category of the item} head @r{The headline, without TODO keyword, TAGS and PRIORITY} type @r{The type of the agenda entry, can be} todo @r{selected in TODO match} tagsmatch @r{selected in tags match} diary @r{imported from diary} deadline @r{a deadline} scheduled @r{scheduled} timestamp @r{appointment, selected by timestamp} closed @r{entry was closed on date} upcoming-deadline @r{warning about nearing deadline} past-scheduled @r{forwarded scheduled item} block @r{entry has date block including date} todo @r{The TODO keyword, if any} tags @r{All tags including inherited ones, separated by colons} date @r{The relevant date, like 2007-2-14} time @r{The time, like 15:00-16:50} extra @r{String with extra planning info} priority-l @r{The priority letter if any was given} priority-n @r{The computed numerical priority} @end example @noindent Time and date will only be given if a timestamp (or deadline/scheduled) led to the selection of the item. A CSV list like this is very easy to use in a post-processing script. For example, here is a Perl program that gets the TODO list from Emacs/Org and prints all the items, preceded by a checkbox: @example #!/usr/bin/perl # define the Emacs command to run $cmd = "emacs -batch -l ~/.emacs -eval '(org-batch-agenda-csv \"t\")'"; # run it and capture the output $agenda = qx@{$cmd 2>/dev/null@}; # loop over all lines foreach $line (split(/\n/,$agenda)) @{ # get the individual values ($category,$head,$type,$todo,$tags,$date,$time,$extra, $priority_l,$priority_n) = split(/,/,$line); # process and print print "[ ] $head\n"; @} @end example @node Using the property API, Using the mapping API, Extracting agenda information, Hacking @section Using the property API @cindex API, for properties @cindex properties, API Here is a description of the functions that can be used to work with properties. @defun org-entry-properties &optional pom which Get all properties of the entry at point-or-marker POM.@* This includes the TODO keyword, the tags, time strings for deadline, scheduled, and clocking, and any additional properties defined in the entry. The return value is an alist. Keys may occur multiple times if the property key was used several times.@* POM may also be nil, in which case the current entry is used. If WHICH is nil or `all', get all properties. If WHICH is `special' or `standard', only get that subclass. @end defun @vindex org-use-property-inheritance @defun org-entry-get pom property &optional inherit Get value of PROPERTY for entry at point-or-marker POM. By default, this only looks at properties defined locally in the entry. If INHERIT is non-nil and the entry does not have the property, then also check higher levels of the hierarchy. If INHERIT is the symbol @code{selective}, use inheritance if and only if the setting of @code{org-use-property-inheritance} selects PROPERTY for inheritance. @end defun @defun org-entry-delete pom property Delete the property PROPERTY from entry at point-or-marker POM. @end defun @defun org-entry-put pom property value Set PROPERTY to VALUE for entry at point-or-marker POM. @end defun @defun org-buffer-property-keys &optional include-specials Get all property keys in the current buffer. @end defun @defun org-insert-property-drawer Insert a property drawer at point. @end defun @defun org-entry-put-multivalued-property pom property &rest values Set PROPERTY at point-or-marker POM to VALUES. VALUES should be a list of strings. They will be concatenated, with spaces as separators. @end defun @defun org-entry-get-multivalued-property pom property Treat the value of the property PROPERTY as a whitespace-separated list of values and return the values as a list of strings. @end defun @defun org-entry-add-to-multivalued-property pom property value Treat the value of the property PROPERTY as a whitespace-separated list of values and make sure that VALUE is in this list. @end defun @defun org-entry-remove-from-multivalued-property pom property value Treat the value of the property PROPERTY as a whitespace-separated list of values and make sure that VALUE is @emph{not} in this list. @end defun @defun org-entry-member-in-multivalued-property pom property value Treat the value of the property PROPERTY as a whitespace-separated list of values and check if VALUE is in this list. @end defun @defopt org-property-allowed-value-functions Hook for functions supplying allowed values for a specific property. The functions must take a single argument, the name of the property, and return a flat list of allowed values. If @samp{:ETC} is one of the values, use the values as completion help, but allow also other values to be entered. The functions must return @code{nil} if they are not responsible for this property. @end defopt @node Using the mapping API, , Using the property API, Hacking @section Using the mapping API @cindex API, for mapping @cindex mapping entries, API Org has sophisticated mapping capabilities to find all entries satisfying certain criteria. Internally, this functionality is used to produce agenda views, but there is also an API that can be used to execute arbitrary functions for each or selected entries. The main entry point for this API is: @defun org-map-entries func &optional match scope &rest skip Call FUNC at each headline selected by MATCH in SCOPE. FUNC is a function or a Lisp form. The function will be called without arguments, with the cursor positioned at the beginning of the headline. The return values of all calls to the function will be collected and returned as a list. The call to FUNC will be wrapped into a save-excursion form, so FUNC does not need to preserve point. After evaluation, the cursor will be moved to the end of the line (presumably of the headline of the processed entry) and search continues from there. Under some circumstances, this may not produce the wanted results. For example, if you have removed (e.g.@: archived) the current (sub)tree it could mean that the next entry will be skipped entirely. In such cases, you can specify the position from where search should continue by making FUNC set the variable `org-map-continue-from' to the desired buffer position. MATCH is a tags/property/todo match as it is used in the agenda match view. Only headlines that are matched by this query will be considered during the iteration. When MATCH is nil or t, all headlines will be visited by the iteration. SCOPE determines the scope of this command. It can be any of: @example nil @r{the current buffer, respecting the restriction if any} tree @r{the subtree started with the entry at point} region @r{The entries within the active region, if any} file @r{the current buffer, without restriction} file-with-archives @r{the current buffer, and any archives associated with it} agenda @r{all agenda files} agenda-with-archives @r{all agenda files with any archive files associated with them} (file1 file2 ...) @r{if this is a list, all files in the list will be scanned} @end example @noindent The remaining args are treated as settings for the skipping facilities of the scanner. The following items can be given here: @vindex org-agenda-skip-function @example archive @r{skip trees with the archive tag} comment @r{skip trees with the COMMENT keyword} function or Lisp form @r{will be used as value for @code{org-agenda-skip-function},} @r{so whenever the function returns t, FUNC} @r{will not be called for that entry and search will} @r{continue from the point where the function leaves it} @end example @end defun The function given to that mapping routine can really do anything you like. It can use the property API (@pxref{Using the property API}) to gather more information about the entry, or in order to change metadata in the entry. Here are a couple of functions that might be handy: @defun org-todo &optional arg Change the TODO state of the entry. See the docstring of the functions for the many possible values for the argument ARG. @end defun @defun org-priority &optional action Change the priority of the entry. See the docstring of this function for the possible values for ACTION. @end defun @defun org-toggle-tag tag &optional onoff Toggle the tag TAG in the current entry. Setting ONOFF to either @code{on} or @code{off} will not toggle tag, but ensure that it is either on or off. @end defun @defun org-promote Promote the current entry. @end defun @defun org-demote Demote the current entry. @end defun Here is a simple example that will turn all entries in the current file with a tag @code{TOMORROW} into TODO entries with the keyword @code{UPCOMING}. Entries in comment trees and in archive trees will be ignored. @lisp (org-map-entries '(org-todo "UPCOMING") "+TOMORROW" 'file 'archive 'comment) @end lisp The following example counts the number of entries with TODO keyword @code{WAITING}, in all agenda files. @lisp (length (org-map-entries t "/+WAITING" 'agenda)) @end lisp @node MobileOrg, History and Acknowledgments, Hacking, Top @appendix MobileOrg @cindex iPhone @cindex MobileOrg @uref{http://mobileorg.ncogni.to/, MobileOrg} is an application for the @i{iPhone/iPod Touch} series of devices, developed by Richard Moreland. @i{MobileOrg} offers offline viewing and capture support for an Org mode system rooted on a ``real'' computer. It does also allow you to record changes to existing entries. Android users should check out @uref{http://wiki.github.com/matburt/mobileorg-android/, MobileOrg Android} by Matt Jones. This appendix describes the support Org has for creating agenda views in a format that can be displayed by @i{MobileOrg}, and for integrating notes captured and changes made by @i{MobileOrg} into the main system. For changing tags and TODO states in MobileOrg, you should have set up the customization variables @code{org-todo-keywords} and @code{org-tags-alist} to cover all important tags and TODO keywords, even if individual files use only part of these. MobileOrg will also offer you states and tags set up with in-buffer settings, but it will understand the logistics of TODO state @i{sets} (@pxref{Per-file keywords}) and @i{mutually exclusive} tags (@pxref{Setting tags}) only for those set in these variables. @menu * Setting up the staging area:: Where to interact with the mobile device * Pushing to MobileOrg:: Uploading Org files and agendas * Pulling from MobileOrg:: Integrating captured and flagged items @end menu @node Setting up the staging area, Pushing to MobileOrg, MobileOrg, MobileOrg @section Setting up the staging area MobileOrg needs to interact with Emacs through a directory on a server. If you are using a public server, you should consider to encrypt the files that are uploaded to the server. This can be done with Org mode 7.02 and with @i{MobileOrg 1.5} (iPhone version), and you need an @file{openssl} installation on your system. To turn on encryption, set a password in @i{MobileOrg} and, on the Emacs side, configure the variable @code{org-mobile-use-encryption}@footnote{If you can safely store the password in your Emacs setup, you might also want to configure @code{org-mobile-encryption-password}. Please read the docstring of that variable. Note that encryption will apply only to the contents of the @file{.org} files. The file names themselves will remain visible.}. The easiest way to create that directory is to use a free @uref{http://dropbox.com,Dropbox.com} account@footnote{If you cannot use Dropbox, or if your version of MobileOrg does not support it, you can use a webdav server. For more information, check out the documentation of MobileOrg and also this @uref{http://orgmode.org/worg/org-faq.html#mobileorg_webdav, FAQ entry}.}. When MobileOrg first connects to your Dropbox, it will create a directory @i{MobileOrg} inside the Dropbox. After the directory has been created, tell Emacs about it: @lisp (setq org-mobile-directory "~/Dropbox/MobileOrg") @end lisp Org mode has commands to put files for @i{MobileOrg} into that directory, and to read captured notes from there. @node Pushing to MobileOrg, Pulling from MobileOrg, Setting up the staging area, MobileOrg @section Pushing to MobileOrg This operation copies all files currently listed in @code{org-mobile-files} to the directory @code{org-mobile-directory}. By default this list contains all agenda files (as listed in @code{org-agenda-files}), but additional files can be included by customizing @code{org-mobile-files}. File names will be staged with paths relative to @code{org-directory}, so all files should be inside this directory. The push operation also creates a special Org file @file{agendas.org} with all custom agenda view defined by the user@footnote{While creating the agendas, Org mode will force ID properties on all referenced entries, so that these entries can be uniquely identified if @i{MobileOrg} flags them for further action. If you do not want to get these properties in so many entries, you can set the variable @code{org-mobile-force-id-on-agenda-items} to @code{nil}. Org mode will then rely on outline paths, in the hope that these will be unique enough.}. Finally, Org writes the file @file{index.org}, containing links to all other files. @i{MobileOrg} first reads this file from the server, and then downloads all agendas and Org files listed in it. To speed up the download, MobileOrg will only read files whose checksums@footnote{stored automatically in the file @file{checksums.dat}} have changed. @node Pulling from MobileOrg, , Pushing to MobileOrg, MobileOrg @section Pulling from MobileOrg When @i{MobileOrg} synchronizes with the server, it not only pulls the Org files for viewing. It also appends captured entries and pointers to flagged and changed entries to the file @file{mobileorg.org} on the server. Org has a @emph{pull} operation that integrates this information into an inbox file and operates on the pointers to flagged entries. Here is how it works: @enumerate @item Org moves all entries found in @file{mobileorg.org}@footnote{@file{mobileorg.org} will be empty after this operation.} and appends them to the file pointed to by the variable @code{org-mobile-inbox-for-pull}. Each captured entry and each editing event will be a top-level entry in the inbox file. @item After moving the entries, Org will attempt to implement the changes made in @i{MobileOrg}. Some changes are applied directly and without user interaction. Examples are all changes to tags, TODO state, headline and body text that can be cleanly applied. Entries that have been flagged for further action will receive a tag @code{:FLAGGED:}, so that they can be easily found again. When there is a problem finding an entry or applying the change, the pointer entry will remain in the inbox and will be marked with an error message. You need to later resolve these issues by hand. @item Org will then generate an agenda view with all flagged entries. The user should then go through these entries and do whatever actions are necessary. If a note has been stored while flagging an entry in @i{MobileOrg}, that note will be displayed in the echo area when the cursor is on the corresponding agenda line. @table @kbd @kindex ? @item ? Pressing @kbd{?} in that special agenda will display the full flagging note in another window and also push it onto the kill ring. So you could use @kbd{? z C-y C-c C-c} to store that flagging note as a normal note in the entry. Pressing @kbd{?} twice in succession will offer to remove the @code{:FLAGGED:} tag along with the recorded flagging note (which is stored in a property). In this way you indicate that the intended processing for this flagged entry is finished. @end table @end enumerate @kindex C-c a ? If you are not able to process all flagged entries directly, you can always return to this agenda view@footnote{Note, however, that there is a subtle difference. The view created automatically by @kbd{M-x org-mobile-pull @key{RET}} is guaranteed to search all files that have been addressed by the last pull. This might include a file that is not currently in your list of agenda files. If you later use @kbd{C-c a ?} to regenerate the view, only the current agenda files will be searched.} using @kbd{C-c a ?}. @node History and Acknowledgments, Main Index, MobileOrg, Top @appendix History and acknowledgments @cindex acknowledgments @cindex history @cindex thanks Org was born in 2003, out of frustration over the user interface of the Emacs Outline mode. I was trying to organize my notes and projects, and using Emacs seemed to be the natural way to go. However, having to remember eleven different commands with two or three keys per command, only to hide and show parts of the outline tree, that seemed entirely unacceptable to me. Also, when using outlines to take notes, I constantly wanted to restructure the tree, organizing it parallel to my thoughts and plans. @emph{Visibility cycling} and @emph{structure editing} were originally implemented in the package @file{outline-magic.el}, but quickly moved to the more general @file{org.el}. As this environment became comfortable for project planning, the next step was adding @emph{TODO entries}, basic @emph{timestamps}, and @emph{table support}. These areas highlighted the two main goals that Org still has today: to be a new, outline-based, plain text mode with innovative and intuitive editing features, and to incorporate project planning functionality directly into a notes file. Since the first release, literally thousands of emails to me or to @email{emacs-orgmode@@gnu.org} have provided a constant stream of bug reports, feedback, new ideas, and sometimes patches and add-on code. Many thanks to everyone who has helped to improve this package. I am trying to keep here a list of the people who had significant influence in shaping one or more aspects of Org. The list may not be complete, if I have forgotten someone, please accept my apologies and let me know. Before I get to this list, a few special mentions are in order: @table @i @item Bastien Guerry Bastien has written a large number of extensions to Org (most of them integrated into the core by now), including the @LaTeX{} exporter and the plain list parser. His support during the early days, when he basically acted as co-maintainer, was central to the success of this project. Bastien also invented Worg, helped establishing the Web presence of Org, and sponsors hosting costs for the orgmode.org website. @item Eric Schulte and Dan Davison Eric and Dan are jointly responsible for the Org-babel system, which turns Org into a multi-language environment for evaluating code and doing literate programming and reproducible research. @item John Wiegley John has contributed a number of great ideas and patches directly to Org, including the attachment system (@file{org-attach.el}), integration with Apple Mail (@file{org-mac-message.el}), hierarchical dependencies of TODO items, habit tracking (@file{org-habits.el}), and encryption (@file{org-crypt.el}). Also, the capture system is really an extended copy of his great @file{remember.el}. @item Sebastian Rose Without Sebastian, the HTML/XHTML publishing of Org would be the pitiful work of an ignorant amateur. Sebastian has pushed this part of Org onto a much higher level. He also wrote @file{org-info.js}, a Java script for displaying webpages derived from Org using an Info-like or a folding interface with single-key navigation. @end table @noindent OK, now to the full list of contributions! Again, please let me know what I am missing here! @itemize @bullet @item @i{Russel Adams} came up with the idea for drawers. @item @i{Thomas Baumann} wrote @file{org-bbdb.el} and @file{org-mhe.el}. @item @i{Christophe Bataillon} created the great unicorn logo that we use on the Org mode website. @item @i{Alex Bochannek} provided a patch for rounding timestamps. @item @i{Jan Böcker} wrote @file{org-docview.el}. @item @i{Brad Bozarth} showed how to pull RSS feed data into Org mode files. @item @i{Tom Breton} wrote @file{org-choose.el}. @item @i{Charles Cave}'s suggestion sparked the implementation of templates for Remember, which are now templates for capture. @item @i{Pavel Chalmoviansky} influenced the agenda treatment of items with specified time. @item @i{Gregory Chernov} patched support for Lisp forms into table calculations and improved XEmacs compatibility, in particular by porting @file{nouline.el} to XEmacs. @item @i{Sacha Chua} suggested copying some linking code from Planner. @item @i{Baoqiu Cui} contributed the DocBook exporter. @item @i{Eddward DeVilla} proposed and tested checkbox statistics. He also came up with the idea of properties, and that there should be an API for them. @item @i{Nick Dokos} tracked down several nasty bugs. @item @i{Kees Dullemond} used to edit projects lists directly in HTML and so inspired some of the early development, including HTML export. He also asked for a way to narrow wide table columns. @item @i{Thomas S. Dye} contributed documentation on Worg and helped integrating the Org-Babel documentation into the manual. @item @i{Christian Egli} converted the documentation into Texinfo format, inspired the agenda, patched CSS formatting into the HTML exporter, and wrote @file{org-taskjuggler.el}. @item @i{David Emery} provided a patch for custom CSS support in exported HTML agendas. @item @i{Nic Ferrier} contributed mailcap and XOXO support. @item @i{Miguel A. Figueroa-Villanueva} implemented hierarchical checkboxes. @item @i{John Foerch} figured out how to make incremental search show context around a match in a hidden outline tree. @item @i{Raimar Finken} wrote @file{org-git-line.el}. @item @i{Mikael Fornius} works as a mailing list moderator. @item @i{Austin Frank} works as a mailing list moderator. @item @i{Eric Fraga} drove the development of BEAMER export with ideas and testing. @item @i{Barry Gidden} did proofreading the manual in preparation for the book publication through Network Theory Ltd. @item @i{Niels Giesen} had the idea to automatically archive DONE trees. @item @i{Nicolas Goaziou} rewrote much of the plain list code. @item @i{Kai Grossjohann} pointed out key-binding conflicts with other packages. @item @i{Brian Gough} of Network Theory Ltd publishes the Org mode manual as a book. @item @i{Bernt Hansen} has driven much of the support for auto-repeating tasks, task state change logging, and the clocktable. His clear explanations have been critical when we started to adopt the Git version control system. @item @i{Manuel Hermenegildo} has contributed various ideas, small fixes and patches. @item @i{Phil Jackson} wrote @file{org-irc.el}. @item @i{Scott Jaderholm} proposed footnotes, control over whitespace between folded entries, and column view for properties. @item @i{Matt Jones} wrote @i{MobileOrg Android}. @item @i{Tokuya Kameshima} wrote @file{org-wl.el} and @file{org-mew.el}. @item @i{Shidai Liu} ("Leo") asked for embedded @LaTeX{} and tested it. He also provided frequent feedback and some patches. @item @i{Matt Lundin} has proposed last-row references for table formulas and named invisible anchors. He has also worked a lot on the FAQ. @item @i{David Maus} wrote @file{org-atom.el}, maintains the issues file for Org, and is a prolific contributor on the mailing list with competent replies, small fixes and patches. @item @i{Jason F. McBrayer} suggested agenda export to CSV format. @item @i{Max Mikhanosha} came up with the idea of refiling. @item @i{Dmitri Minaev} sent a patch to set priority limits on a per-file basis. @item @i{Stefan Monnier} provided a patch to keep the Emacs-Lisp compiler happy. @item @i{Richard Moreland} wrote @i{MobileOrg} for the iPhone. @item @i{Rick Moynihan} proposed allowing multiple TODO sequences in a file and being able to quickly restrict the agenda to a subtree. @item @i{Todd Neal} provided patches for links to Info files and Elisp forms. @item @i{Greg Newman} refreshed the unicorn logo into its current form. @item @i{Tim O'Callaghan} suggested in-file links, search options for general file links, and TAGS. @item @i{Osamu Okano} wrote @file{orgcard2ref.pl}, a Perl program to create a text version of the reference card. @item @i{Takeshi Okano} translated the manual and David O'Toole's tutorial into Japanese. @item @i{Oliver Oppitz} suggested multi-state TODO items. @item @i{Scott Otterson} sparked the introduction of descriptive text for links, among other things. @item @i{Pete Phillips} helped during the development of the TAGS feature, and provided frequent feedback. @item @i{Martin Pohlack} provided the code snippet to bundle character insertion into bundles of 20 for undo. @item @i{T.V. Raman} reported bugs and suggested improvements. @item @i{Matthias Rempe} (Oelde) provided ideas, Windows support, and quality control. @item @i{Paul Rivier} provided the basic implementation of named footnotes. He also acted as mailing list moderator for some time. @item @i{Kevin Rogers} contributed code to access VM files on remote hosts. @item @i{Frank Ruell} solved the mystery of the @code{keymapp nil} bug, a conflict with @file{allout.el}. @item @i{Jason Riedy} generalized the send-receive mechanism for Orgtbl tables with extensive patches. @item @i{Philip Rooke} created the Org reference card, provided lots of feedback, developed and applied standards to the Org documentation. @item @i{Christian Schlauer} proposed angular brackets around links, among other things. @item @i{Paul Sexton} wrote @file{org-ctags.el}. @item Linking to VM/BBDB/Gnus was first inspired by @i{Tom Shannon}'s @file{organizer-mode.el}. @item @i{Ilya Shlyakhter} proposed the Archive Sibling, line numbering in literal examples, and remote highlighting for referenced code lines. @item @i{Stathis Sideris} wrote the @file{ditaa.jar} ASCII to PNG converter that is now packaged into Org's @file{contrib} directory. @item @i{Daniel Sinder} came up with the idea of internal archiving by locking subtrees. @item @i{Dale Smith} proposed link abbreviations. @item @i{James TD Smith} has contributed a large number of patches for useful tweaks and features. @item @i{Adam Spiers} asked for global linking commands, inspired the link extension system, added support for mairix, and proposed the mapping API. @item @i{Ulf Stegemann} created the table to translate special symbols to HTML, @LaTeX{}, UTF-8, Latin-1 and ASCII. @item @i{Andy Stewart} contributed code to @file{org-w3m.el}, to copy HTML content with links transformation to Org syntax. @item @i{David O'Toole} wrote @file{org-publish.el} and drafted the manual chapter about publishing. @item @i{Jambunathan K} contributed the ODT exporter. @item @i{Sebastien Vauban} reported many issues with @LaTeX{} and BEAMER export and enabled source code highlighting in Gnus. @item @i{Stefan Vollmar} organized a video-recorded talk at the Max-Planck-Institute for Neurology. He also inspired the creation of a concept index for HTML export. @item @i{J@"urgen Vollmer} contributed code generating the table of contents in HTML output. @item @i{Samuel Wales} has provided important feedback and bug reports. @item @i{Chris Wallace} provided a patch implementing the @samp{QUOTE} keyword. @item @i{David Wainberg} suggested archiving, and improvements to the linking system. @item @i{Carsten Wimmer} suggested some changes and helped fix a bug in linking to Gnus. @item @i{Roland Winkler} requested additional key bindings to make Org work on a tty. @item @i{Piotr Zielinski} wrote @file{org-mouse.el}, proposed agenda blocks and contributed various ideas and code snippets. @item @end itemize @node Main Index, Key Index, History and Acknowledgments, Top @unnumbered Concept index @printindex cp @node Key Index, Command and Function Index, Main Index, Top @unnumbered Key index @printindex ky @node Command and Function Index, Variable Index, Key Index, Top @unnumbered Command and function index @printindex fn @node Variable Index, , Command and Function Index, Top @unnumbered Variable index This is not a complete index of variables and faces, only the ones that are mentioned in the manual. For a more complete list, use @kbd{M-x org-customize @key{RET}} and then click yourself through the tree. @printindex vr @bye @c Local variables: @c fill-column: 77 @c indent-tabs-mode: nil @c paragraph-start: "\\|^@[a-zA-Z]*[ \n]\\|^@x?org\\(key\\|cmd\\)\\|\f\\|[ ]*$" @c paragraph-separate: "\\|^@[a-zA-Z]*[ \n]\\|^@x?org\\(key\\|cmd\\)\\|[ \f]*$" @c End: @c LocalWords: webdavhost pre org-mode-doc-8.2.4/doc/orgguide.pdf0000644000175000017500000141375512260050771015172 0ustar sebseb%PDF-1.4 % 1 0 obj << /Length 587 /Filter /FlateDecode >> stream xmTM@+z&?tBL$d4*.<_fW_wիrc;`GUOV&ʮ[v6W7TvbuYt/N.5=S> stream xmTM@+z&?tBL0d4*.<̿~UfW_uvc;Z̫MfG} I]/ޭmޯo⣩0^'^x]fkn{EK{*ʇupg6;ލ$4;gZ8, M[TPRJGeWxmE7 "/7j;{Yʋ"1tm|oirI ɑc׺>[TқEnn#bBSEV嶭mzsg)gR133w xAb;aGL6K&0+}&"?(Ҧa/ c,!-f3*Ix {asIC%hS7}H=ŤIY(jŧ Z4{SO5Z ekxvKǬ@2a> stream xmSn0+$z"aKU^CvF^p=!94gB˥0pދ s#P~k@hZ+vQڦ(A,Rf5Ħq8>K_X NH3$Ǟ{<0*5c~Pʯ5W42^!0^#rqxƘE3x z)cgl1BҰ?Xq!NAWA*d1)iȧΰО 9璆NVfkVaUJ?%͚5ػbTW=ј52f&p2pjV^cHMcVYxLS7E=1j g endstream endobj 6 0 obj << /Length 258 /Filter /FlateDecode >> stream x}O=O0+<;+ yBBT@Z=v"wt$G2t pޮȰNQJeNщcԕ(ήʸ޶&p˸U|ql]75 S>x+z&G: Sd7ur%K K)8p0ҲM}t61W4 M½iA9ɾ`S묪2ڂ")-.i6e~ӯ"d BC_/Oe endstream endobj 5 0 obj << /Type /Page /Contents 6 0 R /Resources 4 0 R /MediaBox [0 0 612 792] /Parent 9 0 R >> endobj 4 0 obj << /Font << /F72 7 0 R /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 12 0 obj << /Length 713 /Filter /FlateDecode >> stream xmTMo0 WLjWlNX 0ހaFc,؟)*iRb|$)O%qAqo} Je߳(K :fL%/EP-1(y,<7¤`Պ%WYkFfGǛc 1V?h[\*6,|},/Zk}-&R!FVyb?1Nֻ$ ͎]=gLzq`O(Ѣ3vT ;-vcf=`[3q}BM}SC9><1XnJ dipզ-]Wb7䂹!יuGWX=N+?bANi3^ß'ڹl0@+ i'$NZ`M̡RmZc0$;m&)jbδ~n_ ?Rr]c`+GF{~7kW^ U81}W'wL\RUJX\K8D;u yq;q})elg=4B endstream endobj 11 0 obj << /Type /Page /Contents 12 0 R /Resources 10 0 R /MediaBox [0 0 612 792] /Parent 9 0 R >> endobj 10 0 obj << /Font << /F51 8 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 32 0 obj << /Length 1157 /Filter /FlateDecode >> stream xMs6<X|@nnNd59=(4cq,Kj_EX`iZ%h]4dXAp&(Eɬ:nܫy?O~xXeHqNDB<ϳyS9|?')qKK "wSJ2vibFϟnߺUcDR:3`_ "- :"?U]'P"(+) ̸቞Rxw[ˁiۘJaG?r!v;yz yT"K+C:gWBi$ek5B!#.dܴ,D##e *ԁ1/$W6WHP׺N֓i4c0y.AFJI!CfQWʘC}U $oSڕ3:΄iIx|ceO5OZKå@L9HP^mUW_Q_H/T@;yATbŗraE`ˡ]"Sk ƠLcjDʳXQ3TR)*ۙ ԛv34 B:e5cpQAn<8i1C-Q)ji^X*Ǻ֫\2' Ɨ30qwl!OGcf/``~P me毂<'/uNJ%scp mZ["ڦ2Eai_j+KI&Nb N1q+BL&3L)6ijf}\J$C3' ]_6NZ̀ ˜;p.#H0==q7;/&-fR=4 i1B^p閶'm7r=/V(3cqcpʃ x1b2*VjXכ]x*yzpiDķ>|"i1͝J_ ql[pfky֬K}ܼOmfQ)b.LMsy Ng/|ٽ\ endstream endobj 31 0 obj << /Type /Page /Contents 32 0 R /Resources 30 0 R /MediaBox [0 0 612 792] /Parent 9 0 R /Annots [ 14 0 R 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R 24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R ] >> endobj 14 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.147 655.243 450 663.545] /A << /S /GoTo /D (1) >> >> endobj 15 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.147 638.306 450 646.476] /A << /S /GoTo /D (2) >> >> endobj 16 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.147 621.37 450 629.672] /A << /S /GoTo /D (6) >> >> endobj 17 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.147 602.109 450 612.736] /A << /S /GoTo /D (8) >> >> endobj 18 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 587.497 450 595.666] /A << /S /GoTo /D (10) >> >> endobj 19 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 568.236 450 578.73] /A << /S /GoTo /D (14) >> >> endobj 20 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 551.299 450 561.793] /A << /S /GoTo /D (17) >> >> endobj 21 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 536.687 450 544.99] /A << /S /GoTo /D (18) >> >> endobj 22 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 517.426 450 528.053] /A << /S /GoTo /D (21) >> >> endobj 23 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 500.49 450 511.117] /A << /S /GoTo /D (24) >> >> endobj 24 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 483.553 450 494.18] /A << /S /GoTo /D (29) >> >> endobj 25 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 466.617 450 477.111] /A << /S /GoTo /D (32) >> >> endobj 26 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 449.68 450 460.307] /A << /S /GoTo /D (34) >> >> endobj 27 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 432.744 450 443.371] /A << /S /GoTo /D (35) >> >> endobj 28 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 418.132 450 426.434] /A << /S /GoTo /D (37) >> >> endobj 29 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.294 401.196 450 409.365] /A << /S /GoTo /D (38) >> >> endobj 33 0 obj << /D [31 0 R /XYZ 90 720 null] >> endobj 30 0 obj << /Font << /F109 34 0 R /F72 7 0 R /F97 35 0 R >> /ProcSet [ /PDF /Text ] >> endobj 57 0 obj << /Length 2204 /Filter /FlateDecode >> stream xڭێ}š`i)}dMi"MRP6LGQ=mhӊ"ˢ8uԹ_P+~jWiz([7@o\@po0XmZ=nI<>[a:껵EYwڅg1}6r?rk` 1+z#+"OnIx|>( <n,ӞUNgv:7|j 86 D=Ne8GQaxq@5s9״9 ?_#n bDZ/us%T%JEbH iH|UԪ/9QT9.7k϶7G="r> %R lڶj䎡/ێy#\y gyɲ5[k97Q$層+UYɇizNLqK^O>1]E nw K3w0 X7% 9.0u׽A8'I2N-McVo bbt !bEξjY*[YC]0- cw{.Ibͤ=XABghjrh{^h0&awGK2e= S8̇0 7sn\P2X>(v+?>/u۔' z~C?u.dNo8b>RPܕ~A i]ưī^rبr-8` 5^} ܕ^hx$ӻKp5#I2mαB^^v2ՄRN5Kr@9gbrwJoP@SN@eSS0V6w7:R%5`:ch~!lS& p&c$y_D \Xcz\HNuJʁ>#\zwR6̋p3&?+O|(OU/]-cyE{Q]4;ڷ >Dbx;; g/(Q`=>KbЗe #S;uޯi w[r[8͡+jP69]@浑@1@e]ܒ`pڤܤLCMMro{ds;# Z3f̖ߋ4ŰGjJY%X'1cVuk_ܕ֋SK lG]upIl4Ӌ{: Bynx^o z8/yqP"ULfcRw'} &yS=lS܁U|zp Cݾuqa|na+xgF CkܔݞH\rAEr`+:\ڀK2Ky WNjg`m3n}F`&zûʑ)Ð]0[7N3`p/ߣgm RΨUk^n_LYLOq2pz7~Ʃ9jMm1Qd[.x~]BFNR C|qrܻ)[a%FraE|c۩ bnxv-)h&o1WdTKf@~F-6xr_M:+IF z˙ԉ[JX\ARx ~J7knҀ>eGJe0tuoyM$S,U S0d2Ϗ 39z=%&s%8Ž+b#ZjQ(Yr11tǪB#'7t;G\>X ek̬вjЛ]{^ = endstream endobj 56 0 obj << /Type /Page /Contents 57 0 R /Resources 55 0 R /MediaBox [0 0 612 792] /Parent 9 0 R /Annots [ 52 0 R 53 0 R 54 0 R ] >> endobj 52 0 obj << /Type /Annot /Border [0 0 0] /Rect [362.891 593.744 518.655 603.441] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/index.html#sec-4_1) >> >> endobj 53 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [370.887 493.512 518.655 504.421] /A << /S /GoTo /D (Activation) >> >> endobj 54 0 obj << /Type /Annot /Border [0 0 0] /Rect [227.775 182.482 348.047 192.482] /Subtype /Link /A << /S /URI /URI (mailto:emacs-orgmode@gnu.org) >> >> endobj 36 0 obj << /D [56 0 R /XYZ 90 720 null] >> endobj 58 0 obj << /D [56 0 R /XYZ 90 720 null] >> endobj 59 0 obj << /D [56 0 R /XYZ 90 660.224 null] >> endobj 61 0 obj << /D [56 0 R /XYZ 90 544.458 null] >> endobj 65 0 obj << /D [56 0 R /XYZ 90 375.193 null] >> endobj 66 0 obj << /D [56 0 R /XYZ 90 230.702 null] >> endobj 55 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 60 0 R /F53 62 0 R /F52 63 0 R /F31 64 0 R >> /ProcSet [ /PDF /Text ] >> endobj 70 0 obj << /Length 2114 /Filter /FlateDecode >> stream xڭXYoH~#0+ p63blTZPL Hy%+/@Ό C^[[ g&@llݡ6fEk<j#[#[K?m2㼮IyJ'ʺ軶Qv﫿@FP˜§L}^K 2}?!Ƶ;<ۦ\ 4m͡5UâZwY`u\_6miwhPxoGbL{W{^ 5D Li9rR2wh*rw #Q6oiMSV8gۭCݹfNK[Ky]٠<4k#q5{ppM0|P0#ضx>z.Z7k(l"oۚH4b 4 !pu=#1ګ׬Em M _y{]0@> rځ%##P;ڭ_<,G"tH/q] VT{o҄L7ag9r4W@Kpg0I,fCWQo V|ioER߻BU_:\gkOyPRpwI2:WF(U"DZBG b9iw5D٤pGcr,Q4XD!,&&[aAmLMÒ3(|ݘ: GԪ}B "2w _Hכޒstwy,"o(/YsA @/7V+Aʶj^1U Q`-Pc f&w<5OoQ!wN,]| C^)~k!̇LqN w0 z7*ql@ƭG3s(Sp҈ GAëK|^8߲*9Y'O$~,`D=cuB~ͮh+.J\1\x Hrp ZHz? K"Gz` RS;,%t9U"U=}P;lHli7IQCOY<0G,' ʴ!\փ }=z.BB\ J'Xm.3&UPpP4U;0*dL +&DMNIOZ$]FGɳA V⯩}iZ*Kzwm uxPS %\ .=ڻ}zt_oW_xJ">!K1 G fu9oIbS3>P< nYp0s(4PrwHL%=5(SOpЕmO"OGlJ4U^}gryuyus,ͧOfi詫@.c G 95vt.bsnighp@߾ ,M.-Jo'u Di,RBNr,iT$q|*_$ 8Hu<~vSTy}[+3s33(h0΃} V!3(`POW DxYSqC\JOh2ؘg Yh(Hō-5+ endstream endobj 69 0 obj << /Type /Page /Contents 70 0 R /Resources 68 0 R /MediaBox [0 0 612 792] /Parent 9 0 R /Annots [ 67 0 R ] >> endobj 67 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [309.393 342.879 472.39 353.788] /A << /S /GoTo /D (Clean view) >> >> endobj 37 0 obj << /D [69 0 R /XYZ 90 720 null] >> endobj 71 0 obj << /D [69 0 R /XYZ 90 720 null] >> endobj 72 0 obj << /D [69 0 R /XYZ 90 626.228 null] >> endobj 73 0 obj << /D [69 0 R /XYZ 90 509.458 null] >> endobj 75 0 obj << /D [69 0 R /XYZ 90 316.81 null] >> endobj 68 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 63 0 R /F4 74 0 R /F31 64 0 R /F58 76 0 R /F54 60 0 R /F2 77 0 R >> /ProcSet [ /PDF /Text ] >> endobj 83 0 obj << /Length 1909 /Filter /FlateDecode >> stream xڭXKsDW\DKnnPd7$=,{-"[F "&[GOOq/ЋdJ,Շ3Nś{iͺ=*da95j勜(4;,&/{ qb-"匒GL)ۻnrh :xXE,t` E¿7Vm>? 52.dM]B*++/@ttc^V:oj#_AS&Lug df$Y',Ts<68Y>Kz J.ٜ6Em^wQzpA+6يؗPsUj~oOI&[;[Y:HT,xsbX|1(˘.a4&̠f*QJ)m֍?_CՃA20+vd`Xv0f (o-4=`n\qA]>Zn8ݔYR3< *ZњP*H-5?a31hF1Zz2Jh$02 G>K'*d,RV3)վ t$!NȺ ֕w h-"A,e=tftNVָB.z]W)v!IA^RCbIHŽY_mq[+xgT-.nXJ\peN"V=GiU7m at4P)sܣ/XeO> endobj 79 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [307.553 391.176 457.859 402.085] /A << /S /GoTo /D (Plain lists) >> >> endobj 80 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [383.576 178.601 522 189.51] /A << /S /GoTo /D (Refile and copy) >> >> endobj 87 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 166.056 183.964 175.208] /A << /S /GoTo /D (Refile and copy) >> >> endobj 84 0 obj << /D [82 0 R /XYZ 90 720 null] >> endobj 85 0 obj << /D [82 0 R /XYZ 90 611.402 null] >> endobj 86 0 obj << /D [82 0 R /XYZ 90 444.565 null] >> endobj 81 0 obj << /Font << /F51 8 0 R /F52 63 0 R /F31 64 0 R /F72 7 0 R /F58 76 0 R /F4 74 0 R /F2 77 0 R >> /ProcSet [ /PDF /Text ] >> endobj 96 0 obj << /Length 2963 /Filter /FlateDecode >> stream xڭrF-G@cǩ3rp\5-%"@-5eOMl4_}*?jU,Bu"JV>/_9Q+EXf{5vg~^:~j(ggʫ-(zw"J$ٗ/]$Q qBmbFBm@ŚOȻؙ,?@E+bw@u`O޵5ۺCy_=x檬1>2u$0ROH(Zߝ%c@"i$Q_ʒc+U )%Tej3m`F~ʆ$#-H 簓^2ذ5[Y^X-,;a- /yV/kw;#m/svG*$Ҡ_3igm6r$TmsrZa9MWL-RAҠ#$+`>%@gT*Qit1m{YfËGx[+'nJ3l[d~g 4qT_̯]ÔMClg*Xu r-֏ւ(2(Vdh+"̲dG&5{2mlaYl~gvEiJXB棯TdArKwC7S `> sKa|bX!dRdYkCĒOd"[:JO"ds}Z]QBo#i!9 ;{cvfKE/)gwya&0xXԣz!Ӛt7o˛mɴb~De 4X~ (y\,=Φ HBI S1M &wt"5WhhQ`#׊s ו!?" ?/?W3%lȣS^smL2xHJ;1Z ;׎ʌ%GҝrET ,r`2`~CT)7<%9'ۜ`4*{ROtxlTcx 4SKrHTt٤9d^@vc$zL^٫]wqPlp^vP&U*[4I޿챀,V(qcHbl-\%̕#Ȣ Axaڻο 㛑qFi+9yAվ/k+RWߣOߦ-\GWm$`F0>%a:JXK> y4q%%C)+aLF|zdja?L[l!0qt (K%aP)W} (WGq ru{1,wu#N8eRLg!9W/j{kkƒ ! H7s*< 4T7͓2z#XOnVJ] +4VLqo.%2܁$ <$Jh2F6W/^gRK|6U{Z]_8\W$Afz]4faFpRDqg)Fa}wdJsUt ݍo{[to;{JzI38o$Ꭲ ΋ǍY]=;GAxTfukާPɅG z]eAc%$_)?*"/}5qYS!j4O|rPИ7r5S ~&7!~ endstream endobj 95 0 obj << /Type /Page /Contents 96 0 R /Resources 94 0 R /MediaBox [0 0 612 792] /Parent 101 0 R /Annots [ 90 0 R 99 0 R 91 0 R 100 0 R 92 0 R 93 0 R ] >> endobj 90 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [400.875 447.747 522 458.656] /A << /S /GoTo /D (Checkboxes) >> >> endobj 99 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 434.596 127.07 445.505] /A << /S /GoTo /D (Checkboxes) >> >> endobj 91 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [443.738 434.596 522 445.505] /A << /S /GoTo /D (Exporting) >> >> endobj 100 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 421.445 170.939 432.354] /A << /S /GoTo /D (Exporting) >> >> endobj 92 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [169.479 130.953 350.146 141.862] /A << /S /GoTo /D (Structure editing) >> >> endobj 93 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [337.752 111.528 498.116 122.437] /A << /S /GoTo /D (Checkboxes) >> >> endobj 97 0 obj << /D [95 0 R /XYZ 90 720 null] >> endobj 98 0 obj << /D [95 0 R /XYZ 90 720 null] >> endobj 88 0 obj << /D [95 0 R /XYZ 90 496.572 null] >> endobj 94 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 60 0 R /F4 74 0 R /F58 76 0 R /F60 13 0 R /F52 63 0 R /F31 64 0 R /F53 62 0 R /F2 77 0 R >> /ProcSet [ /PDF /Text ] >> endobj 109 0 obj << /Length 1668 /Filter /FlateDecode >> stream xڭX_s6 [-E.muxׇw-"KD5>Rd[ӻ^"@-'.IN"'37$S3 $~Y<D"q9Y[,Gj3r:S*p^Vә9L:T:;T9bǐ䵩ەik7p`y٫E%3`Qm|6"f׳DUvJ[9lGF" Xi`JptLFr\m\!NcvR98paȹ- ܢtOlk^ͼwz5hIO */3]&*A݂͚WNX|yCߪt մeCKpN[kT;кc2 "DH/W?zogzWN=Sy;1f'K$τSF DA2pzST~cu D,㳮Qģ ~_YEJ.qyf+ZĈ vic[% b L`4\a o=bw4mSREpx&& E G^Oq Bj n>٧6Vzȕ 79D~Z;37muPP *hPQ2j)Ւr$0$Qri{7PB΋H+JAZ=mlB2#$lruPv y^mUpl'Ga>;W+ X)k@LiVU,,J_׺J?='fӵ=gr30h7LD^I<X~rq />lo=M44|AmK{G5p@%nMm /k f)b!(.TNYVfZ"OgXYl a"I@m{B[8sqC{whJ] I@X hi" \9ԹK6 !^.m6/%E/'HPً-QBX^༯7Dlk㺼WVDUuvCRvAb$*ٶsv $8dw 7 \2hcyUovU|c; KrtߺCؿ[v;Ӳ_3r>qmhK"T;#dܔ 0!40q>l5M~ R.)8 zA1=ek} ܠ;fYp~Zh3hKA<(H9H TJ)l=~z KAjf᯻FWpTM@n.xK p5\J8;:Z0<_Pyؒ5ҩP8u듣=qbJ)W3Agxq*7<wp?ktvA]S[ƫ-a}!cZS)tON endstream endobj 108 0 obj << /Type /Page /Contents 109 0 R /Resources 107 0 R /MediaBox [0 0 612 792] /Parent 101 0 R /Annots [ 104 0 R 105 0 R 106 0 R ] >> endobj 104 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [276.022 571.42 437.092 582.329] /A << /S /GoTo /D (Checkboxes) >> >> endobj 105 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 279.622 207.606 289.319] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Document-Structure.html#Document-Structure) >> >> endobj 106 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 268.593 193.121 276.169] /Subtype /Link /A << /S /URI /URI (http://sachachua.com/wp/2008/01/outlining-your-notes-with-org/) >> >> endobj 110 0 obj << /D [108 0 R /XYZ 90 720 null] >> endobj 111 0 obj << /D [108 0 R /XYZ 90 500.884 null] >> endobj 107 0 obj << /Font << /F51 8 0 R /F58 76 0 R /F52 63 0 R /F72 7 0 R /F31 64 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 114 0 obj << /Length 2422 /Filter /FlateDecode >> stream xڕYYs~_7edcoZ8UCVJ?>=AFz@=Cq¿«D նrɌ+Y~b>޴+_)V֑Y˿~!ȋWf*Yp ay%@H0q4 V~K>S=:?QFA_R޶P\$E@*r]OT^(LT#R{ܖH+] /ػ;&ucz,V2EYe&x*7;</T P  ׵"j!*vD5#Qa;X(֒2u#|jxXE󆿇Qk>yRʭZOyI0ЀFHThY|z'zj@+_x5 Bi ,J,Qk>QoKB!͞V=9ws"'ާ;&aYԆ٬зhB%@ey~Qdj>`w,t v,{ jOP: xfMNCYg8m%pCtԮؙ󶧑fO=950x^>:Pv"I^v бQ8bSUMc CXt q&٥F`!M{%pl'19h@P* 8' 0vh,aC^$mac٧?]|Zw{ 'ykOQxJKF20UF1GiB4Z:VM ]󲸯A~ B(*C  %$9|)r:H"H`K CT̴4.7eIffr/8z&rRT27;:9Ӂ3Fڝ,(t`o6 rfÊa\q?l `/6 -/%8ES7D'ru/0}r·H9Z'm^a&OLi&C7Ů=~р{DN<r.o&ɞzvCTP@9 Biυ,+mg4϶ UH YָȄ&R I4`|JŊFNDCN7 gR@iцE͡c О8T Rm$M(3n^AU+e^?? ~Һ^Up҂fYnRyA}g}9 QeD{N[soπ4~PL!?Qs(T ĹԂJ)2VUѡ"6y+TYyE/,z}+֣Htxb/ʇu3{[.-vw, xrqC6 K=+(S@ZDJDqƀh.);N1sL0M5_|Cщymx{0Kw )Rv#ծbqSE^%bglɷQM8AUgZc=uf uyP IwUΉ ԑ0a^Q%#|<㛜vг#E }Y@,(֩{@nb:5^WY:(SuY8LebϷ?n_y|_^E'l'rfߺEoZgn-~4Vg(ݝ Ln0 .K]E^j@]` endstream endobj 113 0 obj << /Type /Page /Contents 114 0 R /Resources 112 0 R /MediaBox [0 0 612 792] /Parent 101 0 R >> endobj 38 0 obj << /D [113 0 R /XYZ 90 720 null] >> endobj 115 0 obj << /D [113 0 R /XYZ 90 720 null] >> endobj 112 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 63 0 R /F31 64 0 R /F58 76 0 R /F54 60 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 122 0 obj << /Length 880 /Filter /FlateDecode >> stream xڝVێ0}WVGZ }VKHl$ D@ڪ__ lVfΜ_yiIi*ocAdy,i2/[t]ds ]VSsN˩/DDi"HV oٛ].8& ĉ C#>E{fIؠi0Aڕ2yvuJiLn{=7%Az,}g)ea=X-k2C&DaUşrb],@^H*Iy?ɧoNa NhW0Z} mr_A 2 1o*ޘ*ohdXuWf#zό/be)NQ-.91B]  ,R*p"tDEc_T.bE/yQGkaU~.U:e| EEIGCQc+*]FvuRqa\U&z=Qtva@8;c*A*ݩ2%nf3\Z- 6M?JB9KS0iLբ7UE{3hf|VwrDAGSҼݯ0Z]4 Ԩ-%~l &y_k~t°hȭ)!U9@*U3lwo> )֜+pg(M\n=b\34FghCZHI9<K^@y4y`;?rblrT H)̎o ps Y1ED3ɛP勦#=rvP4KScm#Fi #lJ43cuQu\$:qUu.fv] .i$b/ו endstream endobj 121 0 obj << /Type /Page /Contents 122 0 R /Resources 120 0 R /MediaBox [0 0 612 792] /Parent 101 0 R /Annots [ 116 0 R 117 0 R 118 0 R 119 0 R ] >> endobj 116 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 475.189 207.606 484.886] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Tables.html#Tables) >> >> endobj 117 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 464.159 199.697 471.735] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/tables.php) >> >> endobj 118 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 448.888 231.364 458.585] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/org-spreadsheet-intro.php) >> >> endobj 119 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 435.737 197.546 445.434] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/org-plot.php) >> >> endobj 123 0 obj << /D [121 0 R /XYZ 90 720 null] >> endobj 120 0 obj << /Font << /F51 8 0 R /F58 76 0 R /F52 63 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 128 0 obj << /Length 2475 /Filter /FlateDecode >> stream xڥkoJ{ju񪌙a0`]]m۬Vj.bo0viʒ<5?> ,$.^9z WpN'W#ɵu6뺖\Lm)=S5ouw Cͭ`zsWgW=>O(ńLpOdܕD\X6R\ѓ<99"R1Woh^US`>K҆f 84eA<(ncڵi1;6is pqH(q#j&*H@61iPuH.(X\9\|΍A$ Dv߳nU]DCƅO !ˑ 4V2JUe% ~"`m'&$fp5G 3о84wShcS{W 2&'sbE  X8kc q`Q\uV*onhl.g#lKH{XJ O#h9`D٠S*@ǂg>12&!q@k ڬXn]m8t*O[ws"m%!hU ja5Gg Gʜm$kpf5FbnC !<&CIn1 ð[ b !iZuKQR8L8 g*.&|GVT$q0 ]Z# cX־(QZA;N厖8q`^c̘l!Au5 Ad-$ӁMAL3Vc-'DSAG枵iR-3S;rj磬r^!k;lq+ԍ(r;I$)5<%rrg=vĝ!bNZ֬b0!"!Ӽ!2@2sL t)$ Jx`I3-M"NdKB+FrQVVTaFa&5+zF02ӣ^6n^OviZUY2N!*1 r(hF8SUۡC&^NG}է TՊm F$}6wnPB)HAL1ݟX[u-:1-ӷ s&k HZ9p6iD~ɻH6ZR&Rfi3-[򷍦oMxRRx)JkFl4קSޜ[g{ޮIV ! x^KCSέU7=8I&}"{~|0.eal΍UJL˒#%Ge+RdU-ޒJ=@qQyK#_m[-fGg$n;}DŠbF\ vwsmX@}T5VR_vř77P0SpA&* ވDC0 LBUTrPۗ F}OzPZ}Ka>,쮫dwGzU|/?~/R AtA6 5-֧Xanr]:&]to:3Q㑛ljCNx1wuE:O>Fʠ2}B=߽&]]BX0AA7iAOxs܉2Ǡ)Oz{f]:q8MK2e:zI 麾>J6b-zνL]F%W ) endstream endobj 127 0 obj << /Type /Page /Contents 128 0 R /Resources 126 0 R /MediaBox [0 0 612 792] /Parent 101 0 R /Annots [ 124 0 R ] >> endobj 124 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [255.03 76.476 411.576 87.385] /A << /S /GoTo /D (Link format) >> >> endobj 39 0 obj << /D [127 0 R /XYZ 90 720 null] >> endobj 129 0 obj << /D [127 0 R /XYZ 90 720 null] >> endobj 130 0 obj << /D [127 0 R /XYZ 90 630.659 null] >> endobj 131 0 obj << /D [127 0 R /XYZ 90 504.619 null] >> endobj 132 0 obj << /D [127 0 R /XYZ 90 371.648 null] >> endobj 126 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F31 64 0 R /F2 77 0 R /F52 63 0 R /F58 76 0 R >> /ProcSet [ /PDF /Text ] >> endobj 136 0 obj << /Length 2152 /Filter /FlateDecode >> stream xڝXێF}WXd, q$vedp(jČ( $e^۷nMƊzP_UOUWS4Mfy*ѧWJZ X $|u6T3ir=T\7l|a|am; {E-wO-SF^:_~e^PEF?"),Je6]9M[c7Eݷ?}ѸKo/TSV ؈UMz3e(-xhUҪXd!v PΕ]+uTcڡ-GgƾnDoAEq=ldZ?u0iF8?EX0-DlAwȀop>4VGY,Nj@IurVܦJ쌽˷e>ae[z8t]a3THu m +U ]ȱBy f |F&cc @n9^Ȯe ]>G*8ih <01 [\V֠x;#DǍa뙲5:Tвȱ0; AIl{SэZ"}%M,vI65 dȺ Tx7릁N{bgZtgmшPx&P7z=F k@՘Z2d1d &"p c?/8t56=+Ny(w+f)tNE[HqH7[boݜjYRA錐tK%jP#RD`b,,r:p]R1}:t`]!:O,s6mD[0:SNX O *'YagOyBÊS˽?"h=OhlSH33>yZqB-t-h4 z}!2/bǃ9N6ʦH绯UHfq,-0W3@x$fbpqd|0.! 9p(*4_ a*% /Wԇ9_;3?TUz\@hP 'Ů'kx~CN&.`C v*baȬZhvP5iWL\eLm_e}1p5ݦ N_a->Rq83*g%k.zljx4mo\4q3Ȟkg1,ۓH{C:v#sB,) !o˧8۷vjrd+|EVf[WZe._\=p'2?l3W#)i:?qH'^'3qխ=Xd<ɯ8@a*_Eָz%UKL8[:Z;~z\yk?Z_.yx`ƪlESXxu6iqfs"*&A@ iXp:d}f;-} ?N9[w57y*n*`0t}z !Lےw Fbg|~įKϲ);/꫗#嫴$~+:-rJբ\}#58] YVǣJ(o  r(eu./;U9~tRU|?ehd\?$ endstream endobj 135 0 obj << /Type /Page /Contents 136 0 R /Resources 134 0 R /MediaBox [0 0 612 792] /Parent 101 0 R /Annots [ 125 0 R 133 0 R ] >> endobj 125 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 652.117 269.113 663.026] /A << /S /GoTo /D (HTML export) >> >> endobj 133 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 172.823 207.606 182.52] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Hyperlinks.html#Hyperlinks) >> >> endobj 137 0 obj << /D [135 0 R /XYZ 90 720 null] >> endobj 138 0 obj << /D [135 0 R /XYZ 90 614.467 null] >> endobj 139 0 obj << /D [135 0 R /XYZ 90 327.144 null] >> endobj 134 0 obj << /Font << /F51 8 0 R /F31 64 0 R /F72 7 0 R /F58 76 0 R /F54 60 0 R /F2 77 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 147 0 obj << /Length 2780 /Filter /FlateDecode >> stream xڕnH=_Pɐ{$vsv$b["C!h o]M4gY]]w *uW;i Wf^xـ`0~ؼx}z+uR7V|zn׶Vܼ^WVq?o~|q z"xBRV^(/ ( pm6k۳nޭhC( .b'=^`AXU'VyPw<^в^Ë4#,^3zVYMJ&Ba4 Lt te`E[u,#at0EP V;^ȫLSڬJPs~/?̪zA;6;viJ 1+GlJp~E)S}P;+$ʳ~+=,_^&VWT\ee;ZP;#Ǎeи cۑv0{ uy 8H}~v$|#$j`\fjn{?Y@[@\znk$GuduT a b}qNCkh[eN6+"'a2|Z/e(jAufb}v>C6hM8Dj䵣Hww8P:X;RYŀ2CdԗFfDi)y?Bq} D.p+L wb5p#W祰]QD"A4%B^zU,uO9(5|fWM T6:Ԩ7{~t´ Zԣ;8WMF03y]'/Aa2W`O* 2[_S;@?99o)zq{l[!Q'ʪLS;Cxּ=̼`.39cᇑe@-cY5 IA}t%OI7EqS tgK)(TH\P8t70`B y봞g>8@X0vI(6y!şoI-iA`f 5~|*T4QѓC|˩a;$]dI~|/*8_P&G2Z¥!Iv;>m:j$*%u{LO )ͽg)B9vgMD tPXO{JOQueXfѬW\=}awTREi{Xa | wyG .#iwHb\~SwjϜR< "uNM5;S-;̛R/G]Xr6Đlu'((r$הæIj*4]5xZtrp8h0i%HO+J\ˑ7[i2Dɼodƿ^~݌k,`o6^b0+SpB_B g0Fh\w7E:k|mD,[Ҥă7dε2圾XvdS\prģ%SK?!DM&*c]pBmaWYiprw~udj Ұ-p0w.j`]3=.]zύQznBK k2d?$ެ;r#p d)ڌr| D<XAKU |:t\PCgTP>PY -IuXOɬ8^ӡc=t1z6=`SF\˗2sq1IЗ!I ЇŏU?b^>DX)ſ8K e beNc n$r>]$" ϪtƓS0rk7;ijdBeCIl#_'P$A iT ,G:-E endstream endobj 146 0 obj << /Type /Page /Contents 147 0 R /Resources 145 0 R /MediaBox [0 0 612 792] /Parent 152 0 R /Annots [ 141 0 R 142 0 R 143 0 R 144 0 R 150 0 R ] >> endobj 141 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [319.674 410.234 514.727 421.143] /A << /S /GoTo /D (Agenda commands) >> >> endobj 142 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [332.68 359.085 485.104 369.995] /A << /S /GoTo /D (Sparse trees) >> >> endobj 143 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [147.6 313.785 325.306 324.694] /A << /S /GoTo /D (Agenda Views) >> >> endobj 144 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [455.239 313.785 522 324.694] /A << /S /GoTo /D (Global TODO list) >> >> endobj 150 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 300.635 283.343 311.544] /A << /S /GoTo /D (Global TODO list) >> >> endobj 40 0 obj << /D [146 0 R /XYZ 90 720 null] >> endobj 148 0 obj << /D [146 0 R /XYZ 90 720 null] >> endobj 149 0 obj << /D [146 0 R /XYZ 90 547.438 null] >> endobj 151 0 obj << /D [146 0 R /XYZ 90 237.964 null] >> endobj 145 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F4 74 0 R /F52 63 0 R /F31 64 0 R /F58 76 0 R /F54 60 0 R /F2 77 0 R >> /ProcSet [ /PDF /Text ] >> endobj 159 0 obj << /Length 2773 /Filter /FlateDecode >> stream xYoF_!G!].|Oq+hiEJ"CH{o ff>S_A&Y|)\FzP-~xU\hnNxt kCtu%gWA`;OlIz"JiE_ nyXi8dKؓgNHNTNh+9]ыf_8x AM˸`ͪZ& ĻZS!9pN$! YN.' >Ӿg'm֕k ǷKUZMxDZ#iG8R0#^^ztA(ɪjt֦݃{oVu2#̗>aTWdSTr@C}̮ȲujlųwLޣ4*&XNTr4˽50Xߕ+:PKȐ/톩x.?-C훼qA=xBM|Dv q*Ot,NyVWKUboNDc j^[aG;^@˛\xC{yؽnr#/\^ʫU9WsAB<VBn'UH fܜ-&уEfxueށ-(%nN[dJbo <]^}:4 qěP9ےѳf}@AJCAd\,wlA_/c᪖֟ /l̹SF^Ӂ*")M0Q( -.Ħ*9R._ǝ]aFY]9?x:gx13g'B8T ΢-AFS[y!^HVoӐ#E_ªʺecVCZs۟ў+;w,u<5M0[U!c(W[Z@k6Wkt !G` C fH@`J,&PZ70UV͖~ROiH$1.l1D";r5IٶXK7T!NȈ;Ϊ $D=%aH wڽ3He%Dby[F'cNmhZ~#3´(=t"kh*J5;Fz±b_UP)hff`+Wl&`  th4/,r;41O`n4ޠ ht452w {-hA-`g¡8/SٌE5? 0 Ѹ;kb-4H<9jMu G9ϸ˶A?߼Nb*p'Žz狝r F󱛢F*+j@Pfb^L2{(.L#>5|,;J`rLħ8B b\ xuhȳnOCIIVs bܰGᐣᪧ T)~%%>ڨYDp mF!)ֳaRi\V.%Z=URܜ`h!ִ;q[F y@f 7zsGQ t!0~9~{PR̯m $L þc$-GyO"oW()q{!~OG^#;o,DFe/>u`dB\ 8 r8k}aHg/ǡp&nгgT O>hY0ڍrZpisR0@amw?ضzpY6gNunZ)N:n 6NEr- hBәPՆ|1S&Kzz?V34q cl<3\Y;]SoW^8VTs%B7aR?/ h ŲdVӨg!_{kɣَvlZ&9/ >?cR&{urUgq:; i%Q N&!(q>jL(GOL^ ߓyqܘeAP!Ջwo/x\13! ,,BW< r >z endstream endobj 158 0 obj << /Type /Page /Contents 159 0 R /Resources 157 0 R /MediaBox [0 0 612 792] /Parent 152 0 R /Annots [ 156 0 R ] >> endobj 156 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 348.014 287.909 358.923] /A << /S /GoTo /D (Clocking work time) >> >> endobj 160 0 obj << /D [158 0 R /XYZ 90 720 null] >> endobj 161 0 obj << /D [158 0 R /XYZ 90 436.291 null] >> endobj 162 0 obj << /D [158 0 R /XYZ 90 338.903 null] >> endobj 163 0 obj << /D [158 0 R /XYZ 90 185.158 null] >> endobj 157 0 obj << /Font << /F51 8 0 R /F52 63 0 R /F31 64 0 R /F58 76 0 R /F72 7 0 R /F54 60 0 R /F4 74 0 R /F2 77 0 R >> /ProcSet [ /PDF /Text ] >> endobj 168 0 obj << /Length 2473 /Filter /FlateDecode >> stream xڕX[o~ϯAQ*5i.))@TD"U?3;7^9;;ofVg,߾y ܣo.DL^gl:&1_8t3s0tw3Wș_}޶37H4sD0y`p;aIVYJO2KC$v|뢚 g}>sլiӶ>Sgvt޵4}+¢Ѝ{7pM,iBEL|S0]hA,gk"DDP9~)OCY,fׁj,6՚-3j+:7 FL/c973w%AjwÏJ۰DMWl5~E+`pxe;wkoT|yhbxbNGpx2]q)Ǩ^23wF^e穂I'%Ɗ^,M ) B(tbRԾ옏'21|cȍMxX3UdC-uC҂PC ['Z0*(=A@NIynNp>)&@CN@хa1~%76C|VQF !HAl%xFuNM[Y*5Orex%2F2(Xr:4F$c9q~}I`FC ?{ے|T~a\XZ!ۃ0tsZ}!MA Us6TZCsrp‚jMbe=иhfr> v/Hd@m LE]YjQj"qluFKyFL¤iĬ68QUeDiU XےD82~Jyh1{ N#:!#Plܚ˜۔t#\G qbBTQbml:,y*gJ[בzw5ޏY_gOpvը^#;=SLRc!-4XvzynM7 E@)0vP l(CJx'd&\{ *RK{BƵ>S&;z20gz՞jp3 cCdKt1+TZ>&0 5W)^r&7ؙDi))%ӈD'#bC*SgaH`,d,lv~_*vޕLF\cfɳ16oe|}]Vu|꓁\wアҐ{.8D8.7ga-0Ë όIOӫU@hg¼@T֧OAy |g]=۽SLZ/OZ3bS$@1ǿ>d]zJJ{x8EG : j{sL/"iC8K-gGhOh#)"FGMm:-zLzt$ګ@sg8ty,/M܎*e6.*o9I (bjQ!iέ1;ʴj;n#ÀP7@#3i[g78[hNZ~ bW~plN{C/7 9c0ty-3$i>=v v7J7O$7Vj-uM-q=Xd? endstream endobj 167 0 obj << /Type /Page /Contents 168 0 R /Resources 166 0 R /MediaBox [0 0 612 792] /Parent 152 0 R /Annots [ 165 0 R ] >> endobj 165 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [232.916 183.566 378.115 194.476] /A << /S /GoTo /D (Plain lists) >> >> endobj 169 0 obj << /D [167 0 R /XYZ 90 720 null] >> endobj 170 0 obj << /D [167 0 R /XYZ 90 580.965 null] >> endobj 171 0 obj << /D [167 0 R /XYZ 90 388.728 null] >> endobj 102 0 obj << /D [167 0 R /XYZ 90 219.37 null] >> endobj 166 0 obj << /Font << /F51 8 0 R /F52 63 0 R /F31 64 0 R /F72 7 0 R /F54 60 0 R /F58 76 0 R >> /ProcSet [ /PDF /Text ] >> endobj 178 0 obj << /Length 880 /Filter /FlateDecode >> stream xڅUMo8WV XRzl-Pdխk3Y $ihFl1|И|8@O 2cda`R(nh}YBwSOF@I+ 6Hs+/ \<sbJgvPjFZ%̍FX,SCK3~" nM;?-ʸF#HH=M]5h=}TcDIИ Nz?\\;cu89xr( &}C8_J'~6@Wh֓hr5m R`p쵝63Z kOB1oz$va%Ӹn] 7/0 v чl09w>/oRH3hE{a@ېd25 ¿>B5ܰcTBX4啮PﳜWYy>G WQ%#Q{#SyɇM;Ldxgg t;as.-$tBeT=3yOkۦ~TG{qWn=h*ݱQgc?ne1)tl I-wF3B=r$.q6%6k6\)g 1.=lE;՚95xy}$ ;IK7w[~p'ƒ{A+rܹ ;TkBrQ2ORQCn5q{Gm@qVzu ĥL,Yj]-3tg 7şit})oz?N$󙎃YW cM endstream endobj 177 0 obj << /Type /Page /Contents 178 0 R /Resources 176 0 R /MediaBox [0 0 612 792] /Parent 152 0 R /Annots [ 172 0 R 173 0 R 174 0 R 175 0 R ] >> endobj 172 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.934 587.559 395.873 598.468] /A << /S /GoTo /D (Plain lists) >> >> endobj 173 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 555.886 207.606 565.583] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/TODO-Items.html#TODO-Items) >> >> endobj 174 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 542.736 269.697 552.433] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/orgtutorial_dto.php) >> >> endobj 175 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 529.585 217.712 539.282] /Subtype /Link /A << /S /URI /URI (http://members.optusnet.com.au/~charles57/GTD/gtd_workflow.html) >> >> endobj 179 0 obj << /D [177 0 R /XYZ 90 720 null] >> endobj 176 0 obj << /Font << /F51 8 0 R /F58 76 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 182 0 obj << /Length 3090 /Filter /FlateDecode >> stream xڝYY۸~P>,;b&/>b'Ne˛xRf+Pyx(6Ħ6Y7Yīva7o$b# o~ ^y0vq^owJ%6W>*TBm7Dʯ\w|vLnDJ(KPĊnwI*"Ùd+E`>My0VfƅGZZNڜ{k}=-fOm`> Qlzo` Z[!@ġ,Cì9 AjIGu՘>$ZF0NqA(~gKZ!yoZw* F0W(pӁ6d! R78A綤]Mu.6z{GxoQ GMrm/T3>dfq=#t2ILgOR jƍ m%iZN\Ys ~O -2#b @ELkV܎-5IF.Vɂ4v<:U+* ,+c?ЌN=w4{G|T-ee&%$NeEN=ȵ64.ۺm,I`CUfܱrvk*'2xoE:{FjVYkG$tO+~gYN/:v WTX.dE]CUNq8X{]zG&QY#I v8xrG!ЄJ TH(q(d \hjMiQd7,{*AQ߲d n'Vap<Xh(XcwV;-:8.w(Nই?==?w$4ݏLw:A 5MX: %u͡ [qZcZ 0)c"Mm ]Xҍ W?C'd_:t)yе$9U|a)O' 'nB![M;~IaB7~F?w挑Nڛ6&FNbաw,,˰RYpҠqT ;М<>yJ.O."3RUPf>~`$.iBIABK=/hJGa*@jNd1vY,\6)s!vqi$ /-mDeA!R]||c{ y0:)\DS E4ad/ęJqvK hmm֛@Awz*ƓT '>VH4MFD-lZu?엻R6uPo |,1})퉫i/vf_yh4.5璫w]շ^5)OeadNށHp<.p ӈ:0Τ+USMW 84Tu5TYQ;\meU` s-J)W?UʫԦd`z2PZo(`*m;mP0X$@t g]+.hs&31>71RxoO\)Xs5pNk8&O^zvEѬԏSt }_KU]c'fL0/Zv<6ՇИtDyjG]L!څ/^l`o,_ciQ45a 0v{`?ɗ9_|;:ga&}! cDhފ*`8٦9QzoY6J}dtFJ`-Y3ӝ5Od-%7%xP ƖM=OWtSntD>,OhJmX oSFYyb]nP`enpP1AIq6e}o?Ѧ!T)1_ø7vi#j޼g>la$C$g)e#@ѐ RbtSݬTg\oܗ.ɞ9H|OʱլJm9Y6v_@rޚ`bQ7ړrd?+ y endstream endobj 181 0 obj << /Type /Page /Contents 182 0 R /Resources 180 0 R /MediaBox [0 0 612 792] /Parent 152 0 R >> endobj 41 0 obj << /D [181 0 R /XYZ 90 720 null] >> endobj 183 0 obj << /D [181 0 R /XYZ 90 720 null] >> endobj 184 0 obj << /D [181 0 R /XYZ 90 575.606 null] >> endobj 185 0 obj << /D [181 0 R /XYZ 90 415.631 null] >> endobj 180 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 60 0 R /F52 63 0 R /F31 64 0 R /F4 74 0 R /F58 76 0 R /F2 77 0 R >> /ProcSet [ /PDF /Text ] >> endobj 192 0 obj << /Length 2599 /Filter /FlateDecode >> stream xڕY~qp2n"~ikEpnʒ#@=,yᐜofj?ȣEul޿zFh w7oު,4pLp=p!BpO!q26Wn#XL!w0;8mV` 8n6sqcB%:IO9zhАvwM˃?qP ʞ)eUuy/zs}VJ ʖN:27\H<rrXfv y\GnG4i <36ew tYIG _'b&03TS-{VdNwz'RRJJJIIsǡ*^ =A9A@ 7<:- A:uuOmB:*xnο և'Pg1X8tmODB5U#ĥz<"s2*z n2͇?Q ;Qzȵ8bۚHf#db{M[%8"&(g/<8x{PU09Ti&Gy=[]U1UqFResԗ$^M„i>߇՚ xO84 VUzN|@uIw8b"tgRĕy~:&(4i(Աjr՘/SJo#zZ2* _ty( ǔ@BWQ 8b.a>F uĠ)PvULV#2 r4ܚ,@wmeQFpqifoYp`=?ݡh;!TWm'6lp.mU# (z!DRI5 *;q=Dˇ:'Iwl+֍GA]s<6.9Iiij'gP?,ogV7: Hn8~fO<ߞY':0}`(jO@0 c( zi Gskj }àG9A"8:7Vx{ Oݺ-=*pqݒ3S , ^:ZZ> iY\JT0ûJ'y1}Ǘ`:U0c\M endstream endobj 191 0 obj << /Type /Page /Contents 192 0 R /Resources 190 0 R /MediaBox [0 0 612 792] /Parent 152 0 R /Annots [ 186 0 R 197 0 R 187 0 R ] >> endobj 186 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [454.814 219.01 522 228.706] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 197 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 205.253 337.176 216.162] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 187 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 76.476 349.273 87.385] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 193 0 obj << /D [191 0 R /XYZ 90 720 null] >> endobj 194 0 obj << /D [191 0 R /XYZ 90 628.981 null] >> endobj 196 0 obj << /D [191 0 R /XYZ 90 330.252 null] >> endobj 190 0 obj << /Font << /F51 8 0 R /F31 64 0 R /F72 7 0 R /F54 60 0 R /F52 63 0 R /F55 195 0 R /F58 76 0 R >> /ProcSet [ /PDF /Text ] >> endobj 201 0 obj << /Length 292 /Filter /FlateDecode >> stream xڅ1S0{~E:"l6@+l,s,"px7TnIټ~I$E ɚ@.ݏ;_)`wLiN^龲C34g\됦hj˳Bҧ1*ueR\%2Zjr`UHFczkG6z߂+yx\4eў\J"l p<7-0XXMtʳޝ=:;-N;Ţ-)yn}/y¼:FB"/( endstream endobj 200 0 obj << /Type /Page /Contents 201 0 R /Resources 199 0 R /MediaBox [0 0 612 792] /Parent 203 0 R /Annots [ 188 0 R 189 0 R ] >> endobj 188 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 668.863 207.606 678.56] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Tags.html#Tags) >> >> endobj 189 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 655.712 321.031 665.409] /Subtype /Link /A << /S /URI /URI (http://sachachua.com/wp/2008/01/tagging-in-org-plus-bonus-code-for-timeclocks-and-tags/) >> >> endobj 202 0 obj << /D [200 0 R /XYZ 90 720 null] >> endobj 199 0 obj << /Font << /F51 8 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 210 0 obj << /Length 1838 /Filter /FlateDecode >> stream xڭXnF}WCr/q"A6HaJHʎRD/ܝ=s;3+9 ON`k-RL변G$ $^~yʉ Dr2o1_Nxljkx6 N}{jr[k&'۳yw`PR&2J!ERO0Rԗe ?V4VR^Г*K/wS0b,ZK"YȆv3Jo?M'x7_= ;r^ѣfpFA#*C ZR ;5dkfQ}H$R2߯.?\~3a,.Y1Ejk\r0@NX67^Sд]𑝊wxaP着mpƗA-tVYp-.hU7mG "n5y3#cj9IDE.!ĘpVw񊞋(L@QhŸVk[Y ۺ,HR^I g(m Z2[F\^5(zfwUz]nWV}xw5BAɁ \~x5 v_+`d[Ps3XZ Fbd8$a8+KB&bif@I]!a跩eJ6Sg0q+6Mi؃I(Q%V`xJ.q#wFхR&ADQ dbM@sy[L{֝ Xi(#Et9_ bAB=AGYa,zf4\X~V@(V* C'%yQrH*tm:OAtѨLm^o`ZA: YB6BVqė6&LEYUUnx(M^.T#fuNLo,I)pN:n'(U6ewŒ+^jgmai-||}>C/3Tp-Ճ:c\[6 d wx41I\;);D`5Ð\GJ<"' q5UI{+zhz1/GgUg4pʋ|[7JC/4(%;(!۵2!& ZX֧-|LZ~;ƝI]FUa|iO}}˸}Bi3tO?>m=(R!~/ԅGϨUj/ON NA*n~4qZ*&U鵅w#/JA&]]OѮ!O \X)&@#X@+t%FPA1P#sG`pϡ߱ DSqHІFmi}^g ڡ0MH1k.5@cSoGOh&fl,˸+w[-H2FC'a=K$ 4*P[K2׮)|DEwAp4 endstream endobj 209 0 obj << /Type /Page /Contents 210 0 R /Resources 208 0 R /MediaBox [0 0 612 792] /Parent 203 0 R /Annots [ 204 0 R 205 0 R 212 0 R 206 0 R 207 0 R ] >> endobj 204 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [312.922 305.716 486.302 316.625] /A << /S /GoTo /D (Tag searches) >> >> endobj 205 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [300.326 292.565 522 303.475] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 212 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 280.021 126.364 289.172] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 206 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 247.742 207.606 257.439] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Properties-and-Columns.html#Properties-and-Columns) >> >> endobj 207 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 234.591 273.167 244.288] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/org-column-view-tutorial.php) >> >> endobj 42 0 obj << /D [209 0 R /XYZ 90 720 null] >> endobj 211 0 obj << /D [209 0 R /XYZ 90 720 null] >> endobj 208 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 63 0 R /F31 64 0 R /F54 60 0 R /F58 76 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 216 0 obj << /Length 2225 /Filter /FlateDecode >> stream xڭX[6~ϯKn%6]vҢvXDȒWg{n%GI<$;ZS_%ae:]W>RBN8yuSV2?SvĦX}t~ܛco۵ޮ]#.SLl *]f: dC/KJ@EZSPpڍ`'D X0Xجi`N;ʮg6͇uYټ{eo}84:fe y* ӯ'xNnjgx.< =tG#/MUaζiiWJ׷ ?ӹi۳-wB&q 殲˦桲a#JSq慙IV\d(" eMuu ;ߡ#ZF{4b٬]君(y]T@ ?'&?S+pYHG>j р~2Ơ@kꝝoBB pR8fͤyɁ0Rq0%_5@$g8S)?$lC\K8KNaM";CЎ݆*P^Ϧ쾯IBG≮. a3GCPʁ9ǚvHkio[,rZZLu$2]jУӊ|X Zے}{^ځ$;yN jpK IG#ӎ! 9/8Z,H Չ`5Z3R判.Xzb,$6H2;RYր ܺ: Y8"7FL$ѩڛ@MKFb7u9 4\v\Zi׮{G/P3 :VD6P?u9^ͯTLOCEt#Hr ƃO2Y`bi-޷CHt%Pc)S0 #,qR t \§[|(mx$, a'c\!)L Rh paAP0D:r#OC`re\\>K3 ="Yirζܢql6Yg?qθH_~J!1/ڼ Tk9k:|8Z nD>y5@~C3 VH 8@ոx\y/}/ge<)I po[~ҍ%+B endstream endobj 215 0 obj << /Type /Page /Contents 216 0 R /Resources 214 0 R /MediaBox [0 0 612 792] /Parent 203 0 R /Annots [ 213 0 R ] >> endobj 213 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 520.38 309.091 531.289] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 43 0 obj << /D [215 0 R /XYZ 90 720 null] >> endobj 217 0 obj << /D [215 0 R /XYZ 90 720 null] >> endobj 218 0 obj << /D [215 0 R /XYZ 90 608.657 null] >> endobj 219 0 obj << /D [215 0 R /XYZ 90 126.675 null] >> endobj 214 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 60 0 R /F52 63 0 R /F53 62 0 R /F31 64 0 R >> /ProcSet [ /PDF /Text ] >> endobj 223 0 obj << /Length 2821 /Filter /FlateDecode >> stream xڕYmo8_TeQ)8k,zMEq8٢c]d+Mo(ˮ!@4p8 -ByH8[B?AH˷&ZDay]O-7b7Z{٫ ?wY gVєLV[$(r볫qitCΔK8t,+^<ηb ICnw'[$ nx3S5D\Vm~;̼)EPlwot}؆G "d/"yiU=j "JbrPgU@ !w\;Fظ 2H4>,hYfn7l$p9ۖvWV냛8S5b]'ڨ,E (xzdi.kl͐7lP=uFcH C")W+UۼoOL3+; IՋcSG: Y,e,ڃ4 ^;]}Y?Jؘ3ˏ|]uع \9ɧJ'i ,Mvꈥ_X WVp䓅P5SM+UˤMY& kwsqrn>C"ى`4S'BG.ޠ; pdz{:p?7>0{ 2v7Γ<&cHXe #`S"`Kq$0IlMM΍Y2hIK$چ{p -:ؑ6NΦwL1%޶1b1._2-04=GQ4t:9OxW:`wj)0nC(!*C?_fI$Tlxo,D,͉7ɰh\Hy#G;sg`r6ۘ9m Pyx[G!?Nŀ 1gќcMnQҳe+-%B껈ZH8~8|Q5ƒv˞G1da8laiK*t^TՀb`th-[՝pC42F&A!͞xI;Hv]k2h3o$ }$Ό5SB9=hV2gMgiR@Av%rs~LD iclI L.TtA[v}Qsv"K>C @=! s߹j^,0' # DA=@@㖔w f]5Tz^H y (UɃH-˃~2J!%Ԓê1;|50 @eI(c̱!8#qXÉr\>xiuj-xTz,ޮ VX$)q,x.%Zd23)I_ҹ3+7 7%rmwEISZ)d0SD'pPDꡫ0&"']cI$Hl$>y_,P09['ejpCw);G{\zK:˗1NwUaW93>!^>wWOUtTr@܉^U:;wE3X1O.2e@"'"C1{ XaA)tɃG3)ixy3ZbB$ z"5_kݴ2XgQL#(a:=y&>=Iϲ f !)U[Rn c:ɛm 3H؉˜MMʌe6G`3XVehU?P59Ƨw cAd؜w wrH3(g, f9TR[k6 .#] @veg+ԟjj]$n{h,l|Cwt9=P`*( L)X'h%S,u O捵~ vLbR:Im`H-YPsPѕ.ŝo-=RO-OŁ K(>yx -%|l:fi."0> Xj30w`8e+8<)8b9atED ԭM@Qmis"LS˽УTq=?(U0& XSPTB"|{|9,0&==O5܋R0K: %&T#**8[F_A)L2_s3df^3@sNPIG*'_/ ^Xv&'w7!8J endstream endobj 222 0 obj << /Type /Page /Contents 223 0 R /Resources 221 0 R /MediaBox [0 0 612 792] /Parent 203 0 R >> endobj 224 0 obj << /D [222 0 R /XYZ 90 720 null] >> endobj 225 0 obj << /D [222 0 R /XYZ 90 417.801 null] >> endobj 221 0 obj << /Font << /F51 8 0 R /F58 76 0 R /F52 63 0 R /F72 7 0 R /F53 62 0 R /F54 60 0 R /F31 64 0 R /F4 74 0 R /F2 77 0 R /F38 226 0 R >> /ProcSet [ /PDF /Text ] >> endobj 235 0 obj << /Length 2430 /Filter /FlateDecode >> stream xڥYo6b~6T^^ڽM"8N٥Bؾ3VY"yAX'KUX^<{Bw@?b!|/S,>9mout pT\dnh*+74w8'#C)OȆGbxi)MKQ<(˗K:/hyQYIo7UMPFS4ꆆ_,2]`+?\^h\!]ć 7Oҋ^l-ځ<26kZoxgx$SzO eY^y@:[UfYmuoƟ۬M^eDøB<OF[KGSk RAb@M+(`.^<#6?wnlmۃq"[mǢTEQ-FdIJ~݅&׍ ()=?h.[@W *8Q/zͣII/5\hbeViű81=Q W哢.8oݸ.ZYcș6[gWbFl(B6yV3W9=\2hG^B -Cf>$CO2 R s`HΥy_`~?ЯJ A뻊,u{]a#b@ T$))/j{B$e)]$Y/=NU!91R@=Ҥg~L1A;lGԮXYiwfJgX4llk}@ePkI 2z A:_ekB"m|r>b1>GA6R%D|GȘ!pJ-!<ܼDLamöHf:vVo߯~%;{cz3XV AvE(GɑY<_͠$xF5Q53U*P79A;cs]Ів-g).gQ9SS<,~^924m<6eyZRl?3[l^jY\wt}.xȇ揥G \hβ,ҥѣPMۋ[Y>g;kt:w^_s; ﲇB|u#yVp3w^~ެ=Ow.]n?/άya I70.8*'ث)ڬG=% 8yBBzQ2N >ޗYZw@sd<ёE傽0sMJsc͟t'eIS>3qR͆I2Lc.bUI/ѷ#i\LXA *'Z,@ J:>eetT r$LP1 9̌|C_&0/,e{$F.Ez"ˣԋ𛶶xF)'l*}YY dǡdhu%FR}lb os{mխcV8l `lG[|ɮo/2Q}jW[  9GAχ}">SS{_,̯St\㒹';De]pJTyI[2 sg/mbVu>$Y$S+!窕/ixݨZׇU9o2KҸQhQ }nHWGjAk A0 x endstream endobj 234 0 obj << /Type /Page /Contents 235 0 R /Resources 233 0 R /MediaBox [0 0 612 792] /Parent 203 0 R /Annots [ 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R ] >> endobj 227 0 obj << /Type /Annot /Border [0 0 0] /Rect [386.509 210.546 440.146 220.243] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Clocking-work-time.html#Clocking-work-time) >> >> endobj 228 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [320.067 160.098 482.812 171.007] /A << /S /GoTo /D (Timeline) >> >> endobj 229 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [169.132 146.948 390.841 157.857] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 230 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 105.504 207.606 115.201] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Dates-and-Times.html#Dates-and-Times) >> >> endobj 231 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 94.475 275.788 102.051] /Subtype /Link /A << /S /URI /URI (http://members.optusnet.com.au/~charles57/GTD/org_dates/) >> >> endobj 232 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 79.203 250.636 88.9] /Subtype /Link /A << /S /URI /URI (http://doc.norang.ca/org-mode.html#Clocking) >> >> endobj 236 0 obj << /D [234 0 R /XYZ 90 720 null] >> endobj 164 0 obj << /D [234 0 R /XYZ 90 565.307 null] >> endobj 233 0 obj << /Font << /F51 8 0 R /F31 64 0 R /F52 63 0 R /F72 7 0 R /F58 76 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 242 0 obj << /Length 2633 /Filter /FlateDecode >> stream xڅnF_!(B /[_l4@bXI)RRq݇~{mȑLΜ9sQ*Ѫ Wy*V*U$+|7Wަ* 2,ֽfWQ$WJ7;@OaZ* |mu\x>,#8wW?Lq <^EyG޳B@y/~yJv"IDC#EY^s8lכְ;Vfd~O<.]5Tcw0 Z޽mft{~!=ߵrPO"ærFWJbDIl$Fm^7Vm7{ LT3_8iqp(LAnghA= /.~m43e,JU<2l{Cd`f-bf) j>i(\_2a%cU%I TE;#tLEGX׬ElFo#AօH{ϊ C(MĻоiɚb8:Up cx_t=qw'x29Wm0~[V -DzW'o8T)TtGp}&Wdj Si[V91ר QYlAi,&Γr@%w@ <^={J"޶7|!AC83``X#uEvh@t cWm»z`kݶrָd+hutpM%d t2&g5xCDr z@ p^~= s!h~$VjXBm(2r\n6K29㥡q5qyF=bVLXaAa~Mc(iq=9Xz"s+c}C6kcvX'>`YNA#utgŏڭ-7<(ʃ g0Ҷo[V;K'`0WārηxթGcٙZeA'읕eZ2El;hSJ"^ /HL0T ݵ-\Rc""sً$4H[L LN,f!;0OߺH$+m˫TkmUsڼן*c8rNlw]4EŊ,'dq|)P&U\O wdl#'9xӛ$xɧ Vٱ:c8*Q%G5Ia^n'w玹|GJw4/85fNw] &ǔH]4z%vE &z ExPcD% +Jwk }@I+"v۶C'A4Kn ۀC?`jp1DBT ݶ`QhQ$G* U[hG=GN3lzAMG$} ߆Ԕ+dw_}9e {(/ne\y$xpAg_UnuEݓB<<Ě}Ǜ;@7иGI|>QSNPI%!~"* Nz -/ endstream endobj 241 0 obj << /Type /Page /Contents 242 0 R /Resources 240 0 R /MediaBox [0 0 612 792] /Parent 203 0 R /Annots [ 239 0 R 247 0 R 238 0 R 249 0 R ] >> endobj 239 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [412.096 307.629 522 318.538] /A << /S /GoTo /D (Refile and copy) >> >> endobj 247 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 294.478 215.479 305.387] /A << /S /GoTo /D (Refile and copy) >> >> endobj 238 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.925 99.788 522 111.345] /A << /S /GoTo /D (Capture templates) >> >> endobj 249 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [104.944 88.518 135.665 98.979] /A << /S /GoTo /D (Capture templates) >> >> endobj 44 0 obj << /D [241 0 R /XYZ 90 720 null] >> endobj 243 0 obj << /D [241 0 R /XYZ 90 720 null] >> endobj 244 0 obj << /D [241 0 R /XYZ 90 589.19 null] >> endobj 245 0 obj << /D [241 0 R /XYZ 90 505.665 null] >> endobj 246 0 obj << /D [241 0 R /XYZ 90 421.302 null] >> endobj 248 0 obj << /D [241 0 R /XYZ 90 266.914 null] >> endobj 240 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 60 0 R /F52 63 0 R /F4 74 0 R /F58 76 0 R /F31 64 0 R /F2 77 0 R >> /ProcSet [ /PDF /Text ] >> endobj 252 0 obj << /Length 2624 /Filter /FlateDecode >> stream xڕYK!SEVAWb+0$+2If}0I P/bE/4U)C,oV0a5Ç酎UWzo^|w4nJ4>-Wd=Νc~qh<^&ekƒDh,>,I`g{^'0vq 4vvp (Lcs˲4G̯w8 f~#s,vܺ['eIA{7mwCQ' JJg,ݚUYCsۣ 0!:z^hP6,f*enT״gԠ\*-*-2Wճ0mW8LU f*mKCJ֩kYێۖӼp`WB#k{͆ThD92)"H9G~G!'; [h:w>@KxH}0E<7T%pl]Bd>\e:7˦ٻODU7o/;bB@TjЀcSt"ׯs^!R"ÙĠ=m7O = lc;I\2L" ; em$* RVt6T~Ah K~9CSs9^B*JrL;^Ӌr?X Z3 |% "rNuȋT1^U> LkQa{#oo@\EƟ#Z&3S"@ t &d( bT&1E`4O_0<UL۞^J餚z]W=5E՚{fr%= eH~  hd? Yݣ`-U0 ~FP Lmf 'UYcd4fB{[ w*K=3gP!Eݟw8Ak;Qv[jTOM+=qғ1w*oFlȉa!"bh\p,ĭFkL/]%}][w\[J ?`'y%_ɨp}'WC4>Ri"@)Kv 6u><Ғus }&@+o~M(h_NJx7ioe4TzRD4P*VR̬> endobj 253 0 obj << /D [251 0 R /XYZ 90 720 null] >> endobj 89 0 obj << /D [251 0 R /XYZ 90 523.308 null] >> endobj 254 0 obj << /D [251 0 R /XYZ 90 260.778 null] >> endobj 250 0 obj << /Font << /F51 8 0 R /F58 76 0 R /F31 64 0 R /F4 74 0 R /F2 77 0 R /F72 7 0 R /F52 63 0 R /F55 195 0 R >> /ProcSet [ /PDF /Text ] >> endobj 261 0 obj << /Length 756 /Filter /FlateDecode >> stream xڅUMo0 WجY_+Zl;v.)s@ߏ4:=%)GaI,ֲJYg,~eE|>*y͒8||'K3!/LJE6: ;#g F924 \?_f72+}+Y.+ ʲ&+c;?UN90ZXa\ӣK1Q mTB۩\r)&!z9:g:_=BL1E>W2R%Cj)dRB.3*Ya > endobj 256 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 599.822 207.606 609.518] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Capture-_002d-Refile-_002d-Archive.html#Capture-_002d-Refile-_002d-Archive) >> >> endobj 257 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 586.671 371.788 596.368] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/org-protocol-custom-handler.php) >> >> endobj 258 0 obj << /Type /Annot /Border [0 0 0] /Rect [371.788 586.671 371.788 596.368] /Subtype /Link /A << /S /URI /URI () >> >> endobj 262 0 obj << /D [260 0 R /XYZ 90 720 null] >> endobj 259 0 obj << /Font << /F51 8 0 R /F52 63 0 R /F31 64 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 271 0 obj << /Length 2591 /Filter /FlateDecode >> stream xڥYo ߿"`>uo]{z>(3ĈNmOvS/)Rd(dlHM Jo J7㇔O?~L܈4JlB]ymRHZg{Cku2/2zeNkfR^Q 9.*()2ZNҤH7qvRw|wKvY$eHO' ZW*;ȄYFf#F>`럆^*>H=#Qha~&"2q41њ}SviĠ]hP!ΌEN`FD}w:ԭQ8Wc'&=NKoQO-`c7f^?Q3'>ݑ?@<i1F\N_pܸL%~EK8wѴKflrh0#BNڟQ$xx)gao$\zV 5{Hq13_ i,|sBuS@8jm+M󏯻z+݋U}US/laO:6 d[Df'+2WqQ87RW•=ED;·* GۏV@"$ypO[ilkv%DR]|YAԺP7W炚Ďsji$(F$f$MCJP/UF浒`!r Mw[7RBJCm a ڮuEϥK bzS/|v7T}zt00X{}%VI<]c][Ȑ}}I~*'^CuU$eap2[+ZkԶ#]\7\Sn-^^_P8peK\l_\ys^⍻Q?_V"clƇ@4g'~$R*ҙ o;mzâ0 o;Ow endstream endobj 270 0 obj << /Type /Page /Contents 271 0 R /Resources 269 0 R /MediaBox [0 0 612 792] /Parent 255 0 R /Annots [ 263 0 R 272 0 R 264 0 R 265 0 R 266 0 R 267 0 R 275 0 R 268 0 R ] >> endobj 263 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [420.044 545.408 522 556.317] /A << /S /GoTo /D (Agenda commands) >> >> endobj 272 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 532.257 186.424 543.166] /A << /S /GoTo /D (Agenda commands) >> >> endobj 264 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [185.753 328.704 340.818 339.613] /A << /S /GoTo /D (Installation) >> >> endobj 265 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.54 296.522 511.631 307.431] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 266 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [293.085 277.49 498.525 288.399] /A << /S /GoTo /D (Global TODO list) >> >> endobj 267 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [403.919 258.458 522 269.367] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 275 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 245.307 285.661 256.216] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 268 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [357.154 226.275 514.727 237.184] /A << /S /GoTo /D (Timeline) >> >> endobj 45 0 obj << /D [270 0 R /XYZ 90 720 null] >> endobj 154 0 obj << /D [270 0 R /XYZ 90 720 null] >> endobj 273 0 obj << /D [270 0 R /XYZ 90 520.398 null] >> endobj 274 0 obj << /D [270 0 R /XYZ 90 377.529 null] >> endobj 276 0 obj << /D [270 0 R /XYZ 90 182.84 null] >> endobj 220 0 obj << /D [270 0 R /XYZ 90 154.325 null] >> endobj 269 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 60 0 R /F52 63 0 R /F58 76 0 R >> /ProcSet [ /PDF /Text ] >> endobj 286 0 obj << /Length 3272 /Filter /FlateDecode >> stream xڵZ[o~_!H+7&ù}r'i^7@ PZKRKRȏ EѴPs9!RJEf"le.w 6^L˾(kN eDfYk^E3-yr7!_4L-aĚxyn]NkDzڮ5:I‹> GZ. (^?L=SQ0aYh#U.ha/=JGW2Άazf7$}$ϒ57Ŷwwsؖ~hq %4,NXMW[p%ۼkU#e喏",GLM_7 6+VeUA2C ^K.>, 3aCN, Yq:d>,9׆Uۡcjqlii.M2sP ,A*Ys 3^u ΍6abzՅj J9:F" M&[ST-Ppsp &IX \ʅ jQ | B*F}euk?({ +ir̼ Ho\! j?M!֛q*V15̹uٳCF&`@sY^B†`:wհۢw/NeD3#lţ=B:o]c<揳d[ϊ2SRo3bmӷ7g׭l#& P"U1aPg0lD7<;'YYh9i4Ϲ_l d*A&'ci"6OuB)3 tQבpTy``%ŝw[FG%:bbcp]hA*Lz4`'qNMn ͻqb<5X3f-w)9QF6 Uh46A 9t?ccofݜ2J;b /HpEE \uc;~WJA J@-ꖦ]Ϧɀ~* Jr ~ufr+ T4/ȟ+UY( 'hyk|أc0tDFq&Lk =/y' sv}qS =H0 yȞ;Hʙ"[^ojp;48m*쳵@3F{`pJ'x.MX8 X s%*}b3!ONH:e6>{d[( -lp-\ n]M=&8Ҡ"qǰ'y!5P>w$Y=DMH&7!_s JYֵ£Y{_ˇѮZWpnwǧcdPiBА& /&JHphzC:q:.G'Ns@M7 %wIo4˳+if(ПffmF')R}DBβDًioLYN(ȓ^ӽO88I>eTfQDD*~@l?b5Sű"\jltZOd̄lne>+wjX$␿z96J & xZ2W7:a i3{r6p.!Jrc7S{l.\S!'3K@}B}}Fv8 Ӛr<y؇eh! %To/kEvT.PfB1фN׀5ڌErmZ.Ԁϋ*BjT qЌ]'URe[0D}&nK57գD|kU]|\4U PTݺ44o4YwL-Zx^C@!emIϩ$ž W}' ({.~LW0#9%<뫷7ʃ-/n/?r3ALFŴG5#ɔ==܍0%pWe?08zƊLI--~#—bFJB[5j"L8kiܷι!oG:eO0Nx8d}_7Cv^Tߐaj+`L4/ zNO &(!#I i-9'OB$Ia=EOv0*Uy&2劊:DcWv !+?:/]rx_@q;?ߐBg\ Ve6;.?O*P vCȟ,{wc7wy^> endobj 277 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 478.128 290.364 489.037] /A << /S /GoTo /D (Agenda commands) >> >> endobj 278 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [191.358 445.38 365.388 456.289] /A << /S /GoTo /D (Agenda Views) >> >> endobj 279 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [374.222 384.082 500.381 394.991] /A << /S /GoTo /D (Tags) >> >> endobj 280 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [186.639 370.932 334.152 381.841] /A << /S /GoTo /D (Properties) >> >> endobj 281 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [169.212 331.48 369.576 342.389] /A << /S /GoTo /D (Agenda commands) >> >> endobj 282 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [440.509 285.581 522 296.49] /A << /S /GoTo /D (Tags) >> >> endobj 288 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 272.43 184.35 283.34] /A << /S /GoTo /D (Tags) >> >> endobj 283 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [169.479 259.28 368.358 270.189] /A << /S /GoTo /D (Agenda dispatcher) >> >> endobj 287 0 obj << /D [285 0 R /XYZ 90 720 null] >> endobj 155 0 obj << /D [285 0 R /XYZ 90 552.885 null] >> endobj 198 0 obj << /D [285 0 R /XYZ 90 417.266 null] >> endobj 284 0 obj << /Font << /F51 8 0 R /F31 64 0 R /F4 74 0 R /F52 63 0 R /F72 7 0 R /F58 76 0 R /F54 60 0 R /F2 77 0 R >> /ProcSet [ /PDF /Text ] >> endobj 291 0 obj << /Length 2238 /Filter /FlateDecode >> stream xڥ]ݿBK)drI&@k"PHHKQ܃3{jŸ& ٦< {J ?KFAjsm~ny֏Sۭu`]ȿWI̋ۿv:3B2TY)@͉ #<k= 邟? tUlmˡg몱jo(cycy&BıU(h&Ƭ*k&%y7:t64wF㾯QY&p_1@AVäW6;e &R u~CJs˿%K](L\S^6;m}h'DI,9w HnXQ5Xx}qhJBOPnQǪ9Qš'^oSѠ|cQ7JB) qjᨪmX PlA by8f! ֩4z  x1pJ -ji6 ǯ~<73)xaa89Qo{w퉡BXx ZrN"6jvB/28͂_,RA$( ,Y0$xf`. x;{Õ$YقIJ* iu>o/W4m IȬ1(_ .D+M}.qdsM}Vu7~`gG?Ď@d)$#@QN+=TQqh_8~]{Kp U;*cEU)Uذ)9*myW(i:^mr,A\Ҙݍ.pE!Fb =qع-Qéyj_qd;oe·0=Jtwՙ0 h1oph-*^UP'Pb cU-]%" ČQ,ܣgAg1&~kEd;l)%|}j<)j9s~}A$c5wPщ rTK՞ lGj5% 5fiy^X*Ht2$E2DzwvQOO5n44أzAkQr bpc,I@tГ`n4Ԛ4utFI&-rsI:/ժWT4;P%t+}g\2Mݠb &#hkSC(s ۡ.윺~nHzo&211w`N9Gp&\)vB][a{ŘT\S[a 3-?@^ۉϓSun&NCp.vDA +e z44Qx5/W--%=N`t錕lard+wiNQ,./|QTF, ȣS-MYin%:{n:+e[z>*v]S7#4> endobj 292 0 obj << /D [290 0 R /XYZ 90 720 null] >> endobj 237 0 obj << /D [290 0 R /XYZ 90 578.305 null] >> endobj 293 0 obj << /D [290 0 R /XYZ 90 464.498 null] >> endobj 153 0 obj << /D [290 0 R /XYZ 90 227.839 null] >> endobj 289 0 obj << /Font << /F51 8 0 R /F52 63 0 R /F72 7 0 R /F54 60 0 R /F58 76 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 296 0 obj << /Length 2000 /Filter /FlateDecode >> stream xڝYo8_N"Eԇ%[7i{8l6wX̍,(9n i"&p7TU ⪊4L}z#xC8\\8J\?E7W n~zio0m+&⿔<0Yy$yw̓RRLuE"H+<ǁo|-~EITs9p}F"')00eFc-NN^%e(EL[IADZ: 6y6I`,u?Q̀UYwqz~B p`x8*СfAWILJe0ħF"ꆥ=Q=t<`& S`^^пG՗ʺQ}We/``PVuH+s ]$vI.%Ju敵H p~hnWoF&ɵG8 4*,du72Ϡ8pN[5 E,̍=0y0903 g;؀Ŭ5Ȇɐy#"=e!, /3?Χ^SoqE%V$̞uTEqVȜjڠb[6=;!0HDϐ,/&~>#*Q"Q89"h[`y0Qڡʜ<[XXAxe}><*46MY 7e?7oq9bE1ca`b_ݾ!HTĹZa$6ƱuPӒ6g@.B#Y`moHZ/J̳Uk!y/X>}%rtG="=fAmF?g4hOyP^Y m:n=g-kaٽ_ rLSchE)oO\iHf?c7+]_%`D( ĮdC?[zFq:zҜH91txys~p"0a3gu %֡td% 2A]*\$kc"*K;;hk"vn@y0>Ɩbd?ȊSwy4efÃI.߆/LM4L,Ja9$mo'aRђ(K \fftla\SfF5]_,;k[ֳ,'iXD|85Si9iܶێT UJ.K #M1VkD~G2`/ ˸JBآ'e!ؔOwsr3e͚$(F|FM?țK}:zj a0`(tqHCpX3Jp'O_M8RbNJۓov_,G-t$6q/ft ] 6?zre?ФUl|!*'"4ğk b8^2-8m[kljAHkQIa,tـyWt_l?}6$6<^2'H}3D}g|!9a'(w>6Y4[M r<5X*R7vz̓ 83N`;+@;,fvh#C7f_Ë^vl\yJLvHŻ_oѡ汢3:?ӸN\v}~/s=Y > endobj 297 0 obj << /D [295 0 R /XYZ 90 720 null] >> endobj 294 0 obj << /Font << /F51 8 0 R /F53 62 0 R /F58 76 0 R /F52 63 0 R /F55 195 0 R >> /ProcSet [ /PDF /Text ] >> endobj 303 0 obj << /Length 1879 /Filter /FlateDecode >> stream xڥXm6_aȸJ)mҤ m}9\8͵Օ%v eYdI> IX*OTj{| &ܼx6+Ge\v*b['x}Чu$I uT|7N/y֡d7qTg@ጧPH pεH(nO vF14x۲nUEu@5B}dqvO9kY1X"|o1 B5e$$wkJ\^3DJI!Go. (IJ;D:zoKu4]'ֻZpwl+ݛݥ_ZӠM*Gm' d TIp=^~ζFy<9x /uyV7[SP@Wl&'= ԣмvQ;4M엶g#5B7-,>4ˏƘ˕PQ29((3uf2x=t} ɘi=@q΂& aKNu}@{K[ ۝t4Ro%4SAwoyZmw,~;,kX*; }YfС ,TdqCGaO7e >1Pvo ~iZ݄,n;UtA$m;8I9:cf .@DF2 'x.H7`]' ܯSV6No2&FkY8@ GT a*deN 2O7`MEPehk 3E 5/)7vu@06I H#)V{S^zZ ꩜2IOlh*k~< 5zsێD[rLdcq;?%#w|oO"G;Z a`&s兼 ]3'L')&ȉXQeʩVDX4&,OHtjXG*^HQ]=\6w_~yWNČHY}Kqv]8Xԟadq8x20 'ֆYH\zGa~p=r}.W'r_rW y`c砧E_LCB\ M܈_w.O=+,W2XN e .+Xn`/@u`L`,M ~G^8 g?T8vjZO8[(K[!]rsz"B~b4rn9q+繓\c.8d]{Bέ;9Y\:5FOr|tnqE t> endobj 298 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 276.335 213.061 286.032] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Agenda-Views.html#Agenda-Views) >> >> endobj 299 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 263.184 354 272.881] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/org-custom-agenda-commands.php) >> >> endobj 300 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 250.033 191.485 259.73] /Subtype /Link /A << /S /URI /URI (http://www.newartisans.com/2007/08/using-org-mode-as-a-day-planner.html) >> >> endobj 304 0 obj << /D [302 0 R /XYZ 90 720 null] >> endobj 305 0 obj << /D [302 0 R /XYZ 90 580.394 null] >> endobj 301 0 obj << /Font << /F51 8 0 R /F58 76 0 R /F72 7 0 R /F52 63 0 R /F31 64 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 310 0 obj << /Length 2143 /Filter /FlateDecode >> stream xڝXms۸_~(5X̷EĹ妅(X"Uo(C`X.v]HfE0ˢ/|V_Bdъ7W[f*PXj3~tEER8N?x y{;Şy~ymgi_-WBI~Cc\Y8S$VW`Y68M<7tY;mMtNZ׆YU_R׬5=gzw Wcd\rR]f[}xŌ|G,,tAPyM]dgAyZ"פ~"9rQj6"|Et0'<2"+ 7mEsp /'Gy""v-0]8 Xim#FH Μl```PY"$9~h3JKnVQqZ(pb~IP١¢mݮ?1w'rc9Gy_ W]C)4!)v @7,_ S1@wC",moNhY`|_g;?ԍO뛏R9޽_yQO߲{^@tYqEܨ8{ל0djNznOR\!pI⵵/ڶ|0 g|d ~=AKSIMU#p|VBx|I՝vCoh} R}; > aw :]Wmϸh[l?a"eRxwiN~42H')<ɘC̡uG/[w5ռ?SEXʁgxJ$(9d\{QMV IJp!o1oT΢tTǕ igh{hڂOe<>oӭa!ኒ^6#8>;S5xXuI8?S`TY,xwy-w]k6K0[~|{e$=PA=8Gq~$su|`yqL;|&Pf#JQ; pGhkw<ksgy8*]lmm@PqCkQT׆ףA L.=yL{4ڼ/D?f %òߵZ~-y}9 ]MC \r=eu<9etr 5d䎳c0Eq-] 3xRo&= `']]dF=<9|L7 endstream endobj 309 0 obj << /Type /Page /Contents 310 0 R /Resources 308 0 R /MediaBox [0 0 612 792] /Parent 306 0 R /Annots [ 307 0 R 316 0 R ] >> endobj 307 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [360.78 485.728 522 496.637] /A << /S /GoTo /D (Document Structure) >> >> endobj 316 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 473.183 120.909 482.88] /A << /S /GoTo /D (Document Structure) >> >> endobj 46 0 obj << /D [309 0 R /XYZ 90 720 null] >> endobj 311 0 obj << /D [309 0 R /XYZ 90 720 null] >> endobj 313 0 obj << /D [309 0 R /XYZ 90 602.02 null] >> endobj 314 0 obj << /D [309 0 R /XYZ 90 573.456 null] >> endobj 315 0 obj << /D [309 0 R /XYZ 90 521.033 null] >> endobj 317 0 obj << /D [309 0 R /XYZ 90 400.067 null] >> endobj 318 0 obj << /D [309 0 R /XYZ 90 333.647 null] >> endobj 308 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F3 312 0 R /F31 64 0 R /F52 63 0 R >> /ProcSet [ /PDF /Text ] >> endobj 321 0 obj << /Length 2585 /Filter /FlateDecode >> stream xڵYݓ۶_?-A_Ƀȩ;zHBR>_ƓEyg:bũE?jDk?3"B}ՄͣZςL-67S`k+reL佲ěFF"_wi{il<,mh79>۲VJtW?fz~Y̰~P%yݡ9;no+턫'cuŶtO _xg戮۹Y_;9Ջ$\(pcxU_#-C";nTMtG;syjǃLל`bfܨqoiwSy*0~ }#rZb,omYW`a,4F AU]h7⎸DC\y9O SkqIrzڲu}u]c.T>f羞UXxSh.3Bd?[so`eTrd^qs6F$#Ծ3Uh_'޿綥#`֭Cۜ'sXy4\YmKF^Q?8n NRx[U0wBb:cزuƠ#*ݯ:NH]BQ=pHzOL_*JyȈ6Pwa?whƳP{*]'k:njFh.oj@=Sv;X0agٮgR$3o Wsh\"\#qķ2a7n[>60@jZ'\;m-j[Cؕ%nlNK-=0Iؼ19WMSgx4boeFIg4$r0tW%%)A ^T"|Tљa+i q=xOìq *~@zP^(=dWM:;[Ǘދ玴m n_KB8 `9 @6GkrFL"0dɥ.}l* Eԣ2 c-&ӟŦS+ &Pt>ƨɈߗn n 'OMfO1Pk6x3!BITp48^Vv>7 \A|J]#R؈InO0J)PKγ00̄EtGcI8 s#|睰lnIL -^&(? 8vu`q0)6#%ؠhw3[ýo| MYBkk> endobj 322 0 obj << /D [320 0 R /XYZ 90 720 null] >> endobj 323 0 obj << /D [320 0 R /XYZ 90 641.469 null] >> endobj 324 0 obj << /D [320 0 R /XYZ 90 557.783 null] >> endobj 325 0 obj << /D [320 0 R /XYZ 90 450.342 null] >> endobj 326 0 obj << /D [320 0 R /XYZ 90 191.241 null] >> endobj 319 0 obj << /Font << /F51 8 0 R /F31 64 0 R /F72 7 0 R /F53 62 0 R /F54 60 0 R /F52 63 0 R /F58 76 0 R /F3 312 0 R >> /ProcSet [ /PDF /Text ] >> endobj 331 0 obj << /Length 2082 /Filter /FlateDecode >> stream xڕXmo6_H DXHQoM6$>\暓w]ZiA7j%YIZg8 )WU0NWÃ$|`G?^=Hd W}~L0|ysxSjSl*8ӞuxuJcr<qOPRűFLES-dI_Lci-p, 걒pzӇO`vrގ~:sRQ &YXHVuzh5^[X{~SoSH$D86̫]9=Pöp`#}Tw{tR>A ڊ7D=qE7ZeZo(dDfYx_ZQ!ߴ焓mӂ9Mv5}"[03 Fo4 4a!YMZxR'??_2@p,ZNp&}u0855}L&/6eE<;*n&DRUwc! _W1@ Ix+ je''`$\G 1i{$m%r ˣPYaӱΡDD`4kh*q,oWVnG"XpV~g"K'qWca ˞ ι$QP l6I3vB?c= [/AK]vX |͹Yߐ4tmM vA8 LXA1 9$Do78k?InC|.UjE:/ Kf B.&/ٯ' iOEQ:szv5'Ҽm6K~=4 <b cWԕ !A@liNcnYc)8dbNl*KErbx"^R*!7=S"[jZVC,) a[L0iSk%E%ɑ=: Ȕ:S"3ҖO,#迩K%i Dc (ap;J70/`/hOe#T"Sz8:fʭùJHmͮJ)V(K 2ml9.H)9llvD8PuP}i 01m: w+ˏRNE( / }* "㼵X?|BDC\b8CGfKBQy1( E.V1fU2IaIl$ h>خM!IBtrAt$^ȯ{DiI;UR0=Ç}a=M+c # 8uiL5E,biu([#=o&rb@ԢԾm iZ&{jdW|+\Pf \)ij <Бw9qӁ4pCӂZ[~yNbo[4fA 4<ΦmXk|k/v1mRudQp9sC[HY%1r gBeP"733$y#{c5>i@iۘ %B0IiC".):,0D՟cniXXn.yy#toO\s*V4b[A Zu{Vu3V@ }F; ow3ّۢj}Yޯo?`.4:8YY>BTs{6;ۛfI1}t3wQu\U@d+wU'QK.pT._C ͞i ,ivlXY#geN %1s\RdUSBD_) BE<}Ut1] G-LKZߖ8>Xv7}E8$/W^_-vЕG;^`I}cr[Zg˂RTgG|ﳎa}7Á{L1iVv? endstream endobj 330 0 obj << /Type /Page /Contents 331 0 R /Resources 329 0 R /MediaBox [0 0 612 792] /Parent 306 0 R /Annots [ 327 0 R 328 0 R ] >> endobj 327 0 obj << /Type /Annot /Border [0 0 0] /Rect [118.182 252.097 179.212 262.022] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/LaTeX-fragments.html#LaTeX-fragments) >> >> endobj 328 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 223.035 213.061 232.731] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Markup.html#Markup) >> >> endobj 332 0 obj << /D [330 0 R /XYZ 90 720 null] >> endobj 333 0 obj << /D [330 0 R /XYZ 90 545.724 null] >> endobj 334 0 obj << /D [330 0 R /XYZ 90 416.509 null] >> endobj 329 0 obj << /Font << /F51 8 0 R /F31 64 0 R /F58 76 0 R /F72 7 0 R /F52 63 0 R /F3 312 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 337 0 obj << /Length 2019 /Filter /FlateDecode >> stream xڵXYs8~ϯP> UkK~ijx*Qjgk[2IEF7t3G@_'Fp*Ll4^L}x%xWc1a0 'b4[_^J)OȋE7}\}zMY Og?vc)_O|R*G" #V)ɢ@Trljc_xc.J:]@Sh$wүT #7ǰ;ښv^Pik }i:iǞn 5 lzIt߁{Pxn,5{whPɰhj;9PHfx;I潙tKzs_݊ [r$ e4 s9(H±?6$A YE"O/?_&VIbS5-o#9saei I8uNk=6DF/J`d%Å_Ӗ Jp%?"B9"-P5A!eFT̀9B X _.;>KL[=oW4u["ZEw#.u]@/j:m6>`,7m2@ynYSE~`EVHI0Q+8,Ci5kT{I $pqd|TZ"f,LR ],jڌL;P+bYmSiLC;t{(`xPci0ZDY *pXT&ܮa65!jQԝ*˂9{1-5; j e?W> VdPK(w)P._dH&~c-[ zjM:7̣iF(1ʂI؞ VF g7)t([[6{ݪִanzSD">#ZWn]l J;TD4U>#UYME ׇQ0Ķ7s+Mk'^(4*a?]:Ϯ|0[~B:ڞ .r[~ .nXnG ə~'yĞa5U<_'M3/c/h' 󦂁(K!4* }FSG49<pvJPN갹♂jn G">@w\qf4[5~9¡aD 2l2b/˧C㱵h*_^J=ZΆ'wbAmCgk4)rB }1WF[NѻF&R#rJ|n/]ot>S/4 ~| J Oa"gId&$Df_ :x*%Om=gNWJR(k3Vr'$}Ik1xxSn=yR#xFੋkj#|F{Kciǜ',ݓNǻ A"S@=בBѭÌ1W=`DT{cHs?ă ~5<Th9D੒)A&2lĩ%$I4%AEGuqY_q!.?quCM7eW>z95$U % $p}ò7TG\ڇo_oBW`zcGRʞsW϶C>3LE\zZ V}Uq2qƚS&/Mm^0U![wM*ƽ58me X endstream endobj 336 0 obj << /Type /Page /Contents 337 0 R /Resources 335 0 R /MediaBox [0 0 612 792] /Parent 306 0 R >> endobj 47 0 obj << /D [336 0 R /XYZ 90 720 null] >> endobj 103 0 obj << /D [336 0 R /XYZ 90 720 null] >> endobj 338 0 obj << /D [336 0 R /XYZ 90 592.718 null] >> endobj 339 0 obj << /D [336 0 R /XYZ 90 417.363 null] >> endobj 340 0 obj << /D [336 0 R /XYZ 90 325.454 null] >> endobj 140 0 obj << /D [336 0 R /XYZ 90 159.13 null] >> endobj 335 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F3 312 0 R /F58 76 0 R /F31 64 0 R /F52 63 0 R >> /ProcSet [ /PDF /Text ] >> endobj 348 0 obj << /Length 1782 /Filter /FlateDecode >> stream xXKo8W2bŇ($uX4>t-Be+Mwȡlf,=-|0E əo3߈1hA9E~=n@48[Hh@c9 7-U)<_wҳsRf owaz} ,hⷓb{`h,d&Z2Vqݥ_n[Q6TPwPE_m Ea՟1mӹѰg4\r NR k'Y"ўo’ȋ"3*J8@h@N1h#*<"˝pFvnշG g)d_/$1*ҜP?;\NkniFl<h?Kh6 KsX#H`9b}`r +uSl49J5}ഘ}U~3n;l#G[˦'nra[rוvV Qs_&%I,<&Y&,%(ňHÄ:^E'hJ?fin?hY z@7X̟`GlVJû^LВ}؄a;l#ofpJ׆%v=4=Ƹ;cnLmŕm]`¥=C=pӄ'ͽ,.(Wn =X&b螘#X619"\ xt/*<%]S}R(m͊S,! ,ƗoeBez)qFas-Dp-_*Ev4Hr IlQք=֚Ǻ|sZA5qHe ҽZٝ4Fk'vIԎwm, #OCEKo]zy@22ȤѷT忂 .u@[7'5oPF+zkC&  Rb uiżd~wy$mݖ5x M ^s,1ؘc^jl7I$2|ʲ̦Ӎ6vЅ6x2νǁ)On$x7>ޡ^_*U3SR?ڐ&{Gn m^vE40q[]{Ʉλ}(nQ[xJSjr>lRRu?jLI 9hơIH.a$L)ZqĞAjl\.ـm1u6?}72͡V;qp Dlgef endstream endobj 347 0 obj << /Type /Page /Contents 348 0 R /Resources 346 0 R /MediaBox [0 0 612 792] /Parent 306 0 R /Annots [ 341 0 R 342 0 R 343 0 R 344 0 R 345 0 R ] >> endobj 341 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [266.598 428.157 460.606 439.066] /A << /S /GoTo /D (Embedded LaTeX{}) >> >> endobj 342 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 261.59 213.061 271.287] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Exporting.html#Exporting) >> >> endobj 343 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 248.439 284.909 258.136] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/images-and-xhtml-export.php) >> >> endobj 344 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 235.289 267.758 244.986] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/org-latex-export.php) >> >> endobj 345 0 obj << /Type /Annot /Border [0 0 0] /Rect [271.394 235.289 482.849 244.986] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/org-beamer/tutorial.php) >> >> endobj 349 0 obj << /D [347 0 R /XYZ 90 720 null] >> endobj 350 0 obj << /D [347 0 R /XYZ 90 607.345 null] >> endobj 351 0 obj << /D [347 0 R /XYZ 90 390.279 null] >> endobj 346 0 obj << /Font << /F51 8 0 R /F31 64 0 R /F72 7 0 R /F58 76 0 R /F3 312 0 R /F52 63 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 357 0 obj << /Length 1375 /Filter /FlateDecode >> stream xڭWK6RdQ^ ڠE/E(hDK{ʖF6H`c>f87E([TWd$}oazIQ~L~9aRaf?n5Y c}<Ԝ-,x i endstream endobj 356 0 obj << /Type /Page /Contents 357 0 R /Resources 355 0 R /MediaBox [0 0 612 792] /Parent 359 0 R /Annots [ 352 0 R 353 0 R 354 0 R ] >> endobj 352 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 284.205 213.061 293.902] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Publishing.html#Publishing) >> >> endobj 353 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 271.054 261.334 280.751] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.php) >> >> endobj 354 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 257.298 255.909 268.207] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/org-jekyll.php) >> >> endobj 48 0 obj << /D [356 0 R /XYZ 90 720 null] >> endobj 358 0 obj << /D [356 0 R /XYZ 90 720 null] >> endobj 355 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 60 0 R /F31 64 0 R /F58 76 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 362 0 obj << /Length 2329 /Filter /FlateDecode >> stream xڵYmo6_a$NxYQ$ԩ[Ц@.WKꢕ֮ze|f8p˯bWE| _Wkg#n_}W)9)*>mIf[ cvQ&.W$R9'65KU9MQSǸyJviy\)uچI| p2Ơ]+دrW7[Nn;bR`^P;Ճ``H? y;w&|7tL MMr_~SR{'Z?0 ^U^ <d!Y(K wo~[ m|ǟ>{7#8z.QM{HVXt0Ҝ3 l0o7ס7oo?|o(G*] t&< m<|XP T,zҀG$n`Mײw9Cuy!{ՐAI&R9Ff(c:\ZrF͜,| FnI)PLlNI]C еI 5 ܼ8RM ilI/$zIsJzgRmxfI5I { uI)صQXa0ݚC"& g5br)YJ3@c*Vt8t 죚8tygގ_ o/$䣝_d3 @rðSҌk8;^7|Rn \t5UG5edAhv.@b$Ok v že y\A$i1P˞i۹JXX8"%h t-J- 1N=v?{@ccloGb*-2u$L,o4GKpwMv>uoJ_LC ^'/ &|&lp!=]6q O -`t)6&ώ"`cw~Nףs;! ñ6zp bٺnq@d̽iL<{HRdcgh5\4;K&̛h oi0OBA *Lĉx{w Kye[ aq^쑎f S pTvR6)ǒkGL 0ŪoLe23K]`4z6nUCa-Ēn+_<V j |^WA;P޶uxN rCy]k2+pmjypGߟq6QxCKL͋¿yT7@wn:>fBOȷ QؼKi7^b+n`2mi_Y{%;XKEmJO;aIDwWWMmŒD5Dyɐۈ5u=@ Zm4euU',SK ɞ.> 2͑CR.Vdys(BA Q6fc9u#Aue r&/=y7Lҽ%C@^jyx7.M?~_Ґ䩚ӥH oJ$}iEC;|/ĬX(l6Cs N׎39ܵA Նv {Ar i]@#aƅI;SR-A4 ahé~3z•mϚoIr:.Jw]K(poj:u@TȀHH' endstream endobj 361 0 obj << /Type /Page /Contents 362 0 R /Resources 360 0 R /MediaBox [0 0 612 792] /Parent 359 0 R >> endobj 49 0 obj << /D [361 0 R /XYZ 90 720 null] >> endobj 363 0 obj << /D [361 0 R /XYZ 90 720 null] >> endobj 360 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 63 0 R /F58 76 0 R >> /ProcSet [ /PDF /Text ] >> endobj 368 0 obj << /Length 2533 /Filter /FlateDecode >> stream xڝYKo823bE_%Cοz%˝` &Kbc$bEi- ?TO~$]k @O#2E\ȇchSymk#i~I?w{>uWU۫<:@WԨH=KR7NgAj47BjNӖ9K/l۝8CHd&R|~4* MV2H;dY`_vI͵eYX~\N(4}j8T}pn Q5=x|b&H3B4iFX*w{ƀ O;i4KʦyC4|F<*G~J ʨk:6uק, Q&>2 (n جײa(Ru#'#,G^pCOv`Н (O'WxZ,ƫZR Ko:L.頻8J \*ZW _YR{!& Ll/.ހ% EraK%)8z9GQf+#8>nTvG =鷾>RXwg~ybIa\\] jKp g] M-_өn({cM@ j agzόBz N]8QB, =Ё%4 J OV]"~ "pyx&L6iogl\I>ڛ8L6 {"HJ[n&`z`6NJ@bFAfi] OzENd[Ldz뷍 5^pMCJoq.채L`>o,91/&ASJ N\< OjĎ Aɂ0A)7fL00R/JqV t$^wa+y2Y%5D_FEi<#YԔF 5 夀g;l.ʄ2xAebzI:3n= to^O5uO~MN;aФ3#qnnMGvzh7Rj 7ȥh 9=+ \ƃ okm vJaM6WĐg?!;a֎ h.ހ4hygA΍pRZ\{9}v)02ލ#LZ3Aa, NݵqsZu;؞FDBSX!L{'i`)f_p7'wA;Q.ɻ Wutt  Z :0|6$O) [9\n Mz\H6?B/]hSEzwsYᱞ9$j{Z 'C#.X?󑁈MMm dZJM6||: i+И b9N͡AT?/k*$ጽuR^E殺s9,A[ ͢1ָm&)yj咝_//.__!cYG WW28rTI"ǑDt t԰#:5E)d{Ʌ)4$+ *d'N۵ spU>v78=ui0 ^kBP6Xύ]}SlJD>\dKj<^X3^_w\ UGs}CܞbJ=`iD%^R;-g*A鑪jUT>P& 4Z"̷H߷=`TX" C7T=ZK8w0.o4ƊH9:U.naݢ*GЩtt:c |gL]1ÚX,X}1@|A{/o,㺿щ^ [ݛTE=)+aM6moZLgldۭ#<]5n/`$V>r Il>>}`L$V5$D(5SE̊>2Mjvs7֡,߃qw#ڶ L4,WN S,CKՄw"[Y)A|릮2Q{>6e2 Vߤܗbg6Mտ|\IBև \`ygLdԌ $u˃C vnГ$V1 !;%!*Y֭>f];.}ˍĩէ)}._GS곺wp߮=ZQ+|O+`qrI_8{-Y zoRhW?.fK5^&&]wVj, $tB2\zct.#7aV.T( endstream endobj 367 0 obj << /Type /Page /Contents 368 0 R /Resources 366 0 R /MediaBox [0 0 612 792] /Parent 359 0 R /Annots [ 364 0 R 365 0 R ] >> endobj 364 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 189.759 221.546 199.456] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Literal-examples.html#Literal-examples) >> >> endobj 365 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 176.609 204.182 186.306] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-contrib/babel/index.php) >> >> endobj 369 0 obj << /D [367 0 R /XYZ 90 720 null] >> endobj 366 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 63 0 R /F54 60 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 377 0 obj << /Length 2695 /Filter /FlateDecode >> stream xڽYݏܸ _1hf۲5Amwc-Ǘ_^_6})deH҄<ؤJymWP_2nnO:܄yME?Oť7vBvc}TUQf趻( t/tr<(6aGE$PŬQ;Dއ.l *}'UgڭC^csTy20W|l(r3iI_Pp $m=a)vwkDıx ?Yٿ߂:OaRsI0gtEqJ:lvA%1C!E:(OdxpuN@U})xȓ,다ܙGd 1ָo[^}NJ=6162[כ$Z{F45ByC 0Y:@*ԣlS)ܪK 8*`Z.! 'd%,Hro곘]q9*%8$t?#"ơDu@CCFxz&?$_T?Pn;Q< 5,޲+2W8'kx{4Ouq$I4aKUPȄbhEi;ˆ~wnUg\eiDP˺v)Ƶ/jQ-iYfw)>4ԕ_Iip { 0MC+.3'\_0v*DP뛳7#F]  n-)K%ˋJMpjM+q<95j*[Fk S\b/Iny+E;ROel9FӑqvAlKy/2=2 , %[R>.Rjk0- (*8Su-`-~|ӈX%bOG n#b/NZ FHJm]?\28-w$@Hn*HSfjMUs\d:OwݘsCK\s΅÷I,8Lwx=$5qd W[_=_J7_{w@ e4J1b!.tK\by_J/c~?bNY>[6t_T(*f3ٳ9B&,hŲgA:C'D@wc+Zy`JxI˪$4_;2+#7oٔ-. /s_\/՛xp{?CO #jp LyVzlc t&pq(KreCj[9TjE.\鷕쇲Dyh|'(@M]-ջ_`<ܗY6>6rc bGxԡGMrmW: Tm=ø^۸g \\2.T)=@5w7wK,*s](aO}܉ڒ$L +\=/]f[Pd؞ >+B b݋l oK`>؃h9 )FtydH[/a; PW]zQ@Ԣ.y! t1pfdѐ{j~yj*XL[xw敳[Αc; 3U(N3_Ez0r\/g\\SC3~꨸ƔT4Ep/Ai_wʓxic ` DAZ `Ciz9 -ܝ`No=7[1JS;^pn8#r AǑ @6\ ] 1L^5ؽdGP1 '+?P3Ї$2˺UU}% endstream endobj 376 0 obj << /Type /Page /Contents 377 0 R /Resources 375 0 R /MediaBox [0 0 612 792] /Parent 359 0 R /Annots [ 370 0 R 371 0 R 372 0 R 373 0 R 374 0 R ] >> endobj 370 0 obj << /Type /Annot /Border [0 0 0] /Rect [127.734 166.438 223.553 177.348] /Subtype /Link /A << /S /URI /URI (http://mobileorg.ncogni.to/) >> >> endobj 371 0 obj << /Type /Annot /Border [0 0 0] /Rect [384.457 153.894 478.325 163.591] /Subtype /Link /A << /S /URI /URI (http://wiki.github.com/matburt/mobileorg-android/) >> >> endobj 372 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 111.453 213.061 121.15] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/Miscellaneous.html#Miscellaneous) >> >> endobj 373 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 98.302 217.424 107.999] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/manual/MobileOrg.html#MobileOrg) >> >> endobj 374 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 85.152 179.182 94.849] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/orgcard.pdf) >> >> endobj 50 0 obj << /D [376 0 R /XYZ 90 720 null] >> endobj 378 0 obj << /D [376 0 R /XYZ 90 720 null] >> endobj 379 0 obj << /D [376 0 R /XYZ 90 660.224 null] >> endobj 78 0 obj << /D [376 0 R /XYZ 90 571.627 null] >> endobj 380 0 obj << /D [376 0 R /XYZ 90 259.826 null] >> endobj 375 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F58 76 0 R /F52 63 0 R /F54 60 0 R /F31 64 0 R /F53 62 0 R >> /ProcSet [ /PDF /Text ] >> endobj 384 0 obj << /Length 2838 /Filter /FlateDecode >> stream xڅYYܸ~%j`Zuxm/&zx`#(x}ꢤ "ţu|Q72ɓ$,:핒 |ԍ2*~C}tl"0mmoIw?OF|iýwLȃj1k1$ X*>.Zwql_#Kfi@\pv:e9|nJ"_gݛQuc[e /MF",nvIfeLFQli:̹]g-Gӛ7{( v빮W+s=FX*vLʹo֑/ӭ }?4GC%0^8Ҡ>MKwtq~G8،+td'|enn SqE&^ A* 7. >ݯo?'N`Mb8giܨguN(["RxdODb⸧yIQ7 y 1n0h7zu8؏m֮[љؠ+|m}Q*Tw1psٖ7tQ-+1E+Az zR{h~؃_bƑ_3ĞĀ{ĿU)SҞiƖ^C-=ň~f0d"knmd $㒳+IucaN;7h9)6+7|0sUI3-d-g _M K-E֭g4vtъ`Ci\e-@ծ+=$=CF@ػϟ?|Roz' \BGN "z2^HF9pi2Ӥ~-_9i6|jU3Y\ąj$AMwYwm3] q&4>q|^wp벴4Gsk|'^wޕ#l|rB[I5e2 ^yb5Ix|sfJ&qY #E"=ܖ'z"֘3`Z-h 7|ܛϿt+YnFd~t_q&}1_cQR5ZPD63:F[zpI4i_6"~_-×3C>5߫ftR"PqV7 +`OLC,Y: C 9> Ȗ<1'4ƪʽ)_,⧱rڀ%߀> 4%NtR=pBq11wj r+^4rq)DJ[@ϥJ FzLӡ= Q\(b{9*:yD،< "~ln%/ғxKVv+iAh . T<Juaer7E3naʹ.88mE _;9/c`-4. (b9cvV7%EɢÒ'~'œNtO5Ѡ!p1YT{k%j(CWXCLQoA-' p^sW v5`=T["?nKȐ?.eyYh]܋ݖ?-_5+lxD-piYVec3@ٜ endstream endobj 383 0 obj << /Type /Page /Contents 384 0 R /Resources 382 0 R /MediaBox [0 0 612 792] /Parent 359 0 R /Annots [ 381 0 R ] >> endobj 381 0 obj << /Type /Annot /Border [0 0 0] /Rect [118.8 628.168 204.708 638.168] /Subtype /Link /A << /S /URI /URI (http://fsf.org/) >> >> endobj 51 0 obj << /D [383 0 R /XYZ 90 720 null] >> endobj 385 0 obj << /D [383 0 R /XYZ 90 720 null] >> endobj 382 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F60 13 0 R /F52 63 0 R /F55 195 0 R >> /ProcSet [ /PDF /Text ] >> endobj 388 0 obj << /Length 2927 /Filter /FlateDecode >> stream xڅYms8_ɗSfj^,oivv3WmS[eܯ?HˎrD$ <"b_̳l-.RH5!ɀOo"x\6Cp5IJjeYt3>b5֢wSӄyFg:WWmc2/"ʖWY*h?C$X̦I66 Ϣn뮒EG^MfY05 [VթSְC @'nkA3w[_ѿKܕR`]UiGU˸ME&$4ɱ+(1[FfX bGgyyXtJۺtɴl^Dq'fYjo`=E wC!*N;M^X'반3߲i&Gc8' :sVYJ8 3VءJEXm1hTGabA*|+-4^؝tWrGi@^]-~KE"7ֶinC`nߎDhkkE\Kn: oyFp4f#΢o2kmr5[1Z|zU';c3fj 'kaڈs2Seg*iD80PG OG]|* Ϭ IޱߠϨGYRYvޘ=,ȍ%C -50/4Í9R_[WIcMivl6v'hlF XEHg^lLmZ[ ׎a|5anJ*V1;tέEB{(]wEmU ]9H*f/k d>'wxp-֭Uxl:wl!߯qo|J^H5b-"ݵ$-A?! .2M;4}c-az C ޢJQ2y b`:,MYJ0+JR+L .6*O M!'8wKYT=v(Guģ:M֝Ǡ;SKkϨcaЯ}pOhuj$Cc778 TLDsGVTtșE[8@ـlH{vi|''j1VN vJ׮뾡I?F<{vyG}ہetQ+s֔t:㷃<3~;o {!ƘEQfښ@/-;~{q3}7YɃ6AE`Z*YI8KeEr1  - 4=XKN k hCԁ~fxa\{A5 Ѝ,MP5 (Z $~($.1*o > 9Mx4u7:DMӵvQîoq}< Ysh.-iI m$Wp{wǖʄ/}Nf\("\352>h-XU5HH /K3 o>u|d ws!61MhtA-zsyO \տ[B- Ԫ``vQxts" m$/r _u~6=)Fq霧|J9R"DD#R!3e= UnRKƒ?>wʋfL.TbQrqw}gUϝ-*/_Cς!h?L^G*F]d34o ~TrJPK0{P`2{1TSu4W0VU!Ö-FKkT"5vZ&1\k}P։2S I!Z`{{Hԗ6kGu+yAgюh=ůr% Ia "޺D4t?VCp2S.0~ fgFd{뗐3")d Lk8͏ N<^NQ/fȓ>jrյFv*Y"4y,Pcb <}XAo#x'hK>Dtm^T1Q'}ǁf5\N])  +Q=3ئAUY]^QUBnO 7]cq߻=DH6h%tSv@VIEdϗl\$==!dj]I_埽 QybtrjFNA'ע& ](<^\dZ/잞)u'O̥5[iՋ&iQ FwNuyl=@ ^ٚGHEJimUg'o&~ -ԋRA>-i-o=j#_6X endstream endobj 387 0 obj << /Type /Page /Contents 388 0 R /Resources 386 0 R /MediaBox [0 0 612 792] /Parent 359 0 R >> endobj 389 0 obj << /D [387 0 R /XYZ 90 720 null] >> endobj 386 0 obj << /Font << /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 392 0 obj << /Length 2909 /Filter /FlateDecode >> stream xڅYK۸W-*KK"7ۛLjTƩresЈ1Ej>u7HhYnE7!"ɒd[Myz*HGBxo_]t",O⾺O|y`۪zI$x|~46OZц,(moi0ZK]v ( o{Wo<yCE>OQ3>IM4ʂɤ̴yPheaB߼vClݝ&:ub8p>P"#N]X,}DOb tBH0W)k(c}zThϩ㈐o+( u' =c%efO4#SݯwC!v#JIIbYs[6f& +ʚWM߻lG5=E X?4>J9Z Qm/ yqpd רy66$Au,inŰc(9?!竳g}q<(%Ex&[+Ic ?ּ q,Kj^=@St"s\`c#+S39զD {}.c=HrO5ِE~I0/)+O .$ςRWt}D)<1e3B!Eő,Jn>&GÕ- |(]WI ) Y,*-j'_/k2BәK )kYyΖےjg?t \݇z33^LZvyxW@*wyYIi|Bڎ3j~!ʴ5Dɟ Қt5Z;ء]8-i;u8:fClH6=/yNzNzC)#j-^Tw/$JXl7WdӠ#- UKx @d놥n{CL9'I+xLM7Cf(K)Hb0H?HO3+{RipfZŔ'\tiVuE{L]s o&W? vy~io#|eһ|)aDpgh]K%(gp I꾵Fw/gAe <`Tm~p'5rj9YPT gRLd8 R2_O0g8l endstream endobj 391 0 obj << /Type /Page /Contents 392 0 R /Resources 390 0 R /MediaBox [0 0 612 792] /Parent 394 0 R >> endobj 393 0 obj << /D [391 0 R /XYZ 90 720 null] >> endobj 390 0 obj << /Font << /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 397 0 obj << /Length 2522 /Filter /FlateDecode >> stream xڅYYs~ׯ`%*7٤lٖ*1N<;5K>} 0Xb˵{{z6ME"o/_RÀ37߽O?~<4wnkm{w?{wyJqn W;0zTo``a?O_#BzÛ4A,"VIX=stTt Ugh.4~v8K<+gXǔ&=ZiP= >A’Өp6g\_fVn{aO/[}~%a]NW|$Q68@[=IG{PHpN<^2DT(?R)-WK#tFskאnhfzܒQY+Տ L@yfq)vIIs%=ccg?+2}=hiݡh:7v  =<.GՠD*U".Vf$t4hQ MER6}' ;`YFZ:2Q_w컨 IjHEbxp[e/\j TaҌCdz6vƟg=*+5`bhLl>-{'0vn{{Fdלrt]{7|d^ ٰȣI1x#s8b7I㵸w"Mj|B)80yp"(4:Rp~ 2e+c௏r/GyW 4`|!а>06An@ALCjN+Zw\$Yk{P=Y@6JµE}՞kT"h>D3ڶfSV*{At+N|*+/۵uAIg8I :k?0HEѝ bwrql, )Air -1K i:w\ś2,qӛ4315P$$h-. 19t}bcxY0Pj? 4QFicPv71Hhq/3a%5~TZjTs]BdNC#SH\a҅nzG5HNPMRI|t@Cqǰ%)[.VwT~d r JA Mv5܄:o8b+CGiJ$Q06#:D8!bTl;etPHSoB8ņw azsH 65OYʝ켕k\,Ĕe/Nb J54tգJtQ8UAtv2(3\Iw3%9-;'Ŀ޲\ԒO(0[^$`a9'4B7frDj^8?T'X.I5u϶U yA gWUTGfnrdbPU56?.$혓璌aAtkXc.܂X3yӣ!M Y 6hb ~x™? zgy+l/,oHy0.|EC|9,\L0Z_G;*R4{1VղK -} dn1}:[U_zY =K0PŗeXHק}}JDY}  01cĬ!o`P&/@eSEFB%䁥Ƣ,Z-=N~y%.-Eǿ0$觞A?`yw5$ |%%`ޡYh }wHo& endstream endobj 396 0 obj << /Type /Page /Contents 397 0 R /Resources 395 0 R /MediaBox [0 0 612 792] /Parent 394 0 R >> endobj 398 0 obj << /D [396 0 R /XYZ 90 720 null] >> endobj 395 0 obj << /Font << /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 401 0 obj << /Length 2573 /Filter /FlateDecode >> stream xڅYIsϯp%T➜f}qjlF/T&Z$p۩hO@4~+~U_aʣj{z ] %LX:3>nk\*jsYlʫzry*bOwlDEyR\Â'U-+^MoU M։ݗ0^q3AJ,ZatwT-e^W7bQ݀s'^S-Gxj&uDdY試uh͞ Tub9(^ \ ԓ{` qj+C>Y : k&Y6}VVt *3mtjYgxBTM7G^d8הg5Nь-G9ǗAJxl}{o??;[8P?"ɺ "Iwn f9̬QGU0Z.WYĮ-q9AnD!m6iBK*~G  N.NBe 84 QR/ZTSdLJt[ ,)))€G-Gnp)]хKB0u.\׬|=*+(PS JDNb^)`95AgJv=XZ#Dqi튤T!M0x4Ȝ"Lb+nB^O֘V'DpBU(g[ 1H8"ņ#Dk菝SDmw.ۆΓ@8u7N9tz8- !YƁ@9L%zq`h^Gq3͙PI"j%_ņPhb4aAG=yY b^ `00v7,t "cj9pL+A%6|eSRB*fd?u*HMb˾`GcEw}-#.idՃm:OOHTTu;X)5V­Z}2m7 {lb XԾg,llI$|$yG˚r`4Xq]0R3g39k6` 1Xs3ʿ)#8 ¢@C5_@{u)z*dTr #׳2'\a]cQÉp mHI*$t2cA=aO2?Tz`h?~DiRD|=ϪBcL待3BZ%L6 wbo_>mn3R_E=\^cGhBUK{S+z4{c[uϸ%Gp ,X8^i;$3ϖJ VO4,2y cot1$ C`{kT-ǣ"R üӤw# >c)cEcZ(%IHPmy÷ jUNzS$E'>_6f' go_uF;k &9` x9 y}Yz$v"р/o/gi3{&_@k]pyRDF?K Q9,ڜ}p5V hUp;1{AwJ0͑3Z+p4ø(A 7S̟9 endstream endobj 400 0 obj << /Type /Page /Contents 401 0 R /Resources 399 0 R /MediaBox [0 0 612 792] /Parent 394 0 R >> endobj 402 0 obj << /D [400 0 R /XYZ 90 720 null] >> endobj 399 0 obj << /Font << /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 406 0 obj << /Length 2769 /Filter /FlateDecode >> stream xڍYIsW|fD[<%3Jer r6" <<o0]TE$WUZ^loB~}I.'[˯YtWUXEtu}x\]e|_]&I\4uU՚{7L(4z՛)F" MVYz0㟨?!"/ӫ(IYjuape޿}*`}Er qޯ}z3 |eWy]Wa1haiat[ 37虧bzDŽZ[m, meĺeGeUy@H{/5 D\E`CR? 3 g$v{"uqr7& o+îq5'1P6Q$ڨ- -̖ hl#dndݩM֢gM<G'Ҏm'keRL?3Eo@殔 C =ǂi4_ 4JbMs@Qrp8=MSXEcA6V-kiybIl+ IojÓQ&?ge eJJY\$@&ML]Jqz5hU(g 0DJ<;܃7LZc{'cOvfd7HLn.Zlceˎ=H0|Az[H eq| UA cF;ǔ~ZuݫFc2l9i8y22ﻆe=9/gxC2@~q3/I>6Z4)wӵ@ebTx8#ikn{`W0J7g<;$ U~pk4n)hR 6'3k&/\!! Va^jTɰ&ěػmwq{sL S%Z#?\|\JNLz %9()((DLdwZB|σ lW1vl{L½Rr>B5Xbn|huUyA 6cYiܳ2G99M*M"6-|f% F,I U2:Fu}C6 RKv[5*.| d,Eu-'9r vI:x 7@?,;)T,kmbH'4:q4x~AoIv'w QDDI~`*`n~9+tO*4t9OvJufϱVf)HbEd}V%"~_a%囐kVgd2q2\xW3Wv=TuR}Ǟ;݈rid4t**H %>^٥ ^g͆cLNT\Rw, @ C>d7<۸cba@?%S JG|KˀQ.3 7n(",2@1<-NM,O7q k{oRY.ҋV J6 _MzŗcP\#;D(rrQ/>I*l]NzHK75䉃|Cy(Dq4'2YʁJL#k\j%!/`CpKe r0=z /[ Z!РE!sYRp= AVv=beCX`XmJPɑDzz,IBB xvH{aC% $eZ^~;ל3ì0[ ] 6z?+|:K ם:mj!̡a%2 _Th։ܽk1AoDYjndԫ3"heafQm;p?J TV,ߠ2$ ։k3Y5p,' (a404SdEY`KB 7^[y'C.xbXLMHΎ0P?0Bcj Ց 'NwhH<1^(=bạ)8M\E;{I4}GTQUTMU-c2oqD7H[z'Foq)`)GEģ̣XVSj$}y._NrlA2# v4I#=WF^CT endstream endobj 405 0 obj << /Type /Page /Contents 406 0 R /Resources 404 0 R /MediaBox [0 0 612 792] /Parent 394 0 R >> endobj 407 0 obj << /D [405 0 R /XYZ 90 720 null] >> endobj 404 0 obj << /Font << /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 410 0 obj << /Length 2238 /Filter /FlateDecode >> stream xڅXYo8~_ae vtɦg3dvzy%9&Z<:mkbXA{ E. Xea\~h K#oṫͼR,p륟:e] g4tڲٿؐ8/kM[~yYw%;ax˯^F #wX"NÕ| X^Ʊ|k῏ߟ׬ǵx~@%ҋAhB_vp0 g}9Ͷǻtٚ."H+dy睇aSn+uyQ7ݕ!v cf+Qs^\+LEʓRtrSOn "ٶ͞ɽޗ2j& 62g=(f <NEQWK0齮T+Z=)ȝqphN.„7? f A 'zAFj+]r* 8 _n6Ur#r˶Vs_Gl{7 0 W*0K\$OqZ}͛{Uns̃.p]jsH$l;Ԉ'?a=~>aҊ#Uf٨S84`EC2I.sa!UuCA$ϨA ;A9(P1q2b2MꁅJe;4f:*]R4ǒ bGe`w30uGٍ 7mGQEx4B&N=I/О^| $Gw:ӳz4Ÿ}|弿kœ:w\ N^%f=Th^kZZƨ1Hӽ# RQwfvu/mUD䌿`N+7,[sK< 7Ec~NC NU]#oXk@z 0mU+[r3h7ߐ(;/[B1'wL6&.M0Q9*)+Pi '*RCⓍ=$CˠDcݕlOW&'<{;T:%Pc zWJR: LbJH ,, 88Ȉ:M +˟\ߡIx:D6)~;Ro5<U-X]WcBOYY±>T#xs#(U(K%DV9I#t<͇V׹>jNCV);g C]܈Ҡ_&42ƙJe՘rZ^m.^cr &uWx*Z-8Z<ֹA0.BMt K[ Y1E;l]!eE>Z4<H31@%kw#OʋH@~HUq[3sE8UhJM0~ y|bN`h#]yf[kzĞ@~SɒR8;LOOt%n)a)`.} ktPv^7'eKiNxRYc Y y ˓}(7VcA&BR)P_T cI؇5FH,ش곥%ne6|MgkP_6PaDmι%š-pb%mgetKQE3rg\`J'̓y@g/ߩ#ok'd! C'{؄>0aJgK@}:!STX endstream endobj 409 0 obj << /Type /Page /Contents 410 0 R /Resources 408 0 R /MediaBox [0 0 612 792] /Parent 394 0 R /Annots [ 403 0 R ] >> endobj 403 0 obj << /Type /Annot /Border [0 0 0] /Rect [130.994 626.119 291.356 636.119] /Subtype /Link /A << /S /URI /URI (http://www.gnu.org/copyleft/) >> >> endobj 411 0 obj << /D [409 0 R /XYZ 90 720 null] >> endobj 408 0 obj << /Font << /F51 8 0 R /F52 63 0 R >> /ProcSet [ /PDF /Text ] >> endobj 414 0 obj << /Length 1336 /Filter /FlateDecode >> stream xڍWKs6Whzf,xqNL^hPSw >$1M& .}bc,Z$BL*W̯Vp\_,bؔaiR[[~2_2h"΀@^KXjS']F<z6$|d(d̽ q*C&绯 dfDXCQniE`,'[ Q:*Q 6¶hعo, ,S3} gp[״APצ#] @kU5PEՕ^N9 (1y'z)(B&@BuIr@5jp[SU_uDgT#j̵@toz֒ ,hlj[!Ro)r-0ciștIoܭ98@Cn?N( *qptuW3&,!˽d|b|" ejm]BL">5ymUI:~kZ~"xP{SыzqC'(TM/5Z@E1N\Ž}-r_d8A0zڣrzJ?3|#?־MoR97j%o4kS ק\ּ`7\OųgDCH4Hfw"14y|({L%+a}9pp?/+.B%CHGItlR$ &S,~X:\H|GAIXd?k8ӣT~&q!܇ ﳓI2(.lPtQqxޤiQf zK>0Qt_Uv$yF=Nf<; HaӾ,hldPsvPKA^WC\%` +,L#yKÔgg"ܤ^'H(kx"8{8અww{q'(`:=\LߠIN|PjЉ/8q#ѯ $>~ M?L endstream endobj 413 0 obj << /Type /Page /Contents 414 0 R /Resources 412 0 R /MediaBox [0 0 612 792] /Parent 394 0 R >> endobj 415 0 obj << /D [413 0 R /XYZ 90 720 null] >> endobj 412 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F31 64 0 R /F58 76 0 R >> /ProcSet [ /PDF /Text ] >> endobj 416 0 obj [795.8] endobj 417 0 obj [524.7 472.2 472.2 524.7 472.2 314.8 472.2 524.7 314.8 314.8 472.2 262.3 839.5 577.2 524.7 524.7 472.2 432.9 419.8 341.1 550.9] endobj 418 0 obj [500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6] endobj 419 0 obj [599.5 571 571 856.5 856.5 285.5 314 513.9 513.9 513.9 513.9 513.9 770.7 456.8 513.9 742.3 799.4 513.9 927.8 1042 799.4 285.5 285.5 513.9 856.5 513.9 856.5 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.5 571 513.9 571 542.4 402 405.4 399.7 571 542.4 742.3 542.4 542.4 456.8] endobj 420 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 421 0 obj [569.5 569.5 569.5] endobj 422 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 423 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 424 0 obj [555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 755.6 444.4 559.7 722.2 777.8 500 905.6 1016.7 777.8 277.8 305.6 544.4 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 305.6 777.8 472.2 472.2 777.8 755.6 711.1 722.2 766.7 655.6 627.8 786.1 783.3 397.2 516.7 783.3 600 950 783.3 750 683.3 750 759.7 555.6 694.4 769.4 755.6 1033.3 755.6 755.6 611.1 280 544.4 280 500 277.8 277.8 486.1 555.6 444.4 555.6 466.7 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 427.8 394.4 390.3 555.6 527.8 722.2 527.8 527.8] endobj 425 0 obj [613.3 562.2 587.8 881.7 894.4 306.7 332.2 511.1 511.1 511.1 511.1 511.1 831.3 460 536.7 715.6 715.6 511.1 882.8 985 766.7 255.6 306.7 514.4 817.8 769.1 817.8 766.7 306.7 408.9 408.9 511.1 766.7 306.7 357.8 306.7 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 306.7 306.7 306.7 766.7 511.1 511.1 766.7 743.3 703.9 715.6 755 678.3 652.8 773.6 743.3 385.6 525 768.9 627.2 896.7 743.3 766.7 678.3 766.7 729.4 562.2 715.6 743.3 743.3 998.9 743.3 743.3 613.3 306.7 514.4 306.7 511.1 306.7 306.7 511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.6 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.4 463.9 485.6 408.9] endobj 426 0 obj [272] endobj 427 0 obj [544 544 816 816 272 299.2 489.6 489.6 489.6 489.6 489.6 734 435.2 489.6 707.2 761.6 489.6 883.8 992.6 761.6 272 272 489.6 816 489.6 816 761.6 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 272 761.6 462.4 462.4 761.6 734 693.4 707.2 747.8 666.2 639 768.3 734 353.2 503 761.2 611.8 897.2 734 761.6 666.2 761.6 720.6 544 707.2 734 734 1006 734 734 598.4 272 489.6 272 489.6 272 272 489.6 544 435.2 544 435.2 299.2 489.6 544 272 299.2 516.8 272 816 544 489.6 544 516.8 380.8 386.2 380.8 544 516.8 707.2 516.8 516.8] endobj 428 0 obj [1000 500 500] endobj 429 0 obj [583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8 444.4 500 1000] endobj 430 0 obj [656.3 625 625 937.5 937.5 312.5 343.7 562.5 562.5 562.5 562.5 562.5 849.5 500 574.1 812.5 875 562.5 1018.5 1143.5 875 312.5 342.6 581 937.5 562.5 937.5 875 312.5 437.5 437.5 562.5 875 312.5 375 312.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 342.6 875 531.3 531.3 875 849.5 799.8 812.5 862.3 738.4 707.2 884.3 879.6 419 581 880.8 675.9 1067.1 879.6 844.9 768.5 844.9 839.1 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 581 312.5 562.5 312.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.7 312.5 937.5 625 562.5 625 593.7 459.5 443.8 437.5 625 593.7 812.5 593.7 593.7] endobj 431 0 obj << /Length1 2150 /Length2 14848 /Length3 0 /Length 16118 /Filter /FlateDecode >> stream xڍP[ӆ 08m=8w ݂;aW)`^^y %Uza3{ =3@T^ Ă@Arی@trA hn3vyȸY<̜A.3 hK0@/e 5K.N@d s~jgt'Jvrg`f`o+Ʀv ; 9Pcppۙhlldclw aes6u9838lWS3ڹ8#U h~잌Yk;{w;9/fv GWؿ]Ml@;'3zZ2^ww@_9 33 d0ZD723鯟~o/3{;?/(wMDMgag03|a{UQ/ nn 'fPe O13b<oEk[,ۂl<ʮ.c!o>vUQ1k.!lgaC9K̀76} ]/ `0 eqEQqKLF? `C,F? `CF?OSCK\{?Aл>?]g/q={h 4/ۼ,]'? /c]?]EYz:XJKzh0Ks5bg4wce_g  {N(g-OZm-]?s{ߥߣ7T:kq>rl@aiޔ7Ī6Z~wbW3S lʧYANw)C=hԷBįu-Iʭ>/ *SE?~ҫ :hZC6wP9r(`>Izue4l~Wy;,iXY|9\Rz"8 ۻ܉7bZߓXbo_,qs^kXtp o1F(ERepJb6r8#?.%j):gubw庛f:hN((yRI'U f_ɈThۻ?vw2>JO^#5Pt??s.SBMb*Y7*~k6(}y Βs=;Fdlob&JE jsQRߏoa. q͠\,C:EgV}0f 74Qa݌5졪"DφR2iv |BnJ/\={`ݶU+3Xɲ$+ڄXGIRH9.{dn KjD@y3l!M;Зtg jQ{ُ'P ǿ|/ ա3#C =ߍ\" BXzH=Lp;0)Nvrj1N:%$`58GNܰ|4Q} γWC8`^1]2+qǙ7NJ͍7ihr>o/p*4һ_Trs&><M3Cn.{O36܂՝|8a#gO4?F1N(8('}zԲYc7̖n}0;5?[Fj4ki;ۚ#Dʀ]|3J(LıM{c(D)᎓їAnkeL{l[hOQ{aV(oLk!>j Oߑ+ 4 ͨ k-oI*Ox"k=>pȍx]}JTbA2hF]G_?>v;wcif QUd,$s&|!] /sP]3Ilzin -]αd%8^ԥUiSKtsoft~=_>m#99Ncsi&[^H͖C{2*ږT5RzgҜמWk|Md˝e Ҧ`VlS0Z" 9o#Zھ5=8űB hf;mDϨj1J~0g$ۼ5઴>Nwc8KFPucDDoiFфt49|]5lf&Gk;.Hg T~sl8r>3ANI %ԥYz¡Ͳyp[P,ūݑI#zɠ'BDLh,mCΪΧ 05w]L*?~aniA KWJ=Ƕ7Qvfimz˴{=]ۄ;^w4@ORQ2+ vVn@WTZJ+}Xei=OA>\HBԒ.-kvFpH[7m[ #<(sQ5cm{^X=}vfI*sc?r(/C<Y~ǷzWc{yS_L89rk~(V(kc]7ʚX7JRscC'FyjC69'=w)C9Yo&Q=F.x̛`лw!NKMX$n'%R)|>t=Oa=2/zY1ŭr}zדVy1򪮼8^5'@C*eb%[Kb"1X|eqi=}ҋGz, {ti0}03~J Ged"?ډZڸXf_6_&uW9 >@K~w2ggٿ.*g\1 <}Lfu̪xCa6" wdN&3שfso OY_hLYy#*)RW*0gc Pww8>7'44F[UI#yA.lI_W?p&s]q Y\ D81YlD ~@:^pO _L.O(]5Q2M>B4nQS}ax),:I ~}? j-DE\u?)5RʝO "p!Q0M{!ʑg*sob'U\07n)bg1wcIoz'qg<<9d6*_͈j5VYu~+ifJɧ8a&]HT)h}F@~T&yW]S.GdĒLjQ s[\Q=yď Rt(W4sƇ_ZaZ/k\3睟]1Ҽ3AR艄0j =OxjeVh_P]#02Y> X,'ɟާ9n\/P1DW6ޜmc# b:]sl8%8ٯڮ4 :w3Ï`>>DJcp- œu7R= > V$Ӹ'j"75P*{c'2T`R7$վo K:BeWy < CW;`뇋c W^9 &'K\?>5a4IAԼR]O$s;c"7$zcfytr»ipݬ߅ک b# Aܒ^kH>`E)sTVwk$@ ƩEU,XOU0^i5eQJ @4488> c#xDa.+u R9EKbqЧ0gP $}rd4qRz8e%H6w6rÎK.XnoF}60Lk5G Rã䳏uIN2H533[{e:,U.h>Uc^1sRͷ v ˧!$ ̥87:,rxSvqw)[X̌ѹTAc"{ VxëimC&U7 U-fhYF%HZ2r3r"~qg$Lw!2wm0Cpͅ/\҃1ᑆF3{gQ`߷ 4Q\%t¾bCqOE#{O&Iy>t2S23k~a=ңP U#֖Lf^sw,AbNWD=NY}!WF)i/xuq<'J.ռ(NiUAgt?#TprLc DptoEQ OGT^ C,Q%h{wfԷA% ,{T#E#DJ!j7"ʠ:J.WKM;+ꎱ/B !AmrVT[v=dcG hV@0* XJ\`j;-EKsO!iN.pD˸[fx AKs4ϰo1zy~# MlŇ}e\Fi-ɝ&_VFPmNS )j!p(~|;}VMW*ZU3*YmE`?R{ߥkwƳ;HWND~΁`}7|躂Fi^>wcv`:`3twxz,8Kǫo`Z34dWw\p:^x9Vg] E)ת7;F@p^DC/Y2 83][Str*!-<D흥͔a^0?1ޙ6}h &jɟ, "\kvպ#C4Z~̜!t%+drx$O3NEȓH@)0խgJb8Sri jli{H hJF*qswndPN>lP|x%>-}A[8)*4GeA׽@t L?[1w) F8a!`X \j%YUt!mZ2y%ękݟÍ}{xѣET>|.tVxAF>7 $7 kIM-(3Vu5kM\,Q5!9auJTKЈC d=z(AtAl5.QchKZ\@SO+`8}6|gF}a.ZjJNLbҍ(4։i Xء0[Zە#Jɨ~ z:byx Pʮ65W}MC:װrH0q L'&9b0x;}c g\?5t\A;ZNL#MyGst_D4bas.~)#b#rE ę%g!6S}ˆSr0ajt:*fc^;hFgl3dƥąc}upTl v_+ !?:]D 6Ib[|>,^=&{RF,w%I&/}/Y&m:ſ6ܶ|փ, )rvy- J#צua _L+=qZd0R7 ^ȼR޳(Q|2wkXijmFL"Oa1z}0`}i]mdJ~7[|*:5h_q N(3ÉZ#f\ho ! )Ff+$XC]䧴%j< *Arlpo%$v & 3Ȁ/ E7Φʆ6&r81Bg)z~Xb\SS5~Nr 0'qPi)8r`-@FD?%[bG &ingy[#l(L3$rYjDA{q8&V/n$bGP.<'J^j{oS yN֎n*_JG1#*[+RzQK`ʀĶ GJ9N٢Уڑs6SR|ýx|DE-߸ImfEO{ T 3OFćvŸZ8)qV7F98kߖr)?%3p#=l+$ې#XZF@j]a;Z7ξxޜY{5^L5@TMTsœ7A1G YSk]鶆,Qf TLl8Q8"Z[tȽ :$5zB??u0C!ǯ:wTח] ?@8s ]ن=1 @AL'e1.Rt>|c[?C焘 3fHku"X/VL [V A%Ǧ6yt2LPf2Wҟ+oeN5Qo9br?mH<:QW6:!1evUY/[b:7Ap0<؎4' ّU$zNxэ^9`8>"jҳXw%AB=1#Ut1}CϫKCwPz BwiO$2E>#f.a`oӒePI(7xP?+wWFg6ҼIClr*~޲B~.3Cq7dPcAr!Dށo:C\d> 5/U|B^%xV݉,U.LTws>2Y6n09-.pځp%ؼ"O@G6I<|4٧bli[^r{}fY.o<;ܼi|z \Xl UK^u|%!YM>V;$CFwRE D–V{oߐSF)?/&<Ȁ: dKz+ NN.iͻ4/^zITُ!/d~F /?Yj۰[2"'~v6Pi 4vHG/_2 o)HhY]:U!k+y3bc<'=b<:TuADBT;^e]rHЙuVc;\QM63`ݿmy>bw2$-emoVu=Fw KPEB te\ Fxbs1^:4$vqJQaqoz&_*H$_D WÅIE4,n:8_ycD / s*C|- 8ufTvioS,ARm.}g0U|+M <.׍jDΆVqڼ{Nf ɺM2k::i܈@jx)8%TQr5@7C$B>T|51V[\:f:^4rjÊQKX.e _ ѫQN4FLdJt`5c=v:Iو $WnXhPǁxᯂ5sKz*ǴU 8jRhkf~lf@.GkSd"LS(U=.e2NT Z@Yk1D*I[h(\#iS!Jz-8kWRCvք*#M1[f="8;2-{dMٶOeO: QK+AXi`e1R=I)sLEZ{~ڭ2rxo: WDZ<=so }])' :!_'ec%pYpl@}.ڄDTًV|\nJۃ:ТqZkp1%U i"CZ\GP1n>p2!0HBsÿIKnk2 Kqֿo>ho%7,|bؙN3yot'1^);E>CO!,v vBݏyp1U0:vxN([ZdHq YZƎt̕FO1ʀ08ڎmtNuOTh؋%9ww~&],ORX 蜝Vx#Z Pi d2)Rtp"^mW䥡($ޅk?l{ ]S.URSO;5n_@f?fO62qNʽ4 *r>Ezξ:}|AbهeNP۬8?@ST&47z/2Q?s0tޒ8DCЀKA c.+pIܻ͜T\$vLh~H˰ k}գ( TF`/w0;?h? \_~B(߱YkN!1ɕe y|T>wfht KZtx-%ckǕZ!.V`oH=@9D~ ?{߇rNEkq >(_f(TE!ᭆcTݯ7ȣG?2M< P0$?{'{q?~_!fQS Pq'AM2Ʉ!k7>JA-#V9l᱁ދuKϼ ?5k;?ϩ[`<9. !U˓PV:gN%Lxn6R*.a8`4w>FM,fm,XŁh? 4ִWD؄__Ә)r TqgG{Bv|*ؾ M׼-nuɭ<3ebΏyRQ.(!>Ff34PC;ظ.ȄEpftyGIAV۔%gmN :@k-ʅX, g7R$/FMZ4RICʹs1ˆ< aԜ z\@c4\|*&0hn-4\J0=o5)'ЂO ۉN3،_;]Os*s͖=820'riHݠ'hC\YbهzQ +9/}IHljݩ =#EB>LblqL֞- _?_=;D˾0]{^Ⲓ a`(;qb6] $L8wtoDyHzx2@77ݢI=*{86aNYph*>ul=7&c svI#!\cޝ_FhQȢɌƒwQ"2>2ݿV~>DB}ܙ%cfFM>n)B& =קt+ONHtBZX[*;ba}JchTəu*URB\ C'b^/\xasciӓ~)؆[ҏ~#]]< D"ŶGU)KiTre^JF1.T^TSݦb(^␲5iփ+o b7gk'v`ոp2X?1iˋf$ )Z4K K-Bh*  1GD80EmljO6*͛T-`Eui6MP(%XP &q=ŴH/ЩHx]r|IC$rHS>C@0XsV.Y\ Cbpv=>d:aPxAŒr0l6}NWn3I֦cb بnfwy87I o,I(`eXIѐ㊦JXjrnS04yaA">hT[*=C= qfPkǹi6F=րa m? U"WzY oؔ%ȀaB^0G<~"l2K)P-OH@(4啯6ۚHiZy1r_kU) ^P %]3׶ E$zij;#r e 9{bm{AGz !vʠ6#Iv?X8LǨpW/ FW c}!G4Զ& I9"ƒeد!e,iѓ%!mV4^T yO'gbx{V}bvg^toK|G@Kb5R 2Ao3f3p܍z-+xjbd7d|6ggۄ㫳zpĮ]8lXrzu*Uھog|@Y/[˄&RGEuW[%tϜ 2W*9@8unk^OTu;+?R̜4!`1$օ[>6C&{p "A?^;FsGdzpd,{noIT'NjDj/^WN",g^$N{Oվv("6`=ڋb~q}@iTrl@l5d. v Z z3sc~Ae/ΑB୾};UUFR苀^b ~kdx hAӕF M띀PWl xB,kzKա^tE>mȜie ʫqk[bOUr,"~]WpaAfVS.0WJ)rŔKqnfg-:ڮ׾wScgPERVQ;mWioOUpt "9,g\H/v>LA)]ltv`(7X+<9taGG f*à>C^ٔ+Li;2 ;v`Mg{nju,&e>g6?j P6|V,vr[O~jsHm!"Xx׊WI5ٶi6s!VNI:NKۈ_4gRH8)$P /Ja}wZW4M q3ԇ]QUs}t!s2-bIό@ rd%b[,Gцes%LU SX磟70Xx:(^h 蛄y쪃M\\v`cSʓT _K~C,{.nY{% Z{rL[ >syVg)3Aݪ<_5FZ|7x#cJbs[#G oB^vG[ Fɧv{;Kj+#Eru/ڞ!'̽"c#Ҽj+yU2WǢYC!)1>݌rX$3TrR QbgǬ[7Kso/rrlͦj?EgWyB9Oj!s֑Q )3 x̞,GkF@Y0A2  A(s޽k댗)s"ϪbwvR.,+b8L]Fңg*K@*Im-P>a7r3slY2T_d&-"Wkse_jUs`+C*o cdN 6OP8G X;ko8PWC5:ӨKpc6^ OdFflxvA0ѕ7=LVilq[#PI6s)7Y\УTHPfl|E~2[V'nRtLp7לFN~_Ŧs`{ęq_:jvv mE?DCOx0r 0 UUkNhe VhjU+09m( 1x̩őo/xz`)S7L{=od_ &4T!^5pEQ^7FMN~LZE\/mwYŝ] ;#=>WJ^0oPW`Uӎ~a#. /lVh~I'xS @R\&I*d W`-wD3p/o #\rxe㸉 " !ILۺM|(qL,_'߰tw&w4Z/z\o4IYq8K1U> H0ڱ g"W*3r)+Xi|ǭU~ݭq_9"m*( *Ȫْ'cGoL6 B|a j+ 7TBZQ&on* R1.vp`ceQam{-P\cx9")VZ: ;.5ߙUW:1^\{Fg0 1(Ds (@E# |<RȫkԳv)r:`H}6*gͭ}7u÷`Xg:=l d ϋqէ%k{$s^ocpc]afWx@LıV#|aty: ЁҍV`T0 i8qhBd?F{w ƒ?x_*'嬔xm Pgf"1Z!kĞ%d'%@`y %KӎH QTkܝ;h<֏fA"+8jǴqq鋴"rx˴Wh,2Щ\ YHn43A22*o|.2*L]`akun@ێ endstream endobj 432 0 obj << /Type /FontDescriptor /FontName /ZNSBUC+CMB10 /Flags 4 /FontBBox [-62 -250 1011 750] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 108 /XHeight 444 /CharSet (/A/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/V/W/a/asterisk/b/c/colon/d/e/f/fi/g/h/hyphen/i/j/l/m/n/o/p/parenleft/parenright/q/r/s/semicolon/slash/t/u/v/w/x/y) /FontFile 431 0 R >> endobj 433 0 obj << /Length1 2335 /Length2 17231 /Length3 0 /Length 18586 /Filter /FlateDecode >> stream xڌPBp޸Cwwwܝ< p99{UUMk$j "f&@I{;Ff^6 +BbB ]&nn`ouX8yYx<1w Y{;3<=Mi,<<\DlN Sc;%= @t..LLƶΌN4w%@ tr P4#<@/.]\̀N5y_29F_@v;:y,  @IRÅ`lg1ҍ"*wlrpqftő0m3ڹ8U8 hwO?dgf 3W& ;+PF6"?2 t=L-J[d|l8}_0L ;?@;<z` 7#fRSӒ7*EE= lV qہ[l wu"ؙxE{!͠7>_o"IW2ۂl?=O鿈=AzϠw{v?=]]gLL8u6/d/Uk4RcK`G?XkYz:Xa.76Gxw{l?[u|g,;Iǻ{ :;[#{?yј\,;Cw8p|?;E =j]N?πO14_^7 鼯wgؙAFBSt+2ҏ-A}#B}ޞlYuf~iTёH7B8u]G@k6Y32ӧ҆ ՕS@2q3J6HYF,9B4u\c&'jܯAC92[tn- F4^k.~Looj)2Sk)u"A͉]8+)U tyym.lN |q%t~5P@#/jY74;,>ާ<mXJ ;lKv'=mbw`#0H 3Xn8_*3u828~e4zFgwŻX1bZ%X%9֖jؔ3Ihcm^8$og|s6Y\cdJgʯ̪^dp>Q]/}uLŦZ_ӆ^p˸GUS#O@.d<;'L^4Ĩt/}˳V 莼80zpxжM ݴ۽%ɚ 5}sZ+rM5O Z]X0?%y$3Τb/ ރ9XC/N7V)mv w M枈lºqNSP˭b\y~^:D4s!EIqj+B EÏU~yh 6"Iyk|a%ovS`v`ٓ: 4`dqNpQq? KUVk@`J2`MͅCaL>Lf9ե_ԭ<_RO&+_dEpN~)q5ҦxC̓WmƱ_^NQ[,VH6Ei@;=:yنunWAa6UqhI7gH̯akZY:K/S#ck76IeMНkp$UԼFGӑnsqV1_ nΊiz~%+XP|NA(Ko'E|Į,ni/ jC.=KQż'' ':ʤpXfl$۔dkT4l sl)e^cv%(#<I/2@J@V,8V&@V )Yi4 ە<`B8Y^xk^nP?(xR^ Q&%Tl)x>Q^Y6^/؊,߹,-$1,'h5.z܂m )G'>s%)Zo82X:,mcstU,$UIjvE߶bPi sA$QDZ4[Y\+/“V6$nIn[Ə⥫o(?ǬxqKkU^sR,܋X?E1G/_WO Kݤ\9r? N:.TD{_^&}!g# `_M#O(܇KгgrTܯ0nZSz9"S\_UGz\%s>ZY#1$<z'PP&][ݽ+Y~\?H!5-IwW}y',&oΝ롵qG?67{Hhքk!1chA%xJo;BV ^"H:!^%jIIiq2I5D"?O~H/ĆֻzIfLr%M602ZmRʔ.ӰJV/d=O~$M3!Twǟi.rxU͘Q#ڼ*Ho(1&$Aߦ$@e-=f"ve %wV[]Mxt7Ib, yt/SyÀ:lwҘHh}u;4og[*w!V{oƻRQײG2NNo |ȉ}>m\lv:sDy&y0Jі4+Cֈ-*6%)d4w+Db/O yV>4\^$mx>WmU7Khk"؜Sx@Y4ΡZq!a&&Zۈ՟y"RLS5kKf)1a({V`]:vd BKr3i=+uHû=ްijv|G(kqٱmtQ2&?:YV\{=Ł<*m~"v[i6 ;x뷴p@R;pc\hrУΐ> ӈ駖SL^lŒsX|+l?LyoG}0YKrh^/E5Y_V9CM hfէt!D0⃠ex( Haiµ9,!gQ)bYܠYV-܄9o?c^5)^Yl)ua,wz)jwɗmعw"zaKGbSZ(`!eCsy)/xyUe?g?呀dw<=Pf 0]o؁5b'cCTͺp}Ff~ &rZsGy^aѣa2i)n`^զvaX/hތWnB"T&iS4Ah$v&Y>9_Wu^ >ci\gHF2v`qor}+rb\ 9TI;ݮb,!!=>KH | XjO fbi*u0MAPc+TAy[NE/lsDP(\ +C,wRw^uu|gڨ }m;zoV%n&dQ6ʑ02|-N@1?JPpBAo=_sa%\_d~-v +p1 F nIp"nz$fT,%Mg֭J&[Ds J| n9`6u׵oڠZJ'zŨf\ Xa< mJˉ΄%Ǎ9I:p$/gH1ovӼHtY-(h iBM\/X]Ih.P h?Fd_(ߐ6 kKkM}Wpw&DU o9"@EƧ8>o~%\dQ ?mj `{\n=W-d(ovꐮ;rN]\y-Zig]OҌiI34דƬY c8,X祴#~l&\>6fnw OLj^eɼS8K[/#J48́gHٓԍ,aIov\H.mnwՒ*kj1XI-ʖj0X+nm/pJFNûsίIȡ}[ͤgG~UOaMp`< R~tƓ]Laԍo=?ޜx*,[w f)W<Ҷ\=.TLSJ_"5NT_#ay"C4Whˤm|e?$ev#OPIROA$>cΡHOKyLKޓƤFJNlkfm 3;H2>t&1&x<ت}n4_UV0sHmJhw/,.gXbnl twKSw9ߺIe6[KY=,aa*j # Lݜ69"ڽ~g5٢tN:R)"]DŽ/^e`k XLB\. lHp@K6ñ甪>H|}o>3ă!0U"^N Go Vɵ(R2phTC \dp,CtN}sHXiG0lfҜ< ;q.B)Ώ]pP!Q:19 >:UY=٫OS.l $md6'ŀJmZDͲ2$:lbc]X-I_:[3CW !_W}Z\)D,o8LG CP ^6 r%gs})A<1UIk[QBZ:f"$/W4[\!OtŌ=SRvһ~ܿV xJ?ܜKcG[ 2naY56_ G@+8?AS۫yuȘ\wU2QN4JrZ2V."<ϯz}>÷-.[6_e/(y+ҙIO FlB 2cռ"06'_퓌In>8=8_fu4@w *|HRf635XVnxV"P;'tX6keJ3?TsL02ljغ 5}oVB]g NԄm>{Dj:T۵6&kܮyda1O׵,yIao{ZS2'Q'Aqɘaydu%(< tVSAE眡%/+F\cM-=tPܠkmJc<:`;ZWus ]دo@\]a֊hClr[Igf:A%@x1ԄJOg%f)W&%z[ׇ~]L\V#29kw]Sv\T-Yv!l"k$h.+:ԮMhn-9NzxȻQi:%rj jGyf'9X\84f@<5 YVRf90qk,шiWAx <|]f=/jv), Lǝ!bο/(d{< ?veUZabO֫ܓץs'F̋˘83<~y#@Bd@D-c3sseƋϼU2E{R|ڒbg=˝ v9ڻ R$ɓۥ7jvs:½Jx9SHtFuÅDA?oJcv4֙Jp"mvg9<"hE1ga,J ۏGe*741 {O>*2I (%~]3up#f5yA֍1v6/ N|VVq`~Qx+1FWV( gð:iR%ooz+A\n,dÀCZ ޔhX0Ra) ~e=TX1Ś,$Bnu3:Qg#{lUsG:1{b}jKq";ٗKEzr rABF?lp`Z3ύ |T>F ǧFg$ nډp_ˈOLqgrJỴ8i{gC',Ek!8y_V8A#]x)vp@DY*=QB_vH[̾ei}qrF;KǴ!cvsރN~@(?JȢQS:*fގHQmjhg^r)ңqprpETXїiaD$..o:;oyIԵ拥sf弙9|+ }ADJ\@>3cArmaQ#+NMt{X=HO`_Ŵgqٰ(p`5fL*UW'Ve)@4']k>Uc&S]- R8:%1Bk$C=lՉP=}b,JAp!*b3l5Sa MO^pd:a wV4g]ϐ٧#$T~6HR*>}if">%5/#3yw<- Oݐd.z-_\J5(8>W;A\ڃ(N- i0vhƍ~ +:s xڌh- !;w 7lȗ`c{JH95q[_i./*>~+?n)pQNAB|Se'Rt7\hr3Ow ,SһD. (oWoIx7ge"::E'i~%m_;pWQ21 l;#n@vC}Թ$Y7죅[L^QbYy/LQ:T} z&*S2S IrӒh 5G86!t׍־lR†_޸y{Q(cřwEUQSTvobhFBb⸳ ~b=D×8t]>pa#?Я@$7\O|ݖTQH9A?"(dR,DK ̞6XT3tex7TعHGL^\ nRr(C&K?{T9:y" (qFȶܚ{++Q5׈Y[sp~OTJ?*}aڎzF+\aâ̈́]Cمtk qo U.sSh=ʼnIMJ#+KKo~ZG칳ϐ2?e4`( f1P􀩠5#;@.?Ϭb#7FSd \a wt߭Dk6U&bC3$oa $DX᜚]y$-%u+',gD: SGu^'NduxBsJ{bE$>j'kۊg2Oі }4Ѧ6Ml{ߙgx4iC NI vÏwt#mU?L4ɛ.%| i2#6BON1mOq>lO*[=oaنl]0Јm΀@$d;Ә=؆`P54=J ayX'kEg0Bae*3oȦ(z&6 ߔ /GR}Þs) MFG;OĶiv"Q:k/NRA8yx P֓Zڸ9 ŋJӓW% z<,'֊u !ȴkZ\ |(YF-^jynD{o *w,] 342aH.9aU,r̒{jVzpb,0tLٌQ@ NRY%ɴi0n%Ùl ̧񝐎kס:j|IKų2,,k4C;=ǑZx醯盛~!$f\A{eWܚL66WT frzQX*eʷW ~0siT9'Vk_=r$g5yiB[2x\,H[ޭŧ{%*8z5~5CL*6ͤTcg[T?[CBxv٭Ko]P9]vm--wv7tUBC˓ޘR\*vzmxJpiu'N##[H(" 8F gzg61q~4tGZtBE}Y(#x˗#R;}dĵ1>mpbC/R̘:z-\ \'u*3Q{_4Kȡzv]bhnIJ4K">l&G5ˤrc)26!(X˻_XJP 8q$(8w C==sg]ofsGbʓs)g50}r`^jʌiA\M(xD̺HA j޶wR#L`3y> Z/3OqkHb3=񄇥5vuDoʵaGwC&:L.mp1zdծ"{Rq{>g a'03*P[SWY";¯||:ןw8N&è`C^ke4LñgO/Y u'qf~w+'GNΣ2Yv#(鋥N,fWLF0=cQrG#9V*qU0|z W]xƏKDoMKZIS-ŬT‚/Bƾ|['ȯee_)Ƨ؇<ɰuӐ)ȯ@,2k8K+)J3GeT 2:ͭphTx [S(lcu!1{x)g/(z.`qd8]r-J[7_GHaS(–2 ɪF dN9}z' R Jrl7y ~x1mtrU5/*aÚȟZoa)r9hxA2uz[C$-qR$ti(8[J#¨ 4ѩ<1\ c8 ڱNy|@~MH=C|Œ; CfqZ٬DM5GN^(Vc@%>+|avb5ʂLbǨhH{aQĸ_`*akfkeEc4g1+0s 9rЏҫt{+wB"ej 5"M[2H'gNFGZE3D'yV5knC$Ɯ)V?:htdtd"?GOP+}Ϗjs#Emx7h\S h[4Nz!xxe;˦V#V pD_MݓB|{+"҉IHϡjrr%j6^) ˩Z-7fF}G}6ht5s.Ȏ0j,i+Ѧ$?k )(Q&R?B맏ANR7/YorlIQ|CvTބiF(>DX_SmG8iU: }쒾\1h;$͔Tx둻vAhMSc)_q7vd=5sk}䯽!,sT{3}$}h}ו ^(B[5]"-}2Ni.YXܑJ(* K6СMXc@cZ =I-iV=tHS,C2MRu\*5k" //xk/6F NqcNNLXG mUY@Y.IfX$`Q ǎ<!D.]d&swX oLCUVYo-")R=T, 0[,(eX)P zb3@8 ^Õ:0d c%ӗ\4 G(%xqd r *y|m2,a=p\-|CVx-o *,5gز,p;1 `t !*K(-07[\0 A.cޖ*aDEPvq́ܽ/\ ]D}8 p .kXvLQX7hxfC"^{wͨD]5Oe]`Wa:n65_ $]u1Z Di Kr$,9sC)JA xi"-Sm"mE)3o֣a lс%*Ɇ*jXs`1A{ sjn04صT NjOfc/mD\>khzsnѕtZ"ŝ~I\j"[2Y@i QF,Ԓ#%ăm?N{AO-|Af+J)[9ߌ]!D"xYqɛM0Sn}ZS=l[ )5+uU pg,)K605ϸ ϭ,!qC5|}n]MS#47ije! NTߢ_9^]׍_q.zx4 aѢ6P(2^NjcQ3CBǒL,$1r'{_å‰E_-|f$'mT08n1WT'~QPFCe^-d6[jR6l$%|noՉj>M1{9%OQ!1=Pݮ54_FU"%1t,a٢sq)FO$s~vwq({~0\yT}aRLܒc$y%{ +)xiW{e֮QHcSRjfg zA$hgndBhQ336q{K <{lhVNJgc̸:Yty q<yaviiwb|?1Xf~h1s  aTqH6*I0ܽyT,nhz\t}ݪRb_r4 u +?O[[6y#;+qjU RN;%;exLc EW9 2.T )[S~=ML2}>OQ=Imߨ`x@A :xOU%(|cdx4-)S s` csg$ZmyJ,8[nYv'ycFJ O˄}P0\䛴'|R &ejnUɴ3Q}uMH~a!1'KN.< hɤUғhWB}yvßfs7) ԺIEJb^I"YF;Z8z2E&ф@S25ϑ޽yT;eE[wNl:ql<F2D j\a;@Z:" %re,sKu)TR$)ؾ6F`1/,+Ί©{c;|A_9_'xJ8xݣ;s%HF0I]oS8+nn2bڍWZK__%e˞&ܻ!ù%X gWa(?њ~aFGPW~чd# |~ RA X w$-u־BAOC[+Ն_y_%OBIo)WUmgi]^2uOpb)nٲՍFL;OC<=(mNG5YzH>L3W箄n7;er3,GPĀY#f/7s"|^9&:; l/IIyaD/~-}53eNqN|%Vumq hZ -clP4Hz[DpA?m,~v928=4t9?e;'SD3q&w#ayxj01ˏ#wBZ}ƧwĬBV0cţlKK{ϒՋxL/WىD/Is'RIp48Rs;]G˪k\R+/lfjGw gڍvHZAP16JB zzX[ues|RV3Y1'59v4 Q%t ze43mOsˣ h.9,kNaާ"B/5:> endobj 435 0 obj << /Length1 1420 /Length2 5888 /Length3 0 /Length 6852 /Filter /FlateDecode >> stream xڍuTk-("DAJД7iRwA$$AH 7{"M84A(H^Dz|?߽kݻV̞g? '!"mSEp !i}mmu0PHHD@HHi80X$%100S@m4 lA i!!@4F vAB@ 4 pG;cpG Tta0 !`= Ap*%]]]X4.tE@qA?)u?@#;`Ź10 aPX|3 ݁Z@]G7X7r Y @`;"a@]U-FAX4>Fڃm_GU`8 œ07Bg#wGد Ӏy#ma'00oP$(?no? h.('K h?_#TS12C?A%%Г_Ł Ws:*l:Yo&.gon GBbB{ ~S}"Ug{_q߀#v@ڻA/6"~o6 tv:_E/t~o?tA8ⷘ=Cc?_<,!wrg;k?m~} b@0v%Ā Ban4@q 7$P?4g (-? G@ }W Y:T1LO,VRkQr13P]? 7ϱGl#7M 1zLPx! UcwnJh54Vifz1g6Z;90",Q'MSZN1=EmG0REQYjéB*O5 Y hsi-دڥ!b7rRhcl!gPiUѐA+= Zp{!J|~P4 Kz10ɂPgq];W%ʺet%5I#ce8ZhgXY46Uo돁<>[TW_t%Ƌ NϤJ$`mEy ZF!H3Ү `B/I8(+/YX6Y']u-ʣ7|{dѡbmu}F^ ]mޤf=QR;k;ל(szH2=te+asbhGKU>Xz|ߴs Ur0ot,XّHT3Jp)+3Yu-̖!^bJO"R0^'(dX"6zLhf,A6Kբ1s˒i7}g+< 8(dMǬM0:&j92%b<.` s Ff/cW2OLr.% %t7wd :6J>זI.EK6Oa(iGeKwJ-cThvk0z 3a(.zYbyIuE#K-ç+=U'e0LI5M?}h2 qvzjK Xp+N?kEsr Ҥ>nZ=I >amҏtk&* `cD+Y׆r$qO'OHt/8&K. ^m1vT5/Yky_IZޖdŤB1O$$Fypq|GoW̑ XZf}Xs`g\Ʃ~㙄󦦚s=O*jinXl;Da<&srRףD!uyNtdAZۆt - J-Ğ)FDEҩ8<}ɛUD>OR7nlx*:]Lj&ɇq_Upq ԭKGO-k,pBt_PrdQ[d؎j'|TBzPmH.j6r8 P>[OʥNn|C- ʃ K=NsWI{Z>yBHAXO5$Ci!{wyg1ߦ-?V3vv'MkH Tй;бMj={'s`{k#RlsWs7`1mBpX'z{4DtB^Yz㧘c*ZZHc :Ah (fvOGnP%$V*xp$IM g{_A-كu; -McG}TOUzG=& w0e4C\J9.t vZشfPh7N:] h 1 07sג.芩/KYh놮[ Y(\^3)rɸB眂&C}rRЇg j8N6BhbV}&ߺ{ ܯ'\،#I̞PJ?׆aN_ .X.)Sh~!˴BbՌ= L_l.A`qΗkRP6t6T|%.y}D_1ڞ0Wz)hæk[} &yA2EJriQUvGcԟH :a:uF; gxqex DPNnZe˄ ޝǑ<9^ڡС[0۞#FӯpA*N҈o#"4xP+k%ikbT=ޏ,I8N 0f录:-BQb ņ!:$M,n :DSYgR~^` Es]\ —nn"1o-""ȟ( xs)1%=Ͽ( b/:=a[FCo#I#͹hڠWkn!Xʞ=vS7@fRi&Gbجg^TٰB9q#U=Ɍmb0zn%1Ɖ{V?0Ad7 ԖӒJ)nO?ӠDBIpW/{l)vpee;r]P|>8#4(v#x@ N7K{q>\O$5(#mH9Lt(Βsh2F$d®Vٕx}I cZabyMWpӳ![d`IJUΪo2aʩ^$ `͢kOmeLѶ-1ڙnbM@nK6+!n&!et%Ww] <=9~%VzNvbܼ+mydƆ˫wy&9o|VGrgmN&!Z&${均)oXMtxKcd-Tw<tM%vW,lb ARC8(NW CӺD,|Xa`k|@2p3Aʘogo›GZJ9eD׌K6SYi.V: t.^ ?bdgm'%6ZxyrX`I=s:.K;i| K1CQTY7SbBUBaz;ESM WIftU& OvMh/\/of/ᵁ)O } bt\zA/J`Īa81y[-,UL%:T^ʿ “JQ%LlCci;^b> &qW"RC@SzֶG.YUOZ*Bvy+"}֊_VLr+NfC6LZ'[4VS<-?f $Ω@.SW (-o$X],eP^lě**]s7&amQ"L| ~ ~is^׭Pޜi>ڑ7cNY~FIZY՘' f5iv,/zּ/˾W>+$hg0rmJA=\D'.gǀ R<?.RW|o떰5 KJ8$8\> )]d6' |} FU"AMַIT(&*K%f\Odm y@ GXD! Qc>IEWPLskc-Ҿ7Y[+n>uy6n ' Su,gI].#u/}e_.d@$Z?l8<,%Tw[+q endstream endobj 436 0 obj << /Type /FontDescriptor /FontName /GPANTX+CMMI12 /Flags 4 /FontBBox [-31 -250 1026 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet (/period) /FontFile 435 0 R >> endobj 437 0 obj << /Length1 2758 /Length2 23631 /Length3 0 /Length 25147 /Filter /FlateDecode >> stream xڌP\  ҸKpwwƂ,hn33$[uoQm4$J f&@ {;Ff^ 3BBleo$3vd\m,lN^.^ff+33 xbnVfyFBԦ4.¶@'+Sc;%jojtOj~K^&&wwwFc[gF{' z%@ tr~ P0]#@oXAvf@'(9@UZXoz?0_r665u0󴲳[r..c;_6 c7c+c_̍cPldleD_a@]3ڹ8#'f4ݓɾw[ٙ*ՁI(- H[ftp033s%ӯj,Ġ |"V@ogc7 `fe0ZX!Ơ;YytA`'}zx6kLRJ rtWND ```Z2.+/?(mgnPW?kAA@c`6b|?(o IK6ʮ.5}@3+Wv1Ϳmr)YZC(Pс= _* Rrp=@!7 B̀6 0wB5QN/߈$qD#no`q1$~#o ߈ $d~#E7q@\~#7oF .ohF .o/q@~ƿ74q26}]~}I*@LE`6-w_d;B3{`D;.p򲰂m͌-XVO/A7 AAA7_75_]2xf` $jdA3?*=~Gځ=vd@Qqs,Hl\@ /)@q .@3dac? V֜dIe|an wPAMhG#=76GWnd<;nIڞšЙm*NYħ h()\i\RB8Z3IWbOtGl:k1^_Xtp !ч)EepfK z<g#ѧ,12fTYD5vո `ISJ)m4t"UĪj1pa{$a.zanB3Q BҶDp‘s[Qcm m]?5Sդ-ϒM(3:7C#_$(lo㦼\k^@̺Wpnvg4IH.xc57XMwEOebT=a>sb]xB׍_+QD]Y$3>Шq/VU.k kvbxdp|ۦB idv?ruTċyDӊpAMT/pJ ;3ȑ*sEu&WqlӻJg+!ڵW?F4ʁMq2MxeN l3[+>c(U:vKIO\Dzz;n$yէUOX;̫2_bݼ9WqgNَlxn!&edqh:q$zs9B*UyR#SZqKCΚn;px Ovh"Ѥ+Vf/n\)N"NWU|DlSu3l J͘G;C ;9f zM# 73B{܎$rfo?lh0Ez8&aε'?hr__Ygշ/ZT> J[؞Hֳ %{r/%Jq8T/)K'>Kzݕ맊ߢzn~TxRD @ʹNbA[Sv 5jNVT.P0ϧB>v&&0_we|Pg%Qc/>(,zeW=؎HM<m'O  2gѭCeya"'c/h13B;+yN[cpB,LY`ĉ lDdi(c=:˺_^F$`mI;e*Ps""4qPKVx+ŧ*M؅[$ ˾+e1}*5wySzsIgД}eDgw T32d×ZU2vS2)g!-F3q^.Pfm8^Ȩy͊|(+4"޻5!RY;\O?4blm,*;L&*Iʦٕ֟Yp>y65 b2쐽>uV}ӏA;+sB(+ rS)/C.-gB VB_~Pi@1FX[hʄMnlve{s,+ j~3~(w_Tt68'nǷea׊7£s&t҂ >%e4[|t\zxK{ XنKߒ%o4b-q2^ҝlΓ>\ y ԍS طTx@3:kHxL,^l?E{hx^/gy}M)vp@" v3S$Neפ-Z!Rf&Dv[ 6^!l*R6ׇ[4.PmTnuy'=%V9 Ng6]O3 L!O3p$đ8p~: GD;8vk&!Jf z7U#SrmPM(6o|}Ȩ{`Nn3,q "^7*U3,;Umz6K 8o!y1 }k[^[SUyH6DZŽx,77˫'ƺzVXE [whDu۴zjg~/Z9Y<ňi@Wd]3Kbxr(FI_5FjxeEޯq^\h)n)Ӧ4]rd aȢf|ؽ|FDc%"a+g%OM{6mB&iC /`U|r:( f7ҌSڗ^gTqo\\lDY)f' "ǼXDU X> TYe~'PO֓5l8d5>4]s+Rk:&]}zwJ`0$IG`$SpS%x{UMGDD懤°.',tC,˴?:xs䕴%Kx Jq#C8Wǩ2? fu5IYn:c9az,%#0v ,TU厾O\L"]HјoIxe55 mJ JQ&BƟ@1$ 65jz.+I<=[7y'0?{A'ʿ̄3&gmJ&UR;Nki?>76iwG ORXH8Tz!6o :riC-kƏ1l/{k ϻ>dHQĪ͵!ym D{R+m45í:\lŔfd %ڜZ 0 z~ߤxqFgˈN5)24oD˕FzFvޠJҕP2~Ņ)j e-zh a=ᣘ ݎy%9CIЩќ7I>r-i'S6sUm4+/[]O&еP Ůoxc̈`U ! .ho1i6 -7Fyt]_TwqydѺdKȷ-t7 <":{BIS'ZrIXPsoюEwt{'oN1ǽ^η'L=rы"tF"P&~ t>2&z&kB8gc~ĶoΩf4lڶ]sL*-7rNedOH]cbqGSY#Q] EQrrۀs``KS8m<̳+I[/-,b\$r0<ʾA<жB[ܼ jwƱHe^t9f_~xs[?%pD[p&eBt[,TYy=Uy~i8#|Qq2j?:IX)̢*r6Q"!ļmZ]'+ns}UWF '[ĭKye)>91Ӑv"RfTX5pnՃ^WX[ zzF5 і|Gټc 1if-bQ~^~=DsgD%_>VٛIOj9zϷS |i>*1@$))WT,e~>bKb!2kE&OL?s_O2 4V:< lfwdCr@CW,°*ЫQP#nT=8UxEUXfBb9Xe"\*8Q3=G&q1Q[Dmhh`W[BÜˋ:Q, H>TZ}aB(3҈ziK7OE<̾ؓzsXpl ^[C!J%?i>r>f>TY`D b9NY~Zh ؇XlM(AR+vGy, bas-7]Qo^6mZ)v;sӌnY\“LR-6Q=̠k ]!NzYbp$Lԧ :ݥ~-^EASc%UлZϤ]3ݙ{j[&=p0_iQ0_h"6C 0H* C)qRͤE1} E`sz \ =Gdʲ2.kn+EW IRucw/=ԎM ΍I)quTkoi0|@4/MJmg:Q_~BYx0!Ճ=S°נ/;%cz5@rnqĭ}"gYzlʞ~%ή,bh#LH *]fnF.)2If|1eDiP )XW[fw=bsࢍRlvC[CȖآH =`V>//:ՠp2vHʏDU7fD O2eZD ON꧇oP&`Fm Y70(G)qkE5Bԧⲷ-3AݺΕkaZ']Kj${%N|1@d| &2@$*ѵ CFOk?^P"Pg޻m&Uy^1[,Q{L>iզT'/<kTb4̸HN{o\嬳{#/ !1D+67ovY:SjW`mH:z5"k>8&i;d7tȂҼ:t0Rl'Y4N{SKLC#%.Cd6Yɝ񫼕 p m<5;F@nB-:]na4ÀڸS[̨IܽQhֻٛӅkvDctT^Z^I ](iHԚq6HHbSL<5Dě'S5v>xDN8.>\{4hjԓOQY\̺By+׋PQB~-!Q3 8n…̑ʫ um|Vu H(04 `r{{qh ~y!Tb3պƛ'm $hc5#@,5 P;|L}X𨕬:aj$Ǟk$x{|CŲՙ{LfAw(ʡ= #S^?hf;L}K}r) 0?/“L9b G =% J,7T;@7WR6#dxOW.D'no"-ˢ#<D+&H砄C ˹$`{hRHR90%A`.D{km3CHC07k@B-6E-AO _a,3A$d4ύ, ,oQ3ST:9g?(+jO&E ^f~Njdjg~IB~k`Pd&"(٥);,pS3>ba(IMbBNWKfO S+"j\"‚b6~x:K6@3mhⳲ3l,ՌNR _RN%krX*\\5b d.(5K#np#\ݵ3 3V;V6 ݔ;;eajeF`tBџUHl4Ps0L2EG-]}7|/ ; ǁGf^0Q5,.lrl!8dח'cOM 8D6~ gy"dӤ*`s0 u$3 -*B` "ꚥKfĎ^Is߇T(1; c|z0HANۘX"zJFF3$x K p/)/r#L n>|4$[Vt?kAFB)Yii4m˪ٻz u#ś3a KeO^qDDr/$v'1.%{'ĩr&żw=2&"*5ϯ EA5t☛JmfT{Z9.q$ *&(FO%Յ5lik?5}  ‰gJ+ݗgXFtSA:Tl \lo%Оtgm-^~bU&x )Ӽ]j]JNܒKj FLq#wx>/ BXc]k0 o<^65T Q } gZ= 4\3,Us@Eqڀϖ;+Z+[HAͧT{.OkHKp:LV-jN"$VѨEgO]?ivEZОm2 yh=:<:'l DGYc&)5rgx-YMv4{_hXǶ/WW`"Jڳ .& P Wmc츕!u3#%2 vNmݑ7~fgP?*)S [`.SLus۹⒬Te 5LB 26g/yw<tDx&ӄLk8V? 󿚲i يh{EpF@G?=a7K^KA`|R/v聴g/#`G%Ko1DYZ"M iܳ:/z]9hH=\= ?U.T-CMC0tqN?IS}$Bu^3++8u1㻈 h7յNe`ZWԻ)Esg-^b3|>Aaz}Mm֐YOe̢KLG)=j;rV_ݦn] ފLML-ehf)#0ݮUbk GdAVHa)0?΁K϶^J8^G%B~m* [|sXZ%KDbKio/@GRhu kGeizm(PE2Iwʨ:@#gC/koa7.~k1= jnK1aJ, /&|RH#WkoB˟ϯRVVC7~N YGl|?!MTIt'1+F(͉&Ɲ8T$u=]A}5l":‡ a>7AZ`fC{&mvx,ћyjxVFwoJy]窖Q40͆H+ȕw~ܦT7瞧F+\`5K~.EvY/ c[?ngE*TM=]Mn飿AvlVbX ICV<'vMN:K1!)F6@X^2+E RPi+b7uV#|=xW$wL'x q8=(xXm;8gF{u`(:ڌUhCB:Yϙ(q5RM0UGF^nޤt{&Z p`%qX8S4Z mG#ۉ>~~rܮO bf>K_ô‰RO,ZC4} _O(AlU%c*{=yQV}xiw3^^a:mz}gWǨ+[ӳtcF'WFڦ"{)y Ÿðg_!hYgFeoGi wWXyI`^F~TRfَ xjM$e_ת:GXPOhA3t7Ss*ϭڇ`Ǜu҅Cd-*ZM^1 SBYDqH͏VU~.:I)E-&XFuSyH-E0΅tPk%B)B,d+NRCQ"zU!F6t\rw Ԓ(H$2*I.3+ұblMxr8]kr%(Mse+, Lw.#\ C huʰZ TxSi8-iVF>t "$/$5=_|g6\DW;`b;"b!5}l= )S4,PZ9JsEٱ qQO.NZ;[_CjR(RN< pWፏQ> 7N3O[g7GLҿ/ %-J'57&:Ws0r[D&J%~zzDSc fk%?kbPwS>--ᶹWPA'XІAθm(62 Aub(5H!qLq0oFd i0oٓZE V~09z (/H09uqqz0oUl~ zp{AD0UQb2ƃTtky@>J/+l#w'RG=hg⤕1.Qseulx߈?$ .h>rlMUIqG(R#ŝ%n%@,Pu2͢)uu=UI_vqC{aҌXD&_r9DOfY@6&;vZ_)0K;4v1{쀌Ѐt\г'|))JKKԄt6I}K+w߁揭B5d ҷ{t ) LȺ5}?-GeFh$ T/[(έUM<+򵘯\}O譭 _Ο cRfTG*q.zu8 ގvEsטJ4aJll|}\[ %Az^P;|9Ȉ 7&-d h4A)7uq3or꽽I.tϝGjU}_C h ZR(]HD BĎ!pJNCY5K=_gLijqQx Y5SWAX6h>~K1rUFu'h|)X_,us=.J-N[FFҾ TKdG̑жR;!}omC5)frDUϠ*L}[{-3;HgyTcÂo D;bu )dojrsqp&Md y[18u<<}VxepyV0C,+!go!L38(e <wԟh1I&8V5%h5Xt.ր0 Xz,Oc#dWyP!HݸX"џ*B'zwwZ:ΡƛebZpEoECxUʈW9C R!<&xcսCa$,N`Pt plmiĕ!r-RfkٗF.3v~G˲N3 wIosp'I=6/Ǿ=#͡oK8^vYL vao\֘xx B(4+:!| >er5^Ce7E c,Lb>n@Ms}wNQT* 8,Pt$'X='`("jBpʳ2)dpӪKY䇴^QVO"Ǥ dMWK! x?ȦVwmBveMeD LL%0tcξ$W*xVD'T;ޗQ mXJaLO r5j"3 ך;C;y~63Jd>!{&~Pk$VDyŝlML2ut.\l,Y*Na XZ~"!ȵ!ݞ‰sI}$bL5$3sjG-+/c#Nz&ZJ ktnVUj^K>I'w}XdK]3a\yF۔1[zhLM/BZ>rRPtiyz?qpKaD],~f{(o|3݌V¾ k5~rkϩz?zo ̶7wj~M,¯uq +x1[byȕV F,3m{FQWr:'Ν&;^SQy^d.S !A"hpt%齷YȊ|O,xb[cNWA~p/=nzQv *)_[[(yY2eb[,v+*2\n(JXw7RpTnj&BYo-o2JN]<$!Hˬ'| խU^fbX#0D}GO@h.Oe28~6:/iN m&\s߼YI؜^Z*o{OU.= ΡvEY CGao! VQѕhĹVpPY ?aB, ~?1eN]1^VR.GD“,ٖ[VNf[()`o؏ 8:$ lKk50g;rgy ':${nbLLå s(;Mx֣YdmHN$" ŢRL q/mڀ9wKc.)JNG /kMQv6?_:00qI%f+;#9;Yy0G0<p˃ĮgF-cDXKp h;c&-;=ĈBTss.A-I+:c+=&򡣯V%nIXߑXvkk giB H=C= ݱ &_ߓߟw@;=hqn"o_ތ3tiCΔ$+;)d20̂y"g>>r$M}IQGC{㍤Yȶ++g)$F;l=~RĈ ̵6h˴4ٔ3A}-=}5iX >Qy^`+mtK~ɈiRj f8uX\Z`Ix2wVc U
} tag. Refer to back-end specific documentation for more information. @node Exporting, Publishing, Markup, Top @chapter Exporting @cindex exporting The Org mode export facilities can be used to export Org documents or parts of Org documents to a variety of other formats. In addition, these facilities can be used with @code{orgtbl-mode} and/or @code{orgstruct-mode} in foreign buffers so you can author tables and lists in Org syntax and convert them in place to the target language. ASCII export produces a readable and simple version of an Org file for printing and sharing notes. HTML export allows you to easily publish notes on the web, or to build full-fledged websites. @LaTeX{} export lets you use Org mode and its structured editing functions to create arbitrarily complex @LaTeX{} files for any kind of document. OpenDocument Text (ODT) export allows seamless collaboration across organizational boundaries. Markdown export lets you seamlessly collaborate with other developers. Finally, iCal export can extract entries with deadlines or appointments to produce a file in the iCalendar format. @menu * The Export Dispatcher:: The main exporter interface * Export back-ends:: Built-in export formats * Export settings:: Generic export settings * ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding * Beamer export:: Exporting as a Beamer presentation * HTML export:: Exporting to HTML * @LaTeX{} and PDF export:: Exporting to @LaTeX{}, and processing to PDF * Markdown export:: Exporting to Markdown * OpenDocument Text export:: Exporting to OpenDocument Text * iCalendar export:: Exporting to iCalendar * Other built-in back-ends:: Exporting to @code{Texinfo}, a man page, or Org * Export in foreign buffers:: Author tables in lists in Org syntax * Advanced configuration:: Fine-tuning the export output @end menu @node The Export Dispatcher, Export back-ends, Exporting, Exporting @section The Export Dispatcher @vindex org-export-dispatch-use-expert-ui @cindex Export, dispatcher The main entry point for export related tasks is the dispatcher, a hierarchical menu from which it is possible to select an export format and toggle export options@footnote{It is also possible to use a less intrusive interface by setting @code{org-export-dispatch-use-expert-ui} to a non-@code{nil} value. In that case, only a prompt is visible from the minibuffer. From there one can still switch back to regular menu by pressing @key{?}.} from which it is possible to select an export format and to toggle export options. @c @quotation @table @asis @orgcmd{C-c C-e,org-export-dispatch} Dispatch for export and publishing commands. When called with a @kbd{C-u} prefix argument, repeat the last export command on the current buffer while preserving toggled options. If the current buffer hasn't changed and subtree export was activated, the command will affect that same subtree. @end table @c @end quotation Normally the entire buffer is exported, but if there is an active region only that part of the buffer will be exported. Several export options (@pxref{Export settings}) can be toggled from the export dispatcher with the following key combinations: @table @kbd @item C-a @vindex org-export-async-init-file Toggle asynchronous export. Asynchronous export uses an external Emacs process that is configured with a specified initialization file. While exporting asynchronously, the output is not displayed. It is stored in a list called ``the export stack'', and can be viewed from there. The stack can be reached by calling the dispatcher with a double @kbd{C-u} prefix argument, or with @kbd{&} key from the dispatcher. @vindex org-export-in-background To make this behaviour the default, customize the variable @code{org-export-in-background}. @item C-b Toggle body-only export. Its effect depends on the back-end used. Typically, if the back-end has a header section (like @code{...} in the HTML back-end), a body-only export will not include this header. @item C-s @vindex org-export-initial-scope Toggle subtree export. The top heading becomes the document title. You can change the default state of this option by setting @code{org-export-initial-scope}. @item C-v Toggle visible-only export. Only export the text that is currently visible, i.e. not hidden by outline visibility in the buffer. @end table @vindex org-export-copy-to-kill-ring With the exception of asynchronous export, a successful export process writes its output to the kill-ring. You can configure this behavior by altering the option @code{org-export-copy-to-kill-ring}. @node Export back-ends, Export settings, The Export Dispatcher, Exporting @section Export back-ends @cindex Export, back-ends An export back-end is a library that translates Org syntax into a foreign format. An export format is not available until the proper back-end has been loaded. @vindex org-export-backends By default, the following four back-ends are loaded: @code{ascii}, @code{html}, @code{icalendar} and @code{latex}. It is possible to add more (or remove some) by customizing @code{org-export-backends}. Built-in back-ends include: @itemize @item ascii (ASCII format) @item beamer (@LaTeX{} Beamer format) @item html (HTML format) @item icalendar (iCalendar format) @item latex (@LaTeX{} format) @item man (Man page format) @item md (Markdown format) @item odt (OpenDocument Text format) @item texinfo (Texinfo format) @end itemize Other back-ends might be found in the @code{contrib/} directory (@pxref{Installation}). @node Export settings, ASCII/Latin-1/UTF-8 export, Export back-ends, Exporting @section Export settings @cindex Export, settings Export options can be set: globally with variables; for an individual file by making variables buffer-local with in-buffer settings (@pxref{In-buffer settings}), by setting individual keywords, or by specifying them in a compact form with the @code{#+OPTIONS} keyword; or for a tree by setting properties (@pxref{Properties and Columns}). Options set at a specific level override options set at a more general level. @cindex #+SETUPFILE In-buffer settings may appear anywhere in the file, either directly or indirectly through a file included using @samp{#+SETUPFILE: filename} syntax. Option keyword sets tailored to a particular back-end can be inserted from the export dispatcher (@pxref{The Export Dispatcher}) using the @code{Insert template} command by pressing @key{#}. To insert keywords individually, a good way to make sure the keyword is correct is to type @code{#+} and then to use @kbd{M-} for completion. The export keywords available for every back-end, and their equivalent global variables, include: @table @samp @item AUTHOR @vindex user-full-name The document author (@code{user-full-name}). @item CREATOR @vindex org-export-creator-string Entity responsible for output generation (@code{org-export-creator-string}). @item DATE @vindex org-export-date-timestamp-format A date or a time-stamp@footnote{The variable @code{org-export-date-timestamp-format} defines how this time-stamp will be exported.}. @item DESCRIPTION The document description. Back-ends handle it as they see fit (e.g., for the XHTML meta tag), if at all. You can use several such keywords for long descriptions. @item EMAIL @vindex user-mail-address The email address (@code{user-mail-address}). @item KEYWORDS The keywords defining the contents of the document. Back-ends handle it as they see fit (e.g., for the XHTML meta tag), if at all. You can use several such keywords if the list is long. @item LANGUAGE @vindex org-export-default-language The language used for translating some strings (@code{org-export-default-language}). E.g., @samp{#+LANGUAGE: fr} will tell Org to translate @emph{File} (english) into @emph{Fichier} (french) in the clocktable. @item SELECT_TAGS @vindex org-export-select-tags The tags that select a tree for export (@code{org-export-select-tags}). The default value is @code{:export:}. Within a subtree tagged with @code{:export:}, you can still exclude entries with @code{:noexport:} (see below). When headlines are selectively exported with @code{:export:} anywhere in a file, text before the first headline is ignored. @item EXCLUDE_TAGS The tags that exclude a tree from export (@code{org-export-exclude-tags}). The default value is @code{:noexport:}. Entries with the @code{:noexport:} tag will be unconditionally excluded from the export, even if they have an @code{:export:} tag. @item TITLE The title to be shown (otherwise derived from buffer's name). You can use several such keywords for long titles. @end table The @code{#+OPTIONS} keyword is a compact@footnote{If you want to configure many options this way, you can use several @code{#+OPTIONS} lines.} form that recognizes the following arguments: @table @code @item ': @vindex org-export-with-smart-quotes Toggle smart quotes (@code{org-export-with-smart-quotes}). @item *: Toggle emphasized text (@code{org-export-with-emphasize}). @item -: @vindex org-export-with-special-strings Toggle conversion of special strings (@code{org-export-with-special-strings}). @item :: @vindex org-export-with-fixed-width Toggle fixed-width sections (@code{org-export-with-fixed-width}). @item <: @vindex org-export-with-timestamps Toggle inclusion of any time/date active/inactive stamps (@code{org-export-with-timestamps}). @item : @vindex org-export-preserve-breaks Toggle line-break-preservation (@code{org-export-preserve-breaks}). @item ^: @vindex org-export-with-sub-superscripts Toggle @TeX{}-like syntax for sub- and superscripts. If you write "^:@{@}", @samp{a_@{b@}} will be interpreted, but the simple @samp{a_b} will be left as it is (@code{org-export-with-sub-superscripts}). @item arch: @vindex org-export-with-archived-trees Configure export of archived trees. Can be set to @code{headline} to only process the headline, skipping its contents (@code{org-export-with-archived-trees}). @item author: @vindex org-export-with-author Toggle inclusion of author name into exported file (@code{org-export-with-author}). @item c: @vindex org-export-with-clocks Toggle inclusion of CLOCK keywords (@code{org-export-with-clocks}). @item creator: @vindex org-export-with-creator Configure inclusion of creator info into exported file. It may be set to @code{comment} (@code{org-export-with-creator}). @item d: @vindex org-export-with-drawers Toggle inclusion of drawers, or list drawers to include (@code{org-export-with-drawers}). @item e: @vindex org-export-with-entities Toggle inclusion of entities (@code{org-export-with-entities}). @item email: @vindex org-export-with-email Toggle inclusion of the author's e-mail into exported file (@code{org-export-with-email}). @item f: @vindex org-export-with-footnotes Toggle the inclusion of footnotes (@code{org-export-with-footnotes}). @item H: @vindex org-export-headline-levels Set the number of headline levels for export (@code{org-export-headline-levels}). Below that level, headlines are treated differently. In most back-ends, they become list items. @item inline: @vindex org-export-with-inlinetasks Toggle inclusion of inlinetasks (@code{org-export-with-inlinetasks}). @item num: @vindex org-export-with-section-numbers Toggle section-numbers (@code{org-export-with-section-numbers}). It can also be set to a number @samp{n}, so only headlines at that level or above will be numbered. @item p: @vindex org-export-with-planning Toggle export of planning information (@code{org-export-with-planning}). ``Planning information'' is the line containing the @code{SCHEDULED:}, the @code{DEADLINE:} or the @code{CLOSED:} cookies or a combination of them. @item pri: @vindex org-export-with-priority Toggle inclusion of priority cookies (@code{org-export-with-priority}). @item stat: @vindex org-export-with-statistics-cookies Toggle inclusion of statistics cookies (@code{org-export-with-statistics-cookies}). @item tags: @vindex org-export-with-tags Toggle inclusion of tags, may also be @code{not-in-toc} (@code{org-export-with-tags}). @item tasks: @vindex org-export-with-tasks Toggle inclusion of tasks (TODO items), can be @code{nil} to remove all tasks, @code{todo} to remove DONE tasks, or a list of keywords to keep (@code{org-export-with-tasks}). @item tex: @vindex org-export-with-latex Configure export of @LaTeX{} fragments and environments. It may be set to @code{verbatim} (@code{org-export-with-latex}). @item timestamp: @vindex org-export-time-stamp-file Toggle inclusion of the creation time into exported file (@code{org-export-time-stamp-file}). @item toc: @vindex org-export-with-toc Toggle inclusion of the table of contents, or set the level limit (@code{org-export-with-toc}). @item todo: @vindex org-export-with-todo-keywords Toggle inclusion of TODO keywords into exported text (@code{org-export-with-todo-keywords}). @item |: @vindex org-export-with-tables Toggle inclusion of tables (@code{org-export-with-tables}). @end table @cindex property, EXPORT_FILE_NAME When exporting only a subtree, each of the previous keywords@footnote{With the exception of @samp{SETUPFILE}.} can be overriden locally by special node properties. These begin with @samp{EXPORT_}, followed by the name of the keyword they supplant. For example, @samp{DATE} and @samp{OPTIONS} keywords become, respectively, @samp{EXPORT_DATE} and @samp{EXPORT_OPTIONS} properties. Subtree export also supports the self-explicit @samp{EXPORT_FILE_NAME} property@footnote{There is no buffer-wide equivalent for this property. The file name in this case is derived from the file associated to the buffer, if possible, or asked to the user otherwise.}. @cindex #+BIND @vindex org-export-allow-bind-keywords If @code{org-export-allow-bind-keywords} is non-@code{nil}, Emacs variables can become buffer-local during export by using the BIND keyword. Its syntax is @samp{#+BIND: variable value}. This is particularly useful for in-buffer settings that cannot be changed using specific keywords. @node ASCII/Latin-1/UTF-8 export, Beamer export, Export settings, Exporting @section ASCII/Latin-1/UTF-8 export @cindex ASCII export @cindex Latin-1 export @cindex UTF-8 export ASCII export produces a simple and very readable version of an Org mode file, containing only plain ASCII@. Latin-1 and UTF-8 export augment the file with special characters and symbols available in these encodings. @vindex org-ascii-links-to-notes Links are exported in a footnote-like style, with the descriptive part in the text and the link in a note before the next heading. See the variable @code{org-ascii-links-to-notes} for details and other options. @subheading ASCII export commands @table @kbd @orgcmd{C-c C-e t a/l/u,org-ascii-export-to-ascii} Export as an ASCII file. For an Org file, @file{myfile.org}, the ASCII file will be @file{myfile.txt}. The file will be overwritten without warning. When the original file is @file{myfile.txt}, the resulting file becomes @file{myfile.txt.txt} in order to prevent data loss. @orgcmd{C-c C-e t A/L/U,org-ascii-export-as-ascii} Export to a temporary buffer. Do not create a file. @end table @subheading Header and sectioning structure In the exported version, the first three outline levels become headlines, defining a general document structure. Additional levels are exported as lists. The transition can also occur at a different level (@pxref{Export settings}). @subheading Quoting ASCII text You can insert text that will only appear when using @code{ASCII} back-end with the following constructs: @cindex #+ASCII @cindex #+BEGIN_ASCII @example Text @@@@ascii:and additional text@@@@ within a paragraph. #+ASCII: Some text #+BEGIN_ASCII All lines in this block will appear only when using this back-end. #+END_ASCII @end example @subheading ASCII specific attributes @cindex #+ATTR_ASCII @cindex horizontal rules, in ASCII export @code{ASCII} back-end only understands one attribute, @code{:width}, which specifies the length, in characters, of a given horizontal rule. It must be specified using an @code{ATTR_ASCII} line, directly preceding the rule. @example #+ATTR_ASCII: :width 10 ----- @end example @node Beamer export, HTML export, ASCII/Latin-1/UTF-8 export, Exporting @section Beamer export @cindex Beamer export The @LaTeX{} class @emph{Beamer} allows production of high quality presentations using @LaTeX{} and pdf processing. Org mode has special support for turning an Org mode file or tree into a Beamer presentation. @subheading Beamer export commands @table @kbd @orgcmd{C-c C-e l b,org-beamer-export-to-latex} Export as a @LaTeX{} file. For an Org file @file{myfile.org}, the @LaTeX{} file will be @file{myfile.tex}. The file will be overwritten without warning. @orgcmd{C-c C-e l B,org-beamer-export-as-latex} Export to a temporary buffer. Do not create a file. @orgcmd{C-c C-e l P,org-beamer-export-to-pdf} Export as @LaTeX{} and then process to PDF. @item C-c C-e l O Export as @LaTeX{} and then process to PDF, then open the resulting PDF file. @end table @subheading Sectioning, Frames and Blocks Any tree with not-too-deep level nesting should in principle be exportable as a Beamer presentation. Headlines fall into three categories: sectioning elements, frames and blocks. @itemize @minus @item @vindex org-beamer-frame-level Headlines become frames when their level is equal to @code{org-beamer-frame-level} or @code{H} value in an @code{OPTIONS} line (@pxref{Export settings}). @cindex property, BEAMER_ENV Though, if a headline in the current tree has a @code{BEAMER_ENV} property set to either to @code{frame} or @code{fullframe}, its level overrides the variable. A @code{fullframe} is a frame with an empty (ignored) title. @item @vindex org-beamer-environments-default @vindex org-beamer-environments-extra All frame's children become @code{block} environments. Special block types can be enforced by setting headline's @code{BEAMER_ENV} property@footnote{If this property is set, the entry will also get a @code{:B_environment:} tag to make this visible. This tag has no semantic meaning, it is only a visual aid.} to an appropriate value (see @code{org-beamer-environments-default} for supported values and @code{org-beamer-environments-extra} for adding more). @item @cindex property, BEAMER_REF As a special case, if the @code{BEAMER_ENV} property is set to either @code{appendix}, @code{note}, @code{noteNH} or @code{againframe}, the headline will become, respectively, an appendix, a note (within frame or between frame, depending on its level), a note with its title ignored or an @code{\againframe} command. In the latter case, a @code{BEAMER_REF} property is mandatory in order to refer to the frame being resumed, and contents are ignored. Also, a headline with an @code{ignoreheading} environment will have its contents only inserted in the output. This special value is useful to have data between frames, or to properly close a @code{column} environment. @end itemize @cindex property, BEAMER_ACT @cindex property, BEAMER_OPT Headlines also support @code{BEAMER_ACT} and @code{BEAMER_OPT} properties. The former is translated as an overlay/action specification, or a default overlay specification when enclosed within square brackets. The latter specifies options@footnote{The @code{fragile} option is added automatically if it contains code that requires a verbatim environment, though.} for the current frame or block. The export back-end will automatically wrap properties within angular or square brackets when appropriate. @cindex property, BEAMER_COL Moreover, headlines handle the @code{BEAMER_COL} property. Its value should be a decimal number representing the width of the column as a fraction of the total text width. If the headline has no specific environment, its title will be ignored and its contents will fill the column created. Otherwise, the block will fill the whole column and the title will be preserved. Two contiguous headlines with a non-@code{nil} @code{BEAMER_COL} value share the same @code{columns} @LaTeX{} environment. It will end before the next headline without such a property. This environment is generated automatically. Although, it can also be explicitly created, with a special @code{columns} value for @code{BEAMER_ENV} property (if it needs to be set up with some specific options, for example). @subheading Beamer specific syntax Beamer back-end is an extension of @LaTeX{} back-end. As such, all @LaTeX{} specific syntax (e.g., @samp{#+LATEX:} or @samp{#+ATTR_LATEX:}) is recognized. See @ref{@LaTeX{} and PDF export} for more information. @cindex #+BEAMER_THEME @cindex #+BEAMER_COLOR_THEME @cindex #+BEAMER_FONT_THEME @cindex #+BEAMER_INNER_THEME @cindex #+BEAMER_OUTER_THEME Beamer export introduces a number of keywords to insert code in the document's header. Four control appearance of the presentation: @code{#+BEAMER_THEME}, @code{#+BEAMER_COLOR_THEME}, @code{#+BEAMER_FONT_THEME}, @code{#+BEAMER_INNER_THEME} and @code{#+BEAMER_OUTER_THEME}. All of them accept optional arguments within square brackets. The last one, @code{#+BEAMER_HEADER}, is more generic and allows you to append any line of code in the header. @example #+BEAMER_THEME: Rochester [height=20pt] #+BEAMER_COLOR_THEME: spruce @end example Table of contents generated from @code{toc:t} @code{OPTION} keyword are wrapped within a @code{frame} environment. Those generated from a @code{TOC} keyword (@pxref{Table of contents}) are not. In that case, it is also possible to specify options, enclosed within square brackets. @example #+TOC: headlines [currentsection] @end example Beamer specific code can be inserted with the following constructs: @cindex #+BEAMER @cindex #+BEGIN_BEAMER @example #+BEAMER: \pause #+BEGIN_BEAMER All lines in this block will appear only when using this back-end. #+END_BEAMER Text @@@@beamer:some code@@@@ within a paragraph. @end example In particular, this last example can be used to add overlay specifications to objects whose type is among @code{bold}, @code{item}, @code{link}, @code{radio-target} and @code{target}, when the value is enclosed within angular brackets and put at the beginning the object. @example A *@@@@beamer:<2->@@@@useful* feature @end example @cindex #+ATTR_BEAMER Eventually, every plain list has support for @code{:environment}, @code{:overlay} and @code{:options} attributes through @code{ATTR_BEAMER} affiliated keyword. The first one allows the use of a different environment, the second sets overlay specifications and the last one inserts optional arguments in current list environment. @example #+ATTR_BEAMER: :overlay +- - item 1 - item 2 @end example @subheading Editing support You can turn on a special minor mode @code{org-beamer-mode} for faster editing with: @example #+STARTUP: beamer @end example @table @kbd @orgcmd{C-c C-b,org-beamer-select-environment} In @code{org-beamer-mode}, this key offers fast selection of a Beamer environment or the @code{BEAMER_COL} property. @end table Also, a template for useful in-buffer settings or properties can be inserted into the buffer with @kbd{M-x org-beamer-insert-options-template}. Among other things, this will install a column view format which is very handy for editing special properties used by Beamer. @subheading An example Here is a simple example Org document that is intended for Beamer export. @smallexample #+TITLE: Example Presentation #+AUTHOR: Carsten Dominik #+OPTIONS: H:2 #+LATEX_CLASS: beamer #+LATEX_CLASS_OPTIONS: [presentation] #+BEAMER_THEME: Madrid #+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col) %8BEAMER_OPT(Opt) * This is the first structural section ** Frame 1 *** Thanks to Eric Fraga :B_block:BMCOL: :PROPERTIES: :BEAMER_COL: 0.48 :BEAMER_ENV: block :END: for the first viable Beamer setup in Org *** Thanks to everyone else :B_block:BMCOL: :PROPERTIES: :BEAMER_COL: 0.48 :BEAMER_ACT: <2-> :BEAMER_ENV: block :END: for contributing to the discussion **** This will be formatted as a beamer note :B_note: :PROPERTIES: :BEAMER_env: note :END: ** Frame 2 (where we will not use columns) *** Request Please test this stuff! @end smallexample @node HTML export, @LaTeX{} and PDF export, Beamer export, Exporting @section HTML export @cindex HTML export Org mode contains an HTML (XHTML 1.0 strict) exporter with extensive HTML formatting, in ways similar to John Gruber's @emph{markdown} language, but with additional support for tables. @menu * HTML Export commands:: How to invoke HTML export * HTML doctypes:: Org can export to various (X)HTML flavors * HTML preamble and postamble:: How to insert a preamble and a postamble * Quoting HTML tags:: Using direct HTML in Org mode * Links in HTML export:: How links will be interpreted and formatted * Tables in HTML export:: How to modify the formatting of tables * Images in HTML export:: How to insert figures into HTML output * Math formatting in HTML export:: Beautiful math also on the web * Text areas in HTML export:: An alternative way to show an example * CSS support:: Changing the appearance of the output * JavaScript support:: Info and Folding in a web browser @end menu @node HTML Export commands, HTML doctypes, HTML export, HTML export @subsection HTML export commands @table @kbd @orgcmd{C-c C-e h h,org-html-export-to-html} Export as an HTML file. For an Org file @file{myfile.org}, the HTML file will be @file{myfile.html}. The file will be overwritten without warning. @kbd{C-c C-e h o} Export as an HTML file and immediately open it with a browser. @orgcmd{C-c C-e h H,org-html-export-as-html} Export to a temporary buffer. Do not create a file. @end table @c FIXME Exporting sublevels @c @cindex headline levels, for exporting @c In the exported version, the first 3 outline levels will become headlines, @c defining a general document structure. Additional levels will be exported as @c itemized lists. If you want that transition to occur at a different level, @c specify it with a numeric prefix argument. For example, @c @example @c @kbd{C-2 C-c C-e b} @c @end example @c @noindent @c creates two levels of headings and does the rest as items. @node HTML doctypes, HTML preamble and postamble, HTML Export commands, HTML export @subsection HTML doctypes @vindex org-html-doctype @vindex org-html-doctype-alist Org can export to various (X)HTML flavors. Setting the variable @code{org-html-doctype} allows you to export to different (X)HTML variants. The exported HTML will be adjusted according to the syntax requirements of that variant. You can either set this variable to a doctype string directly, in which case the exporter will try to adjust the syntax automatically, or you can use a ready-made doctype. The ready-made options are: @itemize @item ``html4-strict'' @item ``html4-transitional'' @item ``html4-frameset'' @item ``xhtml-strict'' @item ``xhtml-transitional'' @item ``xhtml-frameset'' @item ``xhtml-11'' @item ``html5'' @item ``xhtml5'' @end itemize See the variable @code{org-html-doctype-alist} for details. The default is ``xhtml-strict''. @subsubheading Fancy HTML5 export @vindex org-html-html5-fancy @vindex org-html-html5-elements HTML5 introduces several new element types. By default, Org will not make use of these element types, but you can set @code{org-html-html5-fancy} to @code{t} (or set @code{html5-fancy} item in an @code{OPTIONS} line), to enable a few new block-level elements. These are created using arbitrary #+BEGIN and #+END blocks. For instance: @example #+BEGIN_ASIDE Lorem ipsum #+END_ASIDE @end example Will export to: @example @end example While this: @example #+ATTR_HTML: :controls controls :width 350 #+BEGIN_VIDEO #+HTML: #+HTML: Your browser does not support the video tag. #+END_VIDEO @end example Becomes: @example @end example Special blocks that do not correspond to HTML5 elements (see @code{org-html-html5-elements}) will revert to the usual behavior, i.e. #+BEGIN_LEDERHOSEN will still export to
. Headlines cannot appear within special blocks. To wrap a headline and its contents in e.g.
or
tags, set the @code{HTML_CONTAINER} property on the headline itself. @node HTML preamble and postamble, Quoting HTML tags, HTML doctypes, HTML export @subsection HTML preamble and postamble @vindex org-html-preamble @vindex org-html-postamble @vindex org-html-preamble-format @vindex org-html-postamble-format @vindex org-html-validation-link @vindex org-export-creator-string @vindex org-export-time-stamp-file The HTML exporter lets you define a preamble and a postamble. The default value for @code{org-html-preamble} is @code{t}, which means that the preamble is inserted depending on the relevant format string in @code{org-html-preamble-format}. Setting @code{org-html-preamble} to a string will override the default format string. If you set it to a function, it will insert the output of the function, which must be a string. Setting to @code{nil} will not insert any preamble. The default value for @code{org-html-postamble} is @code{'auto}, which means that the HTML exporter will look for information about the author, the email, the creator and the date, and build the postamble from these values. Setting @code{org-html-postamble} to @code{t} will insert the postamble from the relevant format string found in @code{org-html-postamble-format}. Setting it to @code{nil} will not insert any postamble. @node Quoting HTML tags, Links in HTML export, HTML preamble and postamble, HTML export @subsection Quoting HTML tags Plain @samp{<} and @samp{>} are always transformed to @samp{<} and @samp{>} in HTML export. If you want to include raw HTML code, which should only appear in HTML export, mark it with @samp{@@@@html:} as in @samp{@@@@html:@@@@bold text@@@@html:@@@@}. For more extensive HTML that should be copied verbatim to the exported file use either @cindex #+HTML @cindex #+BEGIN_HTML @example #+HTML: Literal HTML code for export @end example @noindent or @cindex #+BEGIN_HTML @example #+BEGIN_HTML All lines between these markers are exported literally #+END_HTML @end example @node Links in HTML export, Tables in HTML export, Quoting HTML tags, HTML export @subsection Links in HTML export @cindex links, in HTML export @cindex internal links, in HTML export @cindex external links, in HTML export Internal links (@pxref{Internal links}) will continue to work in HTML@. This includes automatic links created by radio targets (@pxref{Radio targets}). Links to external files will still work if the target file is on the same @i{relative} path as the published Org file. Links to other @file{.org} files will be translated into HTML links under the assumption that an HTML version also exists of the linked file, at the same relative path. @samp{id:} links can then be used to jump to specific entries across files. For information related to linking files while publishing them to a publishing directory see @ref{Publishing links}. If you want to specify attributes for links, you can do so using a special @code{#+ATTR_HTML} line to define attributes that will be added to the @code{} or @code{} tags. Here is an example that sets @code{title} and @code{style} attributes for a link: @cindex #+ATTR_HTML @example #+ATTR_HTML: :title The Org mode homepage :style color:red; [[http://orgmode.org]] @end example @node Tables in HTML export, Images in HTML export, Links in HTML export, HTML export @subsection Tables @cindex tables, in HTML @vindex org-html-table-default-attributes Org mode tables are exported to HTML using the table attributes defined in @code{org-html-table-default-attributes}. The default setting makes tables without cell borders and frame. If you would like to change this for individual tables, place something like the following before the table: @cindex #+CAPTION @cindex #+ATTR_HTML @example #+CAPTION: This is a table with lines around and between cells #+ATTR_HTML: :border 2 :rules all :frame border @end example @vindex org-html-table-row-tags You can also modify the default tags used for each row by setting @code{org-html-table-row-tags}. See the docstring for an example on how to use this option. @node Images in HTML export, Math formatting in HTML export, Tables in HTML export, HTML export @subsection Images in HTML export @cindex images, inline in HTML @cindex inlining images in HTML @vindex org-html-inline-images HTML export can inline images given as links in the Org file, and it can make an image the clickable part of a link. By default@footnote{But see the variable @code{org-html-inline-images}.}, images are inlined if a link does not have a description. So @samp{[[file:myimg.jpg]]} will be inlined, while @samp{[[file:myimg.jpg][the image]]} will just produce a link @samp{the image} that points to the image. If the description part itself is a @code{file:} link or a @code{http:} URL pointing to an image, this image will be inlined and activated so that clicking on the image will activate the link. For example, to include a thumbnail that will link to a high resolution version of the image, you could use: @example [[file:highres.jpg][file:thumb.jpg]] @end example If you need to add attributes to an inlined image, use a @code{#+ATTR_HTML}. In the example below we specify the @code{alt} and @code{title} attributes to support text viewers and accessibility, and align it to the right. @cindex #+CAPTION @cindex #+ATTR_HTML @example #+CAPTION: A black cat stalking a spider #+ATTR_HTML: :alt cat/spider image :title Action! :align right [[./img/a.jpg]] @end example @noindent You could use @code{http} addresses just as well. @node Math formatting in HTML export, Text areas in HTML export, Images in HTML export, HTML export @subsection Math formatting in HTML export @cindex MathJax @cindex dvipng @cindex imagemagick @LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be displayed in two different ways on HTML pages. The default is to use the @uref{http://www.mathjax.org, MathJax system} which should work out of the box with Org mode installation because @uref{http://orgmode.org} serves @file{MathJax} for Org mode users for small applications and for testing purposes. @b{If you plan to use this regularly or on pages with significant page views, you should install@footnote{Installation instructions can be found on the MathJax website, see @uref{http://www.mathjax.org/resources/docs/?installation.html}.} MathJax on your own server in order to limit the load of our server.} To configure @file{MathJax}, use the variable @code{org-html-mathjax-options} or insert something like the following into the buffer: @example #+HTML_MATHJAX: align:"left" mathml:t path:"/MathJax/MathJax.js" @end example @noindent See the docstring of the variable @code{org-html-mathjax-options} for the meaning of the parameters in this line. If you prefer, you can also request that @LaTeX{} fragments are processed into small images that will be inserted into the browser page. Before the availability of MathJax, this was the default method for Org files. This method requires that the @file{dvipng} program or @file{imagemagick} suite is available on your system. You can still get this processing with @example #+OPTIONS: tex:dvipng @end example or: @example #+OPTIONS: tex:imagemagick @end example @node Text areas in HTML export, CSS support, Math formatting in HTML export, HTML export @subsection Text areas in HTML export @cindex text areas, in HTML An alternative way to publish literal code examples in HTML is to use text areas, where the example can even be edited before pasting it into an application. It is triggered by @code{:textarea} attribute at an @code{example} or @code{src} block. You may also use @code{:height} and @code{:width} attributes to specify the height and width of the text area, which default to the number of lines in the example, and 80, respectively. For example @example #+ATTR_HTML: :textarea t :width 40 #+BEGIN_EXAMPLE (defun org-xor (a b) "Exclusive or." (if a (not b) b)) #+END_EXAMPLE @end example @node CSS support, JavaScript support, Text areas in HTML export, HTML export @subsection CSS support @cindex CSS, for HTML export @cindex HTML export, CSS @vindex org-html-todo-kwd-class-prefix @vindex org-html-tag-class-prefix You can modify the CSS style definitions for the exported file. The HTML exporter assigns the following special CSS classes@footnote{If the classes on TODO keywords and tags lead to conflicts, use the variables @code{org-html-todo-kwd-class-prefix} and @code{org-html-tag-class-prefix} to make them unique.} to appropriate parts of the document---your style specifications may change these, in addition to any of the standard classes like for headlines, tables, etc. @example p.author @r{author information, including email} p.date @r{publishing date} p.creator @r{creator info, about org mode version} .title @r{document title} .todo @r{TODO keywords, all not-done states} .done @r{the DONE keywords, all states that count as done} .WAITING @r{each TODO keyword also uses a class named after itself} .timestamp @r{timestamp} .timestamp-kwd @r{keyword associated with a timestamp, like SCHEDULED} .timestamp-wrapper @r{span around keyword plus timestamp} .tag @r{tag in a headline} ._HOME @r{each tag uses itself as a class, "@@" replaced by "_"} .target @r{target for links} .linenr @r{the line number in a code example} .code-highlighted @r{for highlighting referenced code lines} div.outline-N @r{div for outline level N (headline plus text))} div.outline-text-N @r{extra div for text at outline level N} .section-number-N @r{section number in headlines, different for each level} .figure-number @r{label like "Figure 1:"} .table-number @r{label like "Table 1:"} .listing-number @r{label like "Listing 1:"} div.figure @r{how to format an inlined image} pre.src @r{formatted source code} pre.example @r{normal example} p.verse @r{verse paragraph} div.footnotes @r{footnote section headline} p.footnote @r{footnote definition paragraph, containing a footnote} .footref @r{a footnote reference number (always a )} .footnum @r{footnote number in footnote definition (always )} @end example @vindex org-html-style-default @vindex org-html-head-include-default-style @vindex org-html-head @vindex org-html-head-extra @cindex #+HTML_INCLUDE_STYLE Each exported file contains a compact default style that defines these classes in a basic way@footnote{This style is defined in the constant @code{org-html-style-default}, which you should not modify. To turn inclusion of these defaults off, customize @code{org-html-head-include-default-style} or set @code{html-style} to @code{nil} in an @code{OPTIONS} line.}. You may overwrite these settings, or add to them by using the variables @code{org-html-head} and @code{org-html-head-extra}. You can override the global values of these variables for each file by using these keywords: @cindex #+HTML_HEAD @cindex #+HTML_HEAD_EXTRA @example #+HTML_HEAD: #+HTML_HEAD_EXTRA: @end example @noindent For longer style definitions, you can use several such lines. You could also directly write a @code{} section in this way, without referring to an external file. In order to add styles to a subtree, use the @code{:HTML_CONTAINER_CLASS:} property to assign a class to the tree. In order to specify CSS styles for a particular headline, you can use the id specified in a @code{:CUSTOM_ID:} property. @c FIXME: More about header and footer styles @c FIXME: Talk about links and targets. @node JavaScript support, , CSS support, HTML export @subsection JavaScript supported display of web pages @cindex Rose, Sebastian Sebastian Rose has written a JavaScript program especially designed to enhance the web viewing experience of HTML files created with Org. This program allows you to view large files in two different ways. The first one is an @emph{Info}-like mode where each section is displayed separately and navigation can be done with the @kbd{n} and @kbd{p} keys (and some other keys as well, press @kbd{?} for an overview of the available keys). The second view type is a @emph{folding} view much like Org provides inside Emacs. The script is available at @url{http://orgmode.org/org-info.js} and you can find the documentation for it at @url{http://orgmode.org/worg/code/org-info-js/}. We host the script at our site, but if you use it a lot, you might not want to be dependent on @url{http://orgmode.org} and prefer to install a local copy on your own web server. All it then takes to use this program is adding a single line to the Org file: @cindex #+INFOJS_OPT @example #+INFOJS_OPT: view:info toc:nil @end example @noindent If this line is found, the HTML header will automatically contain the code needed to invoke the script. Using the line above, you can set the following viewing options: @example path: @r{The path to the script. The default is to grab the script from} @r{@url{http://orgmode.org/org-info.js}, but you might want to have} @r{a local copy and use a path like @samp{../scripts/org-info.js}.} view: @r{Initial view when the website is first shown. Possible values are:} info @r{Info-like interface with one section per page.} overview @r{Folding interface, initially showing only top-level.} content @r{Folding interface, starting with all headlines visible.} showall @r{Folding interface, all headlines and text visible.} sdepth: @r{Maximum headline level that will still become an independent} @r{section for info and folding modes. The default is taken from} @r{@code{org-export-headline-levels} (= the @code{H} switch in @code{#+OPTIONS}).} @r{If this is smaller than in @code{org-export-headline-levels}, each} @r{info/folding section can still contain child headlines.} toc: @r{Should the table of contents @emph{initially} be visible?} @r{Even when @code{nil}, you can always get to the "toc" with @kbd{i}.} tdepth: @r{The depth of the table of contents. The defaults are taken from} @r{the variables @code{org-export-headline-levels} and @code{org-export-with-toc}.} ftoc: @r{Does the CSS of the page specify a fixed position for the "toc"?} @r{If yes, the toc will never be displayed as a section.} ltoc: @r{Should there be short contents (children) in each section?} @r{Make this @code{above} if the section should be above initial text.} mouse: @r{Headings are highlighted when the mouse is over them. Should be} @r{@samp{underline} (default) or a background color like @samp{#cccccc}.} buttons: @r{Should view-toggle buttons be everywhere? When @code{nil} (the} @r{default), only one such button will be present.} @end example @noindent @vindex org-html-infojs-options @vindex org-html-use-infojs You can choose default values for these options by customizing the variable @code{org-html-infojs-options}. If you always want to apply the script to your pages, configure the variable @code{org-html-use-infojs}. @node @LaTeX{} and PDF export, Markdown export, HTML export, Exporting @section @LaTeX{} and PDF export @cindex @LaTeX{} export @cindex PDF export @LaTeX{} export can produce an arbitrarily complex LaTeX document of any standard or custom document class. With further processing@footnote{The default @LaTeX{} output is designed for processing with @code{pdftex} or @LaTeX{}. It includes packages that are not compatible with @code{xetex} and possibly @code{luatex}. The @LaTeX{} exporter can be configured to support alternative TeX engines, see the options @code{org-latex-default-packages-alist} and @code{org-latex-packages-alist}.}, which the @LaTeX{} exporter is able to control, this back-end is able to produce PDF output. Because the @LaTeX{} exporter can be configured to use the @code{hyperref} package, the default setup produces fully-linked PDF output. As in @LaTeX{}, blank lines are meaningful for this back-end: a paragraph will not be started if two contiguous syntactical elements are not separated by an empty line. This back-end also offers enhanced support for footnotes. Thus, it handles nested footnotes, footnotes in tables and footnotes in a list item's description. @menu * @LaTeX{} export commands:: How to export to LaTeX and PDF * Header and sectioning:: Setting up the export file structure * Quoting @LaTeX{} code:: Incorporating literal @LaTeX{} code * @LaTeX{} specific attributes:: Controlling @LaTeX{} output @end menu @node @LaTeX{} export commands, Header and sectioning, @LaTeX{} and PDF export, @LaTeX{} and PDF export @subsection @LaTeX{} export commands @table @kbd @orgcmd{C-c C-e l l,org-latex-export-to-latex} Export as a @LaTeX{} file. For an Org file @file{myfile.org}, the @LaTeX{} file will be @file{myfile.tex}. The file will be overwritten without warning. @orgcmd{C-c C-e l L,org-latex-export-as-latex} Export to a temporary buffer. Do not create a file. @orgcmd{C-c C-e l p,org-latex-export-to-pdf} Export as @LaTeX{} and then process to PDF. @item C-c C-e l o Export as @LaTeX{} and then process to PDF, then open the resulting PDF file. @end table @node Header and sectioning, Quoting @LaTeX{} code, @LaTeX{} export commands, @LaTeX{} and PDF export @subsection Header and sectioning structure @cindex @LaTeX{} class @cindex @LaTeX{} sectioning structure @cindex @LaTeX{} header @cindex header, for @LaTeX{} files @cindex sectioning structure, for @LaTeX{} export By default, the first three outline levels become headlines, defining a general document structure. Additional levels are exported as @code{itemize} or @code{enumerate} lists. The transition can also occur at a different level (@pxref{Export settings}). By default, the @LaTeX{} output uses the class @code{article}. @vindex org-latex-default-class @vindex org-latex-classes @vindex org-latex-default-packages-alist @vindex org-latex-packages-alist You can change this globally by setting a different value for @code{org-latex-default-class} or locally by adding an option like @code{#+LATEX_CLASS: myclass} in your file, or with a @code{EXPORT_LATEX_CLASS} property that applies when exporting a region containing only this (sub)tree. The class must be listed in @code{org-latex-classes}. This variable defines a header template for each class@footnote{Into which the values of @code{org-latex-default-packages-alist} and @code{org-latex-packages-alist} are spliced.}, and allows you to define the sectioning structure for each class. You can also define your own classes there. @cindex #+LATEX_CLASS @cindex #+LATEX_CLASS_OPTIONS @cindex property, EXPORT_LATEX_CLASS @cindex property, EXPORT_LATEX_CLASS_OPTIONS The @code{LATEX_CLASS_OPTIONS} keyword or @code{EXPORT_LATEX_CLASS_OPTIONS} property can specify the options for the @code{\documentclass} macro. These options have to be provided, as expected by @LaTeX{}, within square brackets. @cindex #+LATEX_HEADER @cindex #+LATEX_HEADER_EXTRA You can also use the @code{LATEX_HEADER} and @code{LATEX_HEADER_EXTRA}@footnote{Unlike @code{LATEX_HEADER}, contents from @code{LATEX_HEADER_EXTRA} keywords will not be loaded when previewing @LaTeX{} snippets (@pxref{Previewing @LaTeX{} fragments}).} keywords in order to add lines to the header. See the docstring of @code{org-latex-classes} for more information. An example is shown below. @example #+LATEX_CLASS: article #+LATEX_CLASS_OPTIONS: [a4paper] #+LATEX_HEADER: \usepackage@{xyz@} * Headline 1 some text @end example @node Quoting @LaTeX{} code, @LaTeX{} specific attributes, Header and sectioning, @LaTeX{} and PDF export @subsection Quoting @LaTeX{} code Embedded @LaTeX{} as described in @ref{Embedded @LaTeX{}}, will be correctly inserted into the @LaTeX{} file. Furthermore, you can add special code that should only be present in @LaTeX{} export with the following constructs: @cindex #+LATEX @cindex #+BEGIN_LATEX @example Code within @@@@latex:some code@@@@ a paragraph. #+LATEX: Literal @LaTeX{} code for export #+BEGIN_LATEX All lines between these markers are exported literally #+END_LATEX @end example @node @LaTeX{} specific attributes, , Quoting @LaTeX{} code, @LaTeX{} and PDF export @subsection @LaTeX{} specific attributes @cindex #+ATTR_LATEX @LaTeX{} understands attributes specified in an @code{ATTR_LATEX} line. They affect tables, images, plain lists, special blocks and source blocks. @subsubheading Tables in @LaTeX{} export @cindex tables, in @LaTeX{} export For @LaTeX{} export of a table, you can specify a label and a caption (@pxref{Images and tables}). You can also use attributes to control table layout and contents. Valid @LaTeX{} attributes include: @table @code @item :mode @vindex org-latex-default-table-mode Nature of table's contents. It can be set to @code{table}, @code{math}, @code{inline-math} or @code{verbatim}. In particular, when in @code{math} or @code{inline-math} mode, every cell is exported as-is, horizontal rules are ignored and the table will be wrapped in a math environment. Also, contiguous tables sharing the same math mode will be wrapped within the same environment. Default mode is determined in @code{org-latex-default-table-mode}. @item :environment @vindex org-latex-default-table-environment Environment used for the table. It can be set to any @LaTeX{} table environment, like @code{tabularx}@footnote{Requires adding the @code{tabularx} package to @code{org-latex-packages-alist}.}, @code{longtable}, @code{array}, @code{tabu}@footnote{Requires adding the @code{tabu} package to @code{org-latex-packages-alist}.}, @code{bmatrix}@enddots{} It defaults to @code{org-latex-default-table-environment} value. @item :caption @code{#+CAPTION} keyword is the simplest way to set a caption for a table (@pxref{Images and tables}). If you need more advanced commands for that task, you can use @code{:caption} attribute instead. Its value should be raw @LaTeX{} code. It has precedence over @code{#+CAPTION}. @item :float @itemx :placement Float environment for the table. Possible values are @code{sidewaystable}, @code{multicolumn}, @code{t} and @code{nil}. When unspecified, a table with a caption will have a @code{table} environment. Moreover, @code{:placement} attribute can specify the positioning of the float. @item :align @itemx :font @itemx :width Set, respectively, the alignment string of the table, its font size and its width. They only apply on regular tables. @item :spread Boolean specific to the @code{tabu} and @code{longtabu} environments, and only takes effect when used in conjunction with the @code{:width} attribute. When @code{:spread} is non-@code{nil}, the table will be spread or shrunk by the value of @code{:width}. @item :booktabs @itemx :center @itemx :rmlines @vindex org-latex-tables-booktabs @vindex org-latex-tables-centered They toggle, respectively, @code{booktabs} usage (assuming the package is properly loaded), table centering and removal of every horizontal rule but the first one (in a "table.el" table only). In particular, @code{org-latex-tables-booktabs} (respectively @code{org-latex-tables-centered}) activates the first (respectively second) attribute globally. @item :math-prefix @itemx :math-suffix @itemx :math-arguments A string that will be inserted, respectively, before the table within the math environment, after the table within the math environment, and between the macro name and the contents of the table. The @code{:math-arguments} attribute is used for matrix macros that require more than one argument (e.g., @code{qbordermatrix}). @end table Thus, attributes can be used in a wide array of situations, like writing a table that will span over multiple pages, or a matrix product: @example #+ATTR_LATEX: :environment longtable :align l|lp@{3cm@}r|l | ..... | ..... | | ..... | ..... | #+ATTR_LATEX: :mode math :environment bmatrix :math-suffix \times | a | b | | c | d | #+ATTR_LATEX: :mode math :environment bmatrix | 1 | 2 | | 3 | 4 | @end example In the example below, @LaTeX{} command @code{\bicaption@{HeadingA@}@{HeadingB@}} will set the caption. @example #+ATTR_LATEX: :caption \bicaption@{HeadingA@}@{HeadingB@} | ..... | ..... | | ..... | ..... | @end example @subsubheading Images in @LaTeX{} export @cindex images, inline in @LaTeX{} @cindex inlining images in @LaTeX{} Images that are linked to without a description part in the link, like @samp{[[file:img.jpg]]} or @samp{[[./img.jpg]]} will be inserted into the PDF output file resulting from @LaTeX{} processing. Org will use an @code{\includegraphics} macro to insert the image@footnote{In the case of TikZ (@url{http://sourceforge.net/projects/pgf/}) images, it will become an @code{\input} macro wrapped within a @code{tikzpicture} environment.}. You can specify specify image width or height with, respectively, @code{:width} and @code{:height} attributes. It is also possible to add any other option with the @code{:options} attribute, as shown in the following example: @example #+ATTR_LATEX: :width 5cm :options angle=90 [[./img/sed-hr4049.pdf]] @end example If you need a specific command for the caption, use @code{:caption} attribute. It will override standard @code{#+CAPTION} value, if any. @example #+ATTR_LATEX: :caption \bicaption@{HeadingA@}@{HeadingB@} [[./img/sed-hr4049.pdf]] @end example If you have specified a caption as described in @ref{Images and tables}, the picture will be wrapped into a @code{figure} environment and thus become a floating element. You can also ask Org to export an image as a float without specifying caption by setting the @code{:float} attribute. You may also set it to: @itemize @minus @item @code{t}: if you want to use the standard @samp{figure} environment. It is used by default if you provide a caption to the image. @item @code{multicolumn}: if you wish to include an image which spans multiple columns in a page. This will export the image wrapped in a @code{figure*} environment. @item @code{wrap}: if you would like to let text flow around the image. It will make the figure occupy the left half of the page. @item @code{nil}: if you need to avoid any floating environment, even when a caption is provided. @end itemize @noindent To modify the placement option of any floating environment, set the @code{placement} attribute. @example #+ATTR_LATEX: :float wrap :width 0.38\textwidth :placement @{r@}@{0.4\textwidth@} [[./img/hst.png]] @end example If the @code{:comment-include} attribute is set to a non-@code{nil} value, the @LaTeX{} @code{\includegraphics} macro will be commented out. @subsubheading Plain lists in @LaTeX{} export @cindex plain lists, in @LaTeX{} export Plain lists accept two optional attributes: @code{:environment} and @code{:options}. The first one allows the use of a non-standard environment (e.g., @samp{inparaenum}). The second one specifies optional arguments for that environment (square brackets may be omitted). @example #+ATTR_LATEX: :environment compactitem :options $\circ$ - you need ``paralist'' package to reproduce this example. @end example @subsubheading Source blocks in @LaTeX{} export @cindex source blocks, in @LaTeX{} export In addition to syntax defined in @ref{Literal examples}, names and captions (@pxref{Images and tables}), source blocks also accept a @code{:float} attribute. You may set it to: @itemize @minus @item @code{t}: if you want to make the source block a float. It is the default value when a caption is provided. @item @code{multicolumn}: if you wish to include a source block which spans multiple columns in a page. @item @code{nil}: if you need to avoid any floating environment, even when a caption is provided. It is useful for source code that may not fit in a single page. @end itemize @example #+ATTR_LATEX: :float nil #+BEGIN_SRC emacs-lisp Code that may not fit in a single page. #+END_SRC @end example @subsubheading Special blocks in @LaTeX{} export @cindex special blocks, in @LaTeX{} export In @LaTeX{} back-end, special blocks become environments of the same name. Value of @code{:options} attribute will be appended as-is to that environment's opening string. For example: @example #+ATTR_LATEX: :options [Proof of important theorem] #+BEGIN_PROOF ... Therefore, any even number greater than 2 is the sum of two primes. #+END_PROOF @end example @noindent becomes @example \begin@{proof@}[Proof of important theorem] ... Therefore, any even number greater than 2 is the sum of two primes. \end@{proof@} @end example If you need to insert a specific caption command, use @code{:caption} attribute. It will override standard @code{#+CAPTION} value, if any. For example: @example #+ATTR_LATEX: :caption \MyCaption@{HeadingA@} #+BEGIN_PROOF ... #+END_PROOF @end example @subsubheading Horizontal rules @cindex horizontal rules, in @LaTeX{} export Width and thickness of a given horizontal rule can be controlled with, respectively, @code{:width} and @code{:thickness} attributes: @example #+ATTR_LATEX: :width .6\textwidth :thickness 0.8pt ----- @end example @node Markdown export, OpenDocument Text export, @LaTeX{} and PDF export, Exporting @section Markdown export @cindex Markdown export @code{md} export back-end generates Markdown syntax@footnote{Vanilla flavor, as defined at @url{http://daringfireball.net/projects/markdown/}.} for an Org mode buffer. It is built over HTML back-end: any construct not supported by Markdown syntax (e.g., tables) will be controlled and translated by @code{html} back-end (@pxref{HTML export}). @subheading Markdown export commands @table @kbd @orgcmd{C-c C-e m m,org-md-export-to-markdown} Export as a text file written in Markdown syntax. For an Org file, @file{myfile.org}, the resulting file will be @file{myfile.md}. The file will be overwritten without warning. @orgcmd{C-c C-e m M,org-md-export-as-markdown} Export to a temporary buffer. Do not create a file. @item C-c C-e m o Export as a text file with Markdown syntax, then open it. @end table @subheading Header and sectioning structure @vindex org-md-headline-style Markdown export can generate both @code{atx} and @code{setext} types for headlines, according to @code{org-md-headline-style}. The former introduces a hard limit of two levels, whereas the latter pushes it to six. Headlines below that limit are exported as lists. You can also set a soft limit before that one (@pxref{Export settings}). @c begin opendocument @node OpenDocument Text export, iCalendar export, Markdown export, Exporting @section OpenDocument Text export @cindex ODT @cindex OpenDocument @cindex export, OpenDocument @cindex LibreOffice Org mode@footnote{Versions 7.8 or later} supports export to OpenDocument Text (ODT) format. Documents created by this exporter use the @cite{OpenDocument-v1.2 specification}@footnote{@url{http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html, Open Document Format for Office Applications (OpenDocument) Version 1.2}} and are compatible with LibreOffice 3.4. @menu * Pre-requisites for ODT export:: What packages ODT exporter relies on * ODT export commands:: How to invoke ODT export * Extending ODT export:: How to produce @samp{doc}, @samp{pdf} files * Applying custom styles:: How to apply custom styles to the output * Links in ODT export:: How links will be interpreted and formatted * Tables in ODT export:: How Tables are exported * Images in ODT export:: How to insert images * Math formatting in ODT export:: How @LaTeX{} fragments are formatted * Labels and captions in ODT export:: How captions are rendered * Literal examples in ODT export:: How source and example blocks are formatted * Advanced topics in ODT export:: Read this if you are a power user @end menu @node Pre-requisites for ODT export, ODT export commands, OpenDocument Text export, OpenDocument Text export @subsection Pre-requisites for ODT export @cindex zip The ODT exporter relies on the @file{zip} program to create the final output. Check the availability of this program before proceeding further. @node ODT export commands, Extending ODT export, Pre-requisites for ODT export, OpenDocument Text export @subsection ODT export commands @subsubheading Exporting to ODT @anchor{x-export-to-odt} @cindex region, active @cindex active region @cindex transient-mark-mode @table @kbd @orgcmd{C-c C-e o o,org-odt-export-to-odt} @cindex property EXPORT_FILE_NAME Export as OpenDocument Text file. @vindex org-odt-preferred-output-format If @code{org-odt-preferred-output-format} is specified, automatically convert the exported file to that format. @xref{x-export-to-other-formats, , Automatically exporting to other formats}. For an Org file @file{myfile.org}, the ODT file will be @file{myfile.odt}. The file will be overwritten without warning. If there is an active region,@footnote{This requires @code{transient-mark-mode} to be turned on} only the region will be exported. If the selected region is a single tree,@footnote{To select the current subtree, use @kbd{C-c @@}} the tree head will become the document title. If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME} property, that name will be used for the export. @kbd{C-c C-e o O} Export as an OpenDocument Text file and open the resulting file. @vindex org-odt-preferred-output-format If @code{org-odt-preferred-output-format} is specified, open the converted file instead. @xref{x-export-to-other-formats, , Automatically exporting to other formats}. @end table @node Extending ODT export, Applying custom styles, ODT export commands, OpenDocument Text export @subsection Extending ODT export The ODT exporter can interface with a variety of document converters and supports popular converters out of the box. As a result, you can use it to export to formats like @samp{doc} or convert a document from one format (say @samp{csv}) to another format (say @samp{ods} or @samp{xls}). @cindex @file{unoconv} @cindex LibreOffice If you have a working installation of LibreOffice, a document converter is pre-configured for you and you can use it right away. If you would like to use @file{unoconv} as your preferred converter, customize the variable @code{org-odt-convert-process} to point to @code{unoconv}. You can also use your own favorite converter or tweak the default settings of the @file{LibreOffice} and @samp{unoconv} converters. @xref{Configuring a document converter}. @subsubsection Automatically exporting to other formats @anchor{x-export-to-other-formats} @vindex org-odt-preferred-output-format Very often, you will find yourself exporting to ODT format, only to immediately save the exported document to other formats like @samp{doc}, @samp{docx}, @samp{rtf}, @samp{pdf} etc. In such cases, you can specify your preferred output format by customizing the variable @code{org-odt-preferred-output-format}. This way, the export commands (@pxref{x-export-to-odt,,Exporting to ODT}) can be extended to export to a format that is of immediate interest to you. @subsubsection Converting between document formats @anchor{x-convert-to-other-formats} There are many document converters in the wild which support conversion to and from various file formats, including, but not limited to the ODT format. LibreOffice converter, mentioned above, is one such converter. Once a converter is configured, you can interact with it using the following command. @vindex org-odt-convert @table @kbd @item M-x org-odt-convert RET Convert an existing document from one format to another. With a prefix argument, also open the newly produced file. @end table @node Applying custom styles, Links in ODT export, Extending ODT export, OpenDocument Text export @subsection Applying custom styles @cindex styles, custom @cindex template, custom The ODT exporter ships with a set of OpenDocument styles (@pxref{Working with OpenDocument style files}) that ensure a well-formatted output. These factory styles, however, may not cater to your specific tastes. To customize the output, you can either modify the above styles files directly, or generate the required styles using an application like LibreOffice. The latter method is suitable for expert and non-expert users alike, and is described here. @subsubsection Applying custom styles: the easy way @enumerate @item Create a sample @file{example.org} file with the below settings and export it to ODT format. @example #+OPTIONS: H:10 num:t @end example @item Open the above @file{example.odt} using LibreOffice. Use the @file{Stylist} to locate the target styles---these typically have the @samp{Org} prefix---and modify those to your taste. Save the modified file either as an OpenDocument Text (@file{.odt}) or OpenDocument Template (@file{.ott}) file. @item @cindex #+ODT_STYLES_FILE @vindex org-odt-styles-file Customize the variable @code{org-odt-styles-file} and point it to the newly created file. For additional configuration options @pxref{x-overriding-factory-styles,,Overriding factory styles}. If you would like to choose a style on a per-file basis, you can use the @code{#+ODT_STYLES_FILE} option. A typical setting will look like @example #+ODT_STYLES_FILE: "/path/to/example.ott" @end example or @example #+ODT_STYLES_FILE: ("/path/to/file.ott" ("styles.xml" "image/hdr.png")) @end example @end enumerate @subsubsection Using third-party styles and templates You can use third-party styles and templates for customizing your output. This will produce the desired output only if the template provides all style names that the @samp{ODT} exporter relies on. Unless this condition is met, the output is going to be less than satisfactory. So it is highly recommended that you only work with templates that are directly derived from the factory settings. @node Links in ODT export, Tables in ODT export, Applying custom styles, OpenDocument Text export @subsection Links in ODT export @cindex links, in ODT export ODT exporter creates native cross-references for internal links. It creates Internet-style links for all other links. A link with no description and destined to a regular (un-itemized) outline heading is replaced with a cross-reference and section number of the heading. A @samp{\ref@{label@}}-style reference to an image, table etc. is replaced with a cross-reference and sequence number of the labeled entity. @xref{Labels and captions in ODT export}. @node Tables in ODT export, Images in ODT export, Links in ODT export, OpenDocument Text export @subsection Tables in ODT export @cindex tables, in ODT export Export of native Org mode tables (@pxref{Tables}) and simple @file{table.el} tables is supported. However, export of complex @file{table.el} tables---tables that have column or row spans---is not supported. Such tables are stripped from the exported document. By default, a table is exported with top and bottom frames and with rules separating row and column groups (@pxref{Column groups}). Furthermore, all tables are typeset to occupy the same width. If the table specifies alignment and relative width for its columns (@pxref{Column width and alignment}) then these are honored on export.@footnote{The column widths are interpreted as weighted ratios with the default weight being 1} @cindex #+ATTR_ODT You can control the width of the table by specifying @code{:rel-width} property using an @code{#+ATTR_ODT} line. For example, consider the following table which makes use of all the rules mentioned above. @example #+ATTR_ODT: :rel-width 50 | Area/Month | Jan | Feb | Mar | Sum | |---------------+-------+-------+-------+-------| | / | < | | | < | | | | | | | | North America | 1 | 21 | 926 | 948 | | Middle East | 6 | 75 | 844 | 925 | | Asia Pacific | 9 | 27 | 790 | 826 | |---------------+-------+-------+-------+-------| | Sum | 16 | 123 | 2560 | 2699 | @end example On export, the table will occupy 50% of text area. The columns will be sized (roughly) in the ratio of 13:5:5:5:6. The first column will be left-aligned and rest of the columns will be right-aligned. There will be vertical rules after separating the header and last columns from other columns. There will be horizontal rules separating the header and last rows from other rows. If you are not satisfied with the above formatting options, you can create custom table styles and associate them with a table using the @code{#+ATTR_ODT} line. @xref{Customizing tables in ODT export}. @node Images in ODT export, Math formatting in ODT export, Tables in ODT export, OpenDocument Text export @subsection Images in ODT export @cindex images, embedding in ODT @cindex embedding images in ODT @subsubheading Embedding images You can embed images within the exported document by providing a link to the desired image file with no link description. For example, to embed @samp{img.png} do either of the following: @example [[file:img.png]] @end example @example [[./img.png]] @end example @subsubheading Embedding clickable images You can create clickable images by providing a link whose description is a link to an image file. For example, to embed a image @file{org-mode-unicorn.png} which when clicked jumps to @uref{http://Orgmode.org} website, do the following @example [[http://orgmode.org][./org-mode-unicorn.png]] @end example @subsubheading Sizing and scaling of embedded images @cindex #+ATTR_ODT You can control the size and scale of the embedded images using the @code{#+ATTR_ODT} attribute. @cindex identify, ImageMagick @vindex org-odt-pixels-per-inch The exporter specifies the desired size of the image in the final document in units of centimeters. In order to scale the embedded images, the exporter queries for pixel dimensions of the images using one of a) ImageMagick's @file{identify} program or b) Emacs `create-image' and `image-size' APIs@footnote{Use of @file{ImageMagick} is only desirable. However, if you routinely produce documents that have large images or you export your Org files that has images using a Emacs batch script, then the use of @file{ImageMagick} is mandatory.}. The pixel dimensions are subsequently converted in to units of centimeters using @code{org-odt-pixels-per-inch}. The default value of this variable is set to @code{display-pixels-per-inch}. You can tweak this variable to achieve the best results. The examples below illustrate the various possibilities. @table @asis @item Explicitly size the image To embed @file{img.png} as a 10 cm x 10 cm image, do the following: @example #+ATTR_ODT: :width 10 :height 10 [[./img.png]] @end example @item Scale the image To embed @file{img.png} at half its size, do the following: @example #+ATTR_ODT: :scale 0.5 [[./img.png]] @end example @item Scale the image to a specific width To embed @file{img.png} with a width of 10 cm while retaining the original height:width ratio, do the following: @example #+ATTR_ODT: :width 10 [[./img.png]] @end example @item Scale the image to a specific height To embed @file{img.png} with a height of 10 cm while retaining the original height:width ratio, do the following @example #+ATTR_ODT: :height 10 [[./img.png]] @end example @end table @subsubheading Anchoring of images @cindex #+ATTR_ODT You can control the manner in which an image is anchored by setting the @code{:anchor} property of it's @code{#+ATTR_ODT} line. You can specify one of the the following three values for the @code{:anchor} property: @samp{"as-char"}, @samp{"paragraph"} and @samp{"page"}. To create an image that is anchored to a page, do the following: @example #+ATTR_ODT: :anchor "page" [[./img.png]] @end example @node Math formatting in ODT export, Labels and captions in ODT export, Images in ODT export, OpenDocument Text export @subsection Math formatting in ODT export The ODT exporter has special support for handling math. @menu * Working with @LaTeX{} math snippets:: How to embed @LaTeX{} math fragments * Working with MathML or OpenDocument formula files:: How to embed equations in native format @end menu @node Working with @LaTeX{} math snippets, Working with MathML or OpenDocument formula files, Math formatting in ODT export, Math formatting in ODT export @subsubsection Working with @LaTeX{} math snippets @LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be embedded in the ODT document in one of the following ways: @cindex MathML @enumerate @item MathML This option is activated on a per-file basis with @example #+OPTIONS: LaTeX:t @end example With this option, @LaTeX{} fragments are first converted into MathML fragments using an external @LaTeX{}-to-MathML converter program. The resulting MathML fragments are then embedded as an OpenDocument Formula in the exported document. @vindex org-latex-to-mathml-convert-command @vindex org-latex-to-mathml-jar-file You can specify the @LaTeX{}-to-MathML converter by customizing the variables @code{org-latex-to-mathml-convert-command} and @code{org-latex-to-mathml-jar-file}. If you prefer to use @file{MathToWeb}@footnote{See @uref{http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl, MathToWeb}} as your converter, you can configure the above variables as shown below. @lisp (setq org-latex-to-mathml-convert-command "java -jar %j -unicode -force -df %o %I" org-latex-to-mathml-jar-file "/path/to/mathtoweb.jar") @end lisp You can use the following commands to quickly verify the reliability of the @LaTeX{}-to-MathML converter. @table @kbd @item M-x org-odt-export-as-odf RET Convert a @LaTeX{} math snippet to an OpenDocument formula (@file{.odf}) file. @item M-x org-odt-export-as-odf-and-open RET Convert a @LaTeX{} math snippet to an OpenDocument formula (@file{.odf}) file and open the formula file with the system-registered application. @end table @cindex dvipng @cindex imagemagick @item PNG images This option is activated on a per-file basis with @example #+OPTIONS: tex:dvipng @end example or: @example #+OPTIONS: tex:imagemagick @end example With this option, @LaTeX{} fragments are processed into PNG images and the resulting images are embedded in the exported document. This method requires that the @file{dvipng} program or @file{imagemagick} suite be available on your system. @end enumerate @node Working with MathML or OpenDocument formula files, , Working with @LaTeX{} math snippets, Math formatting in ODT export @subsubsection Working with MathML or OpenDocument formula files For various reasons, you may find embedding @LaTeX{} math snippets in an ODT document less than reliable. In that case, you can embed a math equation by linking to its MathML (@file{.mml}) source or its OpenDocument formula (@file{.odf}) file as shown below: @example [[./equation.mml]] @end example or @example [[./equation.odf]] @end example @node Labels and captions in ODT export, Literal examples in ODT export, Math formatting in ODT export, OpenDocument Text export @subsection Labels and captions in ODT export You can label and caption various category of objects---an inline image, a table, a @LaTeX{} fragment or a Math formula---using @code{#+LABEL} and @code{#+CAPTION} lines. @xref{Images and tables}. ODT exporter enumerates each labeled or captioned object of a given category separately. As a result, each such object is assigned a sequence number based on order of it's appearance in the Org file. In the exported document, a user-provided caption is augmented with the category and sequence number. Consider the following inline image in an Org file. @example #+CAPTION: Bell curve #+LABEL: fig:SED-HR4049 [[./img/a.png]] @end example It could be rendered as shown below in the exported document. @example Figure 2: Bell curve @end example @vindex org-odt-category-map-alist You can modify the category component of the caption by customizing the option @code{org-odt-category-map-alist}. For example, to tag all embedded images with the string @samp{Illustration} (instead of the default @samp{Figure}) use the following setting: @lisp (setq org-odt-category-map-alist (("__Figure__" "Illustration" "value" "Figure" org-odt--enumerable-image-p))) @end lisp With this, previous image will be captioned as below in the exported document. @example Illustration 2: Bell curve @end example @node Literal examples in ODT export, Advanced topics in ODT export, Labels and captions in ODT export, OpenDocument Text export @subsection Literal examples in ODT export Export of literal examples (@pxref{Literal examples}) with full fontification is supported. Internally, the exporter relies on @file{htmlfontify.el} to generate all style definitions needed for a fancy listing.@footnote{Your @file{htmlfontify.el} library must at least be at Emacs 24.1 levels for fontification to be turned on.} The auto-generated styles have @samp{OrgSrc} as prefix and inherit their color from the faces used by Emacs @code{font-lock} library for the source language. @vindex org-odt-fontify-srcblocks If you prefer to use your own custom styles for fontification, you can do so by customizing the option @code{org-odt-create-custom-styles-for-srcblocks}. @vindex org-odt-create-custom-styles-for-srcblocks You can turn off fontification of literal examples by customizing the option @code{org-odt-fontify-srcblocks}. @node Advanced topics in ODT export, , Literal examples in ODT export, OpenDocument Text export @subsection Advanced topics in ODT export If you rely heavily on ODT export, you may want to exploit the full set of features that the exporter offers. This section describes features that would be of interest to power users. @menu * Configuring a document converter:: How to register a document converter * Working with OpenDocument style files:: Explore the internals * Creating one-off styles:: How to produce custom highlighting etc * Customizing tables in ODT export:: How to define and use Table templates * Validating OpenDocument XML:: How to debug corrupt OpenDocument files @end menu @node Configuring a document converter, Working with OpenDocument style files, Advanced topics in ODT export, Advanced topics in ODT export @subsubsection Configuring a document converter @cindex convert @cindex doc, docx, rtf @cindex converter The ODT exporter can work with popular converters with little or no extra configuration from your side. @xref{Extending ODT export}. If you are using a converter that is not supported by default or if you would like to tweak the default converter settings, proceed as below. @enumerate @item Register the converter @vindex org-odt-convert-processes Name your converter and add it to the list of known converters by customizing the option @code{org-odt-convert-processes}. Also specify how the converter can be invoked via command-line to effect the conversion. @item Configure its capabilities @vindex org-odt-convert-capabilities @anchor{x-odt-converter-capabilities} Specify the set of formats the converter can handle by customizing the variable @code{org-odt-convert-capabilities}. Use the default value for this variable as a guide for configuring your converter. As suggested by the default setting, you can specify the full set of formats supported by the converter and not limit yourself to specifying formats that are related to just the OpenDocument Text format. @item Choose the converter @vindex org-odt-convert-process Select the newly added converter as the preferred one by customizing the option @code{org-odt-convert-process}. @end enumerate @node Working with OpenDocument style files, Creating one-off styles, Configuring a document converter, Advanced topics in ODT export @subsubsection Working with OpenDocument style files @cindex styles, custom @cindex template, custom This section explores the internals of the ODT exporter and the means by which it produces styled documents. Read this section if you are interested in exploring the automatic and custom OpenDocument styles used by the exporter. @anchor{x-factory-styles} @subsubheading Factory styles The ODT exporter relies on two files for generating its output. These files are bundled with the distribution under the directory pointed to by the variable @code{org-odt-styles-dir}. The two files are: @itemize @anchor{x-orgodtstyles-xml} @item @file{OrgOdtStyles.xml} This file contributes to the @file{styles.xml} file of the final @samp{ODT} document. This file gets modified for the following purposes: @enumerate @item To control outline numbering based on user settings. @item To add styles generated by @file{htmlfontify.el} for fontification of code blocks. @end enumerate @anchor{x-orgodtcontenttemplate-xml} @item @file{OrgOdtContentTemplate.xml} This file contributes to the @file{content.xml} file of the final @samp{ODT} document. The contents of the Org outline are inserted between the @samp{}@dots{}@samp{} elements of this file. Apart from serving as a template file for the final @file{content.xml}, the file serves the following purposes: @enumerate @item It contains automatic styles for formatting of tables which are referenced by the exporter. @item It contains @samp{}@dots{}@samp{} elements that control how various entities---tables, images, equations, etc.---are numbered. @end enumerate @end itemize @anchor{x-overriding-factory-styles} @subsubheading Overriding factory styles The following two variables control the location from which the ODT exporter picks up the custom styles and content template files. You can customize these variables to override the factory styles used by the exporter. @itemize @anchor{x-org-odt-styles-file} @item @code{org-odt-styles-file} Use this variable to specify the @file{styles.xml} that will be used in the final output. You can specify one of the following values: @enumerate @item A @file{styles.xml} file Use this file instead of the default @file{styles.xml} @item A @file{.odt} or @file{.ott} file Use the @file{styles.xml} contained in the specified OpenDocument Text or Template file @item A @file{.odt} or @file{.ott} file and a subset of files contained within them Use the @file{styles.xml} contained in the specified OpenDocument Text or Template file. Additionally extract the specified member files and embed those within the final @samp{ODT} document. Use this option if the @file{styles.xml} file references additional files like header and footer images. @item @code{nil} Use the default @file{styles.xml} @end enumerate @anchor{x-org-odt-content-template-file} @item @code{org-odt-content-template-file} Use this variable to specify the blank @file{content.xml} that will be used in the final output. @end itemize @node Creating one-off styles, Customizing tables in ODT export, Working with OpenDocument style files, Advanced topics in ODT export @subsubsection Creating one-off styles There are times when you would want one-off formatting in the exported document. You can achieve this by embedding raw OpenDocument XML in the Org file. The use of this feature is better illustrated with couple of examples. @enumerate @item Embedding ODT tags as part of regular text You can inline OpenDocument syntax by enclosing it within @samp{@@@@odt:...@@@@} markup. For example, to highlight a region of text do the following: @example @@@@odt:This is a highlighted text@@@@. But this is a regular text. @end example @strong{Hint:} To see the above example in action, edit your @file{styles.xml} (@pxref{x-orgodtstyles-xml,,Factory styles}) and add a custom @samp{Highlight} style as shown below. @example @end example @item Embedding a one-line OpenDocument XML You can add a simple OpenDocument one-liner using the @code{#+ODT:} directive. For example, to force a page break do the following: @example #+ODT: @end example @strong{Hint:} To see the above example in action, edit your @file{styles.xml} (@pxref{x-orgodtstyles-xml,,Factory styles}) and add a custom @samp{PageBreak} style as shown below. @example @end example @item Embedding a block of OpenDocument XML You can add a large block of OpenDocument XML using the @code{#+BEGIN_ODT}@dots{}@code{#+END_ODT} construct. For example, to create a one-off paragraph that uses bold text, do the following: @example #+BEGIN_ODT This paragraph is specially formatted and uses bold text. #+END_ODT @end example @end enumerate @node Customizing tables in ODT export, Validating OpenDocument XML, Creating one-off styles, Advanced topics in ODT export @subsubsection Customizing tables in ODT export @cindex tables, in ODT export @cindex #+ATTR_ODT You can override the default formatting of the table by specifying a custom table style with the @code{#+ATTR_ODT} line. For a discussion on default formatting of tables @pxref{Tables in ODT export}. This feature closely mimics the way table templates are defined in the OpenDocument-v1.2 specification.@footnote{@url{http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html, OpenDocument-v1.2 Specification}} @subsubheading Custom table styles: an illustration @vindex org-odt-table-styles To have a quick preview of this feature, install the below setting and export the table that follows: @lisp (setq org-odt-table-styles (append org-odt-table-styles '(("TableWithHeaderRowAndColumn" "Custom" ((use-first-row-styles . t) (use-first-column-styles . t))) ("TableWithFirstRowandLastRow" "Custom" ((use-first-row-styles . t) (use-last-row-styles . t)))))) @end lisp @example #+ATTR_ODT: :style "TableWithHeaderRowAndColumn" | Name | Phone | Age | | Peter | 1234 | 17 | | Anna | 4321 | 25 | @end example In the above example, you used a template named @samp{Custom} and installed two table styles with the names @samp{TableWithHeaderRowAndColumn} and @samp{TableWithFirstRowandLastRow}. (@strong{Important:} The OpenDocument styles needed for producing the above template have been pre-defined for you. These styles are available under the section marked @samp{Custom Table Template} in @file{OrgOdtContentTemplate.xml} (@pxref{x-orgodtcontenttemplate-xml,,Factory styles}). If you need additional templates you have to define these styles yourselves. @subsubheading Custom table styles: the nitty-gritty To use this feature proceed as follows: @enumerate @item Create a table template@footnote{See the @code{} element of the OpenDocument-v1.2 specification} A table template is nothing but a set of @samp{table-cell} and @samp{paragraph} styles for each of the following table cell categories: @itemize @minus @item Body @item First column @item Last column @item First row @item Last row @item Even row @item Odd row @item Even column @item Odd Column @end itemize The names for the above styles must be chosen based on the name of the table template using a well-defined convention. The naming convention is better illustrated with an example. For a table template with the name @samp{Custom}, the needed style names are listed in the following table. @multitable {Table cell type} {CustomEvenColumnTableCell} {CustomEvenColumnTableParagraph} @headitem Table cell type @tab @code{table-cell} style @tab @code{paragraph} style @item @tab @tab @item Body @tab @samp{CustomTableCell} @tab @samp{CustomTableParagraph} @item First column @tab @samp{CustomFirstColumnTableCell} @tab @samp{CustomFirstColumnTableParagraph} @item Last column @tab @samp{CustomLastColumnTableCell} @tab @samp{CustomLastColumnTableParagraph} @item First row @tab @samp{CustomFirstRowTableCell} @tab @samp{CustomFirstRowTableParagraph} @item Last row @tab @samp{CustomLastRowTableCell} @tab @samp{CustomLastRowTableParagraph} @item Even row @tab @samp{CustomEvenRowTableCell} @tab @samp{CustomEvenRowTableParagraph} @item Odd row @tab @samp{CustomOddRowTableCell} @tab @samp{CustomOddRowTableParagraph} @item Even column @tab @samp{CustomEvenColumnTableCell} @tab @samp{CustomEvenColumnTableParagraph} @item Odd column @tab @samp{CustomOddColumnTableCell} @tab @samp{CustomOddColumnTableParagraph} @end multitable To create a table template with the name @samp{Custom}, define the above styles in the @code{}...@code{} element of the content template file (@pxref{x-orgodtcontenttemplate-xml,,Factory styles}). @item Define a table style@footnote{See the attributes @code{table:template-name}, @code{table:use-first-row-styles}, @code{table:use-last-row-styles}, @code{table:use-first-column-styles}, @code{table:use-last-column-styles}, @code{table:use-banding-rows-styles}, and @code{table:use-banding-column-styles} of the @code{} element in the OpenDocument-v1.2 specification} @vindex org-odt-table-styles To define a table style, create an entry for the style in the variable @code{org-odt-table-styles} and specify the following: @itemize @minus @item the name of the table template created in step (1) @item the set of cell styles in that template that are to be activated @end itemize For example, the entry below defines two different table styles @samp{TableWithHeaderRowAndColumn} and @samp{TableWithFirstRowandLastRow} based on the same template @samp{Custom}. The styles achieve their intended effect by selectively activating the individual cell styles in that template. @lisp (setq org-odt-table-styles (append org-odt-table-styles '(("TableWithHeaderRowAndColumn" "Custom" ((use-first-row-styles . t) (use-first-column-styles . t))) ("TableWithFirstRowandLastRow" "Custom" ((use-first-row-styles . t) (use-last-row-styles . t)))))) @end lisp @item Associate a table with the table style To do this, specify the table style created in step (2) as part of the @code{ATTR_ODT} line as shown below. @example #+ATTR_ODT: :style "TableWithHeaderRowAndColumn" | Name | Phone | Age | | Peter | 1234 | 17 | | Anna | 4321 | 25 | @end example @end enumerate @node Validating OpenDocument XML, , Customizing tables in ODT export, Advanced topics in ODT export @subsubsection Validating OpenDocument XML Occasionally, you will discover that the document created by the ODT exporter cannot be opened by your favorite application. One of the common reasons for this is that the @file{.odt} file is corrupt. In such cases, you may want to validate the document against the OpenDocument RELAX NG Compact Syntax (RNC) schema. For de-compressing the @file{.odt} file@footnote{@file{.odt} files are nothing but @samp{zip} archives}: @inforef{File Archives,,emacs}. For general help with validation (and schema-sensitive editing) of XML files: @inforef{Introduction,,nxml-mode}. @vindex org-odt-schema-dir If you have ready access to OpenDocument @file{.rnc} files and the needed schema-locating rules in a single folder, you can customize the variable @code{org-odt-schema-dir} to point to that directory. The ODT exporter will take care of updating the @code{rng-schema-locating-files} for you. @c end opendocument @node iCalendar export, Other built-in back-ends, OpenDocument Text export, Exporting @section iCalendar export @cindex iCalendar export @vindex org-icalendar-include-todo @vindex org-icalendar-use-deadline @vindex org-icalendar-use-scheduled @vindex org-icalendar-categories @vindex org-icalendar-alarm-time Some people use Org mode for keeping track of projects, but still prefer a standard calendar application for anniversaries and appointments. In this case it can be useful to show deadlines and other time-stamped items in Org files in the calendar application. Org mode can export calendar information in the standard iCalendar format. If you also want to have TODO entries included in the export, configure the variable @code{org-icalendar-include-todo}. Plain timestamps are exported as VEVENT, and TODO items as VTODO@. It will also create events from deadlines that are in non-TODO items. Deadlines and scheduling dates in TODO items will be used to set the start and due dates for the TODO entry@footnote{See the variables @code{org-icalendar-use-deadline} and @code{org-icalendar-use-scheduled}.}. As categories, it will use the tags locally defined in the heading, and the file/tree category@footnote{To add inherited tags or the TODO state, configure the variable @code{org-icalendar-categories}.}. See the variable @code{org-icalendar-alarm-time} for a way to assign alarms to entries with a time. @vindex org-icalendar-store-UID @cindex property, ID The iCalendar standard requires each entry to have a globally unique identifier (UID). Org creates these identifiers during export. If you set the variable @code{org-icalendar-store-UID}, the UID will be stored in the @code{:ID:} property of the entry and re-used next time you report this entry. Since a single entry can give rise to multiple iCalendar entries (as a timestamp, a deadline, a scheduled item, and as a TODO item), Org adds prefixes to the UID, depending on what triggered the inclusion of the entry. In this way the UID remains unique, but a synchronization program can still figure out from which entry all the different instances originate. @table @kbd @orgcmd{C-c C-e c f,org-icalendar-export-to-ics} Create iCalendar entries for the current buffer and store them in the same directory, using a file extension @file{.ics}. @orgcmd{C-c C-e c a, org-icalendar-export-agenda-files} @vindex org-agenda-files Like @kbd{C-c C-e c f}, but do this for all files in @code{org-agenda-files}. For each of these files, a separate iCalendar file will be written. @orgcmd{C-c C-e c c,org-icalendar-combine-agenda-files} @vindex org-icalendar-combined-agenda-file Create a single large iCalendar file from all files in @code{org-agenda-files} and write it to the file given by @code{org-icalendar-combined-agenda-file}. @end table @vindex org-use-property-inheritance @vindex org-icalendar-include-body @cindex property, SUMMARY @cindex property, DESCRIPTION @cindex property, LOCATION The export will honor SUMMARY, DESCRIPTION and LOCATION@footnote{The LOCATION property can be inherited from higher in the hierarchy if you configure @code{org-use-property-inheritance} accordingly.} properties if the selected entries have them. If not, the summary will be derived from the headline, and the description from the body (limited to @code{org-icalendar-include-body} characters). How this calendar is best read and updated, depends on the application you are using. The FAQ covers this issue. @node Other built-in back-ends, Export in foreign buffers, iCalendar export, Exporting @section Other built-in back-ends @cindex export back-ends, built-in @vindex org-export-backends On top of the aforementioned back-ends, Org comes with other built-in ones: @itemize @item @file{ox-man.el}: export to a man page. @item @file{ox-texinfo.el}: export to @code{Texinfo} format. @item @file{ox-org.el}: export to an Org document. @end itemize To activate these export back-end, customize @code{org-export-backends} or load them directly with e.g., @code{(require 'ox-texinfo)}. This will add new keys in the export dispatcher (@pxref{The Export Dispatcher}). See the comment section of these files for more information on how to use them. @node Export in foreign buffers, Advanced configuration, Other built-in back-ends, Exporting @section Export in foreign buffers Most built-in back-ends come with a command to convert the selected region into a selected format and replace this region by the exported output. Here is a list of such conversion commands: @table @code @item org-html-convert-region-to-html Convert the selected region into HTML. @item org-latex-convert-region-to-latex Convert the selected region into @LaTeX{}. @item org-texinfo-convert-region-to-texinfo Convert the selected region into @code{Texinfo}. @item org-md-convert-region-to-md Convert the selected region into @code{MarkDown}. @end table This is particularly useful for converting tables and lists in foreign buffers. E.g., in an HTML buffer, you can turn on @code{orgstruct-mode}, then use Org commands for editing a list, and finally select and convert the list with @code{M-x org-html-convert-region-to-html RET}. @node Advanced configuration, , Export in foreign buffers, Exporting @section Advanced configuration @subheading Hooks @vindex org-export-before-processing-hook @vindex org-export-before-parsing-hook Two hooks are run during the first steps of the export process. The first one, @code{org-export-before-processing-hook} is called before expanding macros, Babel code and include keywords in the buffer. The second one, @code{org-export-before-parsing-hook}, as its name suggests, happens just before parsing the buffer. Their main use is for heavy duties, that is duties involving structural modifications of the document. For example, one may want to remove every headline in the buffer during export. The following code can achieve this: @lisp @group (defun my-headline-removal (backend) "Remove all headlines in the current buffer. BACKEND is the export back-end being used, as a symbol." (org-map-entries (lambda () (delete-region (point) (progn (forward-line) (point)))))) (add-hook 'org-export-before-parsing-hook 'my-headline-removal) @end group @end lisp Note that functions used in these hooks require a mandatory argument, a symbol representing the back-end used. @subheading Filters @cindex Filters, exporting Filters are lists of functions applied on a specific part of the output from a given back-end. More explicitly, each time a back-end transforms an Org object or element into another language, all functions within a given filter type are called in turn on the string produced. The string returned by the last function will be the one used in the final output. There are filters sets for each type of element or object, for plain text, for the parse tree, for the export options and for the final output. They are all named after the same scheme: @code{org-export-filter-TYPE-functions}, where @code{TYPE} is the type targeted by the filter. Valid types are: @multitable @columnfractions .33 .33 .33 @item bold @tab babel-call @tab center-block @item clock @tab code @tab comment @item comment-block @tab diary-sexp @tab drawer @item dynamic-block @tab entity @tab example-block @item export-block @tab export-snippet @tab final-output @item fixed-width @tab footnote-definition @tab footnote-reference @item headline @tab horizontal-rule @tab inline-babel-call @item inline-src-block @tab inlinetask @tab italic @item item @tab keyword @tab latex-environment @item latex-fragment @tab line-break @tab link @item node-property @tab options @tab paragraph @item parse-tree @tab plain-list @tab plain-text @item planning @tab property-drawer @tab quote-block @item quote-section @tab radio-target @tab section @item special-block @tab src-block @tab statistics-cookie @item strike-through @tab subscript @tab superscript @item table @tab table-cell @tab table-row @item target @tab timestamp @tab underline @item verbatim @tab verse-block @tab @end multitable For example, the following snippet allows me to use non-breaking spaces in the Org buffer and get them translated into @LaTeX{} without using the @code{\nbsp} macro (where @code{_} stands for the non-breaking space): @lisp @group (defun my-latex-filter-nobreaks (text backend info) "Ensure \" \" are properly handled in LaTeX export." (when (org-export-derived-backend-p backend 'latex) (replace-regexp-in-string " " "~" text))) (add-to-list 'org-export-filter-plain-text-functions 'my-latex-filter-nobreaks) @end group @end lisp Three arguments must be provided to a filter: the code being changed, the back-end used, and some information about the export process. You can safely ignore the third argument for most purposes. Note the use of @code{org-export-derived-backend-p}, which ensures that the filter will only be applied when using @code{latex} back-end or any other back-end derived from it (e.g., @code{beamer}). @subheading Extending an existing back-end This is obviously the most powerful customization, since the changes happen at the parser level. Indeed, some export back-ends are built as extensions of other ones (e.g. Markdown back-end an extension of HTML back-end). Extending a back-end means that if an element type is not transcoded by the new back-end, it will be handled by the original one. Hence you can extend specific parts of a back-end without too much work. As an example, imagine we want the @code{ascii} back-end to display the language used in a source block, when it is available, but only when some attribute is non-@code{nil}, like the following: @example #+ATTR_ASCII: :language t @end example Because that back-end is lacking in that area, we are going to create a new back-end, @code{my-ascii} that will do the job. @lisp @group (defun my-ascii-src-block (src-block contents info) "Transcode a SRC-BLOCK element from Org to ASCII. CONTENTS is nil. INFO is a plist used as a communication channel." (if (not (org-export-read-attribute :attr_ascii src-block :language)) (org-export-with-backend 'ascii src-block contents info) (concat (format ",--[ %s ]--\n%s`----" (org-element-property :language src-block) (replace-regexp-in-string "^" "| " (org-element-normalize-string (org-export-format-code-default src-block info))))))) (org-export-define-derived-backend 'my-ascii 'ascii :translate-alist '((src-block . my-ascii-src-block))) @end group @end lisp The @code{my-ascii-src-block} function looks at the attribute above the element. If it isn’t true, it gives hand to the @code{ascii} back-end. Otherwise, it creates a box around the code, leaving room for the language. A new back-end is then created. It only changes its behaviour when translating @code{src-block} type element. Now, all it takes to use the new back-end is calling the following from an Org buffer: @smalllisp (org-export-to-buffer 'my-ascii "*Org MY-ASCII Export*") @end smalllisp It is obviously possible to write an interactive function for this, install it in the export dispatcher menu, and so on. @node Publishing, Working With Source Code, Exporting, Top @chapter Publishing @cindex publishing Org includes a publishing management system that allows you to configure automatic HTML conversion of @emph{projects} composed of interlinked org files. You can also configure Org to automatically upload your exported HTML pages and related attachments, such as images and source code files, to a web server. You can also use Org to convert files into PDF, or even combine HTML and PDF conversion so that files are available in both formats on the server. Publishing has been contributed to Org by David O'Toole. @menu * Configuration:: Defining projects * Uploading files:: How to get files up on the server * Sample configuration:: Example projects * Triggering publication:: Publication commands @end menu @node Configuration, Uploading files, Publishing, Publishing @section Configuration Publishing needs significant configuration to specify files, destination and many other properties of a project. @menu * Project alist:: The central configuration variable * Sources and destinations:: From here to there * Selecting files:: What files are part of the project? * Publishing action:: Setting the function doing the publishing * Publishing options:: Tweaking HTML/@LaTeX{} export * Publishing links:: Which links keep working after publishing? * Sitemap:: Generating a list of all pages * Generating an index:: An index that reaches across pages @end menu @node Project alist, Sources and destinations, Configuration, Configuration @subsection The variable @code{org-publish-project-alist} @cindex org-publish-project-alist @cindex projects, for publishing @vindex org-publish-project-alist Publishing is configured almost entirely through setting the value of one variable, called @code{org-publish-project-alist}. Each element of the list configures one project, and may be in one of the two following forms: @lisp ("project-name" :property value :property value ...) @r{i.e., a well-formed property list with alternating keys and values} @r{or} ("project-name" :components ("project-name" "project-name" ...)) @end lisp In both cases, projects are configured by specifying property values. A project defines the set of files that will be published, as well as the publishing configuration to use when publishing those files. When a project takes the second form listed above, the individual members of the @code{:components} property are taken to be sub-projects, which group together files requiring different publishing options. When you publish such a ``meta-project'', all the components will also be published, in the sequence given. @node Sources and destinations, Selecting files, Project alist, Configuration @subsection Sources and destinations for files @cindex directories, for publishing Most properties are optional, but some should always be set. In particular, Org needs to know where to look for source files, and where to put published files. @multitable @columnfractions 0.3 0.7 @item @code{:base-directory} @tab Directory containing publishing source files @item @code{:publishing-directory} @tab Directory where output files will be published. You can directly publish to a web server using a file name syntax appropriate for the Emacs @file{tramp} package. Or you can publish to a local directory and use external tools to upload your website (@pxref{Uploading files}). @item @code{:preparation-function} @tab Function or list of functions to be called before starting the publishing process, for example, to run @code{make} for updating files to be published. The project property list is scoped into this call as the variable @code{project-plist}. @item @code{:completion-function} @tab Function or list of functions called after finishing the publishing process, for example, to change permissions of the resulting files. The project property list is scoped into this call as the variable @code{project-plist}. @end multitable @noindent @node Selecting files, Publishing action, Sources and destinations, Configuration @subsection Selecting files @cindex files, selecting for publishing By default, all files with extension @file{.org} in the base directory are considered part of the project. This can be modified by setting the properties @multitable @columnfractions 0.25 0.75 @item @code{:base-extension} @tab Extension (without the dot!) of source files. This actually is a regular expression. Set this to the symbol @code{any} if you want to get all files in @code{:base-directory}, even without extension. @item @code{:exclude} @tab Regular expression to match file names that should not be published, even though they have been selected on the basis of their extension. @item @code{:include} @tab List of files to be included regardless of @code{:base-extension} and @code{:exclude}. @item @code{:recursive} @tab non-@code{nil} means, check base-directory recursively for files to publish. @end multitable @node Publishing action, Publishing options, Selecting files, Configuration @subsection Publishing action @cindex action, for publishing Publishing means that a file is copied to the destination directory and possibly transformed in the process. The default transformation is to export Org files as HTML files, and this is done by the function @code{org-html-publish-to-html}, which calls the HTML exporter (@pxref{HTML export}). But you also can publish your content as PDF files using @code{org-latex-publish-to-pdf} or as @code{ascii}, @code{Texinfo}, etc., using the corresponding functions. If you want to publish the Org file as an @code{.org} file but with the @i{archived}, @i{commented} and @i{tag-excluded} trees removed, use the function @code{org-org-publish-to-org}. This will produce @file{file.org} and put it in the publishing directory. If you want a htmlized version of this file, set the parameter @code{:htmlized-source} to @code{t}, it will produce @file{file.org.html} in the publishing directory@footnote{If the publishing directory is the same than the source directory, @file{file.org} will be exported as @file{file.org.org}, so probably don't want to do this.}. Other files like images only need to be copied to the publishing destination. For this you can use @code{org-publish-attachment}. For non-org files, you always need to specify the publishing function: @multitable @columnfractions 0.3 0.7 @item @code{:publishing-function} @tab Function executing the publication of a file. This may also be a list of functions, which will all be called in turn. @item @code{:htmlized-source} @tab non-@code{nil} means, publish htmlized source. @end multitable The function must accept three arguments: a property list containing at least a @code{:publishing-directory} property, the name of the file to be published and the path to the publishing directory of the output file. It should take the specified file, make the necessary transformation (if any) and place the result into the destination folder. @node Publishing options, Publishing links, Publishing action, Configuration @subsection Options for the exporters @cindex options, for publishing The property list can be used to set many export options for the exporters. In most cases, these properties correspond to user variables in Org. The first table below lists these properties along with the variable they belong to. The second table list HTML specific properties. See the documentation string of these options for details. @vindex org-display-custom-times @vindex org-export-default-language @vindex org-export-exclude-tags @vindex org-export-headline-levels @vindex org-export-preserve-breaks @vindex org-export-publishing-directory @vindex org-export-select-tags @vindex org-export-with-archived-trees @vindex org-export-with-author @vindex org-export-with-creator @vindex org-export-with-drawers @vindex org-export-with-email @vindex org-export-with-emphasize @vindex org-export-with-fixed-width @vindex org-export-with-footnotes @vindex org-export-with-latex @vindex org-export-with-planning @vindex org-export-with-priority @vindex org-export-with-section-numbers @vindex org-export-with-special-strings @vindex org-export-with-sub-superscripts @vindex org-export-with-tables @vindex org-export-with-tags @vindex org-export-with-tasks @vindex org-export-with-timestamps @vindex org-export-with-toc @vindex org-export-with-todo-keywords @vindex user-mail-address @multitable @columnfractions 0.32 0.68 @item @code{:archived-trees} @tab @code{org-export-with-archived-trees} @item @code{:exclude-tags} @tab @code{org-export-exclude-tags} @item @code{:headline-levels} @tab @code{org-export-headline-levels} @item @code{:language} @tab @code{org-export-default-language} @item @code{:preserve-breaks} @tab @code{org-export-preserve-breaks} @item @code{:publishing-directory} @tab @code{org-export-publishing-directory} @item @code{:section-numbers} @tab @code{org-export-with-section-numbers} @item @code{:select-tags} @tab @code{org-export-select-tags} @item @code{:with-author} @tab @code{org-export-with-author} @item @code{:with-creator} @tab @code{org-export-with-creator} @item @code{:with-drawers} @tab @code{org-export-with-drawers} @item @code{:with-email} @tab @code{org-export-with-email} @item @code{:with-emphasize} @tab @code{org-export-with-emphasize} @item @code{:with-fixed-width} @tab @code{org-export-with-fixed-width} @item @code{:with-footnotes} @tab @code{org-export-with-footnotes} @item @code{:with-latex} @tab @code{org-export-with-latex} @item @code{:with-planning} @tab @code{org-export-with-planning} @item @code{:with-priority} @tab @code{org-export-with-priority} @item @code{:with-special-strings} @tab @code{org-export-with-special-strings} @item @code{:with-sub-superscript} @tab @code{org-export-with-sub-superscripts} @item @code{:with-tables} @tab @code{org-export-with-tables} @item @code{:with-tags} @tab @code{org-export-with-tags} @item @code{:with-tasks} @tab @code{org-export-with-tasks} @item @code{:with-timestamps} @tab @code{org-export-with-timestamps} @item @code{:with-toc} @tab @code{org-export-with-toc} @item @code{:with-todo-keywords} @tab @code{org-export-with-todo-keywords} @end multitable @vindex org-html-doctype @vindex org-html-xml-declaration @vindex org-html-link-up @vindex org-html-link-home @vindex org-html-link-org-files-as-html @vindex org-html-head @vindex org-html-head-extra @vindex org-html-inline-images @vindex org-html-extension @vindex org-html-preamble @vindex org-html-postamble @vindex org-html-table-default-attributes @vindex org-html-head-include-default-style @vindex org-html-head-include-scripts @multitable @columnfractions 0.32 0.68 @item @code{:html-doctype} @tab @code{org-html-doctype} @item @code{:html-xml-declaration} @tab @code{org-html-xml-declaration} @item @code{:html-link-up} @tab @code{org-html-link-up} @item @code{:html-link-home} @tab @code{org-html-link-home} @item @code{:html-link-org-as-html} @tab @code{org-html-link-org-files-as-html} @item @code{:html-head} @tab @code{org-html-head} @item @code{:html-head-extra} @tab @code{org-html-head-extra} @item @code{:html-inline-images} @tab @code{org-html-inline-images} @item @code{:html-extension} @tab @code{org-html-extension} @item @code{:html-preamble} @tab @code{org-html-preamble} @item @code{:html-postamble} @tab @code{org-html-postamble} @item @code{:html-table-attributes} @tab @code{org-html-table-default-attributes} @item @code{:html-head-include-default-style} @tab @code{org-html-head-include-default-style} @item @code{:html-head-include-scripts} @tab @code{org-html-head-include-scripts} @end multitable Most of the @code{org-export-with-*} variables have the same effect in each exporter. @vindex org-publish-project-alist When a property is given a value in @code{org-publish-project-alist}, its setting overrides the value of the corresponding user variable (if any) during publishing. Options set within a file (@pxref{Export settings}), however, override everything. @node Publishing links, Sitemap, Publishing options, Configuration @subsection Links between published files @cindex links, publishing To create a link from one Org file to another, you would use something like @samp{[[file:foo.org][The foo]]} or simply @samp{file:foo.org.} (@pxref{Hyperlinks}). When published, this link becomes a link to @file{foo.html}. You can thus interlink the pages of your "org web" project and the links will work as expected when you publish them to HTML@. If you also publish the Org source file and want to link to it, use an @code{http:} link instead of a @code{file:} link, because @code{file:} links are converted to link to the corresponding @file{html} file. You may also link to related files, such as images. Provided you are careful with relative file names, and provided you have also configured Org to upload the related files, these links will work too. See @ref{Complex example}, for an example of this usage. @node Sitemap, Generating an index, Publishing links, Configuration @subsection Generating a sitemap @cindex sitemap, of published pages The following properties may be used to control publishing of a map of files for a given project. @multitable @columnfractions 0.35 0.65 @item @code{:auto-sitemap} @tab When non-@code{nil}, publish a sitemap during @code{org-publish-current-project} or @code{org-publish-all}. @item @code{:sitemap-filename} @tab Filename for output of sitemap. Defaults to @file{sitemap.org} (which becomes @file{sitemap.html}). @item @code{:sitemap-title} @tab Title of sitemap page. Defaults to name of file. @item @code{:sitemap-function} @tab Plug-in function to use for generation of the sitemap. Defaults to @code{org-publish-org-sitemap}, which generates a plain list of links to all files in the project. @item @code{:sitemap-sort-folders} @tab Where folders should appear in the sitemap. Set this to @code{first} (default) or @code{last} to display folders first or last, respectively. Any other value will mix files and folders. @item @code{:sitemap-sort-files} @tab How the files are sorted in the site map. Set this to @code{alphabetically} (default), @code{chronologically} or @code{anti-chronologically}. @code{chronologically} sorts the files with older date first while @code{anti-chronologically} sorts the files with newer date first. @code{alphabetically} sorts the files alphabetically. The date of a file is retrieved with @code{org-publish-find-date}. @item @code{:sitemap-ignore-case} @tab Should sorting be case-sensitive? Default @code{nil}. @item @code{:sitemap-file-entry-format} @tab With this option one can tell how a sitemap's entry is formatted in the sitemap. This is a format string with some escape sequences: @code{%t} stands for the title of the file, @code{%a} stands for the author of the file and @code{%d} stands for the date of the file. The date is retrieved with the @code{org-publish-find-date} function and formatted with @code{org-publish-sitemap-date-format}. Default @code{%t}. @item @code{:sitemap-date-format} @tab Format string for the @code{format-time-string} function that tells how a sitemap entry's date is to be formatted. This property bypasses @code{org-publish-sitemap-date-format} which defaults to @code{%Y-%m-%d}. @item @code{:sitemap-sans-extension} @tab When non-@code{nil}, remove filenames' extensions from the generated sitemap. Useful to have cool URIs (see @uref{http://www.w3.org/Provider/Style/URI}). Defaults to @code{nil}. @end multitable @node Generating an index, , Sitemap, Configuration @subsection Generating an index @cindex index, in a publishing project Org mode can generate an index across the files of a publishing project. @multitable @columnfractions 0.25 0.75 @item @code{:makeindex} @tab When non-@code{nil}, generate in index in the file @file{theindex.org} and publish it as @file{theindex.html}. @end multitable The file will be created when first publishing a project with the @code{:makeindex} set. The file only contains a statement @code{#+INCLUDE: "theindex.inc"}. You can then build around this include statement by adding a title, style information, etc. @node Uploading files, Sample configuration, Configuration, Publishing @section Uploading files @cindex rsync @cindex unison For those people already utilizing third party sync tools such as @command{rsync} or @command{unison}, it might be preferable not to use the built in @i{remote} publishing facilities of Org mode which rely heavily on Tramp. Tramp, while very useful and powerful, tends not to be so efficient for multiple file transfer and has been known to cause problems under heavy usage. Specialized synchronization utilities offer several advantages. In addition to timestamp comparison, they also do content and permissions/attribute checks. For this reason you might prefer to publish your web to a local directory (possibly even @i{in place} with your Org files) and then use @file{unison} or @file{rsync} to do the synchronization with the remote host. Since Unison (for example) can be configured as to which files to transfer to a certain remote destination, it can greatly simplify the project publishing definition. Simply keep all files in the correct location, process your Org files with @code{org-publish} and let the synchronization tool do the rest. You do not need, in this scenario, to include attachments such as @file{jpg}, @file{css} or @file{gif} files in the project definition since the 3rd party tool syncs them. Publishing to a local directory is also much faster than to a remote one, so that you can afford more easily to republish entire projects. If you set @code{org-publish-use-timestamps-flag} to @code{nil}, you gain the main benefit of re-including any changed external files such as source example files you might include with @code{#+INCLUDE:}. The timestamp mechanism in Org is not smart enough to detect if included files have been modified. @node Sample configuration, Triggering publication, Uploading files, Publishing @section Sample configuration Below we provide two example configurations. The first one is a simple project publishing only a set of Org files. The second example is more complex, with a multi-component project. @menu * Simple example:: One-component publishing * Complex example:: A multi-component publishing example @end menu @node Simple example, Complex example, Sample configuration, Sample configuration @subsection Example: simple publishing configuration This example publishes a set of Org files to the @file{public_html} directory on the local machine. @lisp (setq org-publish-project-alist '(("org" :base-directory "~/org/" :publishing-directory "~/public_html" :section-numbers nil :with-toc nil :html-head ""))) @end lisp @node Complex example, , Simple example, Sample configuration @subsection Example: complex publishing configuration This more complicated example publishes an entire website, including Org files converted to HTML, image files, Emacs Lisp source code, and style sheets. The publishing directory is remote and private files are excluded. To ensure that links are preserved, care should be taken to replicate your directory structure on the web server, and to use relative file paths. For example, if your Org files are kept in @file{~/org} and your publishable images in @file{~/images}, you would link to an image with @c @example file:../images/myimage.png @end example @c On the web server, the relative path to the image should be the same. You can accomplish this by setting up an "images" folder in the right place on the web server, and publishing images to it. @lisp (setq org-publish-project-alist '(("orgfiles" :base-directory "~/org/" :base-extension "org" :publishing-directory "/ssh:user@@host:~/html/notebook/" :publishing-function org-html-publish-to-html :exclude "PrivatePage.org" ;; regexp :headline-levels 3 :section-numbers nil :with-toc nil :html-head "" :html-preamble t) ("images" :base-directory "~/images/" :base-extension "jpg\\|gif\\|png" :publishing-directory "/ssh:user@@host:~/html/images/" :publishing-function org-publish-attachment) ("other" :base-directory "~/other/" :base-extension "css\\|el" :publishing-directory "/ssh:user@@host:~/html/other/" :publishing-function org-publish-attachment) ("website" :components ("orgfiles" "images" "other")))) @end lisp @node Triggering publication, , Sample configuration, Publishing @section Triggering publication Once properly configured, Org can publish with the following commands: @table @kbd @orgcmd{C-c C-e P x,org-publish} Prompt for a specific project and publish all files that belong to it. @orgcmd{C-c C-e P p,org-publish-current-project} Publish the project containing the current file. @orgcmd{C-c C-e P f,org-publish-current-file} Publish only the current file. @orgcmd{C-c C-e P a,org-publish-all} Publish every project. @end table @vindex org-publish-use-timestamps-flag Org uses timestamps to track when a file has changed. The above functions normally only publish changed files. You can override this and force publishing of all files by giving a prefix argument to any of the commands above, or by customizing the variable @code{org-publish-use-timestamps-flag}. This may be necessary in particular if files include other files via @code{#+SETUPFILE:} or @code{#+INCLUDE:}. @comment node-name, next, previous, up @comment Working With Source Code, Miscellaneous, Publishing, Top @node Working With Source Code, Miscellaneous, Publishing, Top @chapter Working with source code @cindex Schulte, Eric @cindex Davison, Dan @cindex source code, working with Source code can be included in Org mode documents using a @samp{src} block, e.g.: @example #+BEGIN_SRC emacs-lisp (defun org-xor (a b) "Exclusive or." (if a (not b) b)) #+END_SRC @end example Org mode provides a number of features for working with live source code, including editing of code blocks in their native major-mode, evaluation of code blocks, converting code blocks into source files (known as @dfn{tangling} in literate programming), and exporting code blocks and their results in several formats. This functionality was contributed by Eric Schulte and Dan Davison, and was originally named Org-babel. The following sections describe Org mode's code block handling facilities. @menu * Structure of code blocks:: Code block syntax described * Editing source code:: Language major-mode editing * Exporting code blocks:: Export contents and/or results * Extracting source code:: Create pure source code files * Evaluating code blocks:: Place results of evaluation in the Org mode buffer * Library of Babel:: Use and contribute to a library of useful code blocks * Languages:: List of supported code block languages * Header arguments:: Configure code block functionality * Results of evaluation:: How evaluation results are handled * Noweb reference syntax:: Literate programming in Org mode * Key bindings and useful functions:: Work quickly with code blocks * Batch execution:: Call functions from the command line @end menu @comment node-name, next, previous, up @comment Structure of code blocks, Editing source code, Working With Source Code, Working With Source Code @node Structure of code blocks, Editing source code, Working With Source Code, Working With Source Code @section Structure of code blocks @cindex code block, structure @cindex source code, block structure @cindex #+NAME @cindex #+BEGIN_SRC Live code blocks can be specified with a @samp{src} block or inline.@footnote{Note that @samp{src} blocks may be inserted using Org mode's @ref{Easy Templates} system} The structure of a @samp{src} block is @example #+NAME: #+BEGIN_SRC
#+END_SRC @end example The @code{#+NAME:} line is optional, and can be used to name the code block. Live code blocks require that a language be specified on the @code{#+BEGIN_SRC} line. Switches and header arguments are optional. @cindex source code, inline Live code blocks can also be specified inline using @example src_@{@} @end example or @example src_[
]@{@} @end example @table @code @item <#+NAME: name> This line associates a name with the code block. This is similar to the @code{#+NAME: Name} lines that can be used to name tables in Org mode files. Referencing the name of a code block makes it possible to evaluate the block from other places in the file, from other files, or from Org mode table formulas (see @ref{The spreadsheet}). Names are assumed to be unique and the behavior of Org mode when two or more blocks share the same name is undefined. @cindex #+NAME @item The language of the code in the block (see @ref{Languages}). @cindex source code, language @item Optional switches control code block export (see the discussion of switches in @ref{Literal examples}) @cindex source code, switches @item
Optional header arguments control many aspects of evaluation, export and tangling of code blocks (see @ref{Header arguments}). Header arguments can also be set on a per-buffer or per-subtree basis using properties. @item source code, header arguments @item Source code in the specified language. @end table @comment node-name, next, previous, up @comment Editing source code, Exporting code blocks, Structure of code blocks, Working With Source Code @node Editing source code, Exporting code blocks, Structure of code blocks, Working With Source Code @section Editing source code @cindex code block, editing @cindex source code, editing @vindex org-edit-src-auto-save-idle-delay @vindex org-edit-src-turn-on-auto-save @kindex C-c ' Use @kbd{C-c '} to edit the current code block. This brings up a language major-mode edit buffer containing the body of the code block. Manually saving this buffer with @key{C-x C-s} will write the contents back to the Org buffer. You can also set @code{org-edit-src-auto-save-idle-delay} to save the base buffer after some idle delay, or @code{org-edit-src-turn-on-auto-save} to auto-save this buffer into a separate file using @code{auto-save-mode}. Use @kbd{C-c '} again to exit. The @code{org-src-mode} minor mode will be active in the edit buffer. The following variables can be used to configure the behavior of the edit buffer. See also the customization group @code{org-edit-structure} for further configuration options. @table @code @item org-src-lang-modes If an Emacs major-mode named @code{-mode} exists, where @code{} is the language named in the header line of the code block, then the edit buffer will be placed in that major-mode. This variable can be used to map arbitrary language names to existing major modes. @item org-src-window-setup Controls the way Emacs windows are rearranged when the edit buffer is created. @item org-src-preserve-indentation This variable is especially useful for tangling languages such as Python, in which whitespace indentation in the output is critical. @item org-src-ask-before-returning-to-edit-buffer By default, Org will ask before returning to an open edit buffer. Set this variable to @code{nil} to switch without asking. @end table To turn on native code fontification in the @emph{Org} buffer, configure the variable @code{org-src-fontify-natively}. @comment node-name, next, previous, up @comment Exporting code blocks, Extracting source code, Editing source code, Working With Source Code @node Exporting code blocks, Extracting source code, Editing source code, Working With Source Code @section Exporting code blocks @cindex code block, exporting @cindex source code, exporting It is possible to export the @emph{code} of code blocks, the @emph{results} of code block evaluation, @emph{both} the code and the results of code block evaluation, or @emph{none}. For most languages, the default exports code. However, for some languages (e.g., @code{ditaa}) the default exports the results of code block evaluation. For information on exporting code block bodies, see @ref{Literal examples}. The @code{:exports} header argument can be used to specify export behavior: @subsubheading Header arguments: @table @code @item :exports code The default in most languages. The body of the code block is exported, as described in @ref{Literal examples}. @item :exports results The code block will be evaluated and the results will be placed in the Org mode buffer for export, either updating previous results of the code block located anywhere in the buffer or, if no previous results exist, placing the results immediately after the code block. The body of the code block will not be exported. @item :exports both Both the code block and its results will be exported. @item :exports none Neither the code block nor its results will be exported. @end table It is possible to inhibit the evaluation of code blocks during export. Setting the @code{org-export-babel-evaluate} variable to @code{nil} will ensure that no code blocks are evaluated as part of the export process. This can be useful in situations where potentially untrusted Org mode files are exported in an automated fashion, for example when Org mode is used as the markup language for a wiki. It is also possible to set this variable to @code{‘inline-only}. In that case, only inline code blocks will be evaluated, in order to insert their results. Non-inline code blocks are assumed to have their results already inserted in the buffer by manual evaluation. This setting is useful to avoid expensive recalculations during export, not to provide security. @comment node-name, next, previous, up @comment Extracting source code, Evaluating code blocks, Exporting code blocks, Working With Source Code @node Extracting source code, Evaluating code blocks, Exporting code blocks, Working With Source Code @section Extracting source code @cindex tangling @cindex source code, extracting @cindex code block, extracting source code Creating pure source code files by extracting code from source blocks is referred to as ``tangling''---a term adopted from the literate programming community. During ``tangling'' of code blocks their bodies are expanded using @code{org-babel-expand-src-block} which can expand both variable and ``noweb'' style references (see @ref{Noweb reference syntax}). @subsubheading Header arguments @table @code @item :tangle no The default. The code block is not included in the tangled output. @item :tangle yes Include the code block in the tangled output. The output file name is the name of the org file with the extension @samp{.org} replaced by the extension for the block language. @item :tangle filename Include the code block in the tangled output to file @samp{filename}. @end table @kindex C-c C-v t @subsubheading Functions @table @code @item org-babel-tangle Tangle the current file. Bound to @kbd{C-c C-v t}. With prefix argument only tangle the current code block. @item org-babel-tangle-file Choose a file to tangle. Bound to @kbd{C-c C-v f}. @end table @subsubheading Hooks @table @code @item org-babel-post-tangle-hook This hook is run from within code files tangled by @code{org-babel-tangle}. Example applications could include post-processing, compilation or evaluation of tangled code files. @end table @subsubheading Jumping between code and Org When tangling code from an Org-mode buffer to a source code file, you'll frequently find yourself viewing the file of tangled source code (e.g., many debuggers point to lines of the source code file). It is useful to be able to navigate from the tangled source to the Org-mode buffer from which the code originated. The @code{org-babel-tangle-jump-to-org} function provides this jumping from code to Org-mode functionality. Two header arguments are required for jumping to work, first the @code{padline} (@ref{padline}) option must be set to true (the default setting), second the @code{comments} (@ref{comments}) header argument must be set to @code{links}, which will insert comments into the source code buffer which point back to the original Org-mode file. @node Evaluating code blocks, Library of Babel, Extracting source code, Working With Source Code @section Evaluating code blocks @cindex code block, evaluating @cindex source code, evaluating @cindex #+RESULTS Code blocks can be evaluated@footnote{Whenever code is evaluated there is a potential for that code to do harm. Org mode provides safeguards to ensure that code is only evaluated after explicit confirmation from the user. For information on these safeguards (and on how to disable them) see @ref{Code evaluation security}.} and the results of evaluation optionally placed in the Org mode buffer. The results of evaluation are placed following a line that begins by default with @code{#+RESULTS} and optionally a cache identifier and/or the name of the evaluated code block. The default value of @code{#+RESULTS} can be changed with the customizable variable @code{org-babel-results-keyword}. By default, the evaluation facility is only enabled for Lisp code blocks specified as @code{emacs-lisp}. However, source code blocks in many languages can be evaluated within Org mode (see @ref{Languages} for a list of supported languages and @ref{Structure of code blocks} for information on the syntax used to define a code block). @kindex C-c C-c There are a number of ways to evaluate code blocks. The simplest is to press @kbd{C-c C-c} or @kbd{C-c C-v e} with the point on a code block@footnote{The option @code{org-babel-no-eval-on-ctrl-c-ctrl-c} can be used to remove code evaluation from the @kbd{C-c C-c} key binding.}. This will call the @code{org-babel-execute-src-block} function to evaluate the block and insert its results into the Org mode buffer. @cindex #+CALL It is also possible to evaluate named code blocks from anywhere in an Org mode buffer or an Org mode table. Live code blocks located in the current Org mode buffer or in the ``Library of Babel'' (see @ref{Library of Babel}) can be executed. Named code blocks can be executed with a separate @code{#+CALL:} line or inline within a block of text. The syntax of the @code{#+CALL:} line is @example #+CALL: () #+CALL: []() @end example The syntax for inline evaluation of named code blocks is @example ... call_() ... ... call_[]()[] ... @end example @table @code @item The name of the code block to be evaluated (see @ref{Structure of code blocks}). @item Arguments specified in this section will be passed to the code block. These arguments use standard function call syntax, rather than header argument syntax. For example, a @code{#+CALL:} line that passes the number four to a code block named @code{double}, which declares the header argument @code{:var n=2}, would be written as @code{#+CALL: double(n=4)}. @item Inside header arguments are passed through and applied to the named code block. These arguments use header argument syntax rather than standard function call syntax. Inside header arguments affect how the code block is evaluated. For example, @code{[:results output]} will collect the results of everything printed to @code{STDOUT} during execution of the code block. @item End header arguments are applied to the calling instance and do not affect evaluation of the named code block. They affect how the results are incorporated into the Org mode buffer and how the call line is exported. For example, @code{:results html} will insert the results of the call line evaluation in the Org buffer, wrapped in a @code{BEGIN_HTML:} block. For more examples of passing header arguments to @code{#+CALL:} lines see @ref{Header arguments in function calls}. @end table @node Library of Babel, Languages, Evaluating code blocks, Working With Source Code @section Library of Babel @cindex babel, library of @cindex source code, library @cindex code block, library The ``Library of Babel'' consists of code blocks that can be called from any Org mode file. Code blocks defined in the ``Library of Babel'' can be called remotely as if they were in the current Org mode buffer (see @ref{Evaluating code blocks} for information on the syntax of remote code block evaluation). The central repository of code blocks in the ``Library of Babel'' is housed in an Org mode file located in the @samp{contrib} directory of Org mode. Users can add code blocks they believe to be generally useful to their ``Library of Babel.'' The code blocks can be stored in any Org mode file and then loaded into the library with @code{org-babel-lob-ingest}. @kindex C-c C-v i Code blocks located in any Org mode file can be loaded into the ``Library of Babel'' with the @code{org-babel-lob-ingest} function, bound to @kbd{C-c C-v i}. @node Languages, Header arguments, Library of Babel, Working With Source Code @section Languages @cindex babel, languages @cindex source code, languages @cindex code block, languages Code blocks in the following languages are supported. @multitable @columnfractions 0.28 0.3 0.22 0.2 @item @b{Language} @tab @b{Identifier} @tab @b{Language} @tab @b{Identifier} @item Asymptote @tab asymptote @tab Awk @tab awk @item Emacs Calc @tab calc @tab C @tab C @item C++ @tab C++ @tab Clojure @tab clojure @item CSS @tab css @tab ditaa @tab ditaa @item Graphviz @tab dot @tab Emacs Lisp @tab emacs-lisp @item gnuplot @tab gnuplot @tab Haskell @tab haskell @item Java @tab java @tab @tab @item Javascript @tab js @tab LaTeX @tab latex @item Ledger @tab ledger @tab Lisp @tab lisp @item Lilypond @tab lilypond @tab MATLAB @tab matlab @item Mscgen @tab mscgen @tab Objective Caml @tab ocaml @item Octave @tab octave @tab Org mode @tab org @item Oz @tab oz @tab Perl @tab perl @item Plantuml @tab plantuml @tab Python @tab python @item R @tab R @tab Ruby @tab ruby @item Sass @tab sass @tab Scheme @tab scheme @item GNU Screen @tab screen @tab shell @tab sh @item SQL @tab sql @tab SQLite @tab sqlite @end multitable Language-specific documentation is available for some languages. If available, it can be found at @uref{http://orgmode.org/worg/org-contrib/babel/languages.html}. The option @code{org-babel-load-languages} controls which languages are enabled for evaluation (by default only @code{emacs-lisp} is enabled). This variable can be set using the customization interface or by adding code like the following to your emacs configuration. @quotation The following disables @code{emacs-lisp} evaluation and enables evaluation of @code{R} code blocks. @end quotation @lisp (org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . nil) (R . t))) @end lisp It is also possible to enable support for a language by loading the related elisp file with @code{require}. @quotation The following adds support for evaluating @code{clojure} code blocks. @end quotation @lisp (require 'ob-clojure) @end lisp @node Header arguments, Results of evaluation, Languages, Working With Source Code @section Header arguments @cindex code block, header arguments @cindex source code, block header arguments Code block functionality can be configured with header arguments. This section provides an overview of the use of header arguments, and then describes each header argument in detail. @menu * Using header arguments:: Different ways to set header arguments * Specific header arguments:: List of header arguments @end menu @node Using header arguments, Specific header arguments, Header arguments, Header arguments @subsection Using header arguments The values of header arguments can be set in several way. When the header arguments in each layer have been determined, they are combined in order from the first, least specific (having the lowest priority) up to the last, most specific (having the highest priority). A header argument with a higher priority replaces the same header argument specified at lower priority. @menu * System-wide header arguments:: Set global default values * Language-specific header arguments:: Set default values by language * Header arguments in Org mode properties:: Set default values for a buffer or heading * Language-specific header arguments in Org mode properties:: Set language-specific default values for a buffer or heading * Code block specific header arguments:: The most common way to set values * Header arguments in function calls:: The most specific level @end menu @node System-wide header arguments, Language-specific header arguments, Using header arguments, Using header arguments @subsubheading System-wide header arguments @vindex org-babel-default-header-args System-wide values of header arguments can be specified by adapting the @code{org-babel-default-header-args} variable: @example :session => "none" :results => "replace" :exports => "code" :cache => "no" :noweb => "no" @end example For example, the following example could be used to set the default value of @code{:noweb} header arguments to @code{yes}. This would have the effect of expanding @code{:noweb} references by default when evaluating source code blocks. @lisp (setq org-babel-default-header-args (cons '(:noweb . "yes") (assq-delete-all :noweb org-babel-default-header-args))) @end lisp @node Language-specific header arguments, Header arguments in Org mode properties, System-wide header arguments, Using header arguments @subsubheading Language-specific header arguments Each language can define its own set of default header arguments in variable @code{org-babel-default-header-args:}, where @code{} is the name of the language. See the language-specific documentation available online at @uref{http://orgmode.org/worg/org-contrib/babel}. @node Header arguments in Org mode properties, Language-specific header arguments in Org mode properties, Language-specific header arguments, Using header arguments @subsubheading Header arguments in Org mode properties Buffer-wide header arguments may be specified as properties through the use of @code{#+PROPERTY:} lines placed anywhere in an Org mode file (see @ref{Property syntax}). For example the following would set @code{session} to @code{*R*} (only for R code blocks), and @code{results} to @code{silent} for every code block in the buffer, ensuring that all execution took place in the same session, and no results would be inserted into the buffer. @example #+PROPERTY: header-args:R :session *R* #+PROPERTY: header-args :results silent @end example Header arguments read from Org mode properties can also be set on a per-subtree basis using property drawers (see @ref{Property syntax}). @vindex org-use-property-inheritance When properties are used to set default header arguments, they are always looked up with inheritance, regardless of the value of @code{org-use-property-inheritance}. Properties are evaluated as seen by the outermost call or source block.@footnote{The deprecated syntax for default header argument properties, using the name of the header argument as a property name directly, evaluates the property as seen by the corresponding source block definition. This behaviour has been kept for backwards compatibility.} In the following example the value of the @code{:cache} header argument will default to @code{yes} in all code blocks in the subtree rooted at the following heading: @example * outline header :PROPERTIES: :header-args: :cache yes :END: @end example @kindex C-c C-x p @vindex org-babel-default-header-args Properties defined in this way override the properties set in @code{org-babel-default-header-args} and are applied for all activated languages. It is convenient to use the @code{org-set-property} function bound to @kbd{C-c C-x p} to set properties in Org mode documents. @node Language-specific header arguments in Org mode properties, Code block specific header arguments, Header arguments in Org mode properties, Using header arguments @subsubheading Language-specific header arguments in Org mode properties Language-specific header arguments are also read from properties @code{header-args:} where @code{} is the name of the language targeted. As an example @example * Heading :PROPERTIES: :header-args:clojure: :session *clojure-1* :header-args:R: :session *R* :END: ** Subheading :PROPERTIES: :header-args:clojure: :session *clojure-2* :END: @end example would independently set a default session header argument for R and clojure for calls and source blocks under subtree ``Heading'' and change to a different clojure setting for evaluations under subtree ``Subheading'', while the R session is inherited from ``Heading'' and therefore unchanged. @node Code block specific header arguments, Header arguments in function calls, Language-specific header arguments in Org mode properties, Using header arguments @subsubheading Code block specific header arguments The most common way to assign values to header arguments is at the code block level. This can be done by listing a sequence of header arguments and their values as part of the @code{#+BEGIN_SRC} line. Properties set in this way override both the values of @code{org-babel-default-header-args} and header arguments specified as properties. In the following example, the @code{:results} header argument is set to @code{silent}, meaning the results of execution will not be inserted in the buffer, and the @code{:exports} header argument is set to @code{code}, meaning only the body of the code block will be preserved on export to HTML or @LaTeX{}. @example #+NAME: factorial #+BEGIN_SRC haskell :results silent :exports code :var n=0 fac 0 = 1 fac n = n * fac (n-1) #+END_SRC @end example Similarly, it is possible to set header arguments for inline code blocks @example src_haskell[:exports both]@{fac 5@} @end example Code block header arguments can span multiple lines using @code{#+HEADER:} or @code{#+HEADERS:} lines preceding a code block or nested between the @code{#+NAME:} line and the @code{#+BEGIN_SRC} line of a named code block. @cindex #+HEADER: @cindex #+HEADERS: Multi-line header arguments on an un-named code block: @example #+HEADERS: :var data1=1 #+BEGIN_SRC emacs-lisp :var data2=2 (message "data1:%S, data2:%S" data1 data2) #+END_SRC #+RESULTS: : data1:1, data2:2 @end example Multi-line header arguments on a named code block: @example #+NAME: named-block #+HEADER: :var data=2 #+BEGIN_SRC emacs-lisp (message "data:%S" data) #+END_SRC #+RESULTS: named-block : data:2 @end example @node Header arguments in function calls, , Code block specific header arguments, Using header arguments @comment node-name, next, previous, up @subsubheading Header arguments in function calls At the most specific level, header arguments for ``Library of Babel'' or @code{#+CALL:} lines can be set as shown in the two examples below. For more information on the structure of @code{#+CALL:} lines see @ref{Evaluating code blocks}. The following will apply the @code{:exports results} header argument to the evaluation of the @code{#+CALL:} line. @example #+CALL: factorial(n=5) :exports results @end example The following will apply the @code{:session special} header argument to the evaluation of the @code{factorial} code block. @example #+CALL: factorial[:session special](n=5) @end example @node Specific header arguments, , Using header arguments, Header arguments @subsection Specific header arguments Header arguments consist of an initial colon followed by the name of the argument in lowercase letters. The following header arguments are defined: @menu * var:: Pass arguments to code blocks * results:: Specify the type of results and how they will be collected and handled * file:: Specify a path for file output * file-desc:: Specify a description for file results * dir:: Specify the default (possibly remote) directory for code block execution * exports:: Export code and/or results * tangle:: Toggle tangling and specify file name * mkdirp:: Toggle creation of parent directories of target files during tangling * comments:: Toggle insertion of comments in tangled code files * padline:: Control insertion of padding lines in tangled code files * no-expand:: Turn off variable assignment and noweb expansion during tangling * session:: Preserve the state of code evaluation * noweb:: Toggle expansion of noweb references * noweb-ref:: Specify block's noweb reference resolution target * noweb-sep:: String used to separate noweb references * cache:: Avoid re-evaluating unchanged code blocks * sep:: Delimiter for writing tabular results outside Org * hlines:: Handle horizontal lines in tables * colnames:: Handle column names in tables * rownames:: Handle row names in tables * shebang:: Make tangled files executable * tangle-mode:: Set permission of tangled files * eval:: Limit evaluation of specific code blocks * wrap:: Mark source block evaluation results * post:: Post processing of code block results * prologue:: Text to prepend to code block body * epilogue:: Text to append to code block body @end menu Additional header arguments are defined on a language-specific basis, see @ref{Languages}. @node var, results, Specific header arguments, Specific header arguments @subsubsection @code{:var} The @code{:var} header argument is used to pass arguments to code blocks. The specifics of how arguments are included in a code block vary by language; these are addressed in the language-specific documentation. However, the syntax used to specify arguments is the same across all languages. In every case, variables require a default value when they are declared. The values passed to arguments can either be literal values, references, or Emacs Lisp code (see @ref{var, Emacs Lisp evaluation of variables}). References include anything in the Org mode file that takes a @code{#+NAME:} or @code{#+RESULTS:} line: tables, lists, @code{#+BEGIN_EXAMPLE} blocks, other code blocks and the results of other code blocks. Note: When a reference is made to another code block, the referenced block will be evaluated unless it has current cached results (see @ref{cache}). Argument values can be indexed in a manner similar to arrays (see @ref{var, Indexable variable values}). The following syntax is used to pass arguments to code blocks using the @code{:var} header argument. @example :var name=assign @end example The argument, @code{assign}, can either be a literal value, such as a string @samp{"string"} or a number @samp{9}, or a reference to a table, a list, a literal example, another code block (with or without arguments), or the results of evaluating another code block. Here are examples of passing values by reference: @table @dfn @item table an Org mode table named with either a @code{#+NAME:} line @example #+NAME: example-table | 1 | | 2 | | 3 | | 4 | #+NAME: table-length #+BEGIN_SRC emacs-lisp :var table=example-table (length table) #+END_SRC #+RESULTS: table-length : 4 @end example @item list a simple list named with a @code{#+NAME:} line (note that nesting is not carried through to the source code block) @example #+NAME: example-list - simple - not - nested - list #+BEGIN_SRC emacs-lisp :var x=example-list (print x) #+END_SRC #+RESULTS: | simple | list | @end example @item code block without arguments a code block name (from the example above), as assigned by @code{#+NAME:}, optionally followed by parentheses @example #+BEGIN_SRC emacs-lisp :var length=table-length() (* 2 length) #+END_SRC #+RESULTS: : 8 @end example @item code block with arguments a code block name, as assigned by @code{#+NAME:}, followed by parentheses and optional arguments passed within the parentheses following the code block name using standard function call syntax @example #+NAME: double #+BEGIN_SRC emacs-lisp :var input=8 (* 2 input) #+END_SRC #+RESULTS: double : 16 #+NAME: squared #+BEGIN_SRC emacs-lisp :var input=double(input=1) (* input input) #+END_SRC #+RESULTS: squared : 4 @end example @item literal example a literal example block named with a @code{#+NAME:} line @example #+NAME: literal-example #+BEGIN_EXAMPLE A literal example on two lines #+END_EXAMPLE #+NAME: read-literal-example #+BEGIN_SRC emacs-lisp :var x=literal-example (concatenate 'string x " for you.") #+END_SRC #+RESULTS: read-literal-example : A literal example : on two lines for you. @end example @end table @subsubheading Indexable variable values It is possible to reference portions of variable values by ``indexing'' into the variables. Indexes are 0 based with negative values counting back from the end. If an index is separated by @code{,}s then each subsequent section will index into the next deepest nesting or dimension of the value. Note that this indexing occurs @emph{before} other table related header arguments like @code{:hlines}, @code{:colnames} and @code{:rownames} are applied. The following example assigns the last cell of the first row the table @code{example-table} to the variable @code{data}: @example #+NAME: example-table | 1 | a | | 2 | b | | 3 | c | | 4 | d | #+BEGIN_SRC emacs-lisp :var data=example-table[0,-1] data #+END_SRC #+RESULTS: : a @end example Ranges of variable values can be referenced using two integers separated by a @code{:}, in which case the entire inclusive range is referenced. For example the following assigns the middle three rows of @code{example-table} to @code{data}. @example #+NAME: example-table | 1 | a | | 2 | b | | 3 | c | | 4 | d | | 5 | 3 | #+BEGIN_SRC emacs-lisp :var data=example-table[1:3] data #+END_SRC #+RESULTS: | 2 | b | | 3 | c | | 4 | d | @end example Additionally, an empty index, or the single character @code{*}, are both interpreted to mean the entire range and as such are equivalent to @code{0:-1}, as shown in the following example in which the entire first column is referenced. @example #+NAME: example-table | 1 | a | | 2 | b | | 3 | c | | 4 | d | #+BEGIN_SRC emacs-lisp :var data=example-table[,0] data #+END_SRC #+RESULTS: | 1 | 2 | 3 | 4 | @end example It is possible to index into the results of code blocks as well as tables. Any number of dimensions can be indexed. Dimensions are separated from one another by commas, as shown in the following example. @example #+NAME: 3D #+BEGIN_SRC emacs-lisp '(((1 2 3) (4 5 6) (7 8 9)) ((10 11 12) (13 14 15) (16 17 18)) ((19 20 21) (22 23 24) (25 26 27))) #+END_SRC #+BEGIN_SRC emacs-lisp :var data=3D[1,,1] data #+END_SRC #+RESULTS: | 11 | 14 | 17 | @end example @subsubheading Emacs Lisp evaluation of variables Emacs lisp code can be used to initialize variable values. When a variable value starts with @code{(}, @code{[}, @code{'} or @code{`} it will be evaluated as Emacs Lisp and the result of the evaluation will be assigned as the variable value. The following example demonstrates use of this evaluation to reliably pass the file-name of the Org mode buffer to a code block---note that evaluation of header arguments is guaranteed to take place in the original Org mode file, while there is no such guarantee for evaluation of the code block body. @example #+BEGIN_SRC sh :var filename=(buffer-file-name) :exports both wc -w $filename #+END_SRC @end example Note that values read from tables and lists will not be evaluated as Emacs Lisp, as shown in the following example. @example #+NAME: table | (a b c) | #+HEADERS: :var data=table[0,0] #+BEGIN_SRC perl $data #+END_SRC #+RESULTS: : (a b c) @end example @node results, file, var, Specific header arguments @subsubsection @code{:results} There are four classes of @code{:results} header argument. Only one option per class may be supplied per code block. @itemize @bullet @item @b{collection} header arguments specify how the results should be collected from the code block @item @b{type} header arguments specify what type of result the code block will return---which has implications for how they will be processed before insertion into the Org mode buffer @item @b{format} header arguments specify what type of result the code block will return---which has implications for how they will be inserted into the Org mode buffer @item @b{handling} header arguments specify how the results of evaluating the code block should be handled. @end itemize @subsubheading Collection The following options are mutually exclusive, and specify how the results should be collected from the code block. @itemize @bullet @item @code{value} This is the default. The result is the value of the last statement in the code block. This header argument places the evaluation in functional mode. Note that in some languages, e.g., Python, use of this result type requires that a @code{return} statement be included in the body of the source code block. E.g., @code{:results value}. @item @code{output} The result is the collection of everything printed to STDOUT during the execution of the code block. This header argument places the evaluation in scripting mode. E.g., @code{:results output}. @end itemize @subsubheading Type The following options are mutually exclusive and specify what type of results the code block will return. By default, results are inserted as either a table or scalar depending on their value. @itemize @bullet @item @code{table}, @code{vector} The results should be interpreted as an Org mode table. If a single value is returned, it will be converted into a table with one row and one column. E.g., @code{:results value table}. @item @code{list} The results should be interpreted as an Org mode list. If a single scalar value is returned it will be converted into a list with only one element. @item @code{scalar}, @code{verbatim} The results should be interpreted literally---they will not be converted into a table. The results will be inserted into the Org mode buffer as quoted text. E.g., @code{:results value verbatim}. @item @code{file} The results will be interpreted as the path to a file, and will be inserted into the Org mode buffer as a file link. E.g., @code{:results value file}. @end itemize @subsubheading Format The following options are mutually exclusive and specify what type of results the code block will return. By default, results are inserted according to the type as specified above. @itemize @bullet @item @code{raw} The results are interpreted as raw Org mode code and are inserted directly into the buffer. If the results look like a table they will be aligned as such by Org mode. E.g., @code{:results value raw}. @item @code{org} The results are will be enclosed in a @code{BEGIN_SRC org} block. They are not comma-escaped by default but they will be if you hit @kbd{TAB} in the block and/or if you export the file. E.g., @code{:results value org}. @item @code{html} Results are assumed to be HTML and will be enclosed in a @code{BEGIN_HTML} block. E.g., @code{:results value html}. @item @code{latex} Results assumed to be @LaTeX{} and are enclosed in a @code{BEGIN_LaTeX} block. E.g., @code{:results value latex}. @item @code{code} Result are assumed to be parsable code and are enclosed in a code block. E.g., @code{:results value code}. @item @code{pp} The result is converted to pretty-printed code and is enclosed in a code block. This option currently supports Emacs Lisp, Python, and Ruby. E.g., @code{:results value pp}. @item @code{drawer} The result is wrapped in a RESULTS drawer. This can be useful for inserting @code{raw} or @code{org} syntax results in such a way that their extent is known and they can be automatically removed or replaced. @end itemize @subsubheading Handling The following results options indicate what happens with the results once they are collected. @itemize @bullet @item @code{silent} The results will be echoed in the minibuffer but will not be inserted into the Org mode buffer. E.g., @code{:results output silent}. @item @code{replace} The default value. Any existing results will be removed, and the new results will be inserted into the Org mode buffer in their place. E.g., @code{:results output replace}. @item @code{append} If there are pre-existing results of the code block then the new results will be appended to the existing results. Otherwise the new results will be inserted as with @code{replace}. @item @code{prepend} If there are pre-existing results of the code block then the new results will be prepended to the existing results. Otherwise the new results will be inserted as with @code{replace}. @end itemize @node file, file-desc, results, Specific header arguments @subsubsection @code{:file} The header argument @code{:file} is used to specify an external file in which to save code block results. After code block evaluation an Org mode style @code{[[file:]]} link (see @ref{Link format}) to the file will be inserted into the Org mode buffer. Some languages including R, gnuplot, dot, and ditaa provide special handling of the @code{:file} header argument automatically wrapping the code block body in the boilerplate code required to save output to the specified file. This is often useful for saving graphical output of a code block to the specified file. The argument to @code{:file} should be either a string specifying the path to a file, or a list of two strings in which case the first element of the list should be the path to a file and the second a description for the link. @node file-desc, dir, file, Specific header arguments @subsubsection @code{:file-desc} The value of the @code{:file-desc} header argument is used to provide a description for file code block results which are inserted as Org mode links (see @ref{Link format}). If the @code{:file-desc} header argument is given with no value the link path will be placed in both the ``link'' and the ``description'' portion of the Org mode link. @node dir, exports, file-desc, Specific header arguments @subsubsection @code{:dir} and remote execution While the @code{:file} header argument can be used to specify the path to the output file, @code{:dir} specifies the default directory during code block execution. If it is absent, then the directory associated with the current buffer is used. In other words, supplying @code{:dir path} temporarily has the same effect as changing the current directory with @kbd{M-x cd path RET}, and then not supplying @code{:dir}. Under the surface, @code{:dir} simply sets the value of the Emacs variable @code{default-directory}. When using @code{:dir}, you should supply a relative path for file output (e.g., @code{:file myfile.jpg} or @code{:file results/myfile.jpg}) in which case that path will be interpreted relative to the default directory. In other words, if you want your plot to go into a folder called @file{Work} in your home directory, you could use @example #+BEGIN_SRC R :file myplot.png :dir ~/Work matplot(matrix(rnorm(100), 10), type="l") #+END_SRC @end example @subsubheading Remote execution A directory on a remote machine can be specified using tramp file syntax, in which case the code will be evaluated on the remote machine. An example is @example #+BEGIN_SRC R :file plot.png :dir /dand@@yakuba.princeton.edu: plot(1:10, main=system("hostname", intern=TRUE)) #+END_SRC @end example Text results will be returned to the local Org mode buffer as usual, and file output will be created on the remote machine with relative paths interpreted relative to the remote directory. An Org mode link to the remote file will be created. So, in the above example a plot will be created on the remote machine, and a link of the following form will be inserted in the org buffer: @example [[file:/scp:dand@@yakuba.princeton.edu:/home/dand/plot.png][plot.png]] @end example Most of this functionality follows immediately from the fact that @code{:dir} sets the value of the Emacs variable @code{default-directory}, thanks to tramp. Those using XEmacs, or GNU Emacs prior to version 23 may need to install tramp separately in order for these features to work correctly. @subsubheading Further points @itemize @bullet @item If @code{:dir} is used in conjunction with @code{:session}, although it will determine the starting directory for a new session as expected, no attempt is currently made to alter the directory associated with an existing session. @item @code{:dir} should typically not be used to create files during export with @code{:exports results} or @code{:exports both}. The reason is that, in order to retain portability of exported material between machines, during export links inserted into the buffer will @emph{not} be expanded against @code{default directory}. Therefore, if @code{default-directory} is altered using @code{:dir}, it is probable that the file will be created in a location to which the link does not point. @end itemize @node exports, tangle, dir, Specific header arguments @subsubsection @code{:exports} The @code{:exports} header argument specifies what should be included in HTML or @LaTeX{} exports of the Org mode file. @itemize @bullet @item @code{code} The default. The body of code is included into the exported file. E.g., @code{:exports code}. @item @code{results} The result of evaluating the code is included in the exported file. E.g., @code{:exports results}. @item @code{both} Both the code and results are included in the exported file. E.g., @code{:exports both}. @item @code{none} Nothing is included in the exported file. E.g., @code{:exports none}. @end itemize @node tangle, mkdirp, exports, Specific header arguments @subsubsection @code{:tangle} The @code{:tangle} header argument specifies whether or not the code block should be included in tangled extraction of source code files. @itemize @bullet @item @code{tangle} The code block is exported to a source code file named after the full path (including the directory) and file name (w/o extension) of the Org mode file. E.g., @code{:tangle yes}. @item @code{no} The default. The code block is not exported to a source code file. E.g., @code{:tangle no}. @item other Any other string passed to the @code{:tangle} header argument is interpreted as a path (directory and file name relative to the directory of the Org mode file) to which the block will be exported. E.g., @code{:tangle path}. @end itemize @node mkdirp, comments, tangle, Specific header arguments @subsubsection @code{:mkdirp} The @code{:mkdirp} header argument can be used to create parent directories of tangled files when missing. This can be set to @code{yes} to enable directory creation or to @code{no} to inhibit directory creation. @node comments, padline, mkdirp, Specific header arguments @subsubsection @code{:comments} By default code blocks are tangled to source-code files without any insertion of comments beyond those which may already exist in the body of the code block. The @code{:comments} header argument can be set as follows to control the insertion of extra comments into the tangled code file. @itemize @bullet @item @code{no} The default. No extra comments are inserted during tangling. @item @code{link} The code block is wrapped in comments which contain pointers back to the original Org file from which the code was tangled. @item @code{yes} A synonym for ``link'' to maintain backwards compatibility. @item @code{org} Include text from the Org mode file as a comment. The text is picked from the leading context of the tangled code and is limited by the nearest headline or source block as the case may be. @item @code{both} Turns on both the ``link'' and ``org'' comment options. @item @code{noweb} Turns on the ``link'' comment option, and additionally wraps expanded noweb references in the code block body in link comments. @end itemize @node padline, no-expand, comments, Specific header arguments @subsubsection @code{:padline} Control in insertion of padding lines around code block bodies in tangled code files. The default value is @code{yes} which results in insertion of newlines before and after each tangled code block. The following arguments are accepted. @itemize @bullet @item @code{yes} Insert newlines before and after each code block body in tangled code files. @item @code{no} Do not insert any newline padding in tangled output. @end itemize @node no-expand, session, padline, Specific header arguments @subsubsection @code{:no-expand} By default, code blocks are expanded with @code{org-babel-expand-src-block} during tangling. This has the effect of assigning values to variables specified with @code{:var} (see @ref{var}), and of replacing ``noweb'' references (see @ref{Noweb reference syntax}) with their targets. The @code{:no-expand} header argument can be used to turn off this behavior. @node session, noweb, no-expand, Specific header arguments @subsubsection @code{:session} The @code{:session} header argument starts a session for an interpreted language where state is preserved. By default, a session is not started. A string passed to the @code{:session} header argument will give the session a name. This makes it possible to run concurrent sessions for each interpreted language. @node noweb, noweb-ref, session, Specific header arguments @subsubsection @code{:noweb} The @code{:noweb} header argument controls expansion of ``noweb'' syntax references (see @ref{Noweb reference syntax}) when the code block is evaluated, tangled, or exported. The @code{:noweb} header argument can have one of the five values: @code{no}, @code{yes}, @code{tangle}, or @code{no-export} @code{strip-export}. @itemize @bullet @item @code{no} The default. ``Noweb'' syntax references in the body of the code block will not be expanded before the code block is evaluated, tangled or exported. @item @code{yes} ``Noweb'' syntax references in the body of the code block will be expanded before the code block is evaluated, tangled or exported. @item @code{tangle} ``Noweb'' syntax references in the body of the code block will be expanded before the code block is tangled. However, ``noweb'' syntax references will not be expanded when the code block is evaluated or exported. @item @code{no-export} ``Noweb'' syntax references in the body of the code block will be expanded before the block is evaluated or tangled. However, ``noweb'' syntax references will not be expanded when the code block is exported. @item @code{strip-export} ``Noweb'' syntax references in the body of the code block will be expanded before the block is evaluated or tangled. However, ``noweb'' syntax references will be removed when the code block is exported. @item @code{eval} ``Noweb'' syntax references in the body of the code block will only be expanded before the block is evaluated. @end itemize @subsubheading Noweb prefix lines Noweb insertions are now placed behind the line prefix of the @code{<>}. This behavior is illustrated in the following example. Because the @code{<>} noweb reference appears behind the SQL comment syntax, each line of the expanded noweb reference will be commented. This code block: @example -- <> @end example expands to: @example -- this is the -- multi-line body of example @end example Note that noweb replacement text that does not contain any newlines will not be affected by this change, so it is still possible to use inline noweb references. @node noweb-ref, noweb-sep, noweb, Specific header arguments @subsubsection @code{:noweb-ref} When expanding ``noweb'' style references the bodies of all code block with @emph{either} a block name matching the reference name @emph{or} a @code{:noweb-ref} header argument matching the reference name will be concatenated together to form the replacement text. By setting this header argument at the sub-tree or file level, simple code block concatenation may be achieved. For example, when tangling the following Org mode file, the bodies of code blocks will be concatenated into the resulting pure code file@footnote{(The example needs property inheritance to be turned on for the @code{noweb-ref} property, see @ref{Property inheritance}).}. @example #+BEGIN_SRC sh :tangle yes :noweb yes :shebang #!/bin/sh <> #+END_SRC * the mount point of the fullest disk :PROPERTIES: :noweb-ref: fullest-disk :END: ** query all mounted disks #+BEGIN_SRC sh df \ #+END_SRC ** strip the header row #+BEGIN_SRC sh |sed '1d' \ #+END_SRC ** sort by the percent full #+BEGIN_SRC sh |awk '@{print $5 " " $6@}'|sort -n |tail -1 \ #+END_SRC ** extract the mount point #+BEGIN_SRC sh |awk '@{print $2@}' #+END_SRC @end example The @code{:noweb-sep} (see @ref{noweb-sep}) header argument holds the string used to separate accumulate noweb references like those above. By default a newline is used. @node noweb-sep, cache, noweb-ref, Specific header arguments @subsubsection @code{:noweb-sep} The @code{:noweb-sep} header argument holds the string used to separate accumulate noweb references (see @ref{noweb-ref}). By default a newline is used. @node cache, sep, noweb-sep, Specific header arguments @subsubsection @code{:cache} The @code{:cache} header argument controls the use of in-buffer caching of the results of evaluating code blocks. It can be used to avoid re-evaluating unchanged code blocks. Note that the @code{:cache} header argument will not attempt to cache results when the @code{:session} header argument is used, because the results of the code block execution may be stored in the session outside of the Org mode buffer. The @code{:cache} header argument can have one of two values: @code{yes} or @code{no}. @itemize @bullet @item @code{no} The default. No caching takes place, and the code block will be evaluated every time it is called. @item @code{yes} Every time the code block is run a SHA1 hash of the code and arguments passed to the block will be generated. This hash is packed into the @code{#+RESULTS:} line and will be checked on subsequent executions of the code block. If the code block has not changed since the last time it was evaluated, it will not be re-evaluated. @end itemize Code block caches notice if the value of a variable argument to the code block has changed. If this is the case, the cache is invalidated and the code block is re-run. In the following example, @code{caller} will not be re-run unless the results of @code{random} have changed since it was last run. @example #+NAME: random #+BEGIN_SRC R :cache yes runif(1) #+END_SRC #+RESULTS[a2a72cd647ad44515fab62e144796432793d68e1]: random 0.4659510825295 #+NAME: caller #+BEGIN_SRC emacs-lisp :var x=random :cache yes x #+END_SRC #+RESULTS[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller 0.254227238707244 @end example @node sep, hlines, cache, Specific header arguments @subsubsection @code{:sep} The @code{:sep} header argument can be used to control the delimiter used when writing tabular results out to files external to Org mode. This is used either when opening tabular results of a code block by calling the @code{org-open-at-point} function bound to @kbd{C-c C-o} on the code block, or when writing code block results to an external file (see @ref{file}) header argument. By default, when @code{:sep} is not specified output tables are tab delimited. @node hlines, colnames, sep, Specific header arguments @subsubsection @code{:hlines} Tables are frequently represented with one or more horizontal lines, or hlines. The @code{:hlines} argument to a code block accepts the values @code{yes} or @code{no}, with a default value of @code{no}. @itemize @bullet @item @code{no} Strips horizontal lines from the input table. In most languages this is the desired effect because an @code{hline} symbol is interpreted as an unbound variable and raises an error. Setting @code{:hlines no} or relying on the default value yields the following results. @example #+NAME: many-cols | a | b | c | |---+---+---| | d | e | f | |---+---+---| | g | h | i | #+NAME: echo-table #+BEGIN_SRC python :var tab=many-cols return tab #+END_SRC #+RESULTS: echo-table | a | b | c | | d | e | f | | g | h | i | @end example @item @code{yes} Leaves hlines in the table. Setting @code{:hlines yes} has this effect. @example #+NAME: many-cols | a | b | c | |---+---+---| | d | e | f | |---+---+---| | g | h | i | #+NAME: echo-table #+BEGIN_SRC python :var tab=many-cols :hlines yes return tab #+END_SRC #+RESULTS: echo-table | a | b | c | |---+---+---| | d | e | f | |---+---+---| | g | h | i | @end example @end itemize @node colnames, rownames, hlines, Specific header arguments @subsubsection @code{:colnames} The @code{:colnames} header argument accepts the values @code{yes}, @code{no}, or @code{nil} for unassigned. The default value is @code{nil}. Note that the behavior of the @code{:colnames} header argument may differ across languages. @itemize @bullet @item @code{nil} If an input table looks like it has column names (because its second row is an hline), then the column names will be removed from the table before processing, then reapplied to the results. @example #+NAME: less-cols | a | |---| | b | | c | #+NAME: echo-table-again #+BEGIN_SRC python :var tab=less-cols return [[val + '*' for val in row] for row in tab] #+END_SRC #+RESULTS: echo-table-again | a | |----| | b* | | c* | @end example Please note that column names are not removed before the table is indexed using variable indexing @xref{var, Indexable variable values}. @item @code{no} No column name pre-processing takes place @item @code{yes} Column names are removed and reapplied as with @code{nil} even if the table does not ``look like'' it has column names (i.e., the second row is not an hline) @end itemize @node rownames, shebang, colnames, Specific header arguments @subsubsection @code{:rownames} The @code{:rownames} header argument can take on the values @code{yes} or @code{no}, with a default value of @code{no}. Note that Emacs Lisp code blocks ignore the @code{:rownames} header argument entirely given the ease with which tables with row names may be handled directly in Emacs Lisp. @itemize @bullet @item @code{no} No row name pre-processing will take place. @item @code{yes} The first column of the table is removed from the table before processing, and is then reapplied to the results. @example #+NAME: with-rownames | one | 1 | 2 | 3 | 4 | 5 | | two | 6 | 7 | 8 | 9 | 10 | #+NAME: echo-table-once-again #+BEGIN_SRC python :var tab=with-rownames :rownames yes return [[val + 10 for val in row] for row in tab] #+END_SRC #+RESULTS: echo-table-once-again | one | 11 | 12 | 13 | 14 | 15 | | two | 16 | 17 | 18 | 19 | 20 | @end example Please note that row names are not removed before the table is indexed using variable indexing @xref{var, Indexable variable values}. @end itemize @node shebang, tangle-mode, rownames, Specific header arguments @subsubsection @code{:shebang} Setting the @code{:shebang} header argument to a string value (e.g., @code{:shebang "#!/bin/bash"}) causes the string to be inserted as the first line of any tangled file holding the code block, and the file permissions of the tangled file are set to make it executable. @node tangle-mode, eval, shebang, Specific header arguments @subsubsection @code{:tangle-mode} The @code{tangle-mode} header argument controls the permission set on tangled files. The value of this header argument will be passed to @code{set-file-modes}. For example, to set a tangled file as read only use @code{:tangle-mode (identity #o444)}, or to set a tangled file as executable use @code{:tangle-mode (identity #o755)}. Blocks with @code{shebang} (@ref{shebang}) header arguments will automatically be made executable unless the @code{tangle-mode} header argument is also used. The behavior is undefined if multiple code blocks with different values for the @code{tangle-mode} header argument are tangled to the same file. @node eval, wrap, tangle-mode, Specific header arguments @subsubsection @code{:eval} The @code{:eval} header argument can be used to limit the evaluation of specific code blocks. The @code{:eval} header argument can be useful for protecting against the evaluation of dangerous code blocks or to ensure that evaluation will require a query regardless of the value of the @code{org-confirm-babel-evaluate} variable. The possible values of @code{:eval} and their effects are shown below. @table @code @item never or no The code block will not be evaluated under any circumstances. @item query Evaluation of the code block will require a query. @item never-export or no-export The code block will not be evaluated during export but may still be called interactively. @item query-export Evaluation of the code block during export will require a query. @end table If this header argument is not set then evaluation is determined by the value of the @code{org-confirm-babel-evaluate} variable see @ref{Code evaluation security}. @node wrap, post, eval, Specific header arguments @subsubsection @code{:wrap} The @code{:wrap} header argument is used to mark the results of source block evaluation. The header argument can be passed a string that will be appended to @code{#+BEGIN_} and @code{#+END_}, which will then be used to wrap the results. If not string is specified then the results will be wrapped in a @code{#+BEGIN/END_RESULTS} block. @node post, prologue, wrap, Specific header arguments @subsubsection @code{:post} The @code{:post} header argument is used to post-process the results of a code block execution. When a post argument is given, the results of the code block will temporarily be bound to the @code{*this*} variable. This variable may then be included in header argument forms such as those used in @ref{var} header argument specifications allowing passing of results to other code blocks, or direct execution via Emacs Lisp. The following example illustrates the usage of the @code{:post} header argument. @example #+name: attr_wrap #+begin_src sh :var data="" :var width="\\textwidth" :results output echo "#+ATTR_LATEX :width $width" echo "$data" #+end_src #+header: :file /tmp/it.png #+begin_src dot :post attr_wrap(width="5cm", data=*this*) :results drawer digraph@{ a -> b; b -> c; c -> a; @} #+end_src #+RESULTS: :RESULTS: #+ATTR_LATEX :width 5cm [[file:/tmp/it.png]] :END: @end example @node prologue, epilogue, post, Specific header arguments @subsubsection @code{:prologue} The value of the @code{prologue} header argument will be prepended to the code block body before execution. For example, @code{:prologue "reset"} may be used to reset a gnuplot session before execution of a particular code block, or the following configuration may be used to do this for all gnuplot code blocks. Also see @ref{epilogue}. @lisp (add-to-list 'org-babel-default-header-args:gnuplot '((:prologue . "reset"))) @end lisp @node epilogue, , prologue, Specific header arguments @subsubsection @code{:epilogue} The value of the @code{epilogue} header argument will be appended to the code block body before execution. Also see @ref{prologue}. @node Results of evaluation, Noweb reference syntax, Header arguments, Working With Source Code @section Results of evaluation @cindex code block, results of evaluation @cindex source code, results of evaluation The way in which results are handled depends on whether a session is invoked, as well as on whether @code{:results value} or @code{:results output} is used. The following table shows the table possibilities. For a full listing of the possible results header arguments see @ref{results}. @multitable @columnfractions 0.26 0.33 0.41 @item @tab @b{Non-session} @tab @b{Session} @item @code{:results value} @tab value of last expression @tab value of last expression @item @code{:results output} @tab contents of STDOUT @tab concatenation of interpreter output @end multitable Note: With @code{:results value}, the result in both @code{:session} and non-session is returned to Org mode as a table (a one- or two-dimensional vector of strings or numbers) when appropriate. @subsection Non-session @subsubsection @code{:results value} This is the default. Internally, the value is obtained by wrapping the code in a function definition in the external language, and evaluating that function. Therefore, code should be written as if it were the body of such a function. In particular, note that Python does not automatically return a value from a function unless a @code{return} statement is present, and so a @samp{return} statement will usually be required in Python. This is the only one of the four evaluation contexts in which the code is automatically wrapped in a function definition. @subsubsection @code{:results output} The code is passed to the interpreter as an external process, and the contents of the standard output stream are returned as text. (In certain languages this also contains the error output stream; this is an area for future work.) @subsection Session @subsubsection @code{:results value} The code is passed to an interpreter running as an interactive Emacs inferior process. Only languages which provide tools for interactive evaluation of code have session support, so some language (e.g., C and ditaa) do not support the @code{:session} header argument, and in other languages (e.g., Python and Haskell) which have limitations on the code which may be entered into interactive sessions, those limitations apply to the code in code blocks using the @code{:session} header argument as well. Unless the @code{:results output} option is supplied (see below) the result returned is the result of the last evaluation performed by the interpreter. (This is obtained in a language-specific manner: the value of the variable @code{_} in Python and Ruby, and the value of @code{.Last.value} in R). @subsubsection @code{:results output} The code is passed to the interpreter running as an interactive Emacs inferior process. The result returned is the concatenation of the sequence of (text) output from the interactive interpreter. Notice that this is not necessarily the same as what would be sent to @code{STDOUT} if the same code were passed to a non-interactive interpreter running as an external process. For example, compare the following two blocks: @example #+BEGIN_SRC python :results output print "hello" 2 print "bye" #+END_SRC #+RESULTS: : hello : bye @end example In non-session mode, the `2' is not printed and does not appear. @example #+BEGIN_SRC python :results output :session print "hello" 2 print "bye" #+END_SRC #+RESULTS: : hello : 2 : bye @end example But in @code{:session} mode, the interactive interpreter receives input `2' and prints out its value, `2'. (Indeed, the other print statements are unnecessary here). @node Noweb reference syntax, Key bindings and useful functions, Results of evaluation, Working With Source Code @section Noweb reference syntax @cindex code block, noweb reference @cindex syntax, noweb @cindex source code, noweb reference The ``noweb'' (see @uref{http://www.cs.tufts.edu/~nr/noweb/}) Literate Programming system allows named blocks of code to be referenced by using the familiar Noweb syntax: @example <> @end example When a code block is tangled or evaluated, whether or not ``noweb'' references are expanded depends upon the value of the @code{:noweb} header argument. If @code{:noweb yes}, then a Noweb reference is expanded before evaluation. If @code{:noweb no}, the default, then the reference is not expanded before evaluation. See the @ref{noweb-ref} header argument for a more flexible way to resolve noweb references. It is possible to include the @emph{results} of a code block rather than the body. This is done by appending parenthesis to the code block name which may optionally contain arguments to the code block as shown below. @example <> @end example Note: the default value, @code{:noweb no}, was chosen to ensure that correct code is not broken in a language, such as Ruby, where @code{<>} is a syntactically valid construct. If @code{<>} is not syntactically valid in languages that you use, then please consider setting the default value. Note: if noweb tangling is slow in large Org mode files consider setting the @code{org-babel-use-quick-and-dirty-noweb-expansion} variable to @code{t}. This will result in faster noweb reference resolution at the expense of not correctly resolving inherited values of the @code{:noweb-ref} header argument. @node Key bindings and useful functions, Batch execution, Noweb reference syntax, Working With Source Code @section Key bindings and useful functions @cindex code block, key bindings Many common Org mode key sequences are re-bound depending on the context. Within a code block, the following key bindings are active: @multitable @columnfractions 0.25 0.75 @kindex C-c C-c @item @kbd{C-c C-c} @tab @code{org-babel-execute-src-block} @kindex C-c C-o @item @kbd{C-c C-o} @tab @code{org-babel-open-src-block-result} @kindex C-up @item @kbd{C-@key{up}} @tab @code{org-babel-load-in-session} @kindex M-down @item @kbd{M-@key{down}} @tab @code{org-babel-pop-to-session} @end multitable In an Org mode buffer, the following key bindings are active: @multitable @columnfractions 0.45 0.55 @kindex C-c C-v p @kindex C-c C-v C-p @item @kbd{C-c C-v p} @ @ @r{or} @ @ @kbd{C-c C-v C-p} @tab @code{org-babel-previous-src-block} @kindex C-c C-v n @kindex C-c C-v C-n @item @kbd{C-c C-v n} @ @ @r{or} @ @ @kbd{C-c C-v C-n} @tab @code{org-babel-next-src-block} @kindex C-c C-v e @kindex C-c C-v C-e @item @kbd{C-c C-v e} @ @ @r{or} @ @ @kbd{C-c C-v C-e} @tab @code{org-babel-execute-maybe} @kindex C-c C-v o @kindex C-c C-v C-o @item @kbd{C-c C-v o} @ @ @r{or} @ @ @kbd{C-c C-v C-o} @tab @code{org-babel-open-src-block-result} @kindex C-c C-v v @kindex C-c C-v C-v @item @kbd{C-c C-v v} @ @ @r{or} @ @ @kbd{C-c C-v C-v} @tab @code{org-babel-expand-src-block} @kindex C-c C-v u @kindex C-c C-v C-u @item @kbd{C-c C-v u} @ @ @r{or} @ @ @kbd{C-c C-v C-u} @tab @code{org-babel-goto-src-block-head} @kindex C-c C-v g @kindex C-c C-v C-g @item @kbd{C-c C-v g} @ @ @r{or} @ @ @kbd{C-c C-v C-g} @tab @code{org-babel-goto-named-src-block} @kindex C-c C-v r @kindex C-c C-v C-r @item @kbd{C-c C-v r} @ @ @r{or} @ @ @kbd{C-c C-v C-r} @tab @code{org-babel-goto-named-result} @kindex C-c C-v b @kindex C-c C-v C-b @item @kbd{C-c C-v b} @ @ @r{or} @ @ @kbd{C-c C-v C-b} @tab @code{org-babel-execute-buffer} @kindex C-c C-v s @kindex C-c C-v C-s @item @kbd{C-c C-v s} @ @ @r{or} @ @ @kbd{C-c C-v C-s} @tab @code{org-babel-execute-subtree} @kindex C-c C-v d @kindex C-c C-v C-d @item @kbd{C-c C-v d} @ @ @r{or} @ @ @kbd{C-c C-v C-d} @tab @code{org-babel-demarcate-block} @kindex C-c C-v t @kindex C-c C-v C-t @item @kbd{C-c C-v t} @ @ @r{or} @ @ @kbd{C-c C-v C-t} @tab @code{org-babel-tangle} @kindex C-c C-v f @kindex C-c C-v C-f @item @kbd{C-c C-v f} @ @ @r{or} @ @ @kbd{C-c C-v C-f} @tab @code{org-babel-tangle-file} @kindex C-c C-v c @kindex C-c C-v C-c @item @kbd{C-c C-v c} @ @ @r{or} @ @ @kbd{C-c C-v C-c} @tab @code{org-babel-check-src-block} @kindex C-c C-v j @kindex C-c C-v C-j @item @kbd{C-c C-v j} @ @ @r{or} @ @ @kbd{C-c C-v C-j} @tab @code{org-babel-insert-header-arg} @kindex C-c C-v l @kindex C-c C-v C-l @item @kbd{C-c C-v l} @ @ @r{or} @ @ @kbd{C-c C-v C-l} @tab @code{org-babel-load-in-session} @kindex C-c C-v i @kindex C-c C-v C-i @item @kbd{C-c C-v i} @ @ @r{or} @ @ @kbd{C-c C-v C-i} @tab @code{org-babel-lob-ingest} @kindex C-c C-v I @kindex C-c C-v C-I @item @kbd{C-c C-v I} @ @ @r{or} @ @ @kbd{C-c C-v C-I} @tab @code{org-babel-view-src-block-info} @kindex C-c C-v z @kindex C-c C-v C-z @item @kbd{C-c C-v z} @ @ @r{or} @ @ @kbd{C-c C-v C-z} @tab @code{org-babel-switch-to-session-with-code} @kindex C-c C-v a @kindex C-c C-v C-a @item @kbd{C-c C-v a} @ @ @r{or} @ @ @kbd{C-c C-v C-a} @tab @code{org-babel-sha1-hash} @kindex C-c C-v h @kindex C-c C-v C-h @item @kbd{C-c C-v h} @ @ @r{or} @ @ @kbd{C-c C-v C-h} @tab @code{org-babel-describe-bindings} @kindex C-c C-v x @kindex C-c C-v C-x @item @kbd{C-c C-v x} @ @ @r{or} @ @ @kbd{C-c C-v C-x} @tab @code{org-babel-do-key-sequence-in-edit-buffer} @end multitable @c When possible these keybindings were extended to work when the control key is @c kept pressed, resulting in the following additional keybindings. @c @multitable @columnfractions 0.25 0.75 @c @item @kbd{C-c C-v C-a} @tab @code{org-babel-sha1-hash} @c @item @kbd{C-c C-v C-b} @tab @code{org-babel-execute-buffer} @c @item @kbd{C-c C-v C-f} @tab @code{org-babel-tangle-file} @c @item @kbd{C-c C-v C-l} @tab @code{org-babel-lob-ingest} @c @item @kbd{C-c C-v C-p} @tab @code{org-babel-expand-src-block} @c @item @kbd{C-c C-v C-s} @tab @code{org-babel-execute-subtree} @c @item @kbd{C-c C-v C-t} @tab @code{org-babel-tangle} @c @item @kbd{C-c C-v C-z} @tab @code{org-babel-switch-to-session} @c @end multitable @node Batch execution, , Key bindings and useful functions, Working With Source Code @section Batch execution @cindex code block, batch execution @cindex source code, batch execution It is possible to call functions from the command line. This shell script calls @code{org-babel-tangle} on every one of its arguments. Be sure to adjust the paths to fit your system. @example #!/bin/sh # -*- mode: shell-script -*- # # tangle files with org-mode # DIR=`pwd` FILES="" # wrap each argument in the code required to call tangle on it for i in $@@; do FILES="$FILES \"$i\"" done emacs -Q --batch \ --eval "(progn (add-to-list 'load-path (expand-file-name \"~/src/org/lisp/\")) (add-to-list 'load-path (expand-file-name \"~/src/org/contrib/lisp/\" t)) (require 'org)(require 'org-exp)(require 'ob)(require 'ob-tangle) (mapc (lambda (file) (find-file (expand-file-name file \"$DIR\")) (org-babel-tangle) (kill-buffer)) '($FILES)))" 2>&1 |grep tangled @end example @node Miscellaneous, Hacking, Working With Source Code, Top @chapter Miscellaneous @menu * Completion:: M-TAB knows what you need * Easy Templates:: Quick insertion of structural elements * Speed keys:: Electric commands at the beginning of a headline * Code evaluation security:: Org mode files evaluate inline code * Customization:: Adapting Org to your taste * In-buffer settings:: Overview of the #+KEYWORDS * The very busy C-c C-c key:: When in doubt, press C-c C-c * Clean view:: Getting rid of leading stars in the outline * TTY keys:: Using Org on a tty * Interaction:: Other Emacs packages * org-crypt:: Encrypting Org files @end menu @node Completion, Easy Templates, Miscellaneous, Miscellaneous @section Completion @cindex completion, of @TeX{} symbols @cindex completion, of TODO keywords @cindex completion, of dictionary words @cindex completion, of option keywords @cindex completion, of tags @cindex completion, of property keys @cindex completion, of link abbreviations @cindex @TeX{} symbol completion @cindex TODO keywords completion @cindex dictionary word completion @cindex option keyword completion @cindex tag completion @cindex link abbreviations, completion of Emacs would not be Emacs without completion, and Org mode uses it whenever it makes sense. If you prefer an @i{iswitchb}- or @i{ido}-like interface for some of the completion prompts, you can specify your preference by setting at most one of the variables @code{org-completion-use-iswitchb} @code{org-completion-use-ido}. Org supports in-buffer completion. This type of completion does not make use of the minibuffer. You simply type a few letters into the buffer and use the key to complete text right there. @table @kbd @kindex M-@key{TAB} @item M-@key{TAB} Complete word at point @itemize @bullet @item At the beginning of a headline, complete TODO keywords. @item After @samp{\}, complete @TeX{} symbols supported by the exporter. @item After @samp{*}, complete headlines in the current buffer so that they can be used in search links like @samp{[[*find this headline]]}. @item After @samp{:} in a headline, complete tags. The list of tags is taken from the variable @code{org-tag-alist} (possibly set through the @samp{#+TAGS} in-buffer option, @pxref{Setting tags}), or it is created dynamically from all tags used in the current buffer. @item After @samp{:} and not in a headline, complete property keys. The list of keys is constructed dynamically from all keys used in the current buffer. @item After @samp{[}, complete link abbreviations (@pxref{Link abbreviations}). @item After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or @samp{OPTIONS} which set file-specific options for Org mode. When the option keyword is already complete, pressing @kbd{M-@key{TAB}} again will insert example settings for this keyword. @item In the line after @samp{#+STARTUP: }, complete startup keywords, i.e., valid keys for this line. @item Elsewhere, complete dictionary words using Ispell. @end itemize @end table @node Easy Templates, Speed keys, Completion, Miscellaneous @section Easy Templates @cindex template insertion @cindex insertion, of templates Org mode supports insertion of empty structural elements (like @code{#+BEGIN_SRC} and @code{#+END_SRC} pairs) with just a few key strokes. This is achieved through a native template expansion mechanism. Note that Emacs has several other template mechanisms which could be used in a similar way, for example @file{yasnippet}. To insert a structural element, type a @samp{<}, followed by a template selector and @kbd{@key{TAB}}. Completion takes effect only when the above keystrokes are typed on a line by itself. The following template selectors are currently supported. @multitable @columnfractions 0.1 0.9 @item @kbd{s} @tab @code{#+BEGIN_SRC ... #+END_SRC} @item @kbd{e} @tab @code{#+BEGIN_EXAMPLE ... #+END_EXAMPLE} @item @kbd{q} @tab @code{#+BEGIN_QUOTE ... #+END_QUOTE} @item @kbd{v} @tab @code{#+BEGIN_VERSE ... #+END_VERSE} @item @kbd{c} @tab @code{#+BEGIN_CENTER ... #+END_CENTER} @item @kbd{l} @tab @code{#+BEGIN_LaTeX ... #+END_LaTeX} @item @kbd{L} @tab @code{#+LaTeX:} @item @kbd{h} @tab @code{#+BEGIN_HTML ... #+END_HTML} @item @kbd{H} @tab @code{#+HTML:} @item @kbd{a} @tab @code{#+BEGIN_ASCII ... #+END_ASCII} @item @kbd{A} @tab @code{#+ASCII:} @item @kbd{i} @tab @code{#+INDEX:} line @item @kbd{I} @tab @code{#+INCLUDE:} line @end multitable For example, on an empty line, typing "Customization} menu. Many settings can also be activated on a per-file basis, by putting special lines into the buffer (@pxref{In-buffer settings}). @node In-buffer settings, The very busy C-c C-c key, Customization, Miscellaneous @section Summary of in-buffer settings @cindex in-buffer settings @cindex special keywords Org mode uses special lines in the buffer to define settings on a per-file basis. These lines start with a @samp{#+} followed by a keyword, a colon, and then individual words defining a setting. Several setting words can be in the same line, but you can also have multiple lines for the keyword. While these settings are described throughout the manual, here is a summary. After changing any of those lines in the buffer, press @kbd{C-c C-c} with the cursor still in the line to activate the changes immediately. Otherwise they become effective only when the file is visited again in a new Emacs session. @vindex org-archive-location @table @kbd @item #+ARCHIVE: %s_done:: This line sets the archive location for the agenda file. It applies for all subsequent lines until the next @samp{#+ARCHIVE} line, or the end of the file. The first such line also applies to any entries before it. The corresponding variable is @code{org-archive-location}. @item #+CATEGORY: This line sets the category for the agenda file. The category applies for all subsequent lines until the next @samp{#+CATEGORY} line, or the end of the file. The first such line also applies to any entries before it. @item #+COLUMNS: %25ITEM ..... @cindex property, COLUMNS Set the default format for columns view. This format applies when columns view is invoked in locations where no @code{COLUMNS} property applies. @item #+CONSTANTS: name1=value1 ... @vindex org-table-formula-constants @vindex org-table-formula Set file-local values for constants to be used in table formulas. This line sets the local variable @code{org-table-formula-constants-local}. The global version of this variable is @code{org-table-formula-constants}. @item #+FILETAGS: :tag1:tag2:tag3: Set tags that can be inherited by any entry in the file, including the top-level entries. @item #+DRAWERS: NAME1 ..... @vindex org-drawers Set the file-local set of additional drawers. The corresponding global variable is @code{org-drawers}. @item #+LINK: linkword replace @vindex org-link-abbrev-alist These lines (several are allowed) specify link abbreviations. @xref{Link abbreviations}. The corresponding variable is @code{org-link-abbrev-alist}. @item #+PRIORITIES: highest lowest default @vindex org-highest-priority @vindex org-lowest-priority @vindex org-default-priority This line sets the limits and the default for the priorities. All three must be either letters A--Z or numbers 0--9. The highest priority must have a lower ASCII number than the lowest priority. @item #+PROPERTY: Property_Name Value This line sets a default inheritance value for entries in the current buffer, most useful for specifying the allowed values of a property. @cindex #+SETUPFILE @item #+SETUPFILE: file This line defines a file that holds more in-buffer setup. Normally this is entirely ignored. Only when the buffer is parsed for option-setting lines (i.e., when starting Org mode for a file, when pressing @kbd{C-c C-c} in a settings line, or when exporting), then the contents of this file are parsed as if they had been included in the buffer. In particular, the file can be any other Org mode file with internal setup. You can visit the file the cursor is in the line with @kbd{C-c '}. @item #+STARTUP: @cindex #+STARTUP This line sets options to be used at startup of Org mode, when an Org file is being visited. The first set of options deals with the initial visibility of the outline tree. The corresponding variable for global default settings is @code{org-startup-folded}, with a default value @code{t}, which means @code{overview}. @vindex org-startup-folded @cindex @code{overview}, STARTUP keyword @cindex @code{content}, STARTUP keyword @cindex @code{showall}, STARTUP keyword @cindex @code{showeverything}, STARTUP keyword @example overview @r{top-level headlines only} content @r{all headlines} showall @r{no folding of any entries} showeverything @r{show even drawer contents} @end example @vindex org-startup-indented @cindex @code{indent}, STARTUP keyword @cindex @code{noindent}, STARTUP keyword Dynamic virtual indentation is controlled by the variable @code{org-startup-indented}@footnote{Emacs 23 and Org mode 6.29 are required} @example indent @r{start with @code{org-indent-mode} turned on} noindent @r{start with @code{org-indent-mode} turned off} @end example @vindex org-startup-align-all-tables Then there are options for aligning tables upon visiting a file. This is useful in files containing narrowed table columns. The corresponding variable is @code{org-startup-align-all-tables}, with a default value @code{nil}. @cindex @code{align}, STARTUP keyword @cindex @code{noalign}, STARTUP keyword @example align @r{align all tables} noalign @r{don't align tables on startup} @end example @vindex org-startup-with-inline-images When visiting a file, inline images can be automatically displayed. The corresponding variable is @code{org-startup-with-inline-images}, with a default value @code{nil} to avoid delays when visiting a file. @cindex @code{inlineimages}, STARTUP keyword @cindex @code{noinlineimages}, STARTUP keyword @example inlineimages @r{show inline images} noinlineimages @r{don't show inline images on startup} @end example @vindex org-startup-with-latex-preview When visiting a file, @LaTeX{} fragments can be converted to images automatically. The variable @code{org-startup-with-latex-preview} which controls this behavior, is set to @code{nil} by default to avoid delays on startup. @cindex @code{latexpreview}, STARTUP keyword @cindex @code{nolatexpreview}, STARTUP keyword @example latexpreview @r{preview @LaTeX{} fragments} nolatexpreview @r{don't preview @LaTeX{} fragments} @end example @vindex org-log-done @vindex org-log-note-clock-out @vindex org-log-repeat Logging the closing and reopening of TODO items and clock intervals can be configured using these options (see variables @code{org-log-done}, @code{org-log-note-clock-out} and @code{org-log-repeat}) @cindex @code{logdone}, STARTUP keyword @cindex @code{lognotedone}, STARTUP keyword @cindex @code{nologdone}, STARTUP keyword @cindex @code{lognoteclock-out}, STARTUP keyword @cindex @code{nolognoteclock-out}, STARTUP keyword @cindex @code{logrepeat}, STARTUP keyword @cindex @code{lognoterepeat}, STARTUP keyword @cindex @code{nologrepeat}, STARTUP keyword @cindex @code{logreschedule}, STARTUP keyword @cindex @code{lognotereschedule}, STARTUP keyword @cindex @code{nologreschedule}, STARTUP keyword @cindex @code{logredeadline}, STARTUP keyword @cindex @code{lognoteredeadline}, STARTUP keyword @cindex @code{nologredeadline}, STARTUP keyword @cindex @code{logrefile}, STARTUP keyword @cindex @code{lognoterefile}, STARTUP keyword @cindex @code{nologrefile}, STARTUP keyword @cindex @code{logdrawer}, STARTUP keyword @cindex @code{nologdrawer}, STARTUP keyword @cindex @code{logstatesreversed}, STARTUP keyword @cindex @code{nologstatesreversed}, STARTUP keyword @example logdone @r{record a timestamp when an item is marked DONE} lognotedone @r{record timestamp and a note when DONE} nologdone @r{don't record when items are marked DONE} logrepeat @r{record a time when reinstating a repeating item} lognoterepeat @r{record a note when reinstating a repeating item} nologrepeat @r{do not record when reinstating repeating item} lognoteclock-out @r{record a note when clocking out} nolognoteclock-out @r{don't record a note when clocking out} logreschedule @r{record a timestamp when scheduling time changes} lognotereschedule @r{record a note when scheduling time changes} nologreschedule @r{do not record when a scheduling date changes} logredeadline @r{record a timestamp when deadline changes} lognoteredeadline @r{record a note when deadline changes} nologredeadline @r{do not record when a deadline date changes} logrefile @r{record a timestamp when refiling} lognoterefile @r{record a note when refiling} nologrefile @r{do not record when refiling} logdrawer @r{store log into drawer} nologdrawer @r{store log outside of drawer} logstatesreversed @r{reverse the order of states notes} nologstatesreversed @r{do not reverse the order of states notes} @end example @vindex org-hide-leading-stars @vindex org-odd-levels-only Here are the options for hiding leading stars in outline headings, and for indenting outlines. The corresponding variables are @code{org-hide-leading-stars} and @code{org-odd-levels-only}, both with a default setting @code{nil} (meaning @code{showstars} and @code{oddeven}). @cindex @code{hidestars}, STARTUP keyword @cindex @code{showstars}, STARTUP keyword @cindex @code{odd}, STARTUP keyword @cindex @code{even}, STARTUP keyword @example hidestars @r{make all but one of the stars starting a headline invisible.} showstars @r{show all stars starting a headline} indent @r{virtual indentation according to outline level} noindent @r{no virtual indentation according to outline level} odd @r{allow only odd outline levels (1,3,...)} oddeven @r{allow all outline levels} @end example @vindex org-put-time-stamp-overlays @vindex org-time-stamp-overlay-formats To turn on custom format overlays over timestamps (variables @code{org-put-time-stamp-overlays} and @code{org-time-stamp-overlay-formats}), use @cindex @code{customtime}, STARTUP keyword @example customtime @r{overlay custom time format} @end example @vindex constants-unit-system The following options influence the table spreadsheet (variable @code{constants-unit-system}). @cindex @code{constcgs}, STARTUP keyword @cindex @code{constSI}, STARTUP keyword @example constcgs @r{@file{constants.el} should use the c-g-s unit system} constSI @r{@file{constants.el} should use the SI unit system} @end example @vindex org-footnote-define-inline @vindex org-footnote-auto-label @vindex org-footnote-auto-adjust To influence footnote settings, use the following keywords. The corresponding variables are @code{org-footnote-define-inline}, @code{org-footnote-auto-label}, and @code{org-footnote-auto-adjust}. @cindex @code{fninline}, STARTUP keyword @cindex @code{nofninline}, STARTUP keyword @cindex @code{fnlocal}, STARTUP keyword @cindex @code{fnprompt}, STARTUP keyword @cindex @code{fnauto}, STARTUP keyword @cindex @code{fnconfirm}, STARTUP keyword @cindex @code{fnplain}, STARTUP keyword @cindex @code{fnadjust}, STARTUP keyword @cindex @code{nofnadjust}, STARTUP keyword @example fninline @r{define footnotes inline} fnnoinline @r{define footnotes in separate section} fnlocal @r{define footnotes near first reference, but not inline} fnprompt @r{prompt for footnote labels} fnauto @r{create @code{[fn:1]}-like labels automatically (default)} fnconfirm @r{offer automatic label for editing or confirmation} fnplain @r{create @code{[1]}-like labels automatically} fnadjust @r{automatically renumber and sort footnotes} nofnadjust @r{do not renumber and sort automatically} @end example @cindex org-hide-block-startup To hide blocks on startup, use these keywords. The corresponding variable is @code{org-hide-block-startup}. @cindex @code{hideblocks}, STARTUP keyword @cindex @code{nohideblocks}, STARTUP keyword @example hideblocks @r{Hide all begin/end blocks on startup} nohideblocks @r{Do not hide blocks on startup} @end example @cindex org-pretty-entities The display of entities as UTF-8 characters is governed by the variable @code{org-pretty-entities} and the keywords @cindex @code{entitiespretty}, STARTUP keyword @cindex @code{entitiesplain}, STARTUP keyword @example entitiespretty @r{Show entities as UTF-8 characters where possible} entitiesplain @r{Leave entities plain} @end example @item #+TAGS: TAG1(c1) TAG2(c2) @vindex org-tag-alist These lines (several such lines are allowed) specify the valid tags in this file, and (potentially) the corresponding @emph{fast tag selection} keys. The corresponding variable is @code{org-tag-alist}. @cindex #+TBLFM @item #+TBLFM: This line contains the formulas for the table directly above the line. Table can have multiple lines containing @samp{#+TBLFM:}. Note that only the first line of @samp{#+TBLFM:} will be applied when you recalculate the table. For more details see @ref{Using multiple #+TBLFM lines} in @ref{Editing and debugging formulas}. @item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+DATE:, @itemx #+OPTIONS:, #+BIND:, @itemx #+DESCRIPTION:, #+KEYWORDS:, @itemx #+LaTeX_HEADER:, #+LaTeX_HEADER_EXTRA:, @itemx #+HTML_HEAD:, #+HTML_HEAD_EXTRA:, #+HTML_LINK_UP:, #+HTML_LINK_HOME:, @itemx #+SELECT_TAGS:, #+EXCLUDE_TAGS: These lines provide settings for exporting files. For more details see @ref{Export settings}. @item #+TODO: #+SEQ_TODO: #+TYP_TODO: @vindex org-todo-keywords These lines set the TODO keywords and their interpretation in the current file. The corresponding variable is @code{org-todo-keywords}. @end table @node The very busy C-c C-c key, Clean view, In-buffer settings, Miscellaneous @section The very busy C-c C-c key @kindex C-c C-c @cindex C-c C-c, overview The key @kbd{C-c C-c} has many purposes in Org, which are all mentioned scattered throughout this manual. One specific function of this key is to add @emph{tags} to a headline (@pxref{Tags}). In many other circumstances it means something like @emph{``Hey Org, look here and update according to what you see here''}. Here is a summary of what this means in different contexts. @itemize @minus @item If there are highlights in the buffer from the creation of a sparse tree, or from clock display, remove these highlights. @item If the cursor is in one of the special @code{#+KEYWORD} lines, this triggers scanning the buffer for these lines and updating the information. @item If the cursor is inside a table, realign the table. This command works even if the automatic table editor has been turned off. @item If the cursor is on a @code{#+TBLFM} line, re-apply the formulas to the entire table. @item If the current buffer is a capture buffer, close the note and file it. With a prefix argument, file it, without further interaction, to the default location. @item If the cursor is on a @code{<<>>}, update radio targets and corresponding links in this buffer. @item If the cursor is in a property line or at the start or end of a property drawer, offer property commands. @item If the cursor is at a footnote reference, go to the corresponding definition, and @emph{vice versa}. @item If the cursor is on a statistics cookie, update it. @item If the cursor is in a plain list item with a checkbox, toggle the status of the checkbox. @item If the cursor is on a numbered item in a plain list, renumber the ordered list. @item If the cursor is on the @code{#+BEGIN} line of a dynamic block, the block is updated. @item If the cursor is at a timestamp, fix the day name in the timestamp. @end itemize @node Clean view, TTY keys, The very busy C-c C-c key, Miscellaneous @section A cleaner outline view @cindex hiding leading stars @cindex dynamic indentation @cindex odd-levels-only outlines @cindex clean outline view Some people find it noisy and distracting that the Org headlines start with a potentially large number of stars, and that text below the headlines is not indented. While this is no problem when writing a @emph{book-like} document where the outline headings are really section headings, in a more @emph{list-oriented} outline, indented structure is a lot cleaner: @example @group * Top level headline | * Top level headline ** Second level | * Second level *** 3rd level | * 3rd level some text | some text *** 3rd level | * 3rd level more text | more text * Another top level headline | * Another top level headline @end group @end example @noindent If you are using at least Emacs 23.2@footnote{Emacs 23.1 can actually crash with @code{org-indent-mode}} and version 6.29 of Org, this kind of view can be achieved dynamically at display time using @code{org-indent-mode}. In this minor mode, all lines are prefixed for display with the necessary amount of space@footnote{@code{org-indent-mode} also sets the @code{wrap-prefix} property, such that @code{visual-line-mode} (or purely setting @code{word-wrap}) wraps long lines (including headlines) correctly indented. }. Also headlines are prefixed with additional stars, so that the amount of indentation shifts by two@footnote{See the variable @code{org-indent-indentation-per-level}.} spaces per level. All headline stars but the last one are made invisible using the @code{org-hide} face@footnote{Turning on @code{org-indent-mode} sets @code{org-hide-leading-stars} to @code{t} and @code{org-adapt-indentation} to @code{nil}.}; see below under @samp{2.} for more information on how this works. You can turn on @code{org-indent-mode} for all files by customizing the variable @code{org-startup-indented}, or you can turn it on for individual files using @example #+STARTUP: indent @end example If you want a similar effect in an earlier version of Emacs and/or Org, or if you want the indentation to be hard space characters so that the plain text file looks as similar as possible to the Emacs display, Org supports you in the following way: @enumerate @item @emph{Indentation of text below headlines}@* You may indent text below each headline to make the left boundary line up with the headline, like @example *** 3rd level more text, now indented @end example @vindex org-adapt-indentation Org supports this with paragraph filling, line wrapping, and structure editing@footnote{See also the variable @code{org-adapt-indentation}.}, preserving or adapting the indentation as appropriate. @item @vindex org-hide-leading-stars @emph{Hiding leading stars}@* You can modify the display in such a way that all leading stars become invisible. To do this in a global way, configure the variable @code{org-hide-leading-stars} or change this on a per-file basis with @example #+STARTUP: hidestars #+STARTUP: showstars @end example With hidden stars, the tree becomes: @example @group * Top level headline * Second level * 3rd level ... @end group @end example @noindent @vindex org-hide @r{(face)} The leading stars are not truly replaced by whitespace, they are only fontified with the face @code{org-hide} that uses the background color as font color. If you are not using either white or black background, you may have to customize this face to get the wanted effect. Another possibility is to set this font such that the extra stars are @i{almost} invisible, for example using the color @code{grey90} on a white background. @item @vindex org-odd-levels-only Things become cleaner still if you skip all the even levels and use only odd levels 1, 3, 5..., effectively adding two stars to go from one outline level to the next@footnote{When you need to specify a level for a property search or refile targets, @samp{LEVEL=2} will correspond to 3 stars, etc.}. In this way we get the outline view shown at the beginning of this section. In order to make the structure editing and export commands handle this convention correctly, configure the variable @code{org-odd-levels-only}, or set this on a per-file basis with one of the following lines: @example #+STARTUP: odd #+STARTUP: oddeven @end example You can convert an Org file from single-star-per-level to the double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels RET} in that file. The reverse operation is @kbd{M-x org-convert-to-oddeven-levels}. @end enumerate @node TTY keys, Interaction, Clean view, Miscellaneous @section Using Org on a tty @cindex tty key bindings Because Org contains a large number of commands, by default many of Org's core commands are bound to keys that are generally not accessible on a tty, such as the cursor keys (@key{left}, @key{right}, @key{up}, @key{down}), @key{TAB} and @key{RET}, in particular when used together with modifiers like @key{Meta} and/or @key{Shift}. To access these commands on a tty when special keys are unavailable, the following alternative bindings can be used. The tty bindings below will likely be more cumbersome; you may find for some of the bindings below that a customized workaround suits you better. For example, changing a timestamp is really only fun with @kbd{S-@key{cursor}} keys, whereas on a tty you would rather use @kbd{C-c .} to re-insert the timestamp. @multitable @columnfractions 0.15 0.2 0.1 0.2 @item @b{Default} @tab @b{Alternative 1} @tab @b{Speed key} @tab @b{Alternative 2} @item @kbd{S-@key{TAB}} @tab @kbd{C-u @key{TAB}} @tab @kbd{C} @tab @item @kbd{M-@key{left}} @tab @kbd{C-c C-x l} @tab @kbd{l} @tab @kbd{@key{Esc} @key{left}} @item @kbd{M-S-@key{left}} @tab @kbd{C-c C-x L} @tab @kbd{L} @tab @item @kbd{M-@key{right}} @tab @kbd{C-c C-x r} @tab @kbd{r} @tab @kbd{@key{Esc} @key{right}} @item @kbd{M-S-@key{right}} @tab @kbd{C-c C-x R} @tab @kbd{R} @tab @item @kbd{M-@key{up}} @tab @kbd{C-c C-x u} @tab @kbd{ } @tab @kbd{@key{Esc} @key{up}} @item @kbd{M-S-@key{up}} @tab @kbd{C-c C-x U} @tab @kbd{U} @tab @item @kbd{M-@key{down}} @tab @kbd{C-c C-x d} @tab @kbd{ } @tab @kbd{@key{Esc} @key{down}} @item @kbd{M-S-@key{down}} @tab @kbd{C-c C-x D} @tab @kbd{D} @tab @item @kbd{S-@key{RET}} @tab @kbd{C-c C-x c} @tab @kbd{ } @tab @item @kbd{M-@key{RET}} @tab @kbd{C-c C-x m} @tab @kbd{ } @tab @kbd{@key{Esc} @key{RET}} @item @kbd{M-S-@key{RET}} @tab @kbd{C-c C-x M} @tab @kbd{ } @tab @item @kbd{S-@key{left}} @tab @kbd{C-c @key{left}} @tab @kbd{ } @tab @item @kbd{S-@key{right}} @tab @kbd{C-c @key{right}} @tab @kbd{ } @tab @item @kbd{S-@key{up}} @tab @kbd{C-c @key{up}} @tab @kbd{ } @tab @item @kbd{S-@key{down}} @tab @kbd{C-c @key{down}} @tab @kbd{ } @tab @item @kbd{C-S-@key{left}} @tab @kbd{C-c C-x @key{left}} @tab @kbd{ } @tab @item @kbd{C-S-@key{right}} @tab @kbd{C-c C-x @key{right}} @tab @kbd{ } @tab @end multitable @node Interaction, org-crypt, TTY keys, Miscellaneous @section Interaction with other packages @cindex packages, interaction with other Org lives in the world of GNU Emacs and interacts in various ways with other code out there. @menu * Cooperation:: Packages Org cooperates with * Conflicts:: Packages that lead to conflicts @end menu @node Cooperation, Conflicts, Interaction, Interaction @subsection Packages that Org cooperates with @table @asis @cindex @file{calc.el} @cindex Gillespie, Dave @item @file{calc.el} by Dave Gillespie Org uses the Calc package for implementing spreadsheet functionality in its tables (@pxref{The spreadsheet}). Org checks for the availability of Calc by looking for the function @code{calc-eval} which will have been autoloaded during setup if Calc has been installed properly. As of Emacs 22, Calc is part of the Emacs distribution. Another possibility for interaction between the two packages is using Calc for embedded calculations. @xref{Embedded Mode, , Embedded Mode, calc, GNU Emacs Calc Manual}. @item @file{constants.el} by Carsten Dominik @cindex @file{constants.el} @cindex Dominik, Carsten @vindex org-table-formula-constants In a table formula (@pxref{The spreadsheet}), it is possible to use names for natural constants or units. Instead of defining your own constants in the variable @code{org-table-formula-constants}, install the @file{constants} package which defines a large number of constants and units, and lets you use unit prefixes like @samp{M} for @samp{Mega}, etc. You will need version 2.0 of this package, available at @url{http://www.astro.uva.nl/~dominik/Tools}. Org checks for the function @code{constants-get}, which has to be autoloaded in your setup. See the installation instructions in the file @file{constants.el}. @item @file{cdlatex.el} by Carsten Dominik @cindex @file{cdlatex.el} @cindex Dominik, Carsten Org mode can make use of the CD@LaTeX{} package to efficiently enter @LaTeX{} fragments into Org files. See @ref{CDLaTeX mode}. @item @file{imenu.el} by Ake Stenhoff and Lars Lindberg @cindex @file{imenu.el} Imenu allows menu access to an index of items in a file. Org mode supports Imenu---all you need to do to get the index is the following: @lisp (add-hook 'org-mode-hook (lambda () (imenu-add-to-menubar "Imenu"))) @end lisp @vindex org-imenu-depth By default the index is two levels deep---you can modify the depth using the option @code{org-imenu-depth}. @item @file{remember.el} by John Wiegley @cindex @file{remember.el} @cindex Wiegley, John Org used to use this package for capture, but no longer does. @item @file{speedbar.el} by Eric M. Ludlam @cindex @file{speedbar.el} @cindex Ludlam, Eric M. Speedbar is a package that creates a special frame displaying files and index items in files. Org mode supports Speedbar and allows you to drill into Org files directly from the Speedbar. It also allows you to restrict the scope of agenda commands to a file or a subtree by using the command @kbd{<} in the Speedbar frame. @cindex @file{table.el} @item @file{table.el} by Takaaki Ota @kindex C-c C-c @cindex table editor, @file{table.el} @cindex @file{table.el} @cindex Ota, Takaaki Complex ASCII tables with automatic line wrapping, column- and row-spanning, and alignment can be created using the Emacs table package by Takaaki Ota (@uref{http://sourceforge.net/projects/table}, and also part of Emacs 22). Org mode will recognize these tables and export them properly. Because of interference with other Org mode functionality, you unfortunately cannot edit these tables directly in the buffer. Instead, you need to use the command @kbd{C-c '} to edit them, similar to source code snippets. @table @kbd @orgcmd{C-c ',org-edit-special} Edit a @file{table.el} table. Works when the cursor is in a table.el table. @c @orgcmd{C-c ~,org-table-create-with-table.el} Insert a @file{table.el} table. If there is already a table at point, this command converts it between the @file{table.el} format and the Org mode format. See the documentation string of the command @code{org-convert-table} for the restrictions under which this is possible. @end table @file{table.el} is part of Emacs since Emacs 22. @item @file{footnote.el} by Steven L. Baur @cindex @file{footnote.el} @cindex Baur, Steven L. Org mode recognizes numerical footnotes as provided by this package. However, Org mode also has its own footnote support (@pxref{Footnotes}), which makes using @file{footnote.el} unnecessary. @end table @node Conflicts, , Cooperation, Interaction @subsection Packages that lead to conflicts with Org mode @table @asis @cindex @code{shift-selection-mode} @vindex org-support-shift-select In Emacs 23, @code{shift-selection-mode} is on by default, meaning that cursor motions combined with the shift key should start or enlarge regions. This conflicts with the use of @kbd{S-@key{cursor}} commands in Org to change timestamps, TODO keywords, priorities, and item bullet types if the cursor is at such a location. By default, @kbd{S-@key{cursor}} commands outside special contexts don't do anything, but you can customize the variable @code{org-support-shift-select}. Org mode then tries to accommodate shift selection by (i) using it outside of the special contexts where special commands apply, and by (ii) extending an existing active region even if the cursor moves across a special context. @item @file{CUA.el} by Kim. F. Storm @cindex @file{CUA.el} @cindex Storm, Kim. F. @vindex org-replace-disputed-keys Key bindings in Org conflict with the @kbd{S-} keys used by CUA mode (as well as @code{pc-select-mode} and @code{s-region-mode}) to select and extend the region. In fact, Emacs 23 has this built-in in the form of @code{shift-selection-mode}, see previous paragraph. If you are using Emacs 23, you probably don't want to use another package for this purpose. However, if you prefer to leave these keys to a different package while working in Org mode, configure the variable @code{org-replace-disputed-keys}. When set, Org will move the following key bindings in Org files, and in the agenda buffer (but not during date selection). @example S-UP @result{} M-p S-DOWN @result{} M-n S-LEFT @result{} M-- S-RIGHT @result{} M-+ C-S-LEFT @result{} M-S-- C-S-RIGHT @result{} M-S-+ @end example @vindex org-disputed-keys Yes, these are unfortunately more difficult to remember. If you want to have other replacement keys, look at the variable @code{org-disputed-keys}. @item @file{ecomplete.el} by Lars Magne Ingebrigtsen @email{larsi@@gnus.org} @cindex @file{ecomplete.el} Ecomplete provides ``electric'' address completion in address header lines in message buffers. Sadly Orgtbl mode cuts ecompletes power supply: No completion happens when Orgtbl mode is enabled in message buffers while entering text in address header lines. If one wants to use ecomplete one should @emph{not} follow the advice to automagically turn on Orgtbl mode in message buffers (see @ref{Orgtbl mode}), but instead---after filling in the message headers---turn on Orgtbl mode manually when needed in the messages body. @item @file{filladapt.el} by Kyle Jones @cindex @file{filladapt.el} Org mode tries to do the right thing when filling paragraphs, list items and other elements. Many users reported they had problems using both @file{filladapt.el} and Org mode, so a safe thing to do is to disable it like this: @lisp (add-hook 'org-mode-hook 'turn-off-filladapt-mode) @end lisp @item @file{yasnippet.el} @cindex @file{yasnippet.el} The way Org mode binds the @key{TAB} key (binding to @code{[tab]} instead of @code{"\t"}) overrules YASnippet's access to this key. The following code fixed this problem: @lisp (add-hook 'org-mode-hook (lambda () (org-set-local 'yas/trigger-key [tab]) (define-key yas/keymap [tab] 'yas/next-field-or-maybe-expand))) @end lisp The latest version of yasnippet doesn't play well with Org mode. If the above code does not fix the conflict, start by defining the following function: @lisp (defun yas/org-very-safe-expand () (let ((yas/fallback-behavior 'return-nil)) (yas/expand))) @end lisp Then, tell Org mode what to do with the new function: @lisp (add-hook 'org-mode-hook (lambda () (make-variable-buffer-local 'yas/trigger-key) (setq yas/trigger-key [tab]) (add-to-list 'org-tab-first-hook 'yas/org-very-safe-expand) (define-key yas/keymap [tab] 'yas/next-field))) @end lisp @item @file{windmove.el} by Hovav Shacham @cindex @file{windmove.el} This package also uses the @kbd{S-} keys, so everything written in the paragraph above about CUA mode also applies here. If you want make the windmove function active in locations where Org mode does not have special functionality on @kbd{S-@key{cursor}}, add this to your configuration: @lisp ;; Make windmove work in org-mode: (add-hook 'org-shiftup-final-hook 'windmove-up) (add-hook 'org-shiftleft-final-hook 'windmove-left) (add-hook 'org-shiftdown-final-hook 'windmove-down) (add-hook 'org-shiftright-final-hook 'windmove-right) @end lisp @item @file{viper.el} by Michael Kifer @cindex @file{viper.el} @kindex C-c / Viper uses @kbd{C-c /} and therefore makes this key not access the corresponding Org mode command @code{org-sparse-tree}. You need to find another key for this command, or override the key in @code{viper-vi-global-user-map} with @lisp (define-key viper-vi-global-user-map "C-c /" 'org-sparse-tree) @end lisp @end table @node org-crypt, , Interaction, Miscellaneous @section org-crypt.el @cindex @file{org-crypt.el} @cindex @code{org-decrypt-entry} Org-crypt will encrypt the text of an entry, but not the headline, or properties. Org-crypt uses the Emacs EasyPG library to encrypt and decrypt files. Any text below a headline that has a @samp{:crypt:} tag will be automatically be encrypted when the file is saved. If you want to use a different tag just customize the @code{org-crypt-tag-matcher} setting. To use org-crypt it is suggested that you have the following in your @file{.emacs}: @lisp (require 'org-crypt) (org-crypt-use-before-save-magic) (setq org-tags-exclude-from-inheritance (quote ("crypt"))) (setq org-crypt-key nil) ;; GPG key to use for encryption ;; Either the Key ID or set to nil to use symmetric encryption. (setq auto-save-default nil) ;; Auto-saving does not cooperate with org-crypt.el: so you need ;; to turn it off if you plan to use org-crypt.el quite often. ;; Otherwise, you'll get an (annoying) message each time you ;; start Org. ;; To turn it off only locally, you can insert this: ;; ;; # -*- buffer-auto-save-file-name: nil; -*- @end lisp Excluding the crypt tag from inheritance prevents already encrypted text being encrypted again. @node Hacking, MobileOrg, Miscellaneous, Top @appendix Hacking @cindex hacking This appendix covers some aspects where users can extend the functionality of Org. @menu * Hooks:: How to reach into Org's internals * Add-on packages:: Available extensions * Adding hyperlink types:: New custom link types * Adding export back-ends:: How to write new export back-ends * Context-sensitive commands:: How to add functionality to such commands * Tables in arbitrary syntax:: Orgtbl for @LaTeX{} and other programs * Dynamic blocks:: Automatically filled blocks * Special agenda views:: Customized views * Speeding up your agendas:: Tips on how to speed up your agendas * Extracting agenda information:: Post-processing of agenda information * Using the property API:: Writing programs that use entry properties * Using the mapping API:: Mapping over all or selected entries @end menu @node Hooks, Add-on packages, Hacking, Hacking @section Hooks @cindex hooks Org has a large number of hook variables that can be used to add functionality. This appendix about hacking is going to illustrate the use of some of them. A complete list of all hooks with documentation is maintained by the Worg project and can be found at @uref{http://orgmode.org/worg/org-configs/org-hooks.php}. @node Add-on packages, Adding hyperlink types, Hooks, Hacking @section Add-on packages @cindex add-on packages A large number of add-on packages have been written by various authors. These packages are not part of Emacs, but they are distributed as contributed packages with the separate release available at @uref{http://orgmode.org}. See the @file{contrib/README} file in the source code directory for a list of contributed files. You may also find some more information on the Worg page: @uref{http://orgmode.org/worg/org-contrib/}. @node Adding hyperlink types, Adding export back-ends, Add-on packages, Hacking @section Adding hyperlink types @cindex hyperlinks, adding new types Org has a large number of hyperlink types built-in (@pxref{Hyperlinks}). If you would like to add new link types, Org provides an interface for doing so. Let's look at an example file, @file{org-man.el}, that will add support for creating links like @samp{[[man:printf][The printf manpage]]} to show Unix manual pages inside Emacs: @lisp ;;; org-man.el - Support for links to manpages in Org (require 'org) (org-add-link-type "man" 'org-man-open) (add-hook 'org-store-link-functions 'org-man-store-link) (defcustom org-man-command 'man "The Emacs command to be used to display a man page." :group 'org-link :type '(choice (const man) (const woman))) (defun org-man-open (path) "Visit the manpage on PATH. PATH should be a topic that can be thrown at the man command." (funcall org-man-command path)) (defun org-man-store-link () "Store a link to a manpage." (when (memq major-mode '(Man-mode woman-mode)) ;; This is a man page, we do make this link (let* ((page (org-man-get-page-name)) (link (concat "man:" page)) (description (format "Manpage for %s" page))) (org-store-link-props :type "man" :link link :description description)))) (defun org-man-get-page-name () "Extract the page name from the buffer name." ;; This works for both `Man-mode' and `woman-mode'. (if (string-match " \\(\\S-+\\)\\*" (buffer-name)) (match-string 1 (buffer-name)) (error "Cannot create link to this man page"))) (provide 'org-man) ;;; org-man.el ends here @end lisp @noindent You would activate this new link type in @file{.emacs} with @lisp (require 'org-man) @end lisp @noindent Let's go through the file and see what it does. @enumerate @item It does @code{(require 'org)} to make sure that @file{org.el} has been loaded. @item The next line calls @code{org-add-link-type} to define a new link type with prefix @samp{man}. The call also contains the name of a function that will be called to follow such a link. @item @vindex org-store-link-functions The next line adds a function to @code{org-store-link-functions}, in order to allow the command @kbd{C-c l} to record a useful link in a buffer displaying a man page. @end enumerate The rest of the file defines the necessary variables and functions. First there is a customization variable that determines which Emacs command should be used to display man pages. There are two options, @code{man} and @code{woman}. Then the function to follow a link is defined. It gets the link path as an argument---in this case the link path is just a topic for the manual command. The function calls the value of @code{org-man-command} to display the man page. Finally the function @code{org-man-store-link} is defined. When you try to store a link with @kbd{C-c l}, this function will be called to try to make a link. The function must first decide if it is supposed to create the link for this buffer type; we do this by checking the value of the variable @code{major-mode}. If not, the function must exit and return the value @code{nil}. If yes, the link is created by getting the manual topic from the buffer name and prefixing it with the string @samp{man:}. Then it must call the command @code{org-store-link-props} and set the @code{:type} and @code{:link} properties. Optionally you can also set the @code{:description} property to provide a default for the link description when the link is later inserted into an Org buffer with @kbd{C-c C-l}. When it makes sense for your new link type, you may also define a function @code{org-PREFIX-complete-link} that implements special (e.g., completion) support for inserting such a link with @kbd{C-c C-l}. Such a function should not accept any arguments, and return the full link with prefix. @node Adding export back-ends, Context-sensitive commands, Adding hyperlink types, Hacking @section Adding export back-ends @cindex Export, writing back-ends Org 8.0 comes with a completely rewritten export engine which makes it easy to write new export back-ends, either from scratch, or from deriving them from existing ones. Your two entry points are respectively @code{org-export-define-backend} and @code{org-export-define-derived-backend}. To grok these functions, you should first have a look at @file{ox-latex.el} (for how to define a new back-end from scratch) and @file{ox-beamer.el} (for how to derive a new back-end from an existing one. When creating a new back-end from scratch, the basic idea is to set the name of the back-end (as a symbol) and an an alist of elements and export functions. On top of this, you will need to set additional keywords like @code{:menu-entry} (to display the back-end in the export dispatcher), @code{:export-block} (to specify what blocks should not be exported by this back-end), and @code{:options-alist} (to let the user set export options that are specific to this back-end.) Deriving a new back-end is similar, except that you need to set @code{:translate-alist} to an alist of export functions that should be used instead of the parent back-end functions. For a complete reference documentation, see @url{http://orgmode.org/worg/dev/org-export-reference.html, the Org Export Reference on Worg}. @node Context-sensitive commands, Tables in arbitrary syntax, Adding export back-ends, Hacking @section Context-sensitive commands @cindex context-sensitive commands, hooks @cindex add-ons, context-sensitive commands @vindex org-ctrl-c-ctrl-c-hook Org has several commands that act differently depending on context. The most important example is the @kbd{C-c C-c} (@pxref{The very busy C-c C-c key}). Also the @kbd{M-cursor} and @kbd{M-S-cursor} keys have this property. Add-ons can tap into this functionality by providing a function that detects special context for that add-on and executes functionality appropriate for the context. Here is an example from Dan Davison's @file{org-R.el} which allows you to evaluate commands based on the @file{R} programming language @footnote{@file{org-R.el} has been replaced by the Org mode functionality described in @ref{Working With Source Code} and is now obsolete.}. For this package, special contexts are lines that start with @code{#+R:} or @code{#+RR:}. @lisp (defun org-R-apply-maybe () "Detect if this is context for org-R and execute R commands." (if (save-excursion (beginning-of-line 1) (looking-at "#\\+RR?:")) (progn (call-interactively 'org-R-apply) t) ;; to signal that we took action nil)) ;; to signal that we did not (add-hook 'org-ctrl-c-ctrl-c-hook 'org-R-apply-maybe) @end lisp The function first checks if the cursor is in such a line. If that is the case, @code{org-R-apply} is called and the function returns @code{t} to signal that action was taken, and @kbd{C-c C-c} will stop looking for other contexts. If the function finds it should do nothing locally, it returns @code{nil} so that other, similar functions can have a try. @node Tables in arbitrary syntax, Dynamic blocks, Context-sensitive commands, Hacking @section Tables and lists in arbitrary syntax @cindex tables, in other modes @cindex lists, in other modes @cindex Orgtbl mode Since Orgtbl mode can be used as a minor mode in arbitrary buffers, a frequent feature request has been to make it work with native tables in specific languages, for example @LaTeX{}. However, this is extremely hard to do in a general way, would lead to a customization nightmare, and would take away much of the simplicity of the Orgtbl mode table editor. This appendix describes a different approach. We keep the Orgtbl mode table in its native format (the @i{source table}), and use a custom function to @i{translate} the table to the correct syntax, and to @i{install} it in the right location (the @i{target table}). This puts the burden of writing conversion functions on the user, but it allows for a very flexible system. Bastien added the ability to do the same with lists, in Orgstruct mode. You can use Org's facilities to edit and structure lists by turning @code{orgstruct-mode} on, then locally exporting such lists in another format (HTML, @LaTeX{} or Texinfo.) @menu * Radio tables:: Sending and receiving radio tables * A @LaTeX{} example:: Step by step, almost a tutorial * Translator functions:: Copy and modify * Radio lists:: Sending and receiving lists @end menu @node Radio tables, A @LaTeX{} example, Tables in arbitrary syntax, Tables in arbitrary syntax @subsection Radio tables @cindex radio tables To define the location of the target table, you first need to create two lines that are comments in the current mode, but contain magic words @code{BEGIN/END RECEIVE ORGTBL} for Orgtbl mode to find. Orgtbl mode will insert the translated table between these lines, replacing whatever was there before. For example in C mode where comments are between @code{/* ... */}: @example /* BEGIN RECEIVE ORGTBL table_name */ /* END RECEIVE ORGTBL table_name */ @end example @noindent Just above the source table, we put a special line that tells Orgtbl mode how to translate this table and where to install it. For example: @cindex #+ORGTBL @example #+ORGTBL: SEND table_name translation_function arguments.... @end example @noindent @code{table_name} is the reference name for the table that is also used in the receiver lines. @code{translation_function} is the Lisp function that does the translation. Furthermore, the line can contain a list of arguments (alternating key and value) at the end. The arguments will be passed as a property list to the translation function for interpretation. A few standard parameters are already recognized and acted upon before the translation function is called: @table @code @item :skip N Skip the first N lines of the table. Hlines do count as separate lines for this parameter! @item :skipcols (n1 n2 ...) List of columns that should be skipped. If the table has a column with calculation marks, that column is automatically discarded as well. Please note that the translator function sees the table @emph{after} the removal of these columns, the function never knows that there have been additional columns. @item :no-escape t When non-@code{nil}, do not escape special characters @code{&%#_^} when exporting the table. The default value is @code{nil}. @end table @noindent The one problem remaining is how to keep the source table in the buffer without disturbing the normal workings of the file, for example during compilation of a C file or processing of a @LaTeX{} file. There are a number of different solutions: @itemize @bullet @item The table could be placed in a block comment if that is supported by the language. For example, in C mode you could wrap the table between @samp{/*} and @samp{*/} lines. @item Sometimes it is possible to put the table after some kind of @i{END} statement, for example @samp{\bye} in @TeX{} and @samp{\end@{document@}} in @LaTeX{}. @item You can just comment the table line-by-line whenever you want to process the file, and uncomment it whenever you need to edit the table. This only sounds tedious---the command @kbd{M-x orgtbl-toggle-comment RET} makes this comment-toggling very easy, in particular if you bind it to a key. @end itemize @node A @LaTeX{} example, Translator functions, Radio tables, Tables in arbitrary syntax @subsection A @LaTeX{} example of radio tables @cindex @LaTeX{}, and Orgtbl mode The best way to wrap the source table in @LaTeX{} is to use the @code{comment} environment provided by @file{comment.sty}. It has to be activated by placing @code{\usepackage@{comment@}} into the document header. Orgtbl mode can insert a radio table skeleton@footnote{By default this works only for @LaTeX{}, HTML, and Texinfo. Configure the variable @code{orgtbl-radio-table-templates} to install templates for other modes.} with the command @kbd{M-x orgtbl-insert-radio-table RET}. You will be prompted for a table name, let's say we use @samp{salesfigures}. You will then get the following template: @cindex #+ORGTBL, SEND @example % BEGIN RECEIVE ORGTBL salesfigures % END RECEIVE ORGTBL salesfigures \begin@{comment@} #+ORGTBL: SEND salesfigures orgtbl-to-latex | | | \end@{comment@} @end example @noindent @vindex @LaTeX{}-verbatim-environments The @code{#+ORGTBL: SEND} line tells Orgtbl mode to use the function @code{orgtbl-to-latex} to convert the table into @LaTeX{} and to put it into the receiver location with name @code{salesfigures}. You may now fill in the table---feel free to use the spreadsheet features@footnote{If the @samp{#+TBLFM} line contains an odd number of dollar characters, this may cause problems with font-lock in @LaTeX{} mode. As shown in the example you can fix this by adding an extra line inside the @code{comment} environment that is used to balance the dollar expressions. If you are using AUC@TeX{} with the font-latex library, a much better solution is to add the @code{comment} environment to the variable @code{LaTeX-verbatim-environments}.}: @example % BEGIN RECEIVE ORGTBL salesfigures % END RECEIVE ORGTBL salesfigures \begin@{comment@} #+ORGTBL: SEND salesfigures orgtbl-to-latex | Month | Days | Nr sold | per day | |-------+------+---------+---------| | Jan | 23 | 55 | 2.4 | | Feb | 21 | 16 | 0.8 | | March | 22 | 278 | 12.6 | #+TBLFM: $4=$3/$2;%.1f % $ (optional extra dollar to keep font-lock happy, see footnote) \end@{comment@} @end example @noindent When you are done, press @kbd{C-c C-c} in the table to get the converted table inserted between the two marker lines. Now let's assume you want to make the table header by hand, because you want to control how columns are aligned, etc. In this case we make sure that the table translator skips the first 2 lines of the source table, and tell the command to work as a @i{splice}, i.e., to not produce header and footer commands of the target table: @example \begin@{tabular@}@{lrrr@} Month & \multicolumn@{1@}@{c@}@{Days@} & Nr.\ sold & per day\\ % BEGIN RECEIVE ORGTBL salesfigures % END RECEIVE ORGTBL salesfigures \end@{tabular@} % \begin@{comment@} #+ORGTBL: SEND salesfigures orgtbl-to-latex :splice t :skip 2 | Month | Days | Nr sold | per day | |-------+------+---------+---------| | Jan | 23 | 55 | 2.4 | | Feb | 21 | 16 | 0.8 | | March | 22 | 278 | 12.6 | #+TBLFM: $4=$3/$2;%.1f \end@{comment@} @end example The @LaTeX{} translator function @code{orgtbl-to-latex} is already part of Orgtbl mode. It uses a @code{tabular} environment to typeset the table and marks horizontal lines with @code{\hline}. Furthermore, it interprets the following parameters (see also @pxref{Translator functions}): @table @code @item :splice nil/t When set to t, return only table body lines, don't wrap them into a tabular environment. Default is @code{nil}. @item :fmt fmt A format to be used to wrap each field, it should contain @code{%s} for the original field value. For example, to wrap each field value in dollars, you could use @code{:fmt "$%s$"}. This may also be a property list with column numbers and formats, for example @code{:fmt (2 "$%s$" 4 "%s\\%%")}. A function of one argument can be used in place of the strings; the function must return a formatted string. @item :efmt efmt Use this format to print numbers with exponentials. The format should have @code{%s} twice for inserting mantissa and exponent, for example @code{"%s\\times10^@{%s@}"}. The default is @code{"%s\\,(%s)"}. This may also be a property list with column numbers and formats, for example @code{:efmt (2 "$%s\\times10^@{%s@}$" 4 "$%s\\cdot10^@{%s@}$")}. After @code{efmt} has been applied to a value, @code{fmt} will also be applied. Similar to @code{fmt}, functions of two arguments can be supplied instead of strings. @end table @node Translator functions, Radio lists, A @LaTeX{} example, Tables in arbitrary syntax @subsection Translator functions @cindex HTML, and Orgtbl mode @cindex translator function Orgtbl mode has several translator functions built-in: @code{orgtbl-to-csv} (comma-separated values), @code{orgtbl-to-tsv} (TAB-separated values) @code{orgtbl-to-latex}, @code{orgtbl-to-html}, and @code{orgtbl-to-texinfo}. Except for @code{orgtbl-to-html}@footnote{The HTML translator uses the same code that produces tables during HTML export.}, these all use a generic translator, @code{orgtbl-to-generic}. For example, @code{orgtbl-to-latex} itself is a very short function that computes the column definitions for the @code{tabular} environment, defines a few field and line separators and then hands processing over to the generic translator. Here is the entire code: @lisp @group (defun orgtbl-to-latex (table params) "Convert the Orgtbl mode TABLE to LaTeX." (let* ((alignment (mapconcat (lambda (x) (if x "r" "l")) org-table-last-alignment "")) (params2 (list :tstart (concat "\\begin@{tabular@}@{" alignment "@}") :tend "\\end@{tabular@}" :lstart "" :lend " \\\\" :sep " & " :efmt "%s\\,(%s)" :hline "\\hline"))) (orgtbl-to-generic table (org-combine-plists params2 params)))) @end group @end lisp As you can see, the properties passed into the function (variable @var{PARAMS}) are combined with the ones newly defined in the function (variable @var{PARAMS2}). The ones passed into the function (i.e., the ones set by the @samp{ORGTBL SEND} line) take precedence. So if you would like to use the @LaTeX{} translator, but wanted the line endings to be @samp{\\[2mm]} instead of the default @samp{\\}, you could just overrule the default with @example #+ORGTBL: SEND test orgtbl-to-latex :lend " \\\\[2mm]" @end example For a new language, you can either write your own converter function in analogy with the @LaTeX{} translator, or you can use the generic function directly. For example, if you have a language where a table is started with @samp{!BTBL!}, ended with @samp{!ETBL!}, and where table lines are started with @samp{!BL!}, ended with @samp{!EL!}, and where the field separator is a TAB, you could call the generic translator like this (on a single line!): @example #+ORGTBL: SEND test orgtbl-to-generic :tstart "!BTBL!" :tend "!ETBL!" :lstart "!BL! " :lend " !EL!" :sep "\t" @end example @noindent Please check the documentation string of the function @code{orgtbl-to-generic} for a full list of parameters understood by that function, and remember that you can pass each of them into @code{orgtbl-to-latex}, @code{orgtbl-to-texinfo}, and any other function using the generic function. Of course you can also write a completely new function doing complicated things the generic translator cannot do. A translator function takes two arguments. The first argument is the table, a list of lines, each line either the symbol @code{hline} or a list of fields. The second argument is the property list containing all parameters specified in the @samp{#+ORGTBL: SEND} line. The function must return a single string containing the formatted table. If you write a generally useful translator, please post it on @email{emacs-orgmode@@gnu.org} so that others can benefit from your work. @node Radio lists, , Translator functions, Tables in arbitrary syntax @subsection Radio lists @cindex radio lists @cindex org-list-insert-radio-list Sending and receiving radio lists works exactly the same way as sending and receiving radio tables (@pxref{Radio tables}). As for radio tables, you can insert radio list templates in HTML, @LaTeX{} and Texinfo modes by calling @code{org-list-insert-radio-list}. Here are the differences with radio tables: @itemize @minus @item Orgstruct mode must be active. @item Use the @code{ORGLST} keyword instead of @code{ORGTBL}. @item The available translation functions for radio lists don't take parameters. @item @kbd{C-c C-c} will work when pressed on the first item of the list. @end itemize Here is a @LaTeX{} example. Let's say that you have this in your @LaTeX{} file: @cindex #+ORGLST @example % BEGIN RECEIVE ORGLST to-buy % END RECEIVE ORGLST to-buy \begin@{comment@} #+ORGLST: SEND to-buy org-list-to-latex - a new house - a new computer + a new keyboard + a new mouse - a new life \end@{comment@} @end example Pressing @kbd{C-c C-c} on @code{a new house} and will insert the converted @LaTeX{} list between the two marker lines. @node Dynamic blocks, Special agenda views, Tables in arbitrary syntax, Hacking @section Dynamic blocks @cindex dynamic blocks Org documents can contain @emph{dynamic blocks}. These are specially marked regions that are updated by some user-written function. A good example for such a block is the clock table inserted by the command @kbd{C-c C-x C-r} (@pxref{Clocking work time}). Dynamic blocks are enclosed by a BEGIN-END structure that assigns a name to the block and can also specify parameters for the function producing the content of the block. @cindex #+BEGIN:dynamic block @example #+BEGIN: myblock :parameter1 value1 :parameter2 value2 ... #+END: @end example Dynamic blocks are updated with the following commands @table @kbd @orgcmd{C-c C-x C-u,org-dblock-update} Update dynamic block at point. @orgkey{C-u C-c C-x C-u} Update all dynamic blocks in the current file. @end table Updating a dynamic block means to remove all the text between BEGIN and END, parse the BEGIN line for parameters and then call the specific writer function for this block to insert the new content. If you want to use the original content in the writer function, you can use the extra parameter @code{:content}. For a block with name @code{myblock}, the writer function is @code{org-dblock-write:myblock} with as only parameter a property list with the parameters given in the begin line. Here is a trivial example of a block that keeps track of when the block update function was last run: @example #+BEGIN: block-update-time :format "on %m/%d/%Y at %H:%M" #+END: @end example @noindent The corresponding block writer function could look like this: @lisp (defun org-dblock-write:block-update-time (params) (let ((fmt (or (plist-get params :format) "%d. %m. %Y"))) (insert "Last block update at: " (format-time-string fmt (current-time))))) @end lisp If you want to make sure that all dynamic blocks are always up-to-date, you could add the function @code{org-update-all-dblocks} to a hook, for example @code{before-save-hook}. @code{org-update-all-dblocks} is written in a way such that it does nothing in buffers that are not in @code{org-mode}. You can narrow the current buffer to the current dynamic block (like any other block) with @code{org-narrow-to-block}. @node Special agenda views, Speeding up your agendas, Dynamic blocks, Hacking @section Special agenda views @cindex agenda views, user-defined @vindex org-agenda-skip-function @vindex org-agenda-skip-function-global Org provides a special hook that can be used to narrow down the selection made by these agenda views: @code{agenda}, @code{agenda*}@footnote{The @code{agenda*} view is the same than @code{agenda} except that it only considers @emph{appointments}, i.e., scheduled and deadline items that have a time specification @code{[h]h:mm} in their time-stamps.}, @code{todo}, @code{alltodo}, @code{tags}, @code{tags-todo}, @code{tags-tree}. You may specify a function that is used at each match to verify if the match should indeed be part of the agenda view, and if not, how much should be skipped. You can specify a global condition that will be applied to all agenda views, this condition would be stored in the variable @code{org-agenda-skip-function-global}. More commonly, such a definition is applied only to specific custom searches, using @code{org-agenda-skip-function}. Let's say you want to produce a list of projects that contain a WAITING tag anywhere in the project tree. Let's further assume that you have marked all tree headings that define a project with the TODO keyword PROJECT@. In this case you would run a TODO search for the keyword PROJECT, but skip the match unless there is a WAITING tag anywhere in the subtree belonging to the project line. To achieve this, you must write a function that searches the subtree for the tag. If the tag is found, the function must return @code{nil} to indicate that this match should not be skipped. If there is no such tag, return the location of the end of the subtree, to indicate that search should continue from there. @lisp (defun my-skip-unless-waiting () "Skip trees that are not waiting" (let ((subtree-end (save-excursion (org-end-of-subtree t)))) (if (re-search-forward ":waiting:" subtree-end t) nil ; tag found, do not skip subtree-end))) ; tag not found, continue after end of subtree @end lisp Now you may use this function in an agenda custom command, for example like this: @lisp (org-add-agenda-custom-command '("b" todo "PROJECT" ((org-agenda-skip-function 'my-skip-unless-waiting) (org-agenda-overriding-header "Projects waiting for something: ")))) @end lisp @vindex org-agenda-overriding-header Note that this also binds @code{org-agenda-overriding-header} to get a meaningful header in the agenda view. @vindex org-odd-levels-only @vindex org-agenda-skip-function A general way to create custom searches is to base them on a search for entries with a certain level limit. If you want to study all entries with your custom search function, simply do a search for @samp{LEVEL>0}@footnote{Note that, when using @code{org-odd-levels-only}, a level number corresponds to order in the hierarchy, not to the number of stars.}, and then use @code{org-agenda-skip-function} to select the entries you really want to have. You may also put a Lisp form into @code{org-agenda-skip-function}. In particular, you may use the functions @code{org-agenda-skip-entry-if} and @code{org-agenda-skip-subtree-if} in this form, for example: @table @code @item (org-agenda-skip-entry-if 'scheduled) Skip current entry if it has been scheduled. @item (org-agenda-skip-entry-if 'notscheduled) Skip current entry if it has not been scheduled. @item (org-agenda-skip-entry-if 'deadline) Skip current entry if it has a deadline. @item (org-agenda-skip-entry-if 'scheduled 'deadline) Skip current entry if it has a deadline, or if it is scheduled. @item (org-agenda-skip-entry-if 'todo '("TODO" "WAITING")) Skip current entry if the TODO keyword is TODO or WAITING. @item (org-agenda-skip-entry-if 'todo 'done) Skip current entry if the TODO keyword marks a DONE state. @item (org-agenda-skip-entry-if 'timestamp) Skip current entry if it has any timestamp, may also be deadline or scheduled. @anchor{x-agenda-skip-entry-regexp} @item (org-agenda-skip-entry-if 'regexp "regular expression") Skip current entry if the regular expression matches in the entry. @item (org-agenda-skip-entry-if 'notregexp "regular expression") Skip current entry unless the regular expression matches. @item (org-agenda-skip-subtree-if 'regexp "regular expression") Same as above, but check and skip the entire subtree. @end table Therefore we could also have written the search for WAITING projects like this, even without defining a special function: @lisp (org-add-agenda-custom-command '("b" todo "PROJECT" ((org-agenda-skip-function '(org-agenda-skip-subtree-if 'regexp ":waiting:")) (org-agenda-overriding-header "Projects waiting for something: ")))) @end lisp @node Speeding up your agendas, Extracting agenda information, Special agenda views, Hacking @section Speeding up your agendas @cindex agenda views, optimization When your Org files grow in both number and size, agenda commands may start to become slow. Below are some tips on how to speed up the agenda commands. @enumerate @item Reduce the number of Org agenda files: this will reduce the slowness caused by accessing a hard drive. @item Reduce the number of DONE and archived headlines: this way the agenda does not need to skip them. @item @vindex org-agenda-dim-blocked-tasks Inhibit the dimming of blocked tasks: @lisp (setq org-agenda-dim-blocked-tasks nil) @end lisp @item @vindex org-startup-folded @vindex org-agenda-inhibit-startup Inhibit agenda files startup options: @lisp (setq org-agenda-inhibit-startup nil) @end lisp @item @vindex org-agenda-show-inherited-tags @vindex org-agenda-use-tag-inheritance Disable tag inheritance in agenda: @lisp (setq org-agenda-use-tag-inheritance nil) @end lisp @end enumerate You can set these options for specific agenda views only. See the docstrings of these variables for details on why they affect the agenda generation, and this @uref{http://orgmode.org/worg/agenda-optimization.html, dedicated Worg page} for further explanations. @node Extracting agenda information, Using the property API, Speeding up your agendas, Hacking @section Extracting agenda information @cindex agenda, pipe @cindex Scripts, for agenda processing @vindex org-agenda-custom-commands Org provides commands to access agenda information for the command line in Emacs batch mode. This extracted information can be sent directly to a printer, or it can be read by a program that does further processing of the data. The first of these commands is the function @code{org-batch-agenda}, that produces an agenda view and sends it as ASCII text to STDOUT@. The command takes a single string as parameter. If the string has length 1, it is used as a key to one of the commands you have configured in @code{org-agenda-custom-commands}, basically any key you can use after @kbd{C-c a}. For example, to directly print the current TODO list, you could use @example emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr @end example If the parameter is a string with 2 or more characters, it is used as a tags/TODO match string. For example, to print your local shopping list (all items with the tag @samp{shop}, but excluding the tag @samp{NewYork}), you could use @example emacs -batch -l ~/.emacs \ -eval '(org-batch-agenda "+shop-NewYork")' | lpr @end example @noindent You may also modify parameters on the fly like this: @example emacs -batch -l ~/.emacs \ -eval '(org-batch-agenda "a" \ org-agenda-span (quote month) \ org-agenda-include-diary nil \ org-agenda-files (quote ("~/org/project.org")))' \ | lpr @end example @noindent which will produce a 30-day agenda, fully restricted to the Org file @file{~/org/projects.org}, not even including the diary. If you want to process the agenda data in more sophisticated ways, you can use the command @code{org-batch-agenda-csv} to get a comma-separated list of values for each agenda item. Each line in the output will contain a number of fields separated by commas. The fields in a line are: @example category @r{The category of the item} head @r{The headline, without TODO keyword, TAGS and PRIORITY} type @r{The type of the agenda entry, can be} todo @r{selected in TODO match} tagsmatch @r{selected in tags match} diary @r{imported from diary} deadline @r{a deadline} scheduled @r{scheduled} timestamp @r{appointment, selected by timestamp} closed @r{entry was closed on date} upcoming-deadline @r{warning about nearing deadline} past-scheduled @r{forwarded scheduled item} block @r{entry has date block including date} todo @r{The TODO keyword, if any} tags @r{All tags including inherited ones, separated by colons} date @r{The relevant date, like 2007-2-14} time @r{The time, like 15:00-16:50} extra @r{String with extra planning info} priority-l @r{The priority letter if any was given} priority-n @r{The computed numerical priority} @end example @noindent Time and date will only be given if a timestamp (or deadline/scheduled) led to the selection of the item. A CSV list like this is very easy to use in a post-processing script. For example, here is a Perl program that gets the TODO list from Emacs/Org and prints all the items, preceded by a checkbox: @example #!/usr/bin/perl # define the Emacs command to run $cmd = "emacs -batch -l ~/.emacs -eval '(org-batch-agenda-csv \"t\")'"; # run it and capture the output $agenda = qx@{$cmd 2>/dev/null@}; # loop over all lines foreach $line (split(/\n/,$agenda)) @{ # get the individual values ($category,$head,$type,$todo,$tags,$date,$time,$extra, $priority_l,$priority_n) = split(/,/,$line); # process and print print "[ ] $head\n"; @} @end example @node Using the property API, Using the mapping API, Extracting agenda information, Hacking @section Using the property API @cindex API, for properties @cindex properties, API Here is a description of the functions that can be used to work with properties. @defun org-entry-properties &optional pom which Get all properties of the entry at point-or-marker POM.@* This includes the TODO keyword, the tags, time strings for deadline, scheduled, and clocking, and any additional properties defined in the entry. The return value is an alist. Keys may occur multiple times if the property key was used several times.@* POM may also be @code{nil}, in which case the current entry is used. If WHICH is @code{nil} or `all', get all properties. If WHICH is `special' or `standard', only get that subclass. @end defun @vindex org-use-property-inheritance @findex org-insert-property-drawer @defun org-entry-get pom property &optional inherit Get value of @code{PROPERTY} for entry at point-or-marker @code{POM}@. By default, this only looks at properties defined locally in the entry. If @code{INHERIT} is non-@code{nil} and the entry does not have the property, then also check higher levels of the hierarchy. If @code{INHERIT} is the symbol @code{selective}, use inheritance if and only if the setting of @code{org-use-property-inheritance} selects @code{PROPERTY} for inheritance. @end defun @defun org-entry-delete pom property Delete the property @code{PROPERTY} from entry at point-or-marker POM. @end defun @defun org-entry-put pom property value Set @code{PROPERTY} to @code{VALUE} for entry at point-or-marker POM. @end defun @defun org-buffer-property-keys &optional include-specials Get all property keys in the current buffer. @end defun @defun org-insert-property-drawer Insert a property drawer for the current entry. Also @end defun @defun org-entry-put-multivalued-property pom property &rest values Set @code{PROPERTY} at point-or-marker @code{POM} to @code{VALUES}@. @code{VALUES} should be a list of strings. They will be concatenated, with spaces as separators. @end defun @defun org-entry-get-multivalued-property pom property Treat the value of the property @code{PROPERTY} as a whitespace-separated list of values and return the values as a list of strings. @end defun @defun org-entry-add-to-multivalued-property pom property value Treat the value of the property @code{PROPERTY} as a whitespace-separated list of values and make sure that @code{VALUE} is in this list. @end defun @defun org-entry-remove-from-multivalued-property pom property value Treat the value of the property @code{PROPERTY} as a whitespace-separated list of values and make sure that @code{VALUE} is @emph{not} in this list. @end defun @defun org-entry-member-in-multivalued-property pom property value Treat the value of the property @code{PROPERTY} as a whitespace-separated list of values and check if @code{VALUE} is in this list. @end defun @defopt org-property-allowed-value-functions Hook for functions supplying allowed values for a specific property. The functions must take a single argument, the name of the property, and return a flat list of allowed values. If @samp{:ETC} is one of the values, use the values as completion help, but allow also other values to be entered. The functions must return @code{nil} if they are not responsible for this property. @end defopt @node Using the mapping API, , Using the property API, Hacking @section Using the mapping API @cindex API, for mapping @cindex mapping entries, API Org has sophisticated mapping capabilities to find all entries satisfying certain criteria. Internally, this functionality is used to produce agenda views, but there is also an API that can be used to execute arbitrary functions for each or selected entries. The main entry point for this API is: @defun org-map-entries func &optional match scope &rest skip Call @code{FUNC} at each headline selected by @code{MATCH} in @code{SCOPE}. @code{FUNC} is a function or a Lisp form. The function will be called without arguments, with the cursor positioned at the beginning of the headline. The return values of all calls to the function will be collected and returned as a list. The call to @code{FUNC} will be wrapped into a save-excursion form, so @code{FUNC} does not need to preserve point. After evaluation, the cursor will be moved to the end of the line (presumably of the headline of the processed entry) and search continues from there. Under some circumstances, this may not produce the wanted results. For example, if you have removed (e.g., archived) the current (sub)tree it could mean that the next entry will be skipped entirely. In such cases, you can specify the position from where search should continue by making @code{FUNC} set the variable @code{org-map-continue-from} to the desired buffer position. @code{MATCH} is a tags/property/todo match as it is used in the agenda match view. Only headlines that are matched by this query will be considered during the iteration. When @code{MATCH} is @code{nil} or @code{t}, all headlines will be visited by the iteration. @code{SCOPE} determines the scope of this command. It can be any of: @example nil @r{the current buffer, respecting the restriction if any} tree @r{the subtree started with the entry at point} region @r{The entries within the active region, if any} file @r{the current buffer, without restriction} file-with-archives @r{the current buffer, and any archives associated with it} agenda @r{all agenda files} agenda-with-archives @r{all agenda files with any archive files associated with them} (file1 file2 ...) @r{if this is a list, all files in the list will be scanned} @end example @noindent The remaining args are treated as settings for the skipping facilities of the scanner. The following items can be given here: @vindex org-agenda-skip-function @example archive @r{skip trees with the archive tag} comment @r{skip trees with the COMMENT keyword} function or Lisp form @r{will be used as value for @code{org-agenda-skip-function},} @r{so whenever the function returns t, FUNC} @r{will not be called for that entry and search will} @r{continue from the point where the function leaves it} @end example @end defun The function given to that mapping routine can really do anything you like. It can use the property API (@pxref{Using the property API}) to gather more information about the entry, or in order to change metadata in the entry. Here are a couple of functions that might be handy: @defun org-todo &optional arg Change the TODO state of the entry. See the docstring of the functions for the many possible values for the argument @code{ARG}. @end defun @defun org-priority &optional action Change the priority of the entry. See the docstring of this function for the possible values for @code{ACTION}. @end defun @defun org-toggle-tag tag &optional onoff Toggle the tag @code{TAG} in the current entry. Setting @code{ONOFF} to either @code{on} or @code{off} will not toggle tag, but ensure that it is either on or off. @end defun @defun org-promote Promote the current entry. @end defun @defun org-demote Demote the current entry. @end defun Here is a simple example that will turn all entries in the current file with a tag @code{TOMORROW} into TODO entries with the keyword @code{UPCOMING}. Entries in comment trees and in archive trees will be ignored. @lisp (org-map-entries '(org-todo "UPCOMING") "+TOMORROW" 'file 'archive 'comment) @end lisp The following example counts the number of entries with TODO keyword @code{WAITING}, in all agenda files. @lisp (length (org-map-entries t "/+WAITING" 'agenda)) @end lisp @node MobileOrg, History and Acknowledgments, Hacking, Top @appendix MobileOrg @cindex iPhone @cindex MobileOrg @i{MobileOrg} is the name of the mobile companion app for Org mode, currently available for iOS and for Android. @i{MobileOrg} offers offline viewing and capture support for an Org mode system rooted on a ``real'' computer. It does also allow you to record changes to existing entries. The @uref{https://github.com/MobileOrg/, iOS implementation} for the @i{iPhone/iPod Touch/iPad} series of devices, was started by Richard Moreland and is now in the hands Sean Escriva. Android users should check out @uref{http://wiki.github.com/matburt/mobileorg-android/, MobileOrg Android} by Matt Jones. The two implementations are not identical but offer similar features. This appendix describes the support Org has for creating agenda views in a format that can be displayed by @i{MobileOrg}, and for integrating notes captured and changes made by @i{MobileOrg} into the main system. For changing tags and TODO states in MobileOrg, you should have set up the customization variables @code{org-todo-keywords} and @code{org-tag-alist} to cover all important tags and TODO keywords, even if individual files use only part of these. MobileOrg will also offer you states and tags set up with in-buffer settings, but it will understand the logistics of TODO state @i{sets} (@pxref{Per-file keywords}) and @i{mutually exclusive} tags (@pxref{Setting tags}) only for those set in these variables. @menu * Setting up the staging area:: Where to interact with the mobile device * Pushing to MobileOrg:: Uploading Org files and agendas * Pulling from MobileOrg:: Integrating captured and flagged items @end menu @node Setting up the staging area, Pushing to MobileOrg, MobileOrg, MobileOrg @section Setting up the staging area MobileOrg needs to interact with Emacs through a directory on a server. If you are using a public server, you should consider to encrypt the files that are uploaded to the server. This can be done with Org mode 7.02 and with @i{MobileOrg 1.5} (iPhone version), and you need an @file{openssl} installation on your system. To turn on encryption, set a password in @i{MobileOrg} and, on the Emacs side, configure the variable @code{org-mobile-use-encryption}@footnote{If you can safely store the password in your Emacs setup, you might also want to configure @code{org-mobile-encryption-password}. Please read the docstring of that variable. Note that encryption will apply only to the contents of the @file{.org} files. The file names themselves will remain visible.}. The easiest way to create that directory is to use a free @uref{http://dropbox.com,Dropbox.com} account@footnote{If you cannot use Dropbox, or if your version of MobileOrg does not support it, you can use a webdav server. For more information, check out the documentation of MobileOrg and also this @uref{http://orgmode.org/worg/org-faq.html#mobileorg_webdav, FAQ entry}.}. When MobileOrg first connects to your Dropbox, it will create a directory @i{MobileOrg} inside the Dropbox. After the directory has been created, tell Emacs about it: @lisp (setq org-mobile-directory "~/Dropbox/MobileOrg") @end lisp Org mode has commands to put files for @i{MobileOrg} into that directory, and to read captured notes from there. @node Pushing to MobileOrg, Pulling from MobileOrg, Setting up the staging area, MobileOrg @section Pushing to MobileOrg This operation copies all files currently listed in @code{org-mobile-files} to the directory @code{org-mobile-directory}. By default this list contains all agenda files (as listed in @code{org-agenda-files}), but additional files can be included by customizing @code{org-mobile-files}. File names will be staged with paths relative to @code{org-directory}, so all files should be inside this directory@footnote{Symbolic links in @code{org-directory} need to have the same name than their targets.}. The push operation also creates a special Org file @file{agendas.org} with all custom agenda view defined by the user@footnote{While creating the agendas, Org mode will force ID properties on all referenced entries, so that these entries can be uniquely identified if @i{MobileOrg} flags them for further action. If you do not want to get these properties in so many entries, you can set the variable @code{org-mobile-force-id-on-agenda-items} to @code{nil}. Org mode will then rely on outline paths, in the hope that these will be unique enough.}. Finally, Org writes the file @file{index.org}, containing links to all other files. @i{MobileOrg} first reads this file from the server, and then downloads all agendas and Org files listed in it. To speed up the download, MobileOrg will only read files whose checksums@footnote{Checksums are stored automatically in the file @file{checksums.dat}} have changed. @node Pulling from MobileOrg, , Pushing to MobileOrg, MobileOrg @section Pulling from MobileOrg When @i{MobileOrg} synchronizes with the server, it not only pulls the Org files for viewing. It also appends captured entries and pointers to flagged and changed entries to the file @file{mobileorg.org} on the server. Org has a @emph{pull} operation that integrates this information into an inbox file and operates on the pointers to flagged entries. Here is how it works: @enumerate @item Org moves all entries found in @file{mobileorg.org}@footnote{@file{mobileorg.org} will be empty after this operation.} and appends them to the file pointed to by the variable @code{org-mobile-inbox-for-pull}. Each captured entry and each editing event will be a top-level entry in the inbox file. @item After moving the entries, Org will attempt to implement the changes made in @i{MobileOrg}. Some changes are applied directly and without user interaction. Examples are all changes to tags, TODO state, headline and body text that can be cleanly applied. Entries that have been flagged for further action will receive a tag @code{:FLAGGED:}, so that they can be easily found again. When there is a problem finding an entry or applying the change, the pointer entry will remain in the inbox and will be marked with an error message. You need to later resolve these issues by hand. @item Org will then generate an agenda view with all flagged entries. The user should then go through these entries and do whatever actions are necessary. If a note has been stored while flagging an entry in @i{MobileOrg}, that note will be displayed in the echo area when the cursor is on the corresponding agenda line. @table @kbd @kindex ? @item ? Pressing @kbd{?} in that special agenda will display the full flagging note in another window and also push it onto the kill ring. So you could use @kbd{? z C-y C-c C-c} to store that flagging note as a normal note in the entry. Pressing @kbd{?} twice in succession will offer to remove the @code{:FLAGGED:} tag along with the recorded flagging note (which is stored in a property). In this way you indicate that the intended processing for this flagged entry is finished. @end table @end enumerate @kindex C-c a ? If you are not able to process all flagged entries directly, you can always return to this agenda view@footnote{Note, however, that there is a subtle difference. The view created automatically by @kbd{M-x org-mobile-pull RET} is guaranteed to search all files that have been addressed by the last pull. This might include a file that is not currently in your list of agenda files. If you later use @kbd{C-c a ?} to regenerate the view, only the current agenda files will be searched.} using @kbd{C-c a ?}. @node History and Acknowledgments, GNU Free Documentation License, MobileOrg, Top @appendix History and acknowledgments @cindex acknowledgments @cindex history @cindex thanks @section From Carsten Org was born in 2003, out of frustration over the user interface of the Emacs Outline mode. I was trying to organize my notes and projects, and using Emacs seemed to be the natural way to go. However, having to remember eleven different commands with two or three keys per command, only to hide and show parts of the outline tree, that seemed entirely unacceptable to me. Also, when using outlines to take notes, I constantly wanted to restructure the tree, organizing it parallel to my thoughts and plans. @emph{Visibility cycling} and @emph{structure editing} were originally implemented in the package @file{outline-magic.el}, but quickly moved to the more general @file{org.el}. As this environment became comfortable for project planning, the next step was adding @emph{TODO entries}, basic @emph{timestamps}, and @emph{table support}. These areas highlighted the two main goals that Org still has today: to be a new, outline-based, plain text mode with innovative and intuitive editing features, and to incorporate project planning functionality directly into a notes file. Since the first release, literally thousands of emails to me or to @email{emacs-orgmode@@gnu.org} have provided a constant stream of bug reports, feedback, new ideas, and sometimes patches and add-on code. Many thanks to everyone who has helped to improve this package. I am trying to keep here a list of the people who had significant influence in shaping one or more aspects of Org. The list may not be complete, if I have forgotten someone, please accept my apologies and let me know. Before I get to this list, a few special mentions are in order: @table @i @item Bastien Guerry Bastien has written a large number of extensions to Org (most of them integrated into the core by now), including the @LaTeX{} exporter and the plain list parser. His support during the early days, when he basically acted as co-maintainer, was central to the success of this project. Bastien also invented Worg, helped establishing the Web presence of Org, and sponsored hosting costs for the orgmode.org website. @item Eric Schulte and Dan Davison Eric and Dan are jointly responsible for the Org-babel system, which turns Org into a multi-language environment for evaluating code and doing literate programming and reproducible research. @item John Wiegley John has contributed a number of great ideas and patches directly to Org, including the attachment system (@file{org-attach.el}), integration with Apple Mail (@file{org-mac-message.el}), hierarchical dependencies of TODO items, habit tracking (@file{org-habits.el}), and encryption (@file{org-crypt.el}). Also, the capture system is really an extended copy of his great @file{remember.el}. @item Sebastian Rose Without Sebastian, the HTML/XHTML publishing of Org would be the pitiful work of an ignorant amateur. Sebastian has pushed this part of Org onto a much higher level. He also wrote @file{org-info.js}, a Java script for displaying web pages derived from Org using an Info-like or a folding interface with single-key navigation. @end table @noindent See below for the full list of contributions! Again, please let me know what I am missing here! @section From Bastien I (Bastien) have been maintaining Org since January 2011. This appendix would not be complete without adding a few more acknowledgements and thanks to Carsten's ones above. I am first grateful to Carsten for his trust while handing me over the maintainership of Org. His unremitting support is what really helped me getting more confident over time, with both the community and the code. When I took over maintainership, I knew I would have to make Org more collaborative than ever, as I would have to rely on people that are more knowledgeable than I am on many parts of the code. Here is a list of the persons I could rely on, they should really be considered co-maintainers, either of the code or the community: @table @i @item Eric Schulte Eric is maintaining the Babel parts of Org. His reactivity here kept me away from worrying about possible bugs here and let me focus on other parts. @item Nicolas Goaziou Nicolas is maintaining the consistency of the deepest parts of Org. His work on @file{org-element.el} and @file{ox.el} has been outstanding, and opened the doors for many new ideas and features. He rewrote many of the old exporters to use the new export engine, and helped with documenting this major change. More importantly (if that's possible), he has been more than reliable during all the work done for Org 8.0, and always very reactive on the mailing list. @item Achim Gratz Achim rewrote the building process of Org, turning some @emph{ad hoc} tools into a flexible and conceptually clean process. He patiently coped with the many hiccups that such a change can create for users. @item Nick Dokos The Org mode mailing list would not be such a nice place without Nick, who patiently helped users so many times. It is impossible to overestimate such a great help, and the list would not be so active without him. @end table I received support from so many users that it is clearly impossible to be fair when shortlisting a few of them, but Org's history would not be complete if the ones above were not mentioned in this manual. @section List of contributions @itemize @bullet @item @i{Russel Adams} came up with the idea for drawers. @item @i{Suvayu Ali} has steadily helped on the mailing list, providing useful feedback on many features and several patches. @item @i{Luis Anaya} wrote @file{ox-man.el}. @item @i{Thomas Baumann} wrote @file{org-bbdb.el} and @file{org-mhe.el}. @item @i{Michael Brand} helped by reporting many bugs and testing many features. He also implemented the distinction between empty fields and 0-value fields in Org's spreadsheets. @item @i{Christophe Bataillon} created the great unicorn logo that we use on the Org mode website. @item @i{Alex Bochannek} provided a patch for rounding timestamps. @item @i{Jan Böcker} wrote @file{org-docview.el}. @item @i{Brad Bozarth} showed how to pull RSS feed data into Org mode files. @item @i{Tom Breton} wrote @file{org-choose.el}. @item @i{Charles Cave}'s suggestion sparked the implementation of templates for Remember, which are now templates for capture. @item @i{Pavel Chalmoviansky} influenced the agenda treatment of items with specified time. @item @i{Gregory Chernov} patched support for Lisp forms into table calculations and improved XEmacs compatibility, in particular by porting @file{nouline.el} to XEmacs. @item @i{Sacha Chua} suggested copying some linking code from Planner. @item @i{Toby S. Cubitt} contributed to the code for clock formats. @item @i{Baoqiu Cui} contributed the DocBook exporter. It has been deleted from Org 8.0: you can now export to Texinfo and export the @file{.texi} file to DocBook using @code{makeinfo}. @item @i{Eddward DeVilla} proposed and tested checkbox statistics. He also came up with the idea of properties, and that there should be an API for them. @item @i{Nick Dokos} tracked down several nasty bugs. @item @i{Kees Dullemond} used to edit projects lists directly in HTML and so inspired some of the early development, including HTML export. He also asked for a way to narrow wide table columns. @item @i{Jason Dunsmore} has been maintaining the Org-Mode server at Rackspace for several years now. He also sponsored the hosting costs until Rackspace started to host us for free. @item @i{Thomas S. Dye} contributed documentation on Worg and helped integrating the Org-Babel documentation into the manual. @item @i{Christian Egli} converted the documentation into Texinfo format, inspired the agenda, patched CSS formatting into the HTML exporter, and wrote @file{org-taskjuggler.el}, which has been rewritten by Nicolas Goaziou as @file{ox-taskjuggler.el} for Org 8.0. @item @i{David Emery} provided a patch for custom CSS support in exported HTML agendas. @item @i{Sean Escriva} took over MobileOrg development on the iPhone platform. @item @i{Nic Ferrier} contributed mailcap and XOXO support. @item @i{Miguel A. Figueroa-Villanueva} implemented hierarchical checkboxes. @item @i{John Foerch} figured out how to make incremental search show context around a match in a hidden outline tree. @item @i{Raimar Finken} wrote @file{org-git-line.el}. @item @i{Mikael Fornius} works as a mailing list moderator. @item @i{Austin Frank} works as a mailing list moderator. @item @i{Eric Fraga} drove the development of BEAMER export with ideas and testing. @item @i{Barry Gidden} did proofreading the manual in preparation for the book publication through Network Theory Ltd. @item @i{Niels Giesen} had the idea to automatically archive DONE trees. @item @i{Nicolas Goaziou} rewrote much of the plain list code. He also wrote @file{org-element.el} and @file{org-export.el}, which was a huge step forward in implementing a clean framework for Org exporters. @item @i{Kai Grossjohann} pointed out key-binding conflicts with other packages. @item @i{Brian Gough} of Network Theory Ltd publishes the Org mode manual as a book. @item @i{Bernt Hansen} has driven much of the support for auto-repeating tasks, task state change logging, and the clocktable. His clear explanations have been critical when we started to adopt the Git version control system. @item @i{Manuel Hermenegildo} has contributed various ideas, small fixes and patches. @item @i{Phil Jackson} wrote @file{org-irc.el}. @item @i{Scott Jaderholm} proposed footnotes, control over whitespace between folded entries, and column view for properties. @item @i{Matt Jones} wrote @i{MobileOrg Android}. @item @i{Tokuya Kameshima} wrote @file{org-wl.el} and @file{org-mew.el}. @item @i{Jonathan Leech-Pepin} wrote @file{ox-texinfo.el}. @item @i{Shidai Liu} ("Leo") asked for embedded @LaTeX{} and tested it. He also provided frequent feedback and some patches. @item @i{Matt Lundin} has proposed last-row references for table formulas and named invisible anchors. He has also worked a lot on the FAQ. @item @i{David Maus} wrote @file{org-atom.el}, maintains the issues file for Org, and is a prolific contributor on the mailing list with competent replies, small fixes and patches. @item @i{Jason F. McBrayer} suggested agenda export to CSV format. @item @i{Max Mikhanosha} came up with the idea of refiling and sticky agendas. @item @i{Dmitri Minaev} sent a patch to set priority limits on a per-file basis. @item @i{Stefan Monnier} provided a patch to keep the Emacs-Lisp compiler happy. @item @i{Richard Moreland} wrote @i{MobileOrg} for the iPhone. @item @i{Rick Moynihan} proposed allowing multiple TODO sequences in a file and being able to quickly restrict the agenda to a subtree. @item @i{Todd Neal} provided patches for links to Info files and Elisp forms. @item @i{Greg Newman} refreshed the unicorn logo into its current form. @item @i{Tim O'Callaghan} suggested in-file links, search options for general file links, and TAGS. @item @i{Osamu Okano} wrote @file{orgcard2ref.pl}, a Perl program to create a text version of the reference card. @item @i{Takeshi Okano} translated the manual and David O'Toole's tutorial into Japanese. @item @i{Oliver Oppitz} suggested multi-state TODO items. @item @i{Scott Otterson} sparked the introduction of descriptive text for links, among other things. @item @i{Pete Phillips} helped during the development of the TAGS feature, and provided frequent feedback. @item @i{Francesco Pizzolante} provided patches that helped speeding up the agenda generation. @item @i{Martin Pohlack} provided the code snippet to bundle character insertion into bundles of 20 for undo. @item @i{Rackspace.com} is hosting our website for free. Thank you Rackspace! @item @i{T.V. Raman} reported bugs and suggested improvements. @item @i{Matthias Rempe} (Oelde) provided ideas, Windows support, and quality control. @item @i{Paul Rivier} provided the basic implementation of named footnotes. He also acted as mailing list moderator for some time. @item @i{Kevin Rogers} contributed code to access VM files on remote hosts. @item @i{Frank Ruell} solved the mystery of the @code{keymapp nil} bug, a conflict with @file{allout.el}. @item @i{Jason Riedy} generalized the send-receive mechanism for Orgtbl tables with extensive patches. @item @i{Philip Rooke} created the Org reference card, provided lots of feedback, developed and applied standards to the Org documentation. @item @i{Christian Schlauer} proposed angular brackets around links, among other things. @item @i{Christopher Schmidt} reworked @code{orgstruct-mode} so that users can enjoy folding in non-org buffers by using Org headlines in comments. @item @i{Paul Sexton} wrote @file{org-ctags.el}. @item Linking to VM/BBDB/Gnus was first inspired by @i{Tom Shannon}'s @file{organizer-mode.el}. @item @i{Ilya Shlyakhter} proposed the Archive Sibling, line numbering in literal examples, and remote highlighting for referenced code lines. @item @i{Stathis Sideris} wrote the @file{ditaa.jar} ASCII to PNG converter that is now packaged into Org's @file{contrib} directory. @item @i{Daniel Sinder} came up with the idea of internal archiving by locking subtrees. @item @i{Dale Smith} proposed link abbreviations. @item @i{James TD Smith} has contributed a large number of patches for useful tweaks and features. @item @i{Adam Spiers} asked for global linking commands, inspired the link extension system, added support for mairix, and proposed the mapping API. @item @i{Ulf Stegemann} created the table to translate special symbols to HTML, @LaTeX{}, UTF-8, Latin-1 and ASCII. @item @i{Andy Stewart} contributed code to @file{org-w3m.el}, to copy HTML content with links transformation to Org syntax. @item @i{David O'Toole} wrote @file{org-publish.el} and drafted the manual chapter about publishing. @item @i{Jambunathan K} contributed the ODT exporter and rewrote the HTML exporter. @item @i{Sebastien Vauban} reported many issues with @LaTeX{} and BEAMER export and enabled source code highlighting in Gnus. @item @i{Stefan Vollmar} organized a video-recorded talk at the Max-Planck-Institute for Neurology. He also inspired the creation of a concept index for HTML export. @item @i{J@"urgen Vollmer} contributed code generating the table of contents in HTML output. @item @i{Samuel Wales} has provided important feedback and bug reports. @item @i{Chris Wallace} provided a patch implementing the @samp{QUOTE} keyword. @item @i{David Wainberg} suggested archiving, and improvements to the linking system. @item @i{Carsten Wimmer} suggested some changes and helped fix a bug in linking to Gnus. @item @i{Roland Winkler} requested additional key bindings to make Org work on a tty. @item @i{Piotr Zielinski} wrote @file{org-mouse.el}, proposed agenda blocks and contributed various ideas and code snippets. @end itemize @node GNU Free Documentation License, Main Index, History and Acknowledgments, Top @appendix GNU Free Documentation License @include doclicense.texi @node Main Index, Key Index, GNU Free Documentation License, Top @unnumbered Concept index @printindex cp @node Key Index, Command and Function Index, Main Index, Top @unnumbered Key index @printindex ky @node Command and Function Index, Variable Index, Key Index, Top @unnumbered Command and function index @printindex fn @node Variable Index, , Command and Function Index, Top @unnumbered Variable index This is not a complete index of variables and faces, only the ones that are mentioned in the manual. For a more complete list, use @kbd{M-x org-customize @key{RET}} and then click yourself through the tree. @printindex vr @bye @c Local variables: @c fill-column: 77 @c indent-tabs-mode: nil @c paragraph-start: "\\|^@[a-zA-Z]*[ \n]\\|^@x?org\\(key\\|cmd\\)\\|\f\\|[ ]*$" @c paragraph-separate: "\\|^@[a-zA-Z]*[ \n]\\|^@x?org\\(key\\|cmd\\)\\|[ \f]*$" @c End: @c LocalWords: webdavhost pre org-mode-doc-8.2.4/doc/dir0000644000175000017500000000115112260050771013351 0ustar sebsebThis is the file .../info/dir, which contains the topmost node of the Info hierarchy, called (dir)Top. The first time you invoke Info you start off looking at this node.  File: dir, Node: Top This is the top of the INFO tree This (the Directory node) gives a menu of major topics. Typing "q" exits, "?" lists all Info commands, "d" returns here, "h" gives a primer for first-timers, "mEmacs" visits the Emacs manual, etc. In Emacs, you can click mouse button 2 on a menu item or cross reference to select it. * Menu: Emacs * Org Mode: (org). Outline-based notes management and organizer org-mode-doc-8.2.4/doc/orgcard.tex0000644000175000017500000005631512260050771015027 0ustar sebseb% Reference Card for Org Mode \def\orgversionnumber{8.0} \def\versionyear{2013} % latest update \def\year{2013} % latest copyright year %**start of header \newcount\columnsperpage \newcount\letterpaper % This file can be printed with 1, 2, or 3 columns per page (see below). % Specify how many you want here. \columnsperpage=3 % PDF output layout. 0 for A4, 1 for letter (US), a `l' is added for % a landscape layout. \input pdflayout.sty \pdflayout=(0l) % Nothing else needs to be changed below this line. % Copyright (C) 1987, 1993, 1996-1997, 2001-2013 Free Software % Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % GNU Emacs is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % You should have received a copy of the GNU General Public License % along with GNU Emacs. If not, see . % This file is intended to be processed by plain TeX (TeX82). % % The final reference card has six columns, three on each side. % This file can be used to produce it in any of three ways: % 1 column per page % produces six separate pages, each of which needs to be reduced to 80%. % This gives the best resolution. % 2 columns per page % produces three already-reduced pages. % You will still need to cut and paste. % 3 columns per page % produces two pages which must be printed sideways to make a % ready-to-use 8.5 x 11 inch reference card. % For this you need a dvi device driver that can print sideways. % Which mode to use is controlled by setting \columnsperpage above. % % To compile and print this document: % tex refcard.tex % dvips -t landscape refcard.dvi % % Author: % Stephen Gildea % Internet: gildea@stop.mail-abuse.org % % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik % for their many good ideas. \def\shortcopyrightnotice{\vskip 1ex plus 2 fill \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. Permissions on back. v\orgversionnumber}} \def\copyrightnotice{ \vskip 1ex plus 100 fill\begingroup\small \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.} \centerline{v\orgversionnumber{} for Org-Mode \orgversionnumber{}, \versionyear} \centerline{Author: Philip Rooke} \centerline{based on refcard design and format by Stephen Gildea} Permission is granted to make and distribute copies of this card provided the copyright notice and this permission notice are preserved on all copies. \endgroup} % make \bye not \outer so that the \def\bye in the \else clause below % can be scanned without complaint. \def\bye{\par\vfill\supereject\end} \newdimen\intercolumnskip %horizontal space between columns \newbox\columna %boxes to hold columns already built \newbox\columnb \def\ncolumns{\the\columnsperpage} \message{[\ncolumns\space column\if 1\ncolumns\else s\fi\space per page]} \def\scaledmag#1{ scaled \magstep #1} % This multi-way format was designed by Stephen Gildea October 1986. % Note that the 1-column format is fontfamily-independent. \if 1\ncolumns %one-column format uses normal size \hsize 4in \vsize 10in \voffset -.7in \font\titlefont=\fontname\tenbf \scaledmag3 \font\headingfont=\fontname\tenbf \scaledmag2 \font\smallfont=\fontname\sevenrm \font\smallsy=\fontname\sevensy \footline{\hss\folio} \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}} \else %2 or 3 columns uses prereduced size \if 1\the\letterpaper \hsize 3.2in \vsize 7.95in \hoffset -.75in \voffset -.745in \else \hsize 3.2in \vsize 7.65in \hoffset -.25in \voffset -.745in \fi \font\titlefont=cmbx10 \scaledmag2 \font\headingfont=cmbx10 \scaledmag1 \font\smallfont=cmr6 \font\smallsy=cmsy6 \font\eightrm=cmr8 \font\eightbf=cmbx8 \font\eightit=cmti8 \font\eighttt=cmtt8 \font\eightmi=cmmi8 \font\eightsy=cmsy8 \textfont0=\eightrm \textfont1=\eightmi \textfont2=\eightsy \def\rm{\eightrm} \def\bf{\eightbf} \def\it{\eightit} \def\tt{\eighttt} \if 1\the\letterpaper \normalbaselineskip=.8\normalbaselineskip \else \normalbaselineskip=.7\normalbaselineskip \fi \normallineskip=.8\normallineskip \normallineskiplimit=.8\normallineskiplimit \normalbaselines\rm %make definitions take effect \if 2\ncolumns \let\maxcolumn=b \footline{\hss\rm\folio\hss} \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}} \else \if 3\ncolumns \let\maxcolumn=c \nopagenumbers \else \errhelp{You must set \columnsperpage equal to 1, 2, or 3.} \errmessage{Illegal number of columns per page} \fi\fi \intercolumnskip=.46in \def\abc{a} \output={% %see The TeXbook page 257 % This next line is useful when designing the layout. %\immediate\write16{Column \folio\abc\space starts with \firstmark} \if \maxcolumn\abc \multicolumnformat \global\def\abc{a} \else\if a\abc \global\setbox\columna\columnbox \global\def\abc{b} %% in case we never use \columnb (two-column mode) \global\setbox\columnb\hbox to -\intercolumnskip{} \else \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi} \def\multicolumnformat{\shipout\vbox{\makeheadline \hbox{\box\columna\hskip\intercolumnskip \box\columnb\hskip\intercolumnskip\columnbox} \makefootline}\advancepageno} \def\columnbox{\leftline{\pagebody}} \def\bye{\par\vfill\supereject \if a\abc \else\null\vfill\eject\fi \if a\abc \else\null\vfill\eject\fi \end} \fi % we won't be using math mode much, so redefine some of the characters % we might want to talk about %\catcode`\^=12 \catcode`\_=12 % we also need the tilde, for file names. \catcode`\~=12 \chardef\\=`\\ \chardef\{=`\{ \chardef\}=`\} \hyphenation{mini-buf-fer} \parindent 0pt \parskip 1ex plus .5ex minus .5ex \def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip} % newcolumn - force a new column. Use sparingly, probably only for % the first column of a page, which should have a title anyway. \outer\def\newcolumn{\vfill\eject} % title - page title. Argument is title text. \outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex} % section - new major section. Argument is section name. \outer\def\section#1{\par\filbreak \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}% \vskip 2ex plus 1ex minus 1.5ex} \newdimen\keyindent % beginindentedkeys...endindentedkeys - key definitions will be % indented, but running text, typically used as headings to group % definitions, will not. \def\beginindentedkeys{\keyindent=1em} \def\endindentedkeys{\keyindent=0em} \endindentedkeys % paralign - begin paragraph containing an alignment. % If an \halign is entered while in vertical mode, a parskip is never % inserted. Using \paralign instead of \halign solves this problem. \def\paralign{\vskip\parskip\halign} % \<...> - surrounds a variable name in a code example \def\<#1>{{\it #1\/}} % kbd - argument is characters typed literally. Like the Texinfo command. \def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows % beginexample...endexample - surrounds literal text, such a code example. % typeset in a typewriter font with line breaks preserved \def\beginexample{\par\leavevmode\begingroup \obeylines\obeyspaces\parskip0pt\tt} {\obeyspaces\global\let =\ } \def\endexample{\endgroup} % key - definition of a key. % \key{description of key}{key-name} % prints the description left-justified, and the key-name in a \kbd % form near the right margin. \def\key#1#2{\leavevmode\hbox to \hsize{\vtop {\hsize=.75\hsize\rightskip=1em \hskip\keyindent\relax#1}\kbd{#2}\hfil}} \newbox\metaxbox \setbox\metaxbox\hbox{\kbd{M-x }} \newdimen\metaxwidth \metaxwidth=\wd\metaxbox % metax - definition of a M-x command. % \metax{description of command}{M-x command-name} % Tries to justify the beginning of the command name at the same place % as \key starts the key name. (The "M-x " sticks out to the left.) \def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize {\hskip\keyindent\relax#1\hfil}% \hskip -\metaxwidth minus 1fil \kbd{#2}\hfil}} % threecol - like "key" but with two key names. % for example, one for doing the action backward, and one for forward. \def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\hfil\quad &\kbd{#3}\hfil\quad\cr} \def\noteone{{\small \hfill [1]}} \def\notetwo{{\small \hfill [2]}} %**end of header \title{Org-Mode Reference Card (1/2)} \centerline{(for version \orgversionnumber)} \section{Getting Started} \metax{To read the on-line documentation try}{M-x org-info} \section{Visibility Cycling} \key{rotate current subtree between states}{TAB} \key{rotate entire buffer between states}{S-TAB} \key{restore property-dependent startup visibility}{C-u C-u TAB} \metax{show the whole file, including drawers}{C-u C-u C-u TAB} \key{reveal context around point}{C-c C-r} \section{Motion} \key{next/previous heading}{C-c C-n/p} \key{next/previous heading, same level}{C-c C-f/b} \key{backward to higher level heading}{C-c C-u} \key{jump to another place in document}{C-c C-j} \key{previous/next plain list item}{S-UP/DOWN\notetwo} \section{Structure Editing} \key{insert new heading/item at current level}{M-RET} \key{insert new heading after subtree}{C-RET} \key{insert new TODO entry/checkbox item}{M-S-RET} \key{insert TODO entry/ckbx after subtree}{C-S-RET} \key{turn (head)line into item, cycle item type}{C-c -} \key{turn item/line into headline}{C-c *} \key{promote/demote heading}{M-LEFT/RIGHT} \metax{promote/demote current subtree}{M-S-LEFT/RIGHT} \metax{move subtree/list item up/down}{M-S-UP/DOWN} \metax{sort subtree/region/plain-list}{C-c \^{}} \metax{clone a subtree}{C-c C-x c} \metax{copy visible text}{C-c C-x v} \metax{kill/copy subtree}{C-c C-x C-w/M-w} \metax{yank subtree}{C-c C-x C-y or C-y} \metax{narrow buffer to subtree / widen}{C-x n s/w} \section{Capture - Refile - Archiving} \key{capture a new item (C-u C-u = goto last)}{C-c c \noteone} \key{refile subtree (C-u C-u = goto last)}{C-c C-w} \key{archive subtree using the default command}{C-c C-x C-a} \key{move subtree to archive file}{C-c C-x C-s} \key{toggle ARCHIVE tag / to ARCHIVE sibling}{C-c C-x a/A} \key{force cycling of an ARCHIVEd tree}{C-TAB} \section{Filtering and Sparse Trees} \key{construct a sparse tree by various criteria}{C-c /} \key{view TODO's in sparse tree}{C-c / t/T} \key{global TODO list in agenda mode}{C-c a t \noteone} \key{time sorted view of current org file}{C-c a L} \section{Tables} {\bf Creating a table} %\metax{insert a new Org-mode table}{M-x org-table-create} \metax{just start typing, e.g.}{|Name|Phone|Age RET |- TAB} \key{convert region to table}{C-c |} \key{... separator at least 3 spaces}{C-3 C-c |} {\bf Commands available inside tables} The following commands work when the cursor is {\it inside a table}. Outside of tables, the same keys may have other functionality. {\bf Re-aligning and field motion} \key{re-align the table without moving the cursor}{C-c C-c} \key{re-align the table, move to next field}{TAB} \key{move to previous field}{S-TAB} \key{re-align the table, move to next row}{RET} \key{move to beginning/end of field}{M-a/e} {\bf Row and column editing} \key{move the current column left}{M-LEFT/RIGHT} \key{kill the current column}{M-S-LEFT} \key{insert new column to left of cursor position}{M-S-RIGHT} \key{move the current row up/down}{M-UP/DOWN} \key{kill the current row or horizontal line}{M-S-UP} \key{insert new row above the current row}{M-S-DOWN} \key{insert hline below (\kbd{C-u} : above) current row}{C-c -} \key{insert hline and move to line below it}{C-c RET} \key{sort lines in region}{C-c \^{}} {\bf Regions} \metax{cut/copy/paste rectangular region}{C-c C-x C-w/M-w/C-y} %\key{copy rectangular region}{C-c C-x M-w} %\key{paste rectangular region}{C-c C-x C-y} \key{fill paragraph across selected cells}{C-c C-q} {\bf Miscellaneous} \key{to limit column width to \kbd{N} characters, use}{...| |...} \key{edit the current field in a separate window}{C-c `} \key{make current field fully visible}{C-u TAB} \metax{export as tab-separated file}{M-x org-table-export} \metax{import tab-separated file}{M-x org-table-import} \key{sum numbers in current column/rectangle}{C-c +} {\bf Tables created with the \kbd{table.el} package} \key{insert a new \kbd{table.el} table}{C-c ~} \key{recognize existing table.el table}{C-c C-c} \key{convert table (Org-mode $\leftrightarrow$ table.el)}{C-c ~} {\bf Spreadsheet} Formulas typed in field are executed by \kbd{TAB}, \kbd{RET} and \kbd{C-c C-c}. \kbd{=} introduces a column formula, \kbd{:=} a field formula. \key{Example: Add Col1 and Col2}{|=\$1+\$2 |} \key{... with printf format specification}{|=\$1+\$2;\%.2f|} \key{... with constants from constants.el}{|=\$1/\$c/\$cm |} \metax{sum from 2nd to 3rd hline}{|:=vsum(@II..@III)|} \key{apply current column formula}{| = |} \key{set and eval column formula}{C-c =} \key{set and eval field formula}{C-u C-c =} \key{re-apply all stored equations to current line}{C-c *} \key{re-apply all stored equations to entire table}{C-u C-c *} \key{iterate table to stability}{C-u C-u C-c *} \key{rotate calculation mark through \# * ! \^ \_ \$}{C-\#} \key{show line, column, formula reference}{C-c ?} \key{toggle grid / debugger}{C-c \}/\{} \newcolumn {\it Formula Editor} \key{edit formulas in separate buffer}{C-c '} \key{exit and install new formulas}{C-c C-c} \key{exit, install, and apply new formulas}{C-u C-c C-c} \key{abort}{C-c C-q} \key{toggle reference style}{C-c C-r} \key{pretty-print Lisp formula}{TAB} \key{complete Lisp symbol}{M-TAB} \key{shift reference point}{S-cursor} \key{shift test line for column references}{M-up/down} \key{scroll the window showing the table}{M-S-up/down} \key{toggle table coordinate grid}{C-c \}} \section{Links} \key{globally store link to the current location}{C-c l \noteone} \key{insert a link (TAB completes stored links)}{C-c C-l} \key{insert file link with file name completion}{C-u C-c C-l} \key{edit (also hidden part of) link at point}{C-c C-l} \key{open file links in emacs}{C-c C-o} \key{...force open in emacs/other window}{C-u C-c C-o} \key{open link at point}{mouse-1/2} \key{...force open in emacs/other window}{mouse-3} \key{record a position in mark ring}{C-c \%} \key{jump back to last followed link(s)}{C-c \&} \key{find next link}{C-c C-x C-n} \key{find previous link}{C-c C-x C-p} \key{edit code snippet of file at point}{C-c '} \key{toggle inline display of linked images}{C-c C-x C-v} \section{Working with Code (Babel)} \key{execute code block at point}{C-c C-c} \key{open results of code block at point}{C-c C-o} \key{check code block at point for errors}{C-c C-v c} \key{insert a header argument with completion}{C-c C-v j} \key{view expanded body of code block at point}{C-c C-v v} \key{view information about code block at point}{C-c C-v I} \key{go to named code block}{C-c C-v g} \key{go to named result}{C-c C-v r} \key{go to the head of the current code block}{C-c C-v u} \key{go to the next code block}{C-c C-v n} \key{go to the previous code block}{C-c C-v p} \key{demarcate a code block}{C-c C-v d} \key{execute the next key sequence in the code edit buffer}{C-c C-v x} \key{execute all code blocks in current buffer}{C-c C-v b} \key{execute all code blocks in current subtree}{C-c C-v s} \key{tangle code blocks in current file}{C-c C-v t} \key{tangle code blocks in supplied file}{C-c C-v f} \key{ingest all code blocks in supplied file into the Library of Babel}{C-c C-v i} \key{switch to the session of the current code block}{C-c C-v z} \key{load the current code block into a session}{C-c C-v l} \key{view sha1 hash of the current code block}{C-c C-v a} \section{Completion} In-buffer completion completes TODO keywords at headline start, TeX macros after ``{\tt \\}'', option keywords after ``{\tt \#-}'', TAGS after ``{\tt :}'', and dictionary words elsewhere. \key{complete word at point}{M-TAB} \newcolumn \title{Org-Mode Reference Card (2/2)} \centerline{(for version \orgversionnumber)} \section{TODO Items and Checkboxes} \key{rotate the state of the current item}{C-c C-t} \metax{select next/previous state}{S-LEFT/RIGHT} \metax{select next/previous set}{C-S-LEFT/RIGHT} \key{toggle ORDERED property}{C-c C-x o} \key{view TODO items in a sparse tree}{C-c / t} \key{view 3rd TODO keyword's sparse tree}{C-3 C-c / t} \key{set the priority of the current item}{C-c , [ABC]} \key{remove priority cookie from current item}{C-c , SPC} \key{raise/lower priority of current item}{S-UP/DOWN\notetwo} \key{insert new checkbox item in plain list}{M-S-RET} \key{toggle checkbox(es) in region/entry/at point}{C-c C-x C-b} \key{toggle checkbox at point}{C-c C-c} %\metax{checkbox statistics cookies: insert {\tt [/]} or {\tt [\%]}}{} \key{update checkbox statistics (\kbd{C-u} : whole file)}{C-c \#} \section{Tags} \key{set tags for current heading}{C-c C-q} \key{realign tags in all headings}{C-u C-c C-q} \key{create sparse tree with matching tags}{C-c \\} \key{globally (agenda) match tags at cursor}{C-c C-o} \section{Properties and Column View} \key{set property/effort}{C-c C-x p/e} \key{special commands in property lines}{C-c C-c} \key{next/previous allowed value}{S-left/right} \key{turn on column view}{C-c C-x C-c} \key{capture columns view in dynamic block}{C-c C-x i} \key{quit column view}{q} \key{show full value}{v} \key{edit value}{e} \metax{next/previous allowed value}{n/p or S-left/right} \key{edit allowed values list}{a} \key{make column wider/narrower}{> / <} \key{move column left/right}{M-left/right} \key{add new column}{M-S-right} \key{Delete current column}{M-S-left} \section{Timestamps} \key{prompt for date and insert timestamp}{C-c .} \key{like \kbd{C-c .} but insert date and time format}{C-u C-c .} \key{like \kbd{C-c .} but make stamp inactive}{C-c !} % FIXME \key{insert DEADLINE timestamp}{C-c C-d} \key{insert SCHEDULED timestamp}{C-c C-s} \key{create sparse tree with all deadlines due}{C-c / d} \key{the time between 2 dates in a time range}{C-c C-y} \metax{change timestamp at cursor $\pm 1$ day}{S-RIGHT/LEFT\notetwo} \key{change year/month/day at cursor by $\pm 1$}{S-UP/DOWN\notetwo} \key{access the calendar for the current date}{C-c >} \key{insert timestamp matching date in calendar}{C-c <} \key{access agenda for current date}{C-c C-o} \key{select date while prompted}{mouse-1/RET} %\key{... select date in calendar}{mouse-1/RET} %\key{... scroll calendar back/forward one month}{< / >} %\key{... forward/backward one day}{S-LEFT/RIGHT} %\key{... forward/backward one week}{S-UP/DOWN} %\key{... forward/backward one month}{M-S-LEFT/RIGHT} \key{toggle custom format display for dates/times}{C-c C-x C-t} \newcolumn {\bf Clocking time} \key{start clock on current item}{C-c C-x C-i} \key{stop/cancel clock on current item}{C-c C-x C-o/x} \key{display total subtree times}{C-c C-x C-d} \key{remove displayed times}{C-c C-c} \key{insert/update table with clock report}{C-c C-x C-r} \section{Agenda Views} \key{add/move current file to front of agenda}{C-c [} \key{remove current file from your agenda}{C-c ]} \key{cycle through agenda file list}{C-'} \key{set/remove restriction lock}{C-c C-x } \key{compile agenda for the current week}{C-c a a \noteone} \key{compile global TODO list}{C-c a t \noteone} \key{compile TODO list for specific keyword}{C-c a T \noteone} \key{match tags, TODO kwds, properties}{C-c a m \noteone} \key{match only in TODO entries}{C-c a M \noteone} \key{find stuck projects}{C-c a \# \noteone} \key{show timeline of current org file}{C-c a L \noteone} \key{configure custom commands}{C-c a C \noteone} %\key{configure stuck projects}{C-c a ! \noteone} \key{agenda for date at cursor}{C-c C-o} {\bf Commands available in an agenda buffer} {\bf View Org file} \key{show original location of item}{SPC/mouse-3} %\key{... also available with}{mouse-3} \key{show and recenter window}{L} \key{goto original location in other window}{TAB/mouse-2} %\key{... also available with}{mouse-2} \key{goto original location, delete other windows}{RET} \key{show subtree in indirect buffer, ded.\ frame}{C-c C-x b} \key{toggle follow-mode}{F} {\bf Change display} \key{delete other windows}{o} \key{view mode dispatcher}{v} \key{switch to day/week/month/year/def view}{d w vm vy vSP} \key{toggle diary entries / time grid / habits}{D / G / K} \key{toggle entry text / clock report}{E / R} \key{toggle display of logbook entries}{l / v l/L/c} \key{toggle inclusion of archived trees/files}{v a/A} \key{refresh agenda buffer with any changes}{r / g} \key{filter with respect to a tag}{/} \key{save all org-mode buffers}{s} \key{display next/previous day,week,...}{f / b} \key{goto today / some date (prompt)}{. / j} {\bf Remote editing} \key{digit argument}{0-9} \key{change state of current TODO item}{t} \key{kill item and source}{C-k} \key{archive default}{\$ / a} \key{refile the subtree}{C-c C-w} \key{set/show tags of current headline}{: / T} \key{set effort property (prefix=nth)}{e} \key{set / compute priority of current item}{, / P} \key{raise/lower priority of current item}{S-UP/DOWN\notetwo} \key{run an attachment command}{C-c C-a} \key{schedule/set deadline for this item}{C-c C-s/d} \metax{change timestamp one day earlier/later}{S-LEFT/RIGHT\notetwo} \key{change timestamp to today}{>} \key{insert new entry into diary}{i} \newcolumn \key{start/stop/cancel the clock on current item}{I / O / X} \key{jump to running clock entry}{J} \key{mark / unmark / execute bulk action}{m / u / B} {\bf Misc} \key{follow one or offer all links in current entry}{C-c C-o} {\bf Calendar commands} \key{find agenda cursor date in calendar}{c} \key{compute agenda for calendar cursor date}{c} \key{show phases of the moon}{M} \key{show sunrise/sunset times}{S} \key{show holidays}{H} \key{convert date to other calendars}{C} {\bf Quit and Exit} \key{quit agenda, remove agenda buffer}{q} \key{exit agenda, remove all agenda buffers}{x} \section{LaTeX and cdlatex-mode} \key{preview LaTeX fragment}{C-c C-x C-l} \key{expand abbreviation (cdlatex-mode)}{TAB} \key{insert/modify math symbol (cdlatex-mode)}{` / '} \key{insert citation using RefTeX}{C-c C-x [} \section{Exporting and Publishing} Exporting creates files with extensions {\it .txt\/} and {\it .html\/} in the current directory. Publishing puts the resulting file into some other place. \key{export/publish dispatcher}{C-c C-e} \key{export visible part only}{C-c C-e v} \key{insert template of export options}{C-c C-e t} \key{toggle fixed width for entry or region}{C-c :} \key{toggle pretty display of scripts, entities}{C-c C-x {\tt\char`\\}} {\bf Comments: Text not being exported} Lines starting with \kbd{\#} and subtrees starting with COMMENT are never exported. \key{toggle COMMENT keyword on entry}{C-c ;} \section{Dynamic Blocks} \key{update dynamic block at point}{C-c C-x C-u} \metax{update all dynamic blocks}{C-u C-c C-x C-u} \section{Notes} [1] This is only a suggestion for a binding of this command. Choose your own key as shown under ACTIVATION. [2] Keybinding affected by {\tt org-support-shift-select} and also {\tt org-replace-disputed-keys}. \copyrightnotice \bye % Local variables: % compile-command: "tex refcard" % End: org-mode-doc-8.2.4/doc/orgguide.texi0000644000175000017500000030406112260050771015356 0ustar sebseb\input texinfo @c %**start of header @setfilename ../../info/orgguide @settitle The compact Org-mode Guide @include org-version.inc @c Use proper quote and backtick for code sections in PDF output @c Cf. Texinfo manual 14.2 @set txicodequoteundirected @set txicodequotebacktick @c Version and Contact Info @set MAINTAINERSITE @uref{http://orgmode.org,maintainers webpage} @set AUTHOR Carsten Dominik @set MAINTAINER Carsten Dominik @set MAINTAINEREMAIL @email{carsten at orgmode dot org} @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the maintainer} @c %**end of header @finalout @c Macro definitions @iftex @c @hyphenation{time-stamp time-stamps time-stamp-ing time-stamp-ed} @end iftex @c Subheadings inside a table. @macro tsubheading{text} @ifinfo @subsubheading \text\ @end ifinfo @ifnotinfo @item @b{\text\} @end ifnotinfo @end macro @macro seealso{text} @noindent @b{Further reading}@*@noindent \text\ @end macro @copying Copyright @copyright{} 2010--2013 Free Software Foundation @quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and modify this GNU manual.'' @end quotation @end copying @dircategory Emacs @direntry * Org Mode Guide: (orgguide). Abbreviated Org-mode Manual @end direntry @titlepage @title The compact Org-mode Guide @subtitle Release @value{VERSION} @author by Carsten Dominik @c The following two commands start the copyright page. @page @vskip 0pt plus 1filll @insertcopying @end titlepage @c Output the table of contents at the beginning. @shortcontents @ifnottex @node Top, Introduction, (dir), (dir) @top Org Mode Guide @insertcopying @end ifnottex @menu * Introduction:: Getting started * Document Structure:: A tree works like your brain * Tables:: Pure magic for quick formatting * Hyperlinks:: Notes in context * TODO Items:: Every tree branch can be a TODO item * Tags:: Tagging headlines and matching sets of tags * Properties:: Properties * Dates and Times:: Making items useful for planning * Capture - Refile - Archive:: The ins and outs for projects * Agenda Views:: Collecting information into views * Markup:: Prepare text for rich export * Exporting:: Sharing and publishing of notes * Publishing:: Create a web site of linked Org files * Working With Source Code:: Source code snippets embedded in Org * Miscellaneous:: All the rest which did not fit elsewhere * GNU Free Documentation License:: This manual license. @detailmenu --- The Detailed Node Listing --- Introduction * Preface:: Welcome * Installation:: How to install a downloaded version of Org * Activation:: How to activate Org for certain buffers * Feedback:: Bug reports, ideas, patches etc. Document Structure * Outlines:: Org is based on Outline mode * Headlines:: How to typeset Org tree headlines * Visibility cycling:: Show and hide, much simplified * Motion:: Jumping to other headlines * Structure editing:: Changing sequence and level of headlines * Sparse trees:: Matches embedded in context * Plain lists:: Additional structure within an entry * Footnotes:: How footnotes are defined in Org's syntax Hyperlinks * Link format:: How links in Org are formatted * Internal links:: Links to other places in the current file * External links:: URL-like links to the world * Handling links:: Creating, inserting and following * Targeted links:: Point at a location in a file TODO Items * Using TODO states:: Setting and switching states * Multi-state workflows:: More than just on/off * Progress logging:: Dates and notes for progress * Priorities:: Some things are more important than others * Breaking down tasks:: Splitting a task into manageable pieces * Checkboxes:: Tick-off lists Progress logging * Closing items:: When was this entry marked DONE? * Tracking TODO state changes:: When did the status change? Tags * Tag inheritance:: Tags use the tree structure of the outline * Setting tags:: How to assign tags to a headline * Tag groups:: Use one tag to search for several tags * Tag searches:: Searching for combinations of tags Dates and Times * Timestamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps * Deadlines and scheduling:: Planning your work * Clocking work time:: Tracking how long you spend on a task Capture - Refile - Archive * Capture:: Capturing new stuff * Refile and copy:: Moving a tree from one place to another * Archiving:: What to do with finished projects Capture * Setting up a capture location:: Where notes will be stored * Using capture:: Commands to invoke and terminate capture * Capture templates:: Define the outline of different note types Agenda Views * Agenda files:: Files being searched for agenda information * Agenda dispatcher:: Keyboard access to agenda views * Built-in agenda views:: What is available out of the box? * Agenda commands:: Remote editing of Org trees * Custom agenda views:: Defining special searches and views The built-in agenda views * Weekly/daily agenda:: The calendar page with current tasks * Global TODO list:: All unfinished action items * Matching tags and properties:: Structured information with fine-tuned search * Timeline:: Time-sorted view for single file * Search view:: Find entries by searching for text Markup for rich export * Structural markup elements:: The basic structure as seen by the exporter * Images and tables:: Images, tables and caption mechanism * Literal examples:: Source code examples with special formatting * Include files:: Include additional files into a document * Embedded @LaTeX{}:: @LaTeX{} can be freely used inside Org documents Structural markup elements * Document title:: Where the title is taken from * Headings and sections:: The document structure as seen by the exporter * Table of contents:: The if and where of the table of contents * Paragraphs:: Paragraphs * Emphasis and monospace:: Bold, italic, etc. * Comment lines:: What will *not* be exported Exporting * Export options:: Per-file export settings * The export dispatcher:: How to access exporter commands * ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding * HTML export:: Exporting to HTML * @LaTeX{} and PDF export:: Exporting to @LaTeX{}, and processing to PDF * iCalendar export:: Exporting to iCalendar Miscellaneous * Completion:: M-TAB knows what you need * Clean view:: Getting rid of leading stars in the outline * MobileOrg:: Org-mode on the iPhone @end detailmenu @end menu @node Introduction, Document Structure, Top, Top @chapter Introduction @menu * Preface:: Welcome * Installation:: How to install a downloaded version of Org * Activation:: How to activate Org for certain buffers * Feedback:: Bug reports, ideas, patches etc. @end menu @node Preface, Installation, Introduction, Introduction @section Preface Org is a mode for keeping notes, maintaining TODO lists, and doing project planning with a fast and effective plain-text system. It is also an authoring and publishing system. @i{This document is a much compressed derivative of the @uref{http://orgmode.org/index.html#sec-4_1, comprehensive Org-mode manual}. It contains all basic features and commands, along with important hints for customization. It is intended for beginners who would shy back from a 200 page manual because of sheer size.} @node Installation, Activation, Preface, Introduction @section Installation @b{Important:} @i{If you are using a version of Org that is part of the Emacs distribution or an XEmacs package, please skip this section and go directly to @ref{Activation}.} If you have downloaded Org from the Web, either as a distribution @file{.zip} or @file{.tar} file, or as a Git archive, it is best to run it directly from the distribution directory. You need to add the @file{lisp} subdirectories to the Emacs load path. To do this, add the following line to @file{.emacs}: @smallexample (setq load-path (cons "~/path/to/orgdir/lisp" load-path)) (setq load-path (cons "~/path/to/orgdir/contrib/lisp" load-path)) @end smallexample @noindent For speed you should byte-compile the Lisp files with the shell command: @smallexample make @end smallexample @node Activation, Feedback, Installation, Introduction @section Activation Add the following lines to your @file{.emacs} file. The last three lines define @emph{global} keys for some commands --- please choose suitable keys yourself. @smalllisp ;; The following lines are always needed. Choose your own keys. (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) ; not needed since Emacs 22.2 (add-hook 'org-mode-hook 'turn-on-font-lock) ; not needed when global-font-lock-mode is on (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cb" 'org-iswitchb) @end smalllisp With this setup, all files with extension @samp{.org} will be put into Org mode. @node Feedback, , Activation, Introduction @section Feedback If you find problems with Org, or if you have questions, remarks, or ideas about it, please mail to the Org mailing list @email{emacs-orgmode@@gnu.org}. For information on how to submit bug reports, see the main manual. @node Document Structure, Tables, Introduction, Top @chapter Document Structure Org is based on Outline mode and provides flexible commands to edit the structure of the document. @menu * Outlines:: Org is based on Outline mode * Headlines:: How to typeset Org tree headlines * Visibility cycling:: Show and hide, much simplified * Motion:: Jumping to other headlines * Structure editing:: Changing sequence and level of headlines * Sparse trees:: Matches embedded in context * Plain lists:: Additional structure within an entry * Footnotes:: How footnotes are defined in Org's syntax @end menu @node Outlines, Headlines, Document Structure, Document Structure @section Outlines Org is implemented on top of Outline mode. Outlines allow a document to be organized in a hierarchical structure, which (at least for me) is the best representation of notes and thoughts. An overview of this structure is achieved by folding (hiding) large parts of the document to show only the general document structure and the parts currently being worked on. Org greatly simplifies the use of outlines by compressing the entire show/hide functionality into a single command, @command{org-cycle}, which is bound to the @key{TAB} key. @node Headlines, Visibility cycling, Outlines, Document Structure @section Headlines Headlines define the structure of an outline tree. The headlines in Org start with one or more stars, on the left margin@footnote{See the variable @code{org-special-ctrl-a/e} to configure special behavior of @kbd{C-a} and @kbd{C-e} in headlines.}. For example: @smallexample * Top level headline ** Second level *** 3rd level some text *** 3rd level more text * Another top level headline @end smallexample @noindent Some people find the many stars too noisy and would prefer an outline that has whitespace followed by a single star as headline starters. @ref{Clean view}, describes a setup to realize this. @node Visibility cycling, Motion, Headlines, Document Structure @section Visibility cycling Outlines make it possible to hide parts of the text in the buffer. Org uses just two commands, bound to @key{TAB} and @kbd{S-@key{TAB}} to change the visibility in the buffer. @table @kbd @item @key{TAB} @emph{Subtree cycling}: Rotate current subtree among the states @smallexample ,-> FOLDED -> CHILDREN -> SUBTREE --. '-----------------------------------' @end smallexample When called with a prefix argument (@kbd{C-u @key{TAB}}) or with the shift key, global cycling is invoked. @item S-@key{TAB} @r{and} C-u @key{TAB} @emph{Global cycling}: Rotate the entire buffer among the states @smallexample ,-> OVERVIEW -> CONTENTS -> SHOW ALL --. '--------------------------------------' @end smallexample @item C-u C-u C-u @key{TAB} Show all, including drawers. @end table When Emacs first visits an Org file, the global state is set to OVERVIEW, i.e.@: only the top level headlines are visible. This can be configured through the variable @code{org-startup-folded}, or on a per-file basis by adding a startup keyword @code{overview}, @code{content}, @code{showall}, like this: @smallexample #+STARTUP: content @end smallexample @node Motion, Structure editing, Visibility cycling, Document Structure @section Motion The following commands jump to other headlines in the buffer. @table @kbd @item C-c C-n Next heading. @item C-c C-p Previous heading. @item C-c C-f Next heading same level. @item C-c C-b Previous heading same level. @item C-c C-u Backward to higher level heading. @end table @node Structure editing, Sparse trees, Motion, Document Structure @section Structure editing @table @kbd @item M-@key{RET} Insert new heading with same level as current. If the cursor is in a plain list item, a new item is created (@pxref{Plain lists}). When this command is used in the middle of a line, the line is split and the rest of the line becomes the new headline@footnote{If you do not want the line to be split, customize the variable @code{org-M-RET-may-split-line}.}. @item M-S-@key{RET} Insert new TODO entry with same level as current heading. @item @key{TAB} @r{in new, empty entry} In a new entry with no text yet, @key{TAB} will cycle through reasonable levels. @item M-@key{left}@r{/}@key{right} Promote/demote current heading by one level. @item M-S-@key{left}@r{/}@key{right} Promote/demote the current subtree by one level. @item M-S-@key{up}@r{/}@key{down} Move subtree up/down (swap with previous/next subtree of same level). @item C-c C-w Refile entry or region to a different location. @xref{Refile and copy}. @item C-x n s/w Narrow buffer to current subtree / widen it again @end table When there is an active region (Transient Mark mode), promotion and demotion work on all headlines in the region. @node Sparse trees, Plain lists, Structure editing, Document Structure @section Sparse trees An important feature of Org mode is the ability to construct @emph{sparse trees} for selected information in an outline tree, so that the entire document is folded as much as possible, but the selected information is made visible along with the headline structure above it@footnote{See also the variables @code{org-show-hierarchy-above}, @code{org-show-following-heading}, @code{org-show-siblings}, and @code{org-show-entry-below} for detailed control on how much context is shown around each match.}. Just try it out and you will see immediately how it works. Org mode contains several commands creating such trees, all these commands can be accessed through a dispatcher: @table @kbd @item C-c / This prompts for an extra key to select a sparse-tree creating command. @item C-c / r Occur. Prompts for a regexp and shows a sparse tree with all matches. Each match is also highlighted; the highlights disappear by pressing @kbd{C-c C-c}. @end table The other sparse tree commands select headings based on TODO keywords, tags, or properties and will be discussed later in this manual. @node Plain lists, Footnotes, Sparse trees, Document Structure @section Plain lists Within an entry of the outline tree, hand-formatted lists can provide additional structure. They also provide a way to create lists of checkboxes (@pxref{Checkboxes}). Org supports editing such lists, and the HTML exporter (@pxref{Exporting}) parses and formats them. Org knows ordered lists, unordered lists, and description lists. @itemize @bullet @item @emph{Unordered} list items start with @samp{-}, @samp{+}, or @samp{*} as bullets. @item @emph{Ordered} list items start with @samp{1.} or @samp{1)}. @item @emph{Description} list use @samp{ :: } to separate the @emph{term} from the description. @end itemize Items belonging to the same list must have the same indentation on the first line. An item ends before the next line that is indented like its bullet/number, or less. A list ends when all items are closed, or before two blank lines. An example: @smallexample @group ** Lord of the Rings My favorite scenes are (in this order) 1. The attack of the Rohirrim 2. Eowyn's fight with the witch king + this was already my favorite scene in the book + I really like Miranda Otto. Important actors in this film are: - @b{Elijah Wood} :: He plays Frodo - @b{Sean Austin} :: He plays Sam, Frodo's friend. @end group @end smallexample The following commands act on items when the cursor is in the first line of an item (the line with the bullet or number). @table @kbd @item @key{TAB} Items can be folded just like headline levels. @item M-@key{RET} Insert new item at current level. With a prefix argument, force a new heading (@pxref{Structure editing}). @item M-S-@key{RET} Insert a new item with a checkbox (@pxref{Checkboxes}). @item M-S-@key{up}@r{/}@key{down} Move the item including subitems up/down (swap with previous/next item of same indentation). If the list is ordered, renumbering is automatic. @item M-@key{left}@r{/}M-@key{right} Decrease/increase the indentation of an item, leaving children alone. @item M-S-@key{left}@r{/}@key{right} Decrease/increase the indentation of the item, including subitems. @item C-c C-c If there is a checkbox (@pxref{Checkboxes}) in the item line, toggle the state of the checkbox. Also verify bullets and indentation consistency in the whole list. @item C-c - Cycle the entire list level through the different itemize/enumerate bullets (@samp{-}, @samp{+}, @samp{*}, @samp{1.}, @samp{1)}). @end table @node Footnotes, , Plain lists, Document Structure @section Footnotes A footnote is defined in a paragraph that is started by a footnote marker in square brackets in column 0, no indentation allowed. The footnote reference is simply the marker in square brackets, inside text. For example: @smallexample The Org homepage[fn:1] now looks a lot better than it used to. ... [fn:1] The link is: http://orgmode.org @end smallexample @noindent The following commands handle footnotes: @table @kbd @item C-c C-x f The footnote action command. When the cursor is on a footnote reference, jump to the definition. When it is at a definition, jump to the (first) reference. Otherwise, create a new footnote. When this command is called with a prefix argument, a menu of additional options including renumbering is offered. @item C-c C-c Jump between definition and reference. @end table @seealso{ @uref{http://orgmode.org/manual/Document-Structure.html#Document-Structure, Chapter 2 of the manual}@* @uref{http://sachachua.com/wp/2008/01/outlining-your-notes-with-org/, Sacha Chua's tutorial}} @node Tables, Hyperlinks, Document Structure, Top @chapter Tables Org comes with a fast and intuitive table editor. Spreadsheet-like calculations are supported in connection with the Emacs @file{calc} package @ifinfo (@pxref{Top,Calc,,Calc,Gnu Emacs Calculator Manual}). @end ifinfo @ifnotinfo (see the Emacs Calculator manual for more information about the Emacs calculator). @end ifnotinfo Org makes it easy to format tables in plain ASCII. Any line with @samp{|} as the first non-whitespace character is considered part of a table. @samp{|} is also the column separator. A table might look like this: @smallexample | Name | Phone | Age | |-------+-------+-----| | Peter | 1234 | 17 | | Anna | 4321 | 25 | @end smallexample A table is re-aligned automatically each time you press @key{TAB} or @key{RET} or @kbd{C-c C-c} inside the table. @key{TAB} also moves to the next field (@key{RET} to the next row) and creates new table rows at the end of the table or before horizontal lines. The indentation of the table is set by the first line. Any line starting with @samp{|-} is considered as a horizontal separator line and will be expanded on the next re-align to span the whole table width. So, to create the above table, you would only type @smallexample |Name|Phone|Age| |- @end smallexample @noindent and then press @key{TAB} to align the table and start filling in fields. Even faster would be to type @code{|Name|Phone|Age} followed by @kbd{C-c @key{RET}}. When typing text into a field, Org treats @key{DEL}, @key{Backspace}, and all character keys in a special way, so that inserting and deleting avoids shifting other fields. Also, when typing @emph{immediately after the cursor was moved into a new field with @kbd{@key{TAB}}, @kbd{S-@key{TAB}} or @kbd{@key{RET}}}, the field is automatically made blank. @table @kbd @tsubheading{Creation and conversion} @item C-c | Convert the active region to table. If every line contains at least one TAB character, the function assumes that the material is tab separated. If every line contains a comma, comma-separated values (CSV) are assumed. If not, lines are split at whitespace into fields. @* If there is no active region, this command creates an empty Org table. But it's easier just to start typing, like @kbd{|Name|Phone|Age C-c @key{RET}}. @tsubheading{Re-aligning and field motion} @item C-c C-c Re-align the table without moving the cursor. @c @item @key{TAB} Re-align the table, move to the next field. Creates a new row if necessary. @c @item S-@key{TAB} Re-align, move to previous field. @c @item @key{RET} Re-align the table and move down to next row. Creates a new row if necessary. @tsubheading{Column and row editing} @item M-@key{left} @itemx M-@key{right} Move the current column left/right. @c @item M-S-@key{left} Kill the current column. @c @item M-S-@key{right} Insert a new column to the left of the cursor position. @c @item M-@key{up} @itemx M-@key{down} Move the current row up/down. @c @item M-S-@key{up} Kill the current row or horizontal line. @c @item M-S-@key{down} Insert a new row above the current row. With a prefix argument, the line is created below the current one. @c @item C-c - Insert a horizontal line below current row. With a prefix argument, the line is created above the current line. @c @item C-c @key{RET} Insert a horizontal line below current row, and move the cursor into the row below that line. @c @item C-c ^ Sort the table lines in the region. The position of point indicates the column to be used for sorting, and the range of lines is the range between the nearest horizontal separator lines, or the entire table. @end table @seealso{ @uref{http://orgmode.org/manual/Tables.html#Tables, Chapter 3 of the manual}@* @uref{http://orgmode.org/worg/org-tutorials/tables.php, Bastien's table tutorial}@* @uref{http://orgmode.org/worg/org-tutorials/org-spreadsheet-intro.php, Bastien's spreadsheet tutorial}@* @uref{http://orgmode.org/worg/org-tutorials/org-plot.php, Eric's plotting tutorial}} @node Hyperlinks, TODO Items, Tables, Top @chapter Hyperlinks Like HTML, Org provides links inside a file, external links to other files, Usenet articles, emails, and much more. @menu * Link format:: How links in Org are formatted * Internal links:: Links to other places in the current file * External links:: URL-like links to the world * Handling links:: Creating, inserting and following * Targeted links:: Point at a location in a file @end menu @node Link format, Internal links, Hyperlinks, Hyperlinks @section Link format Org will recognize plain URL-like links and activate them as clickable links. The general link format, however, looks like this: @smallexample [[link][description]] @r{or alternatively} [[link]] @end smallexample @noindent Once a link in the buffer is complete (all brackets present), Org will change the display so that @samp{description} is displayed instead of @samp{[[link][description]]} and @samp{link} is displayed instead of @samp{[[link]]}. To edit the invisible @samp{link} part, use @kbd{C-c C-l} with the cursor on the link. @node Internal links, External links, Link format, Hyperlinks @section Internal links If the link does not look like a URL, it is considered to be internal in the current file. The most important case is a link like @samp{[[#my-custom-id]]} which will link to the entry with the @code{CUSTOM_ID} property @samp{my-custom-id}. Links such as @samp{[[My Target]]} or @samp{[[My Target][Find my target]]} lead to a text search in the current file for the corresponding target which looks like @samp{<>}. Internal links will be used to reference their destination, through links or numbers, when possible. @node External links, Handling links, Internal links, Hyperlinks @section External links Org supports links to files, websites, Usenet and email messages, BBDB database entries and links to both IRC conversations and their logs. External links are URL-like locators. They start with a short identifying string followed by a colon. There can be no space after the colon. Here are some examples: @smallexample http://www.astro.uva.nl/~dominik @r{on the web} file:/home/dominik/images/jupiter.jpg @r{file, absolute path} /home/dominik/images/jupiter.jpg @r{same as above} file:papers/last.pdf @r{file, relative path} file:projects.org @r{another Org file} docview:papers/last.pdf::NNN @r{open file in doc-view mode at page NNN} id:B7423F4D-2E8A-471B-8810-C40F074717E9 @r{Link to heading by ID} news:comp.emacs @r{Usenet link} mailto:adent@@galaxy.net @r{Mail link} vm:folder @r{VM folder link} vm:folder#id @r{VM message link} wl:folder#id @r{WANDERLUST message link} mhe:folder#id @r{MH-E message link} rmail:folder#id @r{RMAIL message link} gnus:group#id @r{Gnus article link} bbdb:R.*Stallman @r{BBDB link (with regexp)} irc:/irc.com/#emacs/bob @r{IRC link} info:org:External%20links @r{Info node link (with encoded space)} @end smallexample A link should be enclosed in double brackets and may contain a descriptive text to be displayed instead of the URL (@pxref{Link format}), for example: @smallexample [[http://www.gnu.org/software/emacs/][GNU Emacs]] @end smallexample @noindent If the description is a file name or URL that points to an image, HTML export (@pxref{HTML export}) will inline the image as a clickable button. If there is no description at all and the link points to an image, that image will be inlined into the exported HTML file. @node Handling links, Targeted links, External links, Hyperlinks @section Handling links Org provides methods to create a link in the correct syntax, to insert it into an Org file, and to follow the link. @table @kbd @item C-c l Store a link to the current location. This is a @emph{global} command (you must create the key binding yourself) which can be used in any buffer to create a link. The link will be stored for later insertion into an Org buffer (see below). @c @item C-c C-l Insert a link. This prompts for a link to be inserted into the buffer. You can just type a link, or use history keys @key{up} and @key{down} to access stored links. You will be prompted for the description part of the link. When called with a @kbd{C-u} prefix argument, file name completion is used to link to a file. @c @item C-c C-l @r{(with cursor on existing link)} When the cursor is on an existing link, @kbd{C-c C-l} allows you to edit the link and description parts of the link. @c @item C-c C-o @r{or} mouse-1 @r{or} mouse-2 Open link at point. @item C-c & Jump back to a recorded position. A position is recorded by the commands following internal links, and by @kbd{C-c %}. Using this command several times in direct succession moves through a ring of previously recorded positions. @c @end table @node Targeted links, , Handling links, Hyperlinks @section Targeted links File links can contain additional information to make Emacs jump to a particular location in the file when following a link. This can be a line number or a search option after a double colon. Here is the syntax of the different ways to attach a search to a file link, together with an explanation: @smallexample [[file:~/code/main.c::255]] @r{Find line 255} [[file:~/xx.org::My Target]] @r{Find @samp{<>}} [[file:~/xx.org::#my-custom-id]] @r{Find entry with custom id} @end smallexample @seealso{ @uref{http://orgmode.org/manual/Hyperlinks.html#Hyperlinks, Chapter 4 of the manual}} @node TODO Items, Tags, Hyperlinks, Top @chapter TODO Items Org mode does not maintain TODO lists as separate documents@footnote{Of course, you can make a document that contains only long lists of TODO items, but this is not required.}. Instead, TODO items are an integral part of the notes file, because TODO items usually come up while taking notes! With Org mode, simply mark any entry in a tree as being a TODO item. In this way, information is not duplicated, and the entire context from which the TODO item emerged is always present. Of course, this technique for managing TODO items scatters them throughout your notes file. Org mode compensates for this by providing methods to give you an overview of all the things that you have to do. @menu * Using TODO states:: Setting and switching states * Multi-state workflows:: More than just on/off * Progress logging:: Dates and notes for progress * Priorities:: Some things are more important than others * Breaking down tasks:: Splitting a task into manageable pieces * Checkboxes:: Tick-off lists @end menu @node Using TODO states, Multi-state workflows, TODO Items, TODO Items @section Using TODO states Any headline becomes a TODO item when it starts with the word @samp{TODO}, for example: @smallexample *** TODO Write letter to Sam Fortune @end smallexample @noindent The most important commands to work with TODO entries are: @table @kbd @item C-c C-t Rotate the TODO state of the current item among @smallexample ,-> (unmarked) -> TODO -> DONE --. '--------------------------------' @end smallexample The same rotation can also be done ``remotely'' from the timeline and agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}). @item S-@key{right}@r{/}@key{left} Select the following/preceding TODO state, similar to cycling. @item C-c / t View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds the buffer, but shows all TODO items and the headings hierarchy above them. @item C-c a t Show the global TODO list. Collects the TODO items from all agenda files (@pxref{Agenda Views}) into a single buffer. @xref{Global TODO list}, for more information. @item S-M-@key{RET} Insert a new TODO entry below the current one. @end table @noindent Changing a TODO state can also trigger tag changes. See the docstring of the option @code{org-todo-state-tags-triggers} for details. @node Multi-state workflows, Progress logging, Using TODO states, TODO Items @section Multi-state workflows You can use TODO keywords to indicate different @emph{sequential} states in the process of working on an item, for example: @smalllisp (setq org-todo-keywords '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED"))) @end smalllisp The vertical bar separates the TODO keywords (states that @emph{need action}) from the DONE states (which need @emph{no further action}). If you don't provide the separator bar, the last state is used as the DONE state. With this setup, the command @kbd{C-c C-t} will cycle an entry from TODO to FEEDBACK, then to VERIFY, and finally to DONE and DELEGATED. Sometimes you may want to use different sets of TODO keywords in parallel. For example, you may want to have the basic @code{TODO}/@code{DONE}, but also a workflow for bug fixing, and a separate state indicating that an item has been canceled (so it is not DONE, but also does not require action). Your setup would then look like this: @smalllisp (setq org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d)") (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)") (sequence "|" "CANCELED(c)"))) @end smalllisp The keywords should all be different, this helps Org mode to keep track of which subsequence should be used for a given entry. The example also shows how to define keys for fast access of a particular state, by adding a letter in parenthesis after each keyword---you will be prompted for the key after @kbd{C-c C-t}. To define TODO keywords that are valid only in a single file, use the following text anywhere in the file. @smallexample #+TODO: TODO(t) | DONE(d) #+TODO: REPORT(r) BUG(b) KNOWNCAUSE(k) | FIXED(f) #+TODO: | CANCELED(c) @end smallexample After changing one of these lines, use @kbd{C-c C-c} with the cursor still in the line to make the changes known to Org mode. @node Progress logging, Priorities, Multi-state workflows, TODO Items @section Progress logging Org mode can automatically record a timestamp and possibly a note when you mark a TODO item as DONE, or even each time you change the state of a TODO item. This system is highly configurable; settings can be on a per-keyword basis and can be localized to a file or even a subtree. For information on how to clock working time for a task, see @ref{Clocking work time}. @menu * Closing items:: When was this entry marked DONE? * Tracking TODO state changes:: When did the status change? @end menu @node Closing items, Tracking TODO state changes, Progress logging, Progress logging @unnumberedsubsec Closing items The most basic logging is to keep track of @emph{when} a certain TODO item was finished. This is achieved with@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: logdone}}. @smalllisp (setq org-log-done 'time) @end smalllisp @noindent Then each time you turn an entry from a TODO (not-done) state into any of the DONE states, a line @samp{CLOSED: [timestamp]} will be inserted just after the headline. If you want to record a note along with the timestamp, use@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: lognotedone}} @smalllisp (setq org-log-done 'note) @end smalllisp @noindent You will then be prompted for a note, and that note will be stored below the entry with a @samp{Closing Note} heading. @node Tracking TODO state changes, , Closing items, Progress logging @unnumberedsubsec Tracking TODO state changes You might want to keep track of TODO state changes. You can either record just a timestamp, or a time-stamped note for a change. These records will be inserted after the headline as an itemized list. When taking a lot of notes, you might want to get the notes out of the way into a drawer. Customize the variable @code{org-log-into-drawer} to get this behavior. For state logging, Org mode expects configuration on a per-keyword basis. This is achieved by adding special markers @samp{!} (for a timestamp) and @samp{@@} (for a note) in parentheses after each keyword. For example: @smallexample #+TODO: TODO(t) WAIT(w@@/!) | DONE(d!) CANCELED(c@@) @end smallexample @noindent will define TODO keywords and fast access keys, and also request that a time is recorded when the entry is set to DONE, and that a note is recorded when switching to WAIT or CANCELED. The same syntax works also when setting @code{org-todo-keywords}. @node Priorities, Breaking down tasks, Progress logging, TODO Items @section Priorities If you use Org mode extensively, you may end up with enough TODO items that it starts to make sense to prioritize them. Prioritizing can be done by placing a @emph{priority cookie} into the headline of a TODO item, like this @smallexample *** TODO [#A] Write letter to Sam Fortune @end smallexample @noindent Org mode supports three priorities: @samp{A}, @samp{B}, and @samp{C}. @samp{A} is the highest, @samp{B} the default if none is given. Priorities make a difference only in the agenda. @table @kbd @item @kbd{C-c ,} Set the priority of the current headline. Press @samp{A}, @samp{B} or @samp{C} to select a priority, or @key{SPC} to remove the cookie. @c @item S-@key{up} @itemx S-@key{down} Increase/decrease priority of current headline @end table @node Breaking down tasks, Checkboxes, Priorities, TODO Items @section Breaking tasks down into subtasks It is often advisable to break down large tasks into smaller, manageable subtasks. You can do this by creating an outline tree below a TODO item, with detailed subtasks on the tree. To keep the overview over the fraction of subtasks that are already completed, insert either @samp{[/]} or @samp{[%]} anywhere in the headline. These cookies will be updated each time the TODO status of a child changes, or when pressing @kbd{C-c C-c} on the cookie. For example: @smallexample * Organize Party [33%] ** TODO Call people [1/2] *** TODO Peter *** DONE Sarah ** TODO Buy food ** DONE Talk to neighbor @end smallexample @node Checkboxes, , Breaking down tasks, TODO Items @section Checkboxes Every item in a plain list (@pxref{Plain lists}) can be made into a checkbox by starting it with the string @samp{[ ]}. Checkboxes are not included in the global TODO list, so they are often great to split a task into a number of simple steps. Here is an example of a checkbox list. @smallexample * TODO Organize party [1/3] - [-] call people [1/2] - [ ] Peter - [X] Sarah - [X] order food - [ ] think about what music to play @end smallexample Checkboxes work hierarchically, so if a checkbox item has children that are checkboxes, toggling one of the children checkboxes will make the parent checkbox reflect if none, some, or all of the children are checked. @noindent The following commands work with checkboxes: @table @kbd @item C-c C-c Toggle checkbox status or (with prefix arg) checkbox presence at point. @item M-S-@key{RET} Insert a new item with a checkbox. This works only if the cursor is already in a plain list item (@pxref{Plain lists}). @end table @seealso{ @uref{http://orgmode.org/manual/TODO-Items.html#TODO-Items, Chapter 5 of the manual}@* @uref{http://orgmode.org/worg/org-tutorials/orgtutorial_dto.php, David O'Toole's introductory tutorial}@* @uref{http://members.optusnet.com.au/~charles57/GTD/gtd_workflow.html, Charles Cave's GTD setup}} @node Tags, Properties, TODO Items, Top @chapter Tags An excellent way to implement labels and contexts for cross-correlating information is to assign @i{tags} to headlines. Org mode has extensive support for tags. Every headline can contain a list of tags; they occur at the end of the headline. Tags are normal words containing letters, numbers, @samp{_}, and @samp{@@}. Tags must be preceded and followed by a single colon, e.g., @samp{:work:}. Several tags can be specified, as in @samp{:work:urgent:}. Tags will by default be in bold face with the same color as the headline. @menu * Tag inheritance:: Tags use the tree structure of the outline * Setting tags:: How to assign tags to a headline * Tag groups:: Use one tag to search for several tags * Tag searches:: Searching for combinations of tags @end menu @node Tag inheritance, Setting tags, Tags, Tags @section Tag inheritance @i{Tags} make use of the hierarchical structure of outline trees. If a heading has a certain tag, all subheadings will inherit the tag as well. For example, in the list @smallexample * Meeting with the French group :work: ** Summary by Frank :boss:notes: *** TODO Prepare slides for him :action: @end smallexample @noindent the final heading will have the tags @samp{:work:}, @samp{:boss:}, @samp{:notes:}, and @samp{:action:} even though the final heading is not explicitly marked with those tags. You can also set tags that all entries in a file should inherit just as if these tags were defined in a hypothetical level zero that surrounds the entire file. Use a line like this@footnote{As with all these in-buffer settings, pressing @kbd{C-c C-c} activates any changes in the line.}: @smallexample #+FILETAGS: :Peter:Boss:Secret: @end smallexample @node Setting tags, Tag groups, Tag inheritance, Tags @section Setting tags Tags can simply be typed into the buffer at the end of a headline. After a colon, @kbd{M-@key{TAB}} offers completion on tags. There is also a special command for inserting tags: @table @kbd @item C-c C-q Enter new tags for the current headline. Org mode will either offer completion or a special single-key interface for setting tags, see below. After pressing @key{RET}, the tags will be inserted and aligned to @code{org-tags-column}. When called with a @kbd{C-u} prefix, all tags in the current buffer will be aligned to that column, just to make things look nice. @item C-c C-c When the cursor is in a headline, this does the same as @kbd{C-c C-q}. @end table Org will support tag insertion based on a @emph{list of tags}. By default this list is constructed dynamically, containing all tags currently used in the buffer. You may also globally specify a hard list of tags with the variable @code{org-tag-alist}. Finally you can set the default tags for a given file with lines like @smallexample #+TAGS: @@work @@home @@tennisclub #+TAGS: laptop car pc sailboat @end smallexample By default Org mode uses the standard minibuffer completion facilities for entering tags. However, it also implements another, quicker, tag selection method called @emph{fast tag selection}. This allows you to select and deselect tags with just a single key press. For this to work well you should assign unique letters to most of your commonly used tags. You can do this globally by configuring the variable @code{org-tag-alist} in your @file{.emacs} file. For example, you may find the need to tag many items in different files with @samp{:@@home:}. In this case you can set something like: @smalllisp (setq org-tag-alist '(("@@work" . ?w) ("@@home" . ?h) ("laptop" . ?l))) @end smalllisp @noindent If the tag is only relevant to the file you are working on, then you can instead set the TAGS option line as: @smallexample #+TAGS: @@work(w) @@home(h) @@tennisclub(t) laptop(l) pc(p) @end smallexample @node Tag groups, Tag searches, Setting tags, Tags @section Tag groups @cindex group tags @cindex tags, groups In a set of mutually exclusive tags, the first tag can be defined as a @emph{group tag}. When you search for a group tag, it will return matches for all members in the group. In an agenda view, filtering by a group tag will display headlines tagged with at least one of the members of the group. This makes tag searches and filters even more flexible. You can set group tags by inserting a colon between the group tag and other tags, like this: @example #+TAGS: @{ @@read : @@read_book @@read_ebook @} @end example In this example, @samp{@@read} is a @emph{group tag} for a set of three tags: @samp{@@read}, @samp{@@read_book} and @samp{@@read_ebook}. You can also use the @code{:grouptags} keyword directly when setting @var{org-tag-alist}: @lisp (setq org-tag-alist '((:startgroup . nil) ("@@read" . nil) (:grouptags . nil) ("@@read_book" . nil) ("@@read_ebook" . nil) (:endgroup . nil))) @end lisp @kindex C-c C-x q @vindex org-group-tags If you want to ignore group tags temporarily, toggle group tags support with @command{org-toggle-tags-groups}, bound to @kbd{C-c C-x q}. If you want to disable tag groups completely, set @var{org-group-tags} to nil. @node Tag searches, , Tag groups, Tags @section Tag searches Once a system of tags has been set up, it can be used to collect related information into special lists. @table @kbd @item C-c \ @itemx C-c / m Create a sparse tree with all headlines matching a tags search. With a @kbd{C-u} prefix argument, ignore headlines that are not a TODO line. @item C-c a m Create a global list of tag matches from all agenda files. @xref{Matching tags and properties}. @item C-c a M Create a global list of tag matches from all agenda files, but check only TODO items and force checking subitems (see variable @code{org-tags-match-list-sublevels}). @end table These commands all prompt for a match string which allows basic Boolean logic like @samp{+boss+urgent-project1}, to find entries with tags @samp{boss} and @samp{urgent}, but not @samp{project1}, or @samp{Kathy|Sally} to find entries which are tagged, like @samp{Kathy} or @samp{Sally}. The full syntax of the search string is rich and allows also matching against TODO keywords, entry levels and properties. For a complete description with many examples, see @ref{Matching tags and properties}. @seealso{ @uref{http://orgmode.org/manual/Tags.html#Tags, Chapter 6 of the manual}@* @uref{http://sachachua.com/wp/2008/01/tagging-in-org-plus-bonus-code-for-timeclocks-and-tags/, Sacha Chua's article about tagging in Org-mode}} @node Properties, Dates and Times, Tags, Top @chapter Properties Properties are key-value pairs associated with an entry. They live in a special drawer with the name @code{PROPERTIES}. Each property is specified on a single line, with the key (surrounded by colons) first, and the value after it: @smallexample * CD collection ** Classic *** Goldberg Variations :PROPERTIES: :Title: Goldberg Variations :Composer: J.S. Bach :Publisher: Deutsche Grammophon :NDisks: 1 :END: @end smallexample You may define the allowed values for a particular property @samp{:Xyz:} by setting a property @samp{:Xyz_ALL:}. This special property is @emph{inherited}, so if you set it in a level 1 entry, it will apply to the entire tree. When allowed values are defined, setting the corresponding property becomes easier and is less prone to typing errors. For the example with the CD collection, we can predefine publishers and the number of disks in a box like this: @smallexample * CD collection :PROPERTIES: :NDisks_ALL: 1 2 3 4 :Publisher_ALL: "Deutsche Grammophon" Philips EMI :END: @end smallexample or globally using @code{org-global-properties}, or file-wide like this: @smallexample #+PROPERTY: NDisks_ALL 1 2 3 4 @end smallexample @table @kbd @item C-c C-x p Set a property. This prompts for a property name and a value. @item C-c C-c d Remove a property from the current entry. @end table To create sparse trees and special lists with selection based on properties, the same commands are used as for tag searches (@pxref{Tag searches}). The syntax for the search string is described in @ref{Matching tags and properties}. @table @kbd @end table @seealso{ @uref{http://orgmode.org/manual/Properties-and-Columns.html#Properties-and-Columns, Chapter 7 of the manual}@* @uref{http://orgmode.org/worg/org-tutorials/org-column-view-tutorial.php,Bastien Guerry's column view tutorial}} @node Dates and Times, Capture - Refile - Archive, Properties, Top @chapter Dates and Times To assist project planning, TODO items can be labeled with a date and/or a time. The specially formatted string carrying the date and time information is called a @emph{timestamp} in Org mode. @menu * Timestamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps * Deadlines and scheduling:: Planning your work * Clocking work time:: Tracking how long you spend on a task @end menu @node Timestamps, Creating timestamps, Dates and Times, Dates and Times @section Timestamps A timestamp is a specification of a date (possibly with a time or a range of times) in a special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 Tue 09:39>} or @samp{<2003-09-16 Tue 12:00-12:30>}. A timestamp can appear anywhere in the headline or body of an Org tree entry. Its presence causes entries to be shown on specific dates in the agenda (@pxref{Weekly/daily agenda}). We distinguish: @noindent @b{Plain timestamp; Event; Appointment}@* A simple timestamp just assigns a date/time to an item. This is just like writing down an appointment or event in a paper agenda. @smallexample * Meet Peter at the movies <2006-11-01 Wed 19:15> * Discussion on climate change <2006-11-02 Thu 20:00-22:00> @end smallexample @noindent @b{Timestamp with repeater interval}@* A timestamp may contain a @emph{repeater interval}, indicating that it applies not only on the given date, but again and again after a certain interval of N days (d), weeks (w), months (m), or years (y). The following will show up in the agenda every Wednesday: @smallexample * Pick up Sam at school <2007-05-16 Wed 12:30 +1w> @end smallexample @noindent @b{Diary-style sexp entries}@* For more complex date specifications, Org mode supports using the special sexp diary entries implemented in the Emacs calendar/diary package. For example @smallexample * The nerd meeting on every 2nd Thursday of the month <%%(diary-float t 4 2)> @end smallexample @noindent @b{Time/Date range}@* Two timestamps connected by @samp{--} denote a range. @smallexample ** Meeting in Amsterdam <2004-08-23 Mon>--<2004-08-26 Thu> @end smallexample @noindent @b{Inactive timestamp}@* Just like a plain timestamp, but with square brackets instead of angular ones. These timestamps are inactive in the sense that they do @emph{not} trigger an entry to show up in the agenda. @smallexample * Gillian comes late for the fifth time [2006-11-01 Wed] @end smallexample @node Creating timestamps, Deadlines and scheduling, Timestamps, Dates and Times @section Creating timestamps For Org mode to recognize timestamps, they need to be in the specific format. All commands listed below produce timestamps in the correct format. @table @kbd @item C-c . Prompt for a date and insert a corresponding timestamp. When the cursor is at an existing timestamp in the buffer, the command is used to modify this timestamp instead of inserting a new one. When this command is used twice in succession, a time range is inserted. With a prefix, also add the current time. @c @item C-c ! Like @kbd{C-c .}, but insert an inactive timestamp that will not cause an agenda entry. @c @item S-@key{left}@r{/}@key{right} Change date at cursor by one day. @c @item S-@key{up}@r{/}@key{down} Change the item under the cursor in a timestamp. The cursor can be on a year, month, day, hour or minute. When the timestamp contains a time range like @samp{15:30-16:30}, modifying the first time will also shift the second, shifting the time block with constant length. To change the length, modify the second time. @end table When Org mode prompts for a date/time, it will accept any string containing some date and/or time information, and intelligently interpret the string, deriving defaults for unspecified information from the current date and time. You can also select a date in the pop-up calendar. See the manual for more information on how exactly the date/time prompt works. @node Deadlines and scheduling, Clocking work time, Creating timestamps, Dates and Times @section Deadlines and scheduling A timestamp may be preceded by special keywords to facilitate planning: @noindent @b{DEADLINE}@* Meaning: the task (most likely a TODO item, though not necessarily) is supposed to be finished on that date. @table @kbd @item C-c C-d Insert @samp{DEADLINE} keyword along with a stamp, in the line following the headline. @end table On the deadline date, the task will be listed in the agenda. In addition, the agenda for @emph{today} will carry a warning about the approaching or missed deadline, starting @code{org-deadline-warning-days} before the due date, and continuing until the entry is marked DONE. An example: @smallexample *** TODO write article about the Earth for the Guide The editor in charge is [[bbdb:Ford Prefect]] DEADLINE: <2004-02-29 Sun> @end smallexample @noindent @b{SCHEDULED}@* Meaning: you are @i{planning to start working} on that task on the given date@footnote{This is quite different from what is normally understood by @i{scheduling a meeting}, which is done in Org-mode by just inserting a time stamp without keyword.}. @table @kbd @item C-c C-s Insert @samp{SCHEDULED} keyword along with a stamp, in the line following the headline. @end table The headline will be listed under the given date@footnote{It will still be listed on that date after it has been marked DONE. If you don't like this, set the variable @code{org-agenda-skip-scheduled-if-done}.}. In addition, a reminder that the scheduled date has passed will be present in the compilation for @emph{today}, until the entry is marked DONE. I.e.@: the task will automatically be forwarded until completed. @smallexample *** TODO Call Trillian for a date on New Years Eve. SCHEDULED: <2004-12-25 Sat> @end smallexample Some tasks need to be repeated again and again. Org mode helps to organize such tasks using a so-called repeater in a DEADLINE, SCHEDULED, or plain timestamp. In the following example @smallexample ** TODO Pay the rent DEADLINE: <2005-10-01 Sat +1m> @end smallexample @noindent the @code{+1m} is a repeater; the intended interpretation is that the task has a deadline on <2005-10-01> and repeats itself every (one) month starting from that time. @node Clocking work time, , Deadlines and scheduling, Dates and Times @section Clocking work time Org mode allows you to clock the time you spend on specific tasks in a project. @table @kbd @item C-c C-x C-i Start the clock on the current item (clock-in). This inserts the CLOCK keyword together with a timestamp. When called with a @kbd{C-u} prefix argument, select the task from a list of recently clocked tasks. @c @item C-c C-x C-o Stop the clock (clock-out). This inserts another timestamp at the same location where the clock was last started. It also directly computes the resulting time in inserts it after the time range as @samp{=> HH:MM}. @item C-c C-x C-e Update the effort estimate for the current clock task. @item C-c C-x C-x Cancel the current clock. This is useful if a clock was started by mistake, or if you ended up working on something else. @item C-c C-x C-j Jump to the entry that contains the currently running clock. With a @kbd{C-u} prefix arg, select the target task from a list of recently clocked tasks. @item C-c C-x C-r Insert a dynamic block containing a clock report as an Org-mode table into the current file. When the cursor is at an existing clock table, just update it. @smallexample #+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file #+END: clocktable @end smallexample @noindent For details about how to customize this view, see @uref{http://orgmode.org/manual/Clocking-work-time.html#Clocking-work-time,the manual}. @item C-c C-c Update dynamic block at point. The cursor needs to be in the @code{#+BEGIN} line of the dynamic block. @end table The @kbd{l} key may be used in the timeline (@pxref{Timeline}) and in the agenda (@pxref{Weekly/daily agenda}) to show which tasks have been worked on or closed during a day. @seealso{ @uref{http://orgmode.org/manual/Dates-and-Times.html#Dates-and-Times, Chapter 8 of the manual}@* @uref{http://members.optusnet.com.au/~charles57/GTD/org_dates/, Charles Cave's Date and Time tutorial}@* @uref{http://doc.norang.ca/org-mode.html#Clocking, Bernt Hansen's clocking workflow}} @node Capture - Refile - Archive, Agenda Views, Dates and Times, Top @chapter Capture - Refile - Archive An important part of any organization system is the ability to quickly capture new ideas and tasks, and to associate reference material with them. Org defines a capture process to create tasks. It stores files related to a task (@i{attachments}) in a special directory. Once in the system, tasks and projects need to be moved around. Moving completed project trees to an archive file keeps the system compact and fast. @menu * Capture:: Capturing new stuff * Refile and copy:: Moving a tree from one place to another * Archiving:: What to do with finished projects @end menu @node Capture, Refile and copy, Capture - Refile - Archive, Capture - Refile - Archive @section Capture Org's method for capturing new items is heavily inspired by John Wiegley excellent @file{remember.el} package. It lets you store quick notes with little interruption of your work flow. Org lets you define templates for new entries and associate them with different targets for storing notes. @menu * Setting up a capture location:: Where notes will be stored * Using capture:: Commands to invoke and terminate capture * Capture templates:: Define the outline of different note types @end menu @node Setting up a capture location, Using capture, Capture, Capture @unnumberedsubsec Setting up a capture location The following customization sets a default target@footnote{Using capture templates, you can define more fine-grained capture locations, see @ref{Capture templates}.} file for notes, and defines a global key@footnote{Please select your own key, @kbd{C-c c} is only a suggestion.} for capturing new stuff. @example (setq org-default-notes-file (concat org-directory "/notes.org")) (define-key global-map "\C-cc" 'org-capture) @end example @node Using capture, Capture templates, Setting up a capture location, Capture @unnumberedsubsec Using capture @table @kbd @item C-c c Start a capture process. You will be placed into a narrowed indirect buffer to edit the item. @item C-c C-c Once you are done entering information into the capture buffer, @kbd{C-c C-c} will return you to the window configuration before the capture process, so that you can resume your work without further distraction. @item C-c C-w Finalize by moving the entry to a refile location (@pxref{Refile and copy}). @item C-c C-k Abort the capture process and return to the previous state. @end table @node Capture templates, , Using capture, Capture @unnumberedsubsec Capture templates You can use templates to generate different types of capture notes, and to store them in different places. For example, if you would like to store new tasks under a heading @samp{Tasks} in file @file{TODO.org}, and journal entries in a date tree in @file{journal.org} you could use: @smallexample (setq org-capture-templates '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks") "* TODO %?\n %i\n %a") ("j" "Journal" entry (file+datetree "~/org/journal.org") "* %?\nEntered on %U\n %i\n %a"))) @end smallexample @noindent In these entries, the first string is the key to reach the template, the second is a short description. Then follows the type of the entry and a definition of the target location for storing the note. Finally, the template itself, a string with %-escapes to fill in information based on time and context. When you call @kbd{M-x org-capture}, Org will prompt for a key to select the template (if you have more than one template) and then prepare the buffer like @smallexample * TODO [[file:@var{link to where you were when initiating capture}]] @end smallexample @noindent During expansion of the template, special @kbd{%}-escapes@footnote{If you need one of these sequences literally, escape the @kbd{%} with a backslash.} allow dynamic insertion of content. Here is a small selection of the possibilities, consult the manual for more. @smallexample %a @r{annotation, normally the link created with @code{org-store-link}} %i @r{initial content, the region when capture is called with C-u.} %t @r{timestamp, date only} %T @r{timestamp with date and time} %u, %U @r{like the above, but inactive timestamps} @end smallexample @node Refile and copy, Archiving, Capture, Capture - Refile - Archive @section Refile and copy When reviewing the captured data, you may want to refile or copy some of the entries into a different list, for example into a project. Cutting, finding the right location, and then pasting the note is cumbersome. To simplify this process, you can use the following special command: @table @kbd @item C-c M-x Copy the entry or region at point. This command behaves like @code{org-refile}, except that the original note will not be deleted. @item C-c C-w Refile the entry or region at point. This command offers possible locations for refiling the entry and lets you select one with completion. The item (or all items in the region) is filed below the target heading as a subitem.@* By default, all level 1 headlines in the current buffer are considered to be targets, but you can have more complex definitions across a number of files. See the variable @code{org-refile-targets} for details. @item C-u C-c C-w Use the refile interface to jump to a heading. @item C-u C-u C-c C-w Jump to the location where @code{org-refile} last moved a tree to. @end table @node Archiving, , Refile and copy, Capture - Refile - Archive @section Archiving When a project represented by a (sub)tree is finished, you may want to move the tree out of the way and to stop it from contributing to the agenda. Archiving is important to keep your working files compact and global searches like the construction of agenda views fast. The most common archiving action is to move a project tree to another file, the archive file. @table @kbd @item C-c C-x C-a Archive the current entry using the command specified in the variable @code{org-archive-default-command}. @item C-c C-x C-s@ @r{or short} @ C-c $ Archive the subtree starting at the cursor position to the location given by @code{org-archive-location}. @end table The default archive location is a file in the same directory as the current file, with the name derived by appending @file{_archive} to the current file name. For information and examples on how to change this, see the documentation string of the variable @code{org-archive-location}. There is also an in-buffer option for setting this variable, for example @smallexample #+ARCHIVE: %s_done:: @end smallexample @seealso{ @uref{http://orgmode.org/manual/Capture-_002d-Refile-_002d-Archive.html#Capture-_002d-Refile-_002d-Archive, Chapter 9 of the manual}@* @uref{http://orgmode.org/worg/org-tutorials/org-protocol-custom-handler.php, Sebastian Rose's tutorial for capturing from a web browser}}@uref{}@* @node Agenda Views, Markup, Capture - Refile - Archive, Top @chapter Agenda Views Due to the way Org works, TODO items, time-stamped items, and tagged headlines can be scattered throughout a file or even a number of files. To get an overview of open action items, or of events that are important for a particular date, this information must be collected, sorted and displayed in an organized way. There are several different views, see below. The extracted information is displayed in a special @emph{agenda buffer}. This buffer is read-only, but provides commands to visit the corresponding locations in the original Org files, and even to edit these files remotely. Remote editing from the agenda buffer means, for example, that you can change the dates of deadlines and appointments from the agenda buffer. The commands available in the Agenda buffer are listed in @ref{Agenda commands}. @menu * Agenda files:: Files being searched for agenda information * Agenda dispatcher:: Keyboard access to agenda views * Built-in agenda views:: What is available out of the box? * Agenda commands:: Remote editing of Org trees * Custom agenda views:: Defining special searches and views @end menu @node Agenda files, Agenda dispatcher, Agenda Views, Agenda Views @section Agenda files The information to be shown is normally collected from all @emph{agenda files}, the files listed in the variable @code{org-agenda-files}. @table @kbd @item C-c [ Add current file to the list of agenda files. The file is added to the front of the list. If it was already in the list, it is moved to the front. With a prefix argument, file is added/moved to the end. @item C-c ] Remove current file from the list of agenda files. @item C-, Cycle through agenda file list, visiting one file after the other. @end table @node Agenda dispatcher, Built-in agenda views, Agenda files, Agenda Views @section The agenda dispatcher The views are created through a dispatcher, which should be bound to a global key---for example @kbd{C-c a} (@pxref{Installation}). After pressing @kbd{C-c a}, an additional letter is required to execute a command: @table @kbd @item a The calendar-like agenda (@pxref{Weekly/daily agenda}). @item t @r{/} T A list of all TODO items (@pxref{Global TODO list}). @item m @r{/} M A list of headlines matching a TAGS expression (@pxref{Matching tags and properties}). @item L The timeline view for the current buffer (@pxref{Timeline}). @item s A list of entries selected by a boolean expression of keywords and/or regular expressions that must or must not occur in the entry. @end table @node Built-in agenda views, Agenda commands, Agenda dispatcher, Agenda Views @section The built-in agenda views @menu * Weekly/daily agenda:: The calendar page with current tasks * Global TODO list:: All unfinished action items * Matching tags and properties:: Structured information with fine-tuned search * Timeline:: Time-sorted view for single file * Search view:: Find entries by searching for text @end menu @node Weekly/daily agenda, Global TODO list, Built-in agenda views, Built-in agenda views @subsection The weekly/daily agenda The purpose of the weekly/daily @emph{agenda} is to act like a page of a paper agenda, showing all the tasks for the current week or day. @table @kbd @item C-c a a Compile an agenda for the current week from a list of Org files. The agenda shows the entries for each day. @end table Emacs contains the calendar and diary by Edward M. Reingold. Org-mode understands the syntax of the diary and allows you to use diary sexp entries directly in Org files: @smallexample * Birthdays and similar stuff #+CATEGORY: Holiday %%(org-calendar-holiday) ; special function for holiday names #+CATEGORY: Ann %%(diary-anniversary 5 14 1956)@footnote{Note that the order of the arguments (month, day, year) depends on the setting of @code{calendar-date-style}.} Arthur Dent is %d years old %%(diary-anniversary 10 2 1869) Mahatma Gandhi would be %d years old @end smallexample Org can interact with Emacs appointments notification facility. To add all the appointments of your agenda files, use the command @code{org-agenda-to-appt}. See the docstring for details. @node Global TODO list, Matching tags and properties, Weekly/daily agenda, Built-in agenda views @subsection The global TODO list The global TODO list contains all unfinished TODO items formatted and collected into a single place. Remote editing of TODO items lets you can change the state of a TODO entry with a single key press. The commands available in the TODO list are described in @ref{Agenda commands}. @table @kbd @item C-c a t Show the global TODO list. This collects the TODO items from all agenda files (@pxref{Agenda Views}) into a single buffer. @item C-c a T Like the above, but allows selection of a specific TODO keyword. @end table @node Matching tags and properties, Timeline, Global TODO list, Built-in agenda views @subsection Matching tags and properties If headlines in the agenda files are marked with @emph{tags} (@pxref{Tags}), or have properties (@pxref{Properties}), you can select headlines based on this metadata and collect them into an agenda buffer. The match syntax described here also applies when creating sparse trees with @kbd{C-c / m}. The commands available in the tags list are described in @ref{Agenda commands}. @table @kbd @item C-c a m Produce a list of all headlines that match a given set of tags. The command prompts for a selection criterion, which is a boolean logic expression with tags, like @samp{+work+urgent-withboss} or @samp{work|home} (@pxref{Tags}). If you often need a specific search, define a custom command for it (@pxref{Agenda dispatcher}). @item C-c a M Like @kbd{C-c a m}, but only select headlines that are also TODO items. @end table @subsubheading Match syntax A search string can use Boolean operators @samp{&} for AND and @samp{|} for OR. @samp{&} binds more strongly than @samp{|}. Parentheses are currently not implemented. Each element in the search is either a tag, a regular expression matching tags, or an expression like @code{PROPERTY OPERATOR VALUE} with a comparison operator, accessing a property value. Each element may be preceded by @samp{-}, to select against it, and @samp{+} is syntactic sugar for positive selection. The AND operator @samp{&} is optional when @samp{+} or @samp{-} is present. Here are some examples, using only tags. @table @samp @item +work-boss Select headlines tagged @samp{:work:}, but discard those also tagged @samp{:boss:}. @item work|laptop Selects lines tagged @samp{:work:} or @samp{:laptop:}. @item work|laptop+night Like before, but require the @samp{:laptop:} lines to be tagged also @samp{:night:}. @end table You may also test for properties at the same time as matching tags, see the manual for more information. @node Timeline, Search view, Matching tags and properties, Built-in agenda views @subsection Timeline for a single file The timeline summarizes all time-stamped items from a single Org mode file in a @emph{time-sorted view}. The main purpose of this command is to give an overview over events in a project. @table @kbd @item C-c a L Show a time-sorted view of the Org file, with all time-stamped items. When called with a @kbd{C-u} prefix, all unfinished TODO entries (scheduled or not) are also listed under the current date. @end table @node Search view, , Timeline, Built-in agenda views @subsection Search view This agenda view is a general text search facility for Org mode entries. It is particularly useful to find notes. @table @kbd @item C-c a s This is a special search that lets you select entries by matching a substring or specific words using a boolean logic. @end table For example, the search string @samp{computer equipment} will find entries that contain @samp{computer equipment} as a substring. Search view can also search for specific keywords in the entry, using Boolean logic. The search string @samp{+computer +wifi -ethernet -@{8\.11[bg]@}} will search for note entries that contain the keywords @code{computer} and @code{wifi}, but not the keyword @code{ethernet}, and which are also not matched by the regular expression @code{8\.11[bg]}, meaning to exclude both 8.11b and 8.11g. Note that in addition to the agenda files, this command will also search the files listed in @code{org-agenda-text-search-extra-files}. @node Agenda commands, Custom agenda views, Built-in agenda views, Agenda Views @section Commands in the agenda buffer Entries in the agenda buffer are linked back to the Org file or diary file where they originate. Commands are provided to show and jump to the original entry location, and to edit the Org files ``remotely'' from the agenda buffer. This is just a selection of the many commands, explore the @code{Agenda} menu and the manual for a complete list. @table @kbd @tsubheading{Motion} @item n Next line (same as @key{up} and @kbd{C-p}). @item p Previous line (same as @key{down} and @kbd{C-n}). @tsubheading{View/Go to Org file} @item mouse-3 @itemx @key{SPC} Display the original location of the item in another window. With prefix arg, make sure that the entire entry is made visible in the outline, not only the heading. @c @itemx @key{TAB} Go to the original location of the item in another window. Under Emacs 22, @kbd{mouse-1} will also work for this. @c @itemx @key{RET} Go to the original location of the item and delete other windows. @c @tsubheading{Change display} @item o Delete other windows. @c @item d @r{/} w Switch to day/week view. @c @item f @r{and} b Go forward/backward in time to display the following @code{org-agenda-current-span} days. For example, if the display covers a week, switch to the following/previous week. @c @item . Go to today. @c @item j Prompt for a date and go there. @c @item v l @ @r{or short} @ l Toggle Logbook mode. In Logbook mode, entries that were marked DONE while logging was on (variable @code{org-log-done}) are shown in the agenda, as are entries that have been clocked on that day. When called with a @kbd{C-u} prefix, show all possible logbook entries, including state changes. @c @item r @r{or} g Recreate the agenda buffer, to reflect the changes. @item s Save all Org buffers in the current Emacs session, and also the locations of IDs. @tsubheading{Secondary filtering and query editing} @item / Filter the current agenda view with respect to a tag. You are prompted for a letter to select a tag. Press @samp{-} first to select against the tag. @item \ Narrow the current agenda filter by an additional condition. @tsubheading{Remote editing (see the manual for many more commands)} @item 0--9 Digit argument. @c @item t Change the TODO state of the item, in the agenda and in the org file. @c @item C-k Delete the current agenda item along with the entire subtree belonging to it in the original Org file. @c @item C-c C-w Refile the entry at point. @c @item C-c C-x C-a @ @r{or short} @ a Archive the subtree corresponding to the entry at point using the default archiving command set in @code{org-archive-default-command}. @c @item C-c C-x C-s @ @r{or short} @ $ Archive the subtree corresponding to the current headline. @c @item C-c C-s Schedule this item, with prefix arg remove the scheduling timestamp @c @item C-c C-d Set a deadline for this item, with prefix arg remove the deadline. @c @item S-@key{right} @r{and} S-@key{left} Change the timestamp associated with the current line by one day. @c @item I Start the clock on the current item. @c @item O / X Stop/cancel the previously started clock. @item J Jump to the running clock in another window. @end table @node Custom agenda views, , Agenda commands, Agenda Views @section Custom agenda views The main application of custom searches is the definition of keyboard shortcuts for frequently used searches, either creating an agenda buffer, or a sparse tree (the latter covering of course only the current buffer). Custom commands are configured in the variable @code{org-agenda-custom-commands}. You can customize this variable, for example by pressing @kbd{C-c a C}. You can also directly set it with Emacs Lisp in @file{.emacs}. The following example contains all valid search types: @smalllisp @group (setq org-agenda-custom-commands '(("w" todo "WAITING") ("u" tags "+boss-urgent") ("v" tags-todo "+boss-urgent"))) @end group @end smalllisp @noindent The initial string in each entry defines the keys you have to press after the dispatcher command @kbd{C-c a} in order to access the command. Usually this will be just a single character. The second parameter is the search type, followed by the string or regular expression to be used for the matching. The example above will therefore define: @table @kbd @item C-c a w as a global search for TODO entries with @samp{WAITING} as the TODO keyword @item C-c a u as a global tags search for headlines marked @samp{:boss:} but not @samp{:urgent:} @item C-c a v as the same search as @kbd{C-c a u}, but limiting the search to headlines that are also TODO items @end table @seealso{ @uref{http://orgmode.org/manual/Agenda-Views.html#Agenda-Views, Chapter 10 of the manual}@* @uref{http://orgmode.org/worg/org-tutorials/org-custom-agenda-commands.php, Mat Lundin's tutorial about custom agenda commands}@* @uref{http://www.newartisans.com/2007/08/using-org-mode-as-a-day-planner.html, John Wiegley's setup}} @node Markup, Exporting, Agenda Views, Top @chapter Markup for rich export When exporting Org-mode documents, the exporter tries to reflect the structure of the document as accurately as possible in the backend. Since export targets like HTML, @LaTeX{}, or DocBook allow much richer formatting, Org mode has rules on how to prepare text for rich export. This section summarizes the markup rules used in an Org-mode buffer. @menu * Structural markup elements:: The basic structure as seen by the exporter * Images and tables:: Images, tables and caption mechanism * Literal examples:: Source code examples with special formatting * Include files:: Include additional files into a document * Embedded @LaTeX{}:: @LaTeX{} can be freely used inside Org documents @end menu @node Structural markup elements, Images and tables, Markup, Markup @section Structural markup elements @menu * Document title:: Where the title is taken from * Headings and sections:: The document structure as seen by the exporter * Table of contents:: The if and where of the table of contents * Paragraphs:: Paragraphs * Emphasis and monospace:: Bold, italic, etc. * Comment lines:: What will *not* be exported @end menu @node Document title, Headings and sections, Structural markup elements, Structural markup elements @subheading Document title @noindent The title of the exported document is taken from the special line @smallexample #+TITLE: This is the title of the document @end smallexample @node Headings and sections, Table of contents, Document title, Structural markup elements @subheading Headings and sections The outline structure of the document as described in @ref{Document Structure}, forms the basis for defining sections of the exported document. However, since the outline structure is also used for (for example) lists of tasks, only the first three outline levels will be used as headings. Deeper levels will become itemized lists. You can change the location of this switch globally by setting the variable @code{org-export-headline-levels}, or on a per-file basis with a line @smallexample #+OPTIONS: H:4 @end smallexample @node Table of contents, Paragraphs, Headings and sections, Structural markup elements @subheading Table of contents The table of contents is normally inserted directly before the first headline of the file. @smallexample #+OPTIONS: toc:2 (only to two levels in TOC) #+OPTIONS: toc:nil (no TOC at all) @end smallexample @node Paragraphs, Emphasis and monospace, Table of contents, Structural markup elements @subheading Paragraphs, line breaks, and quoting Paragraphs are separated by at least one empty line. If you need to enforce a line break within a paragraph, use @samp{\\} at the end of a line. To keep the line breaks in a region, but otherwise use normal formatting, you can use this construct, which can also be used to format poetry. @smallexample #+BEGIN_VERSE Great clouds overhead Tiny black birds rise and fall Snow covers Emacs -- AlexSchroeder #+END_VERSE @end smallexample When quoting a passage from another document, it is customary to format this as a paragraph that is indented on both the left and the right margin. You can include quotations in Org-mode documents like this: @smallexample #+BEGIN_QUOTE Everything should be made as simple as possible, but not any simpler -- Albert Einstein #+END_QUOTE @end smallexample If you would like to center some text, do it like this: @smallexample #+BEGIN_CENTER Everything should be made as simple as possible, \\ but not any simpler #+END_CENTER @end smallexample @node Emphasis and monospace, Comment lines, Paragraphs, Structural markup elements @subheading Emphasis and monospace You can make words @b{*bold*}, @i{/italic/}, _underlined_, @code{=code=} and @code{~verbatim~}, and, if you must, @samp{+strike-through+}. Text in the code and verbatim string is not processed for Org-mode specific syntax, it is exported verbatim. To insert a horizontal rules, use a line consisting of only dashes, and at least 5 of them. @node Comment lines, , Emphasis and monospace, Structural markup elements @subheading Comment lines Lines starting with zero or more whitespace characters followed by @samp{#} and a whitespace are treated as comments and will never be exported. Also entire subtrees starting with the word @samp{COMMENT} will never be exported. Finally, regions surrounded by @samp{#+BEGIN_COMMENT} ... @samp{#+END_COMMENT} will not be exported. @table @kbd @item C-c ; Toggle the COMMENT keyword at the beginning of an entry. @end table @node Images and tables, Literal examples, Structural markup elements, Markup @section Images and Tables For Org mode tables, the lines before the first horizontal separator line will become table header lines. You can use the following lines somewhere before the table to assign a caption and a label for cross references, and in the text you can refer to the object with @code{[[tab:basic-data]]}: @smallexample #+CAPTION: This is the caption for the next table (or link) #+NAME: tbl:basic-data | ... | ...| |-----|----| @end smallexample Some backends allow you to directly include images into the exported document. Org does this, if a link to an image files does not have a description part, for example @code{[[./img/a.jpg]]}. If you wish to define a caption for the image and maybe a label for internal cross references, you sure that the link is on a line by itself precede it with: @smallexample #+CAPTION: This is the caption for the next figure link (or table) #+NAME: fig:SED-HR4049 [[./img/a.jpg]] @end smallexample The same caption mechanism applies to other structures than images and tables (e.g., @LaTeX{} equations, source code blocks), provided the chosen export back-end supports them. @node Literal examples, Include files, Images and tables, Markup @section Literal examples You can include literal examples that should not be subjected to markup. Such examples will be typeset in monospace, so this is well suited for source code and similar examples. @smallexample #+BEGIN_EXAMPLE Some example from a text file. #+END_EXAMPLE @end smallexample For simplicity when using small examples, you can also start the example lines with a colon followed by a space. There may also be additional whitespace before the colon: @smallexample Here is an example : Some example from a text file. @end smallexample For source code from a programming language, or any other text that can be marked up by font-lock in Emacs, you can ask for it to look like the fontified Emacs buffer @smallexample #+BEGIN_SRC emacs-lisp (defun org-xor (a b) "Exclusive or." (if a (not b) b)) #+END_SRC @end smallexample To edit the example in a special buffer supporting this language, use @kbd{C-c '} to both enter and leave the editing buffer. @node Include files, Embedded @LaTeX{}, Literal examples, Markup @section Include files During export, you can include the content of another file. For example, to include your @file{.emacs} file, you could use: @smallexample #+INCLUDE: "~/.emacs" src emacs-lisp @end smallexample @noindent The optional second and third parameter are the markup (e.g.@: @samp{quote}, @samp{example}, or @samp{src}), and, if the markup is @samp{src}, the language for formatting the contents. The markup is optional, if it is not given, the text will be assumed to be in Org mode format and will be processed normally. @kbd{C-c '} will visit the included file. @node Embedded @LaTeX{}, , Include files, Markup @section Embedded @LaTeX{} For scientific notes which need to be able to contain mathematical symbols and the occasional formula, Org-mode supports embedding @LaTeX{} code into its files. You can directly use TeX-like syntax for special symbols, enter formulas and entire @LaTeX{} environments. @smallexample Angles are written as Greek letters \alpha, \beta and \gamma. The mass if the sun is M_sun = 1.989 x 10^30 kg. The radius of the sun is R_@{sun@} = 6.96 x 10^8 m. If $a^2=b$ and $b=2$, then the solution must be either $a=+\sqrt@{2@}$ or $a=-\sqrt@{2@}$. \begin@{equation@} x=\sqrt@{b@} \end@{equation@} @end smallexample @noindent With @uref{http://orgmode.org/manual/LaTeX-fragments.html#LaTeX-fragments,special setup}, @LaTeX{} snippets will be included as images when exporting to HTML. @seealso{ @uref{http://orgmode.org/manual/Markup.html#Markup, Chapter 11 of the manual}} @node Exporting, Publishing, Markup, Top @chapter Exporting Org-mode documents can be exported into a variety of other formats: ASCII export for inclusion into emails, HTML to publish on the web, @LaTeX{}/PDF for beautiful printed documents and DocBook to enter the world of many other formats using DocBook tools. There is also export to iCalendar format so that planning information can be incorporated into desktop calendars. @menu * Export options:: Per-file export settings * The export dispatcher:: How to access exporter commands * ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding * HTML export:: Exporting to HTML * @LaTeX{} and PDF export:: Exporting to @LaTeX{}, and processing to PDF * iCalendar export:: Exporting to iCalendar @end menu @node Export options, The export dispatcher, Exporting, Exporting @section Export options The exporter recognizes special lines in the buffer which provide additional information. These lines may be put anywhere in the file. The whole set of lines can be inserted into the buffer with @kbd{C-c C-e t}. @table @kbd @item C-c C-e t Insert template with export options, see example below. @end table @smallexample #+TITLE: the title to be shown (default is the buffer name) #+AUTHOR: the author (default taken from @code{user-full-name}) #+DATE: a date, fixed, or an Org timestamp #+EMAIL: his/her email address (default from @code{user-mail-address}) #+DESCRIPTION: the page description, e.g.@: for the XHTML meta tag #+KEYWORDS: the page keywords, e.g.@: for the XHTML meta tag #+LANGUAGE: language for HTML, e.g.@: @samp{en} (@code{org-export-default-language}) #+OPTIONS: H:2 num:t toc:t \n:nil ::t |:t ^:t f:t tex:t ... @end smallexample @node The export dispatcher, ASCII/Latin-1/UTF-8 export, Export options, Exporting @section The export dispatcher All export commands can be reached using the export dispatcher, which is a prefix key that prompts for an additional key specifying the command. Normally the entire file is exported, but if a region is active, it will be exported instead. @table @kbd @item C-c C-e Dispatcher for export and publishing commands. @end table @node ASCII/Latin-1/UTF-8 export, HTML export, The export dispatcher, Exporting @section ASCII/Latin-1/UTF-8 export ASCII export produces a simple and very readable version of an Org-mode file, containing only plain ASCII. Latin-1 and UTF-8 export augment the file with special characters and symbols available in these encodings. @table @kbd @item C-c C-e t a @ @ @r{and} @ @ C-c C-e t A Export as ASCII file or temporary buffer. @item C-c C-e t n @ @ @r{and} @ @ C-c C-e t N Like the above commands, but use Latin-1 encoding. @item C-c C-e t u @ @ @r{and} @ @ C-c C-e t U Like the above commands, but use UTF-8 encoding. @end table @node HTML export, @LaTeX{} and PDF export, ASCII/Latin-1/UTF-8 export, Exporting @section HTML export @table @kbd @item C-c C-e h h Export as HTML file @file{myfile.html}. @item C-c C-e h o Export as HTML file and immediately open it with a browser. @end table To insert HTML that should be copied verbatim to the exported file use either @smallexample #+HTML: Literal HTML code for export @end smallexample @noindent or @smallexample #+BEGIN_HTML All lines between these markers are exported literally #+END_HTML @end smallexample @node @LaTeX{} and PDF export, iCalendar export, HTML export, Exporting @section @LaTeX{} and PDF export @table @kbd @item C-c C-e l l Export as @LaTeX{} file @file{myfile.tex}. @item C-c C-e l p Export as @LaTeX{} and then process to PDF. @item C-c C-e l o Export as @LaTeX{} and then process to PDF, then open the resulting PDF file. @end table By default, the @LaTeX{} output uses the class @code{article}. You can change this by adding an option like @code{#+LATEX_CLASS: myclass} in your file. The class must be listed in @code{org-latex-classes}. Embedded @LaTeX{} as described in @ref{Embedded @LaTeX{}}, will be correctly inserted into the @LaTeX{} file. Similarly to the HTML exporter, you can use @code{#+LATEX:} and @code{#+BEGIN_LATEX ... #+END_LATEX} construct to add verbatim @LaTeX{} code. @node iCalendar export, , @LaTeX{} and PDF export, Exporting @section iCalendar export @table @kbd @item C-c C-e c f Create iCalendar entries for the current file in a @file{.ics} file. @item C-c C-e c c Create a single large iCalendar file from all files in @code{org-agenda-files} and write it to the file given by @code{org-icalendar-combined-agenda-file}. @end table @seealso{ @uref{http://orgmode.org/manual/Exporting.html#Exporting, Chapter 12 of the manual}@* @uref{http://orgmode.org/worg/org-tutorials/images-and-xhtml-export.php, Sebastian Rose's image handling tutorial}@* @uref{http://orgmode.org/worg/org-tutorials/org-latex-export.php, Thomas Dye's LaTeX export tutorial} @uref{http://orgmode.org/worg/org-tutorials/org-beamer/tutorial.php, Eric Fraga's BEAMER presentation tutorial}} @node Publishing, Working With Source Code, Exporting, Top @chapter Publishing Org includes a publishing management system that allows you to configure automatic HTML conversion of @emph{projects} composed of interlinked org files. You can also configure Org to automatically upload your exported HTML pages and related attachments, such as images and source code files, to a web server. For detailed instructions about setup, see the manual. Here is an example: @smalllisp (setq org-publish-project-alist '(("org" :base-directory "~/org/" :publishing-directory "~/public_html" :section-numbers nil :table-of-contents nil :style ""))) @end smalllisp @table @kbd @item C-c C-e P x Prompt for a specific project and publish all files that belong to it. @item C-c C-e P p Publish the project containing the current file. @item C-c C-e P f Publish only the current file. @item C-c C-e P a Publish every project. @end table Org uses timestamps to track when a file has changed. The above functions normally only publish changed files. You can override this and force publishing of all files by giving a prefix argument to any of the commands above. @seealso{ @uref{http://orgmode.org/manual/Publishing.html#Publishing, Chapter 13 of the manual}@* @uref{http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.php, Sebastian Rose's publishing tutorial}@* @uref{http://orgmode.org/worg/org-tutorials/org-jekyll.php, Ian Barton's Jekyll/blogging setup}} @node Working With Source Code, Miscellaneous, Publishing, Top @chapter Working with source code Org-mode provides a number of features for working with source code, including editing of code blocks in their native major-mode, evaluation of code blocks, tangling of code blocks, and exporting code blocks and their results in several formats. @subheading Structure of Code Blocks The structure of code blocks is as follows: @example #+NAME: #+BEGIN_SRC
#+END_SRC @end example Where @code{} is a string used to name the code block, @code{} specifies the language of the code block (e.g.@: @code{emacs-lisp}, @code{shell}, @code{R}, @code{python}, etc...), @code{} can be used to control export of the code block, @code{
} can be used to control many aspects of code block behavior as demonstrated below, and @code{} contains the actual source code. @subheading Editing source code Use @kbd{C-c '} to edit the current code block. This brings up a language major-mode edit buffer containing the body of the code block. Saving this buffer will write the new contents back to the Org buffer. Use @kbd{C-c '} again to exit the edit buffer. @subheading Evaluating code blocks Use @kbd{C-c C-c} to evaluate the current code block and insert its results in the Org-mode buffer. By default, evaluation is only turned on for @code{emacs-lisp} code blocks, however support exists for evaluating blocks in many languages. For a complete list of supported languages see the manual. The following shows a code block and its results. @example #+BEGIN_SRC emacs-lisp (+ 1 2 3 4) #+END_SRC #+RESULTS: : 10 @end example @subheading Extracting source code Use @kbd{C-c C-v t} to create pure source code files by extracting code from source blocks in the current buffer. This is referred to as ``tangling''---a term adopted from the literate programming community. During ``tangling'' of code blocks their bodies are expanded using @code{org-babel-expand-src-block} which can expand both variable and ``noweb'' style references. In order to tangle a code block it must have a @code{:tangle} header argument, see the manual for details. @subheading Library of Babel Use @kbd{C-c C-v l} to load the code blocks from an Org-mode files into the ``Library of Babel'', these blocks can then be evaluated from any Org-mode buffer. A collection of generally useful code blocks is distributed with Org-mode in @code{contrib/library-of-babel.org}. @subheading Header Arguments Many aspects of the evaluation and export of code blocks are controlled through header arguments. These can be specified globally, at the file level, at the outline subtree level, and at the individual code block level. The following describes some of the header arguments. @table @code @item :var The @code{:var} header argument is used to pass arguments to code blocks. The values passed to arguments can be literal values, values from org-mode tables and literal example blocks, or the results of other named code blocks. @item :results The @code{:results} header argument controls the @emph{collection}, @emph{type}, and @emph{handling} of code block results. Values of @code{output} or @code{value} (the default) specify how results are collected from a code block's evaluation. Values of @code{vector}, @code{scalar} @code{file} @code{raw} @code{html} @code{latex} and @code{code} specify the type of the results of the code block which dictates how they will be incorporated into the Org-mode buffer. Values of @code{silent}, @code{replace}, @code{prepend}, and @code{append} specify handling of code block results, specifically if and how the results should be inserted into the Org-mode buffer. @item :session A header argument of @code{:session} will cause the code block to be evaluated in a persistent interactive inferior process in Emacs. This allows for persisting state between code block evaluations, and for manual inspection of the results of evaluation. @item :exports Any combination of the @emph{code} or the @emph{results} of a block can be retained on export, this is specified by setting the @code{:results} header argument to @code{code} @code{results} @code{none} or @code{both}. @item :tangle A header argument of @code{:tangle yes} will cause a code block's contents to be tangled to a file named after the filename of the Org-mode buffer. An alternate file name can be specified with @code{:tangle filename}. @item :cache A header argument of @code{:cache yes} will cause associate a hash of the expanded code block with the results, ensuring that code blocks are only re-run when their inputs have changed. @item :noweb A header argument of @code{:noweb yes} will expand ``noweb'' style references on evaluation and tangling. @item :file Code blocks which output results to files (e.g.@: graphs, diagrams and figures) can accept a @code{:file filename} header argument in which case the results are saved to the named file, and a link to the file is inserted into the Org-mode buffer. @end table @seealso{ @uref{http://orgmode.org/manual/Literal-examples.html#Literal-examples, Chapter 11.3 of the manual}@* @uref{http://orgmode.org/worg/org-contrib/babel/index.php, The Babel site on Worg}} @node Miscellaneous, GNU Free Documentation License, Working With Source Code, Top @chapter Miscellaneous @menu * Completion:: M-TAB knows what you need * Clean view:: Getting rid of leading stars in the outline * MobileOrg:: Org-mode on the iPhone @end menu @node Completion, Clean view, Miscellaneous, Miscellaneous @section Completion Org supports in-buffer completion with @kbd{M-@key{TAB}}. This type of completion does not make use of the minibuffer. You simply type a few letters into the buffer and use the key to complete text right there. For example, this command will complete @TeX{} symbols after @samp{\}, TODO keywords at the beginning of a headline, and tags after @samp{:} in a headline. @node Clean view, MobileOrg, Completion, Miscellaneous @section A cleaner outline view Some people find it noisy and distracting that the Org headlines start with a potentially large number of stars, and that text below the headlines is not indented. While this is no problem when writing a @emph{book-like} document where the outline headings are really section headings, in a more @emph{list-oriented} outline, indented structure is a lot cleaner: @smallexample @group * Top level headline | * Top level headline ** Second level | * Second level *** 3rd level | * 3rd level some text | some text *** 3rd level | * 3rd level more text | more text * Another top level headline | * Another top level headline @end group @end smallexample @noindent If you are using at least Emacs 23.1.50.3 and version 6.29 of Org, this kind of view can be achieved dynamically at display time using @code{org-indent-mode}, which will prepend intangible space to each line. You can turn on @code{org-indent-mode} for all files by customizing the variable @code{org-startup-indented}, or you can turn it on for individual files using @smallexample #+STARTUP: indent @end smallexample If you want a similar effect in earlier version of Emacs and/or Org, or if you want the indentation to be hard space characters so that the plain text file looks as similar as possible to the Emacs display, Org supports you by helping to indent (with @key{TAB}) text below each headline, by hiding leading stars, and by only using levels 1, 3, etc to get two characters indentation for each level. To get this support in a file, use @smallexample #+STARTUP: hidestars odd @end smallexample @node MobileOrg, , Clean view, Miscellaneous @section MobileOrg @i{MobileOrg} is the name of the mobile companion app for Org mode, currently available for iOS and for Android. @i{MobileOrg} offers offline viewing and capture support for an Org mode system rooted on a ``real'' computer. It does also allow you to record changes to existing entries. The @uref{http://mobileorg.ncogni.to/, iOS implementation} for the @i{iPhone/iPod Touch/iPad} series of devices, was developed by Richard Moreland. Android users should check out @uref{http://wiki.github.com/matburt/mobileorg-android/, MobileOrg Android} by Matt Jones. The two implementations are not identical but offer similar features. @seealso{ @uref{http://orgmode.org/manual/Miscellaneous.html#Miscellaneous, Chapter 15 of the manual}@* @uref{http://orgmode.org/manual/MobileOrg.html#MobileOrg, Appendix B of the manual}@* @uref{http://orgmode.org/orgcard.pdf,Key reference card}} @node GNU Free Documentation License, , Miscellaneous, Top @appendix GNU Free Documentation License @include doclicense.texi @bye @c Local variables: @c fill-column: 77 @c End: @c LocalWords: webdavhost pre org-mode-doc-8.2.4/doc/org0000644000175000017500000350674712260050771013412 0ustar sebsebThis is org, produced by makeinfo version 4.13 from org.texi. This manual is for Org version 8.2.4 (release_8.2.4). Copyright (C) 2004-2013 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being "A GNU Manual," and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled "GNU Free Documentation License." (a) The FSF's Back-Cover Text is: "You have the freedom to copy and modify this GNU manual." INFO-DIR-SECTION Emacs editing modes START-INFO-DIR-ENTRY * Org Mode: (org). Outline-based notes management and organizer END-INFO-DIR-ENTRY  File: org, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) Org Mode Manual *************** This manual is for Org version 8.2.4 (release_8.2.4). Copyright (C) 2004-2013 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being "A GNU Manual," and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled "GNU Free Documentation License." (a) The FSF's Back-Cover Text is: "You have the freedom to copy and modify this GNU manual." * Menu: * Introduction:: Getting started * Document Structure:: A tree works like your brain * Tables:: Pure magic for quick formatting * Hyperlinks:: Notes in context * TODO Items:: Every tree branch can be a TODO item * Tags:: Tagging headlines and matching sets of tags * Properties and Columns:: Storing information about an entry * Dates and Times:: Making items useful for planning * Capture - Refile - Archive:: The ins and outs for projects * Agenda Views:: Collecting information into views * Markup:: Prepare text for rich export * Exporting:: Sharing and publishing notes * Publishing:: Create a web site of linked Org files * Working With Source Code:: Export, evaluate, and tangle code blocks * Miscellaneous:: All the rest which did not fit elsewhere * Hacking:: How to hack your way around * MobileOrg:: Viewing and capture on a mobile device * History and Acknowledgments:: How Org came into being * GNU Free Documentation License:: The license for this documentation. * Main Index:: An index of Org's concepts and features * Key Index:: Key bindings and where they are described * Command and Function Index:: Command names and some internal functions * Variable Index:: Variables mentioned in the manual --- The Detailed Node Listing --- Introduction * Summary:: Brief summary of what Org does * Installation:: Installing Org * Activation:: How to activate Org for certain buffers * Feedback:: Bug reports, ideas, patches etc. * Conventions:: Typesetting conventions in the manual Document structure * Outlines:: Org is based on Outline mode * Headlines:: How to typeset Org tree headlines * Visibility cycling:: Show and hide, much simplified * Motion:: Jumping to other headlines * Structure editing:: Changing sequence and level of headlines * Sparse trees:: Matches embedded in context * Plain lists:: Additional structure within an entry * Drawers:: Tucking stuff away * Blocks:: Folding blocks * Footnotes:: How footnotes are defined in Org's syntax * Orgstruct mode:: Structure editing outside Org * Org syntax:: Formal description of Org's syntax Visibility cycling * Global and local cycling:: Cycling through various visibility states * Initial visibility:: Setting the initial visibility state * Catching invisible edits:: Preventing mistakes when editing invisible parts Global and local cycling * Initial visibility:: Setting the initial visibility state * Catching invisible edits:: Preventing mistakes when editing invisible parts Tables * Built-in table editor:: Simple tables * Column width and alignment:: Overrule the automatic settings * Column groups:: Grouping to trigger vertical lines * Orgtbl mode:: The table editor as minor mode * The spreadsheet:: The table editor has spreadsheet capabilities * Org-Plot:: Plotting from org tables The spreadsheet * References:: How to refer to another field or range * Formula syntax for Calc:: Using Calc to compute stuff * Formula syntax for Lisp:: Writing formulas in Emacs Lisp * Durations and time values:: How to compute durations and time values * Field and range formulas:: Formula for specific (ranges of) fields * Column formulas:: Formulas valid for an entire column * Lookup functions:: Lookup functions for searching tables * Editing and debugging formulas:: Fixing formulas * Updating the table:: Recomputing all dependent fields * Advanced features:: Field and column names, parameters and automatic recalc Hyperlinks * Link format:: How links in Org are formatted * Internal links:: Links to other places in the current file * External links:: URL-like links to the world * Handling links:: Creating, inserting and following * Using links outside Org:: Linking from my C source code? * Link abbreviations:: Shortcuts for writing complex links * Search options:: Linking to a specific location * Custom searches:: When the default search is not enough Internal links * Radio targets:: Make targets trigger links in plain text TODO items * TODO basics:: Marking and displaying TODO entries * TODO extensions:: Workflow and assignments * Progress logging:: Dates and notes for progress * Priorities:: Some things are more important than others * Breaking down tasks:: Splitting a task into manageable pieces * Checkboxes:: Tick-off lists Extended use of TODO keywords * Workflow states:: From TODO to DONE in steps * TODO types:: I do this, Fred does the rest * Multiple sets in one file:: Mixing it all, and still finding your way * Fast access to TODO states:: Single letter selection of a state * Per-file keywords:: Different files, different requirements * Faces for TODO keywords:: Highlighting states * TODO dependencies:: When one task needs to wait for others Progress logging * Closing items:: When was this entry marked DONE? * Tracking TODO state changes:: When did the status change? * Tracking your habits:: How consistent have you been? Tags * Tag inheritance:: Tags use the tree structure of the outline * Setting tags:: How to assign tags to a headline * Tag groups:: Use one tag to search for several tags * Tag searches:: Searching for combinations of tags Properties and columns * Property syntax:: How properties are spelled out * Special properties:: Access to other Org mode features * Property searches:: Matching property values * Property inheritance:: Passing values down the tree * Column view:: Tabular viewing and editing * Property API:: Properties for Lisp programmers Column view * Defining columns:: The COLUMNS format property * Using column view:: How to create and use column view * Capturing column view:: A dynamic block for column view Defining columns * Scope of column definitions:: Where defined, where valid? * Column attributes:: Appearance and content of a column Dates and times * Timestamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps * Deadlines and scheduling:: Planning your work * Clocking work time:: Tracking how long you spend on a task * Effort estimates:: Planning work effort in advance * Relative timer:: Notes with a running timer * Countdown timer:: Starting a countdown timer for a task Creating timestamps * The date/time prompt:: How Org mode helps you entering date and time * Custom time format:: Making dates look different Deadlines and scheduling * Inserting deadline/schedule:: Planning items * Repeated tasks:: Items that show up again and again Clocking work time * Clocking commands:: Starting and stopping a clock * The clock table:: Detailed reports * Resolving idle time:: Resolving time when you've been idle Capture - Refile - Archive * Capture:: Capturing new stuff * Attachments:: Add files to tasks * RSS Feeds:: Getting input from RSS feeds * Protocols:: External (e.g., Browser) access to Emacs and Org * Refile and copy:: Moving/copying a tree from one place to another * Archiving:: What to do with finished projects Capture * Setting up capture:: Where notes will be stored * Using capture:: Commands to invoke and terminate capture * Capture templates:: Define the outline of different note types Capture templates * Template elements:: What is needed for a complete template entry * Template expansion:: Filling in information about time and context * Templates in contexts:: Only show a template in a specific context Archiving * Moving subtrees:: Moving a tree to an archive file * Internal archiving:: Switch off a tree but keep it in the file Agenda views * Agenda files:: Files being searched for agenda information * Agenda dispatcher:: Keyboard access to agenda views * Built-in agenda views:: What is available out of the box? * Presentation and sorting:: How agenda items are prepared for display * Agenda commands:: Remote editing of Org trees * Custom agenda views:: Defining special searches and views * Exporting Agenda Views:: Writing a view to a file * Agenda column view:: Using column view for collected entries The built-in agenda views * Weekly/daily agenda:: The calendar page with current tasks * Global TODO list:: All unfinished action items * Matching tags and properties:: Structured information with fine-tuned search * Timeline:: Time-sorted view for single file * Search view:: Find entries by searching for text * Stuck projects:: Find projects you need to review Presentation and sorting * Categories:: Not all tasks are equal * Time-of-day specifications:: How the agenda knows the time * Sorting agenda items:: The order of things * Filtering/limiting agenda items:: Dynamically narrow the agenda Custom agenda views * Storing searches:: Type once, use often * Block agenda:: All the stuff you need in a single buffer * Setting Options:: Changing the rules Markup for rich export * Structural markup elements:: The basic structure as seen by the exporter * Images and tables:: Images, tables and caption mechanism * Literal examples:: Source code examples with special formatting * Include files:: Include additional files into a document * Index entries:: Making an index * Macro replacement:: Use macros to create templates * Embedded LaTeX:: LaTeX can be freely used inside Org documents * Special blocks:: Containers targeted at export back-ends Structural markup elements * Document title:: Where the title is taken from * Headings and sections:: The document structure as seen by the exporter * Table of contents:: The if and where of the table of contents * Lists:: Lists * Paragraphs:: Paragraphs * Footnote markup:: Footnotes * Emphasis and monospace:: Bold, italic, etc. * Horizontal rules:: Make a line * Comment lines:: What will *not* be exported Embedded LaTeX * Special symbols:: Greek letters and other symbols * Subscripts and superscripts:: Simple syntax for raising/lowering text * LaTeX fragments:: Complex formulas made easy * Previewing LaTeX fragments:: What will this snippet look like? * CDLaTeX mode:: Speed up entering of formulas Exporting * The Export Dispatcher:: The main exporter interface * Export back-ends:: Built-in export formats * Export settings:: Generic export settings * ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding * Beamer export:: Exporting as a Beamer presentation * HTML export:: Exporting to HTML * LaTeX and PDF export:: Exporting to LaTeX, and processing to PDF * Markdown export:: Exporting to Markdown * OpenDocument Text export:: Exporting to OpenDocument Text * iCalendar export:: Exporting to iCalendar * Other built-in back-ends:: Exporting to `Texinfo', a man page, or Org * Export in foreign buffers:: Author tables in lists in Org syntax * Advanced configuration:: Fine-tuning the export output HTML export * HTML Export commands:: How to invoke HTML export * HTML doctypes:: Org can export to various (X)HTML flavors * HTML preamble and postamble:: How to insert a preamble and a postamble * Quoting HTML tags:: Using direct HTML in Org mode * Links in HTML export:: How links will be interpreted and formatted * Tables in HTML export:: How to modify the formatting of tables * Images in HTML export:: How to insert figures into HTML output * Math formatting in HTML export:: Beautiful math also on the web * Text areas in HTML export:: An alternative way to show an example * CSS support:: Changing the appearance of the output * JavaScript support:: Info and Folding in a web browser LaTeX and PDF export * LaTeX export commands:: How to export to LaTeX and PDF * Header and sectioning:: Setting up the export file structure * Quoting LaTeX code:: Incorporating literal LaTeX code * LaTeX specific attributes:: Controlling LaTeX output OpenDocument Text export * Pre-requisites for ODT export:: What packages ODT exporter relies on * ODT export commands:: How to invoke ODT export * Extending ODT export:: How to produce `doc', `pdf' files * Applying custom styles:: How to apply custom styles to the output * Links in ODT export:: How links will be interpreted and formatted * Tables in ODT export:: How Tables are exported * Images in ODT export:: How to insert images * Math formatting in ODT export:: How LaTeX fragments are formatted * Labels and captions in ODT export:: How captions are rendered * Literal examples in ODT export:: How source and example blocks are formatted * Advanced topics in ODT export:: Read this if you are a power user Math formatting in ODT export * Working with LaTeX math snippets:: How to embed LaTeX math fragments * Working with MathML or OpenDocument formula files:: How to embed equations in native format Advanced topics in ODT export * Configuring a document converter:: How to register a document converter * Working with OpenDocument style files:: Explore the internals * Creating one-off styles:: How to produce custom highlighting etc * Customizing tables in ODT export:: How to define and use Table templates * Validating OpenDocument XML:: How to debug corrupt OpenDocument files Publishing * Configuration:: Defining projects * Uploading files:: How to get files up on the server * Sample configuration:: Example projects * Triggering publication:: Publication commands Configuration * Project alist:: The central configuration variable * Sources and destinations:: From here to there * Selecting files:: What files are part of the project? * Publishing action:: Setting the function doing the publishing * Publishing options:: Tweaking HTML/LaTeX export * Publishing links:: Which links keep working after publishing? * Sitemap:: Generating a list of all pages * Generating an index:: An index that reaches across pages Sample configuration * Simple example:: One-component publishing * Complex example:: A multi-component publishing example Working with source code * Structure of code blocks:: Code block syntax described * Editing source code:: Language major-mode editing * Exporting code blocks:: Export contents and/or results * Extracting source code:: Create pure source code files * Evaluating code blocks:: Place results of evaluation in the Org mode buffer * Library of Babel:: Use and contribute to a library of useful code blocks * Languages:: List of supported code block languages * Header arguments:: Configure code block functionality * Results of evaluation:: How evaluation results are handled * Noweb reference syntax:: Literate programming in Org mode * Key bindings and useful functions:: Work quickly with code blocks * Batch execution:: Call functions from the command line Header arguments * Using header arguments:: Different ways to set header arguments * Specific header arguments:: List of header arguments Using header arguments * System-wide header arguments:: Set global default values * Language-specific header arguments:: Set default values by language * Header arguments in Org mode properties:: Set default values for a buffer or heading * Language-specific header arguments in Org mode properties:: Set language-specific default values for a buffer or heading * Code block specific header arguments:: The most common way to set values * Header arguments in function calls:: The most specific level Specific header arguments * var:: Pass arguments to code blocks * results:: Specify the type of results and how they will be collected and handled * file:: Specify a path for file output * file-desc:: Specify a description for file results * dir:: Specify the default (possibly remote) directory for code block execution * exports:: Export code and/or results * tangle:: Toggle tangling and specify file name * mkdirp:: Toggle creation of parent directories of target files during tangling * comments:: Toggle insertion of comments in tangled code files * padline:: Control insertion of padding lines in tangled code files * no-expand:: Turn off variable assignment and noweb expansion during tangling * session:: Preserve the state of code evaluation * noweb:: Toggle expansion of noweb references * noweb-ref:: Specify block's noweb reference resolution target * noweb-sep:: String used to separate noweb references * cache:: Avoid re-evaluating unchanged code blocks * sep:: Delimiter for writing tabular results outside Org * hlines:: Handle horizontal lines in tables * colnames:: Handle column names in tables * rownames:: Handle row names in tables * shebang:: Make tangled files executable * tangle-mode:: Set permission of tangled files * eval:: Limit evaluation of specific code blocks * wrap:: Mark source block evaluation results * post:: Post processing of code block results * prologue:: Text to prepend to code block body * epilogue:: Text to append to code block body Miscellaneous * Completion:: M-TAB knows what you need * Easy Templates:: Quick insertion of structural elements * Speed keys:: Electric commands at the beginning of a headline * Code evaluation security:: Org mode files evaluate inline code * Customization:: Adapting Org to your taste * In-buffer settings:: Overview of the #+KEYWORDS * The very busy C-c C-c key:: When in doubt, press C-c C-c * Clean view:: Getting rid of leading stars in the outline * TTY keys:: Using Org on a tty * Interaction:: Other Emacs packages * org-crypt:: Encrypting Org files Interaction with other packages * Cooperation:: Packages Org cooperates with * Conflicts:: Packages that lead to conflicts Hacking * Hooks:: How to reach into Org's internals * Add-on packages:: Available extensions * Adding hyperlink types:: New custom link types * Adding export back-ends:: How to write new export back-ends * Context-sensitive commands:: How to add functionality to such commands * Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs * Dynamic blocks:: Automatically filled blocks * Special agenda views:: Customized views * Speeding up your agendas:: Tips on how to speed up your agendas * Extracting agenda information:: Post-processing of agenda information * Using the property API:: Writing programs that use entry properties * Using the mapping API:: Mapping over all or selected entries Tables and lists in arbitrary syntax * Radio tables:: Sending and receiving radio tables * A LaTeX example:: Step by step, almost a tutorial * Translator functions:: Copy and modify * Radio lists:: Sending and receiving lists MobileOrg * Setting up the staging area:: Where to interact with the mobile device * Pushing to MobileOrg:: Uploading Org files and agendas * Pulling from MobileOrg:: Integrating captured and flagged items  File: org, Node: Introduction, Next: Document Structure, Prev: Top, Up: Top 1 Introduction ************** * Menu: * Summary:: Brief summary of what Org does * Installation:: Installing Org * Activation:: How to activate Org for certain buffers * Feedback:: Bug reports, ideas, patches etc. * Conventions:: Typesetting conventions in the manual  File: org, Node: Summary, Next: Installation, Prev: Introduction, Up: Introduction 1.1 Summary =========== Org is a mode for keeping notes, maintaining TODO lists, and doing project planning with a fast and effective plain-text system. Org develops organizational tasks around NOTES files that contain lists or information about projects as plain text. Org is implemented on top of Outline mode, which makes it possible to keep the content of large files well structured. Visibility cycling and structure editing help to work with the tree. Tables are easily created with a built-in table editor. Org supports TODO items, deadlines, timestamps, and scheduling. It dynamically compiles entries into an agenda that utilizes and smoothly integrates much of the Emacs calendar and diary. Plain text URL-like links connect to websites, emails, Usenet messages, BBDB entries, and any files related to the projects. For printing and sharing notes, an Org file can be exported as a structured ASCII file, as HTML, or (TODO and agenda items only) as an iCalendar file. It can also serve as a publishing tool for a set of linked web pages. As a project planning environment, Org works by adding metadata to outline nodes. Based on this data, specific entries can be extracted in queries and create dynamic agenda views. Org mode contains the Org Babel environment which allows you to work with embedded source code blocks in a file, to facilitate code evaluation, documentation, and literate programming techniques. Org's automatic, context-sensitive table editor with spreadsheet capabilities can be integrated into any major mode by activating the minor Orgtbl mode. Using a translation step, it can be used to maintain tables in arbitrary file types, for example in LaTeX. The structure editing and list creation capabilities can be used outside Org with the minor Orgstruct mode. Org keeps simple things simple. When first fired up, it should feel like a straightforward, easy to use outliner. Complexity is not imposed, but a large amount of functionality is available when you need it. Org is a toolbox and can be used in different ways and for different ends, for example: * an outline extension with visibility cycling and structure editing * an ASCII system and table editor for taking structured notes * a TODO list editor * a full agenda and planner with deadlines and work scheduling * an environment in which to implement David Allen's GTD system * a simple hypertext system, with HTML and LaTeX export * a publishing tool to create a set of interlinked web pages * an environment for literate programming There is a website for Org which provides links to the newest version of Org, as well as additional information, frequently asked questions (FAQ), links to tutorials, etc. This page is located at `http://orgmode.org'. The version 7.3 of this manual is available as a paperback book from Network Theory Ltd. (http://www.network-theory.co.uk/org/manual/)  File: org, Node: Installation, Next: Activation, Prev: Summary, Up: Introduction 1.2 Installation ================ Org is part of recent distributions of GNU Emacs, so you normally don't need to install it. If, for one reason or another, you want to install Org on top of this pre-packaged version, there are three ways to do it: * By using Emacs package system. * By downloading Org as an archive. * By using Org's git repository. We strongly recommend to stick to a single installation method. Using Emacs packaging system ............................ Recent Emacs distributions include a packaging system which lets you install Elisp libraries. You can install Org with `M-x package-install RET org'. You need to do this in a session where no `.org' file has been visited. Then, to make sure your Org configuration is taken into account, initialize the package system with `(package-initialize)' in your `.emacs' before setting any Org option. If you want to use Org's package repository, check out the Org ELPA page (http://orgmode.org/elpa.html). Downloading Org as an archive ............................. You can download Org latest release from Org's website (http://orgmode.org/). In this case, make sure you set the load-path correctly in your `.emacs': (add-to-list 'load-path "~/path/to/orgdir/lisp") The downloaded archive contains contributed libraries that are not included in Emacs. If you want to use them, add the `contrib' directory to your load-path: (add-to-list 'load-path "~/path/to/orgdir/contrib/lisp" t) Optionally, you can compile the files and/or install them in your system. Run `make help' to list compilation and installation options. Using Org's git repository .......................... You can clone Org's repository and install Org like this: $ cd ~/src/ $ git clone git://orgmode.org/org-mode.git $ make autoloads Note that in this case, `make autoloads' is mandatory: it defines Org's version in `org-version.el' and Org's autoloads in `org-loaddefs.el'. Remember to add the correct load-path as described in the method above. You can also compile with `make', generate the documentation with `make doc', create a local configuration with `make config' and install Org with `make install'. Please run `make help' to get the list of compilation/installation options. For more detailed explanations on Org's build system, please check the Org Build System page on Worg (http://orgmode.org/worg/dev/org-build-system.html).  File: org, Node: Activation, Next: Feedback, Prev: Installation, Up: Introduction 1.3 Activation ============== Since Emacs 22.2, files with the `.org' extension use Org mode by default. If you are using an earlier version of Emacs, add this line to your `.emacs' file: (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) Org mode buffers need font-lock to be turned on: this is the default in Emacs(1). There are compatibility issues between Org mode and some other Elisp packages, please take the time to check the list (*note Conflicts::). The four Org commands `org-store-link', `org-capture', `org-agenda', and `org-iswitchb' should be accessible through global keys (i.e., anywhere in Emacs, not just in Org buffers). Here are suggested bindings for these keys, please modify the keys to your own liking. (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-cc" 'org-capture) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cb" 'org-iswitchb) With this setup, all files with extension `.org' will be put into Org mode. As an alternative, make the first line of a file look like this: MY PROJECTS -*- mode: org; -*- which will select Org mode for this buffer no matter what the file's name is. See also the variable `org-insert-mode-line-in-empty-file'. Many commands in Org work on the region if the region is active. To make use of this, you need to have `transient-mark-mode' (`zmacs-regions' in XEmacs) turned on. In Emacs 23 this is the default, in Emacs 22 you need to do this yourself with (transient-mark-mode 1) If you do not like `transient-mark-mode', you can create an active region by using the mouse to select a region, or pressing `C-' twice before moving the cursor. ---------- Footnotes ---------- (1) If you don't use font-lock globally, turn it on in Org buffer with `(add-hook 'org-mode-hook 'turn-on-font-lock)'  File: org, Node: Feedback, Next: Conventions, Prev: Activation, Up: Introduction 1.4 Feedback ============ If you find problems with Org, or if you have questions, remarks, or ideas about it, please mail to the Org mailing list . If you are not a member of the mailing list, your mail will be passed to the list after a moderator has approved it(1). For bug reports, please first try to reproduce the bug with the latest version of Org available--if you are running an outdated version, it is quite possible that the bug has been fixed already. If the bug persists, prepare a report and provide as much information as possible, including the version information of Emacs (`M-x emacs-version ') and Org (`M-x org-version RET'), as well as the Org related setup in `.emacs'. The easiest way to do this is to use the command M-x org-submit-bug-report RET which will put all this information into an Emacs mail buffer so that you only need to add your description. If you re not sending the Email from within Emacs, please copy and paste the content into your Email program. Sometimes you might face a problem due to an error in your Emacs or Org mode setup. Before reporting a bug, it is very helpful to start Emacs with minimal customizations and reproduce the problem. Doing so often helps you determine if the problem is with your customization or with Org mode itself. You can start a typical minimal session with a command like the example below. $ emacs -Q -l /path/to/minimal-org.el However if you are using Org mode as distributed with Emacs, a minimal setup is not necessary. In that case it is sufficient to start Emacs as `emacs -Q'. The `minimal-org.el' setup file can have contents as shown below. ;;; Minimal setup to load latest `org-mode' ;; activate debugging (setq debug-on-error t debug-on-signal nil debug-on-quit nil) ;; add latest org-mode to load path (add-to-list 'load-path (expand-file-name "/path/to/org-mode/lisp")) (add-to-list 'load-path (expand-file-name "/path/to/org-mode/contrib/lisp" t)) If an error occurs, a backtrace can be very useful (see below on how to create one). Often a small example file helps, along with clear information about: 1. What exactly did you do? 2. What did you expect to happen? 3. What happened instead? Thank you for helping to improve this program. How to create a useful backtrace ................................ If working with Org produces an error with a message you don't understand, you may have hit a bug. The best way to report this is by providing, in addition to what was mentioned above, a _backtrace_. This is information from the built-in debugger about where and how the error occurred. Here is how to produce a useful backtrace: 1. Reload uncompiled versions of all Org mode Lisp files. The backtrace contains much more information if it is produced with uncompiled code. To do this, use C-u M-x org-reload RET or select `Org -> Refresh/Reload -> Reload Org uncompiled' from the menu. 2. Go to the `Options' menu and select `Enter Debugger on Error' (XEmacs has this option in the `Troubleshooting' sub-menu). 3. Do whatever you have to do to hit the error. Don't forget to document the steps you take. 4. When you hit the error, a `*Backtrace*' buffer will appear on the screen. Save this buffer to a file (for example using `C-x C-w') and attach it to your bug report. ---------- Footnotes ---------- (1) Please consider subscribing to the mailing list, in order to minimize the work the mailing list moderators have to do.  File: org, Node: Conventions, Prev: Feedback, Up: Introduction 1.5 Typesetting conventions used in this manual =============================================== TODO keywords, tags, properties, etc. ..................................... Org mainly uses three types of keywords: TODO keywords, tags and property names. In this manual we use the following conventions: `TODO' `WAITING' TODO keywords are written with all capitals, even if they are user-defined. `boss' `ARCHIVE' User-defined tags are written in lowercase; built-in tags with special meaning are written with all capitals. `Release' `PRIORITY' User-defined properties are capitalized; built-in properties with special meaning are written with all capitals. Moreover, Org uses option keywords (like `#+TITLE' to set the title) and environment keywords (like `#+BEGIN_HTML' to start a `HTML' environment). They are written in uppercase in the manual to enhance its readability, but you can use lowercase in your Org files(1). Keybindings and commands ........................ The manual suggests two global keybindings: `C-c a' for `org-agenda' and `C-c c' for `org-capture'. These are only suggestions, but the rest of the manual assumes that you are using these keybindings. Also, the manual lists both the keys and the corresponding commands for accessing a functionality. Org mode often uses the same key for different functions, depending on context. The command that is bound to such keys has a generic name, like `org-metaright'. In the manual we will, wherever possible, give the function that is internally called by the generic command. For example, in the chapter on document structure, `M-' will be listed to call `org-do-demote', while in the chapter on tables, it will be listed to call `org-table-move-column-right'. If you prefer, you can compile the manual without the command names by unsetting the flag `cmdnames' in `org.texi'. ---------- Footnotes ---------- (1) Easy templates insert lowercase keywords and Babel dynamically inserts `#+results'.  File: org, Node: Document Structure, Next: Tables, Prev: Introduction, Up: Top 2 Document structure ******************** Org is based on Outline mode and provides flexible commands to edit the structure of the document. * Menu: * Outlines:: Org is based on Outline mode * Headlines:: How to typeset Org tree headlines * Visibility cycling:: Show and hide, much simplified * Motion:: Jumping to other headlines * Structure editing:: Changing sequence and level of headlines * Sparse trees:: Matches embedded in context * Plain lists:: Additional structure within an entry * Drawers:: Tucking stuff away * Blocks:: Folding blocks * Footnotes:: How footnotes are defined in Org's syntax * Orgstruct mode:: Structure editing outside Org * Org syntax:: Formal description of Org's syntax  File: org, Node: Outlines, Next: Headlines, Prev: Document Structure, Up: Document Structure 2.1 Outlines ============ Org is implemented on top of Outline mode. Outlines allow a document to be organized in a hierarchical structure, which (at least for me) is the best representation of notes and thoughts. An overview of this structure is achieved by folding (hiding) large parts of the document to show only the general document structure and the parts currently being worked on. Org greatly simplifies the use of outlines by compressing the entire show/hide functionality into a single command, `org-cycle', which is bound to the key.  File: org, Node: Headlines, Next: Visibility cycling, Prev: Outlines, Up: Document Structure 2.2 Headlines ============= Headlines define the structure of an outline tree. The headlines in Org start with one or more stars, on the left margin(1) (2). For example: * Top level headline ** Second level *** 3rd level some text *** 3rd level more text * Another top level headline Some people find the many stars too noisy and would prefer an outline that has whitespace followed by a single star as headline starters. *note Clean view::, describes a setup to realize this. An empty line after the end of a subtree is considered part of it and will be hidden when the subtree is folded. However, if you leave at least two empty lines, one empty line will remain visible after folding the subtree, in order to structure the collapsed view. See the variable `org-cycle-separator-lines' to modify this behavior. ---------- Footnotes ---------- (1) See the variables `org-special-ctrl-a/e', `org-special-ctrl-k', and `org-ctrl-k-protect-subtree' to configure special behavior of `C-a', `C-e', and `C-k' in headlines. (2) Clocking only works with headings indented less then 30 stars.  File: org, Node: Visibility cycling, Next: Motion, Prev: Headlines, Up: Document Structure 2.3 Visibility cycling ====================== * Menu: * Global and local cycling:: Cycling through various visibility states * Initial visibility:: Setting the initial visibility state * Catching invisible edits:: Preventing mistakes when editing invisible parts  File: org, Node: Global and local cycling, Next: Initial visibility, Prev: Visibility cycling, Up: Visibility cycling 2.3.1 Global and local cycling ------------------------------ Outlines make it possible to hide parts of the text in the buffer. Org uses just two commands, bound to and `S-' to change the visibility in the buffer. `' (`org-cycle') _Subtree cycling_: Rotate current subtree among the states ,-> FOLDED -> CHILDREN -> SUBTREE --. '-----------------------------------' The cursor must be on a headline for this to work(1). When the cursor is at the beginning of the buffer and the first line is not a headline, then actually runs global cycling (see below)(2). Also when called with a prefix argument (`C-u '), global cycling is invoked. `S-' (`org-global-cycle') C-u _Global cycling_: Rotate the entire buffer among the states ,-> OVERVIEW -> CONTENTS -> SHOW ALL --. '--------------------------------------' When `S-' is called with a numeric prefix argument N, the CONTENTS view up to headlines of level N will be shown. Note that inside tables, `S-' jumps to the previous field. `C-u C-u C-u ' (`show-all') Show all, including drawers. `C-c C-r' (`org-reveal') Reveal context around point, showing the current entry, the following heading and the hierarchy above. Useful for working near a location that has been exposed by a sparse tree command (*note Sparse trees::) or an agenda command (*note Agenda commands::). With a prefix argument show, on each level, all sibling headings. With a double prefix argument, also show the entire subtree of the parent. `C-c C-k' (`show-branches') Expose all the headings of the subtree, CONTENT view for just one subtree. `C-c ' (`show-children') Expose all direct children of the subtree. With a numeric prefix argument N, expose all children down to level N. `C-c C-x b' (`org-tree-to-indirect-buffer') Show the current subtree in an indirect buffer(3). With a numeric prefix argument N, go up to level N and then take that tree. If N is negative then go up that many levels. With a `C-u' prefix, do not remove the previously used indirect buffer. `C-c C-x v' (`org-copy-visible') Copy the visible text in the region into the kill ring. * Menu: * Initial visibility:: Setting the initial visibility state * Catching invisible edits:: Preventing mistakes when editing invisible parts ---------- Footnotes ---------- (1) see, however, the option `org-cycle-emulate-tab'. (2) see the option `org-cycle-global-at-bob'. (3) The indirect buffer (*note Indirect Buffers: (emacs)Indirect Buffers.) will contain the entire buffer, but will be narrowed to the current tree. Editing the indirect buffer will also change the original buffer, but without affecting visibility in that buffer.  File: org, Node: Initial visibility, Next: Catching invisible edits, Prev: Global and local cycling, Up: Visibility cycling 2.3.2 Initial visibility ------------------------ When Emacs first visits an Org file, the global state is set to OVERVIEW, i.e., only the top level headlines are visible(1) This can be configured through the variable `org-startup-folded', or on a per-file basis by adding one of the following lines anywhere in the buffer: #+STARTUP: overview #+STARTUP: content #+STARTUP: showall #+STARTUP: showeverything The startup visibility options are ignored when the file is open for the first time during the agenda generation: if you want the agenda to honor the startup visibility, set `org-agenda-inhibit-startup' to `nil'. Furthermore, any entries with a `VISIBILITY' property (*note Properties and Columns::) will get their visibility adapted accordingly. Allowed values for this property are `folded', `children', `content', and `all'. `C-u C-u ' (`org-set-startup-visibility') Switch back to the startup visibility of the buffer, i.e., whatever is requested by startup options and `VISIBILITY' properties in individual entries. ---------- Footnotes ---------- (1) When `org-agenda-inhibit-startup' is non-`nil', Org will not honor the default visibility state when first opening a file for the agenda (*note Speeding up your agendas::).  File: org, Node: Catching invisible edits, Prev: Initial visibility, Up: Visibility cycling 2.3.3 Catching invisible edits ------------------------------ Sometimes you may inadvertently edit an invisible part of the buffer and be confused on what has been edited and how to undo the mistake. Setting `org-catch-invisible-edits' to non-`nil' will help prevent this. See the docstring of this option on how Org should catch invisible edits and process them.  File: org, Node: Motion, Next: Structure editing, Prev: Visibility cycling, Up: Document Structure 2.4 Motion ========== The following commands jump to other headlines in the buffer. `C-c C-n' (`outline-next-visible-heading') Next heading. `C-c C-p' (`outline-previous-visible-heading') Previous heading. `C-c C-f' (`org-forward-same-level') Next heading same level. `C-c C-b' (`org-backward-same-level') Previous heading same level. `C-c C-u' (`outline-up-heading') Backward to higher level heading. `C-c C-j' (`org-goto') Jump to a different place without changing the current outline visibility. Shows the document structure in a temporary buffer, where you can use the following keys to find your destination: Cycle visibility. / Next/previous visible headline. Select this location. / Do a Sparse-tree search The following keys work if you turn off `org-goto-auto-isearch' n / p Next/previous visible headline. f / b Next/previous headline same level. u One level up. 0-9 Digit argument. q Quit See also the option `org-goto-interface'.  File: org, Node: Structure editing, Next: Sparse trees, Prev: Motion, Up: Document Structure 2.5 Structure editing ===================== `M-' (`org-insert-heading') Insert a new heading/item with the same level than the one at point. If the cursor is in a plain list item, a new item is created (*note Plain lists::). To prevent this behavior in lists, call the command with a prefix argument. When this command is used in the middle of a line, the line is split and the rest of the line becomes the new item or headline(1). If the command is used at the _beginning_ of a headline, the new headline is created before the current line. If the command is used at the _end_ of a folded subtree (i.e., behind the ellipses at the end of a headline), then a headline will be inserted after the end of the subtree. Calling this command with `C-u C-u' will unconditionally respect the headline's content and create a new item at the end of the parent subtree. `C-' (`org-insert-heading-respect-content') Just like `M-', except when adding a new heading below the current heading, the new heading is placed after the body instead of before it. This command works from anywhere in the entry. `M-S-' (`org-insert-todo-heading') Insert new TODO entry with same level as current heading. See also the variable `org-treat-insert-todo-heading-as-state-change'. `C-S-' (`org-insert-todo-heading-respect-content') Insert new TODO entry with same level as current heading. Like `C-', the new headline will be inserted after the current subtree. `' (`org-cycle') In a new entry with no text yet, the first demotes the entry to become a child of the previous one. The next makes it a parent, and so on, all the way to top level. Yet another , and you are back to the initial level. `M-' (`org-do-promote') Promote current heading by one level. `M-' (`org-do-demote') Demote current heading by one level. `M-S-' (`org-promote-subtree') Promote the current subtree by one level. `M-S-' (`org-demote-subtree') Demote the current subtree by one level. `M-S-' (`org-move-subtree-up') Move subtree up (swap with previous subtree of same level). `M-S-' (`org-move-subtree-down') Move subtree down (swap with next subtree of same level). `M-h' (`org-mark-element') Mark the element at point. Hitting repeatedly will mark subsequent elements of the one just marked. E.g., hitting on a paragraph will mark it, hitting immediately again will mark the next one. `C-c @' (`org-mark-subtree') Mark the subtree at point. Hitting repeatedly will mark subsequent subtrees of the same level than the marked subtree. `C-c C-x C-w' (`org-cut-subtree') Kill subtree, i.e., remove it from buffer but save in kill ring. With a numeric prefix argument N, kill N sequential subtrees. `C-c C-x M-w' (`org-copy-subtree') Copy subtree to kill ring. With a numeric prefix argument N, copy the N sequential subtrees. `C-c C-x C-y' (`org-paste-subtree') Yank subtree from kill ring. This does modify the level of the subtree to make sure the tree fits in nicely at the yank position. The yank level can also be specified with a numeric prefix argument, or by yanking after a headline marker like `****'. `C-y' (`org-yank') Depending on the options `org-yank-adjusted-subtrees' and `org-yank-folded-subtrees', Org's internal `yank' command will paste subtrees folded and in a clever way, using the same command as `C-c C-x C-y'. With the default settings, no level adjustment will take place, but the yanked tree will be folded unless doing so would swallow text previously visible. Any prefix argument to this command will force a normal `yank' to be executed, with the prefix passed along. A good way to force a normal yank is `C-u C-y'. If you use `yank-pop' after a yank, it will yank previous kill items plainly, without adjustment and folding. `C-c C-x c' (`org-clone-subtree-with-time-shift') Clone a subtree by making a number of sibling copies of it. You will be prompted for the number of copies to make, and you can also specify if any timestamps in the entry should be shifted. This can be useful, for example, to create a number of tasks related to a series of lectures to prepare. For more details, see the docstring of the command `org-clone-subtree-with-time-shift'. `C-c C-w' (`org-refile') Refile entry or region to a different location. *Note Refile and copy::. `C-c ^' (`org-sort') Sort same-level entries. When there is an active region, all entries in the region will be sorted. Otherwise the children of the current headline are sorted. The command prompts for the sorting method, which can be alphabetically, numerically, by time (first timestamp with active preferred, creation time, scheduled time, deadline time), by priority, by TODO keyword (in the sequence the keywords have been defined in the setup) or by the value of a property. Reverse sorting is possible as well. You can also supply your own function to extract the sorting key. With a `C-u' prefix, sorting will be case-sensitive. `C-x n s' (`org-narrow-to-subtree') Narrow buffer to current subtree. `C-x n b' (`org-narrow-to-block') Narrow buffer to current block. `C-x n w' (`widen') Widen buffer to remove narrowing. `C-c *' (`org-toggle-heading') Turn a normal line or plain list item into a headline (so that it becomes a subheading at its location). Also turn a headline into a normal line by removing the stars. If there is an active region, turn all lines in the region into headlines. If the first line in the region was an item, turn only the item lines into headlines. Finally, if the first line is a headline, remove the stars from all headlines in the region. When there is an active region (Transient Mark mode), promotion and demotion work on all headlines in the region. To select a region of headlines, it is best to place both point and mark at the beginning of a line, mark at the beginning of the first headline, and point at the line just after the last headline to change. Note that when the cursor is inside a table (*note Tables::), the Meta-Cursor keys have different functionality. ---------- Footnotes ---------- (1) If you do not want the line to be split, customize the variable `org-M-RET-may-split-line'.  File: org, Node: Sparse trees, Next: Plain lists, Prev: Structure editing, Up: Document Structure 2.6 Sparse trees ================ An important feature of Org mode is the ability to construct _sparse trees_ for selected information in an outline tree, so that the entire document is folded as much as possible, but the selected information is made visible along with the headline structure above it(1). Just try it out and you will see immediately how it works. Org mode contains several commands creating such trees, all these commands can be accessed through a dispatcher: `C-c /' (`org-sparse-tree') This prompts for an extra key to select a sparse-tree creating command. `C-c / r' (`org-occur') Prompts for a regexp and shows a sparse tree with all matches. If the match is in a headline, the headline is made visible. If the match is in the body of an entry, headline and body are made visible. In order to provide minimal context, also the full hierarchy of headlines above the match is shown, as well as the headline following the match. Each match is also highlighted; the highlights disappear when the buffer is changed by an editing command(2), or by pressing `C-c C-c'. When called with a `C-u' prefix argument, previous highlights are kept, so several calls to this command can be stacked. `M-g n' or `M-g M-n' (`next-error') Jump to the next sparse tree match in this buffer. `M-g p' or `M-g M-p' (`previous-error') Jump to the previous sparse tree match in this buffer. For frequently used sparse trees of specific search strings, you can use the option `org-agenda-custom-commands' to define fast keyboard access to specific sparse trees. These commands will then be accessible through the agenda dispatcher (*note Agenda dispatcher::). For example: (setq org-agenda-custom-commands '(("f" occur-tree "FIXME"))) will define the key `C-c a f' as a shortcut for creating a sparse tree matching the string `FIXME'. The other sparse tree commands select headings based on TODO keywords, tags, or properties and will be discussed later in this manual. To print a sparse tree, you can use the Emacs command `ps-print-buffer-with-faces' which does not print invisible parts of the document (3). Or you can use `C-c C-e C-v' to export only the visible part of the document and print the resulting file. ---------- Footnotes ---------- (1) See also the variables `org-show-hierarchy-above', `org-show-following-heading', `org-show-siblings', and `org-show-entry-below' for detailed control on how much context is shown around each match. (2) This depends on the option `org-remove-highlights-with-change' (3) This does not work under XEmacs, because XEmacs uses selective display for outlining, not text properties.  File: org, Node: Plain lists, Next: Drawers, Prev: Sparse trees, Up: Document Structure 2.7 Plain lists =============== Within an entry of the outline tree, hand-formatted lists can provide additional structure. They also provide a way to create lists of checkboxes (*note Checkboxes::). Org supports editing such lists, and every exporter (*note Exporting::) can parse and format them. Org knows ordered lists, unordered lists, and description lists. * _Unordered_ list items start with `-', `+', or `*'(1) as bullets. * _Ordered_ list items start with a numeral followed by either a period or a right parenthesis(2), such as `1.' or `1)'(3). If you want a list to start with a different value (e.g., 20), start the text of the item with `[@20]'(4). Those constructs can be used in any item of the list in order to enforce a particular numbering. * _Description_ list items are unordered list items, and contain the separator ` :: ' to distinguish the description _term_ from the description. Items belonging to the same list must have the same indentation on the first line. In particular, if an ordered list reaches number `10.', then the 2-digit numbers must be written left-aligned with the other numbers in the list. An item ends before the next line that is less or equally indented than its bullet/number. A list ends whenever every item has ended, which means before any line less or equally indented than items at top level. It also ends before two blank lines(5). In that case, all items are closed. Here is an example: ** Lord of the Rings My favorite scenes are (in this order) 1. The attack of the Rohirrim 2. Eowyn's fight with the witch king + this was already my favorite scene in the book + I really like Miranda Otto. 3. Peter Jackson being shot by Legolas - on DVD only He makes a really funny face when it happens. But in the end, no individual scenes matter but the film as a whole. Important actors in this film are: - Elijah Wood :: He plays Frodo - Sean Austin :: He plays Sam, Frodo's friend. I still remember him very well from his role as Mikey Walsh in The Goonies. Org supports these lists by tuning filling and wrapping commands to deal with them correctly(6), and by exporting them properly (*note Exporting::). Since indentation is what governs the structure of these lists, many structural constructs like `#+BEGIN_...' blocks can be indented to signal that they belong to a particular item. If you find that using a different bullet for a sub-list (than that used for the current list-level) improves readability, customize the variable `org-list-demote-modify-bullet'. To get a greater difference of indentation between items and theirs sub-items, customize `org-list-indent-offset'. The following commands act on items when the cursor is in the first line of an item (the line with the bullet or number). Some of them imply the application of automatic rules to keep list structure intact. If some of these actions get in your way, configure `org-list-automatic-rules' to disable them individually. `' (`org-cycle') Items can be folded just like headline levels. Normally this works only if the cursor is on a plain list item. For more details, see the variable `org-cycle-include-plain-lists'. If this variable is set to `integrate', plain list items will be treated like low-level headlines. The level of an item is then given by the indentation of the bullet/number. Items are always subordinate to real headlines, however; the hierarchies remain completely separated. In a new item with no text yet, the first demotes the item to become a child of the previous one. Subsequent s move the item to meaningful levels in the list and eventually get it back to its initial position. `M-' (`org-insert-heading') Insert new item at current level. With a prefix argument, force a new heading (*note Structure editing::). If this command is used in the middle of an item, that item is _split_ in two, and the second part becomes the new item(7). If this command is executed _before item's body_, the new item is created _before_ the current one. `M-S-' Insert a new item with a checkbox (*note Checkboxes::). `S-up' `S-down' Jump to the previous/next item in the current list(8), but only if `org-support-shift-select' is off. If not, you can still use paragraph jumping commands like `C-' and `C-' to quite similar effect. `M-up' `M-down' Move the item including subitems up/down(9) (swap with previous/next item of same indentation). If the list is ordered, renumbering is automatic. `M-left' `M-right' Decrease/increase the indentation of an item, leaving children alone. `M-S-' `M-S-' Decrease/increase the indentation of the item, including subitems. Initially, the item tree is selected based on current indentation. When these commands are executed several times in direct succession, the initially selected region is used, even if the new indentation would imply a different hierarchy. To use the new hierarchy, break the command chain with a cursor motion or so. As a special case, using this command on the very first item of a list will move the whole list. This behavior can be disabled by configuring `org-list-automatic-rules'. The global indentation of a list has no influence on the text _after_ the list. `C-c C-c' If there is a checkbox (*note Checkboxes::) in the item line, toggle the state of the checkbox. In any case, verify bullets and indentation consistency in the whole list. `C-c -' Cycle the entire list level through the different itemize/enumerate bullets (`-', `+', `*', `1.', `1)') or a subset of them, depending on `org-plain-list-ordered-item-terminator', the type of list, and its indentation. With a numeric prefix argument N, select the Nth bullet from this list. If there is an active region when calling this, selected text will be changed into an item. With a prefix argument, all lines will be converted to list items. If the first line already was a list item, any item marker will be removed from the list. Finally, even without an active region, a normal line will be converted into a list item. `C-c *' Turn a plain list item into a headline (so that it becomes a subheading at its location). *Note Structure editing::, for a detailed explanation. `C-c C-*' Turn the whole plain list into a subtree of the current heading. Checkboxes (*note Checkboxes::) will become TODO (resp. DONE) keywords when unchecked (resp. checked). `S-left/right' This command also cycles bullet styles when the cursor in on the bullet or anywhere in an item line, details depending on `org-support-shift-select'. `C-c ^' Sort the plain list. You will be prompted for the sorting method: numerically, alphabetically, by time, by checked status for check lists, or by a custom function. ---------- Footnotes ---------- (1) When using `*' as a bullet, lines must be indented or they will be seen as top-level headlines. Also, when you are hiding leading stars to get a clean outline view, plain list items starting with a star may be hard to distinguish from true headlines. In short: even though `*' is supported, it may be better to not use it for plain list items. (2) You can filter out any of them by configuring `org-plain-list-ordered-item-terminator'. (3) You can also get `a.', `A.', `a)' and `A)' by configuring `org-list-allow-alphabetical'. To minimize confusion with normal text, those are limited to one character only. Beyond that limit, bullets will automatically fallback to numbers. (4) If there's a checkbox in the item, the cookie must be put _before_ the checkbox. If you have activated alphabetical lists, you can also use counters like `[@b]'. (5) See also `org-list-empty-line-terminates-plain-lists'. (6) Org only changes the filling settings for Emacs. For XEmacs, you should use Kyle E. Jones' `filladapt.el'. To turn this on, put into `.emacs': `(require 'filladapt)' (7) If you do not want the item to be split, customize the variable `org-M-RET-may-split-line'. (8) If you want to cycle around items that way, you may customize `org-list-use-circular-motion'. (9) See `org-list-use-circular-motion' for a cyclic behavior.  File: org, Node: Drawers, Next: Blocks, Prev: Plain lists, Up: Document Structure 2.8 Drawers =========== Sometimes you want to keep information associated with an entry, but you normally don't want to see it. For this, Org mode has _drawers_. Drawers need to be configured with the option `org-drawers'(1). Drawers look like this: ** This is a headline Still outside the drawer :DRAWERNAME: This is inside the drawer. :END: After the drawer. You can interactively insert drawers at point by calling `org-insert-drawer', which is bound to . With an active region, this command will put the region inside the drawer. With a prefix argument, this command calls `org-insert-property-drawer' and add a property drawer right below the current headline. Completion over drawer keywords is also possible using . Visibility cycling (*note Visibility cycling::) on the headline will hide and show the entry, but keep the drawer collapsed to a single line. In order to look inside the drawer, you need to move the cursor to the drawer line and press there. Org mode uses the `PROPERTIES' drawer for storing properties (*note Properties and Columns::), and you can also arrange for state change notes (*note Tracking TODO state changes::) and clock times (*note Clocking work time::) to be stored in a drawer `LOGBOOK'. If you want to store a quick note in the LOGBOOK drawer, in a similar way to state changes, use `C-c C-z' Add a time-stamped note to the LOGBOOK drawer. You can select the name of the drawers which should be exported with `org-export-with-drawers'. In that case, drawer contents will appear in export output. Property drawers are not affected by this variable and are never exported. ---------- Footnotes ---------- (1) You can define additional drawers on a per-file basis with a line like `#+DRAWERS: HIDDEN STATE'  File: org, Node: Blocks, Next: Footnotes, Prev: Drawers, Up: Document Structure 2.9 Blocks ========== Org mode uses begin...end blocks for various purposes from including source code examples (*note Literal examples::) to capturing time logging information (*note Clocking work time::). These blocks can be folded and unfolded by pressing TAB in the begin line. You can also get all blocks folded at startup by configuring the option `org-hide-block-startup' or on a per-file basis by using #+STARTUP: hideblocks #+STARTUP: nohideblocks  File: org, Node: Footnotes, Next: Orgstruct mode, Prev: Blocks, Up: Document Structure 2.10 Footnotes ============== Org mode supports the creation of footnotes. In contrast to the `footnote.el' package, Org mode's footnotes are designed for work on a larger document, not only for one-off documents like emails. A footnote is started by a footnote marker in square brackets in column 0, no indentation allowed. It ends at the next footnote definition, headline, or after two consecutive empty lines. The footnote reference is simply the marker in square brackets, inside text. For example: The Org homepage[fn:1] now looks a lot better than it used to. ... [fn:1] The link is: http://orgmode.org Org mode extends the number-based syntax to _named_ footnotes and optional inline definition. Using plain numbers as markers (as `footnote.el' does) is supported for backward compatibility, but not encouraged because of possible conflicts with LaTeX snippets (*note Embedded LaTeX::). Here are the valid references: `[1]' A plain numeric footnote marker. Compatible with `footnote.el', but not recommended because something like `[1]' could easily be part of a code snippet. `[fn:name]' A named footnote reference, where `name' is a unique label word, or, for simplicity of automatic creation, a number. `[fn:: This is the inline definition of this footnote]' A LaTeX-like anonymous footnote where the definition is given directly at the reference point. `[fn:name: a definition]' An inline definition of a footnote, which also specifies a name for the note. Since Org allows multiple references to the same note, you can then use `[fn:name]' to create additional references. Footnote labels can be created automatically, or you can create names yourself. This is handled by the variable `org-footnote-auto-label' and its corresponding `#+STARTUP' keywords. See the docstring of that variable for details. The following command handles footnotes: `C-c C-x f' The footnote action command. When the cursor is on a footnote reference, jump to the definition. When it is at a definition, jump to the (first) reference. Otherwise, create a new footnote. Depending on the option `org-footnote-define-inline'(1), the definition will be placed right into the text as part of the reference, or separately into the location determined by the option `org-footnote-section'. When this command is called with a prefix argument, a menu of additional options is offered: s Sort the footnote definitions by reference sequence. During editing, Org makes no effort to sort footnote definitions into a particular sequence. If you want them sorted, use this command, which will also move entries according to `org-footnote-section'. Automatic sorting after each insertion/deletion can be configured using the option `org-footnote-auto-adjust'. r Renumber the simple `fn:N' footnotes. Automatic renumbering after each insertion/deletion can be configured using the option `org-footnote-auto-adjust'. S Short for first `r', then `s' action. n Normalize the footnotes by collecting all definitions (including inline definitions) into a special section, and then numbering them in sequence. The references will then also be numbers. This is meant to be the final step before finishing a document (e.g., sending off an email). d Delete the footnote at point, and all definitions of and references to it. Depending on the variable `org-footnote-auto-adjust'(2), renumbering and sorting footnotes can be automatic after each insertion or deletion. `C-c C-c' If the cursor is on a footnote reference, jump to the definition. If it is a the definition, jump back to the reference. When called at a footnote location with a prefix argument, offer the same menu as `C-c C-x f'. `C-c C-o or mouse-1/2' Footnote labels are also links to the corresponding definition/reference, and you can use the usual commands to follow these links. ---------- Footnotes ---------- (1) The corresponding in-buffer setting is: `#+STARTUP: fninline' or `#+STARTUP: nofninline' (2) the corresponding in-buffer options are `fnadjust' and `nofnadjust'.  File: org, Node: Orgstruct mode, Next: Org syntax, Prev: Footnotes, Up: Document Structure 2.11 The Orgstruct minor mode ============================= If you like the intuitive way the Org mode structure editing and list formatting works, you might want to use these commands in other modes like Text mode or Mail mode as well. The minor mode `orgstruct-mode' makes this possible. Toggle the mode with `M-x orgstruct-mode RET', or turn it on by default, for example in Message mode, with one of: (add-hook 'message-mode-hook 'turn-on-orgstruct) (add-hook 'message-mode-hook 'turn-on-orgstruct++) When this mode is active and the cursor is on a line that looks to Org like a headline or the first line of a list item, most structure editing commands will work, even if the same keys normally have different functionality in the major mode you are using. If the cursor is not in one of those special lines, Orgstruct mode lurks silently in the shadows. When you use `orgstruct++-mode', Org will also export indentation and autofill settings into that mode, and detect item context after the first line of an item. You can also use Org structure editing to fold and unfold headlines in _any_ file, provided you defined `orgstruct-heading-prefix-regexp': the regular expression must match the local prefix to use before Org's headlines. For example, if you set this variable to `";; "' in Emacs Lisp files, you will be able to fold and unfold headlines in Emacs Lisp commented lines. Some commands like `org-demote' are disabled when the prefix is set, but folding/unfolding will work correctly.  File: org, Node: Org syntax, Prev: Orgstruct mode, Up: Document Structure 2.12 Org syntax =============== A reference document providing a formal description of Org's syntax is available as a draft on Worg (http://orgmode.org/worg/dev/org-syntax.html), written and maintained by Nicolas Goaziou. It defines Org's core internal concepts such as `headlines', `sections', `affiliated keywords', `(greater) elements' and `objects'. Each part of an Org file falls into one of the categories above. To explore the abstract structure of an Org buffer, run this in a buffer: M-: (org-element-parse-buffer) RET It will output a list containing the buffer's content represented as an abstract structure. The export engine relies on the information stored in this list. Most interactive commands (e.g., for structure editing) also rely on the syntactic meaning of the surrounding context.  File: org, Node: Tables, Next: Hyperlinks, Prev: Document Structure, Up: Top 3 Tables ******** Org comes with a fast and intuitive table editor. Spreadsheet-like calculations are supported using the Emacs `calc' package (*note Calc: (calc)Top.). * Menu: * Built-in table editor:: Simple tables * Column width and alignment:: Overrule the automatic settings * Column groups:: Grouping to trigger vertical lines * Orgtbl mode:: The table editor as minor mode * The spreadsheet:: The table editor has spreadsheet capabilities * Org-Plot:: Plotting from org tables  File: org, Node: Built-in table editor, Next: Column width and alignment, Prev: Tables, Up: Tables 3.1 The built-in table editor ============================= Org makes it easy to format tables in plain ASCII. Any line with `|' as the first non-whitespace character is considered part of a table. `|' is also the column separator(1). A table might look like this: | Name | Phone | Age | |-------+-------+-----| | Peter | 1234 | 17 | | Anna | 4321 | 25 | A table is re-aligned automatically each time you press or or `C-c C-c' inside the table. also moves to the next field ( to the next row) and creates new table rows at the end of the table or before horizontal lines. The indentation of the table is set by the first line. Any line starting with `|-' is considered as a horizontal separator line and will be expanded on the next re-align to span the whole table width. So, to create the above table, you would only type |Name|Phone|Age| |- and then press to align the table and start filling in fields. Even faster would be to type `|Name|Phone|Age' followed by `C-c '. When typing text into a field, Org treats , , and all character keys in a special way, so that inserting and deleting avoids shifting other fields. Also, when typing _immediately after the cursor was moved into a new field with `', `S-' or `'_, the field is automatically made blank. If this behavior is too unpredictable for you, configure the options `org-enable-table-editor' and `org-table-auto-blank-field'. Creation and conversion ....................... `C-c | (`org-table-create-or-convert-from-region')' Convert the active region to table. If every line contains at least one TAB character, the function assumes that the material is tab separated. If every line contains a comma, comma-separated values (CSV) are assumed. If not, lines are split at whitespace into fields. You can use a prefix argument to force a specific separator: `C-u' forces CSV, `C-u C-u' forces TAB, and a numeric argument N indicates that at least N consecutive spaces, or alternatively a TAB will be the separator. If there is no active region, this command creates an empty Org table. But it is easier just to start typing, like `|Name|Phone|Age |- '. Re-aligning and field motion ............................ `C-c C-c (`org-table-align')' Re-align the table and don't move to another field. ` (`org-table-next-field')' Re-align the table, move to the next field. Creates a new row if necessary. `S- (`org-table-previous-field')' Re-align, move to previous field. ` (`org-table-next-row')' Re-align the table and move down to next row. Creates a new row if necessary. At the beginning or end of a line, still does NEWLINE, so it can be used to split a table. `M-a (`org-table-beginning-of-field')' Move to beginning of the current table field, or on to the previous field. `M-e (`org-table-end-of-field')' Move to end of the current table field, or on to the next field. Column and row editing ...................... `M- (`org-table-move-column-left')' `M- (`org-table-move-column-right')' Move the current column left/right. `M-S- (`org-table-delete-column')' Kill the current column. `M-S- (`org-table-insert-column')' Insert a new column to the left of the cursor position. `M- (`org-table-move-row-up')' `M- (`org-table-move-row-down')' Move the current row up/down. `M-S- (`org-table-kill-row')' Kill the current row or horizontal line. `M-S- (`org-table-insert-row')' Insert a new row above the current row. With a prefix argument, the line is created below the current one. `C-c - (`org-table-insert-hline')' Insert a horizontal line below current row. With a prefix argument, the line is created above the current line. `C-c (`org-table-hline-and-move')' Insert a horizontal line below current row, and move the cursor into the row below that line. `C-c ^ (`org-table-sort-lines')' Sort the table lines in the region. The position of point indicates the column to be used for sorting, and the range of lines is the range between the nearest horizontal separator lines, or the entire table. If point is before the first column, you will be prompted for the sorting column. If there is an active region, the mark specifies the first line and the sorting column, while point should be in the last line to be included into the sorting. The command prompts for the sorting type (alphabetically, numerically, or by time). When called with a prefix argument, alphabetic sorting will be case-sensitive. Regions ....... `C-c C-x M-w (`org-table-copy-region')' Copy a rectangular region from a table to a special clipboard. Point and mark determine edge fields of the rectangle. If there is no active region, copy just the current field. The process ignores horizontal separator lines. `C-c C-x C-w (`org-table-cut-region')' Copy a rectangular region from a table to a special clipboard, and blank all fields in the rectangle. So this is the "cut" operation. `C-c C-x C-y (`org-table-paste-rectangle')' Paste a rectangular region into a table. The upper left corner ends up in the current field. All involved fields will be overwritten. If the rectangle does not fit into the present table, the table is enlarged as needed. The process ignores horizontal separator lines. `M- (`org-table-wrap-region')' Split the current field at the cursor position and move the rest to the line below. If there is an active region, and both point and mark are in the same column, the text in the column is wrapped to minimum width for the given number of lines. A numeric prefix argument may be used to change the number of desired lines. If there is no region, but you specify a prefix argument, the current field is made blank, and the content is appended to the field above. Calculations ............ `C-c + (`org-table-sum')' Sum the numbers in the current column, or in the rectangle defined by the active region. The result is shown in the echo area and can be inserted with `C-y'. `S- (`org-table-copy-down')' When current field is empty, copy from first non-empty field above. When not empty, copy current field down to next row and move cursor along with it. Depending on the option `org-table-copy-increment', integer field values will be incremented during copy. Integers that are too large will not be incremented. Also, a `0' prefix argument temporarily disables the increment. This key is also used by shift-selection and related modes (*note Conflicts::). Miscellaneous ............. `C-c ` (`org-table-edit-field')' Edit the current field in a separate window. This is useful for fields that are not fully visible (*note Column width and alignment::). When called with a `C-u' prefix, just make the full field visible, so that it can be edited in place. When called with two `C-u' prefixes, make the editor window follow the cursor through the table and always show the current field. The follow mode exits automatically when the cursor leaves the table, or when you repeat this command with `C-u C-u C-c `'. `M-x org-table-import RET' Import a file as a table. The table should be TAB or whitespace separated. Use, for example, to import a spreadsheet table or data from a database, because these programs generally can write TAB-separated text files. This command works by inserting the file into the buffer and then converting the region to a table. Any prefix argument is passed on to the converter, which uses it to determine the separator. `C-c | (`org-table-create-or-convert-from-region')' Tables can also be imported by pasting tabular text into the Org buffer, selecting the pasted text with `C-x C-x' and then using the `C-c |' command (see above under Creation and conversion). `M-x org-table-export RET' Export the table, by default as a TAB-separated file. Use for data exchange with, for example, spreadsheet or database programs. The format used to export the file can be configured in the option `org-table-export-default-format'. You may also use properties `TABLE_EXPORT_FILE' and `TABLE_EXPORT_FORMAT' to specify the file name and the format for table export in a subtree. Org supports quite general formats for exported tables. The exporter format is the same as the format used by Orgtbl radio tables, see *note Translator functions::, for a detailed description. If you don't like the automatic table editor because it gets in your way on lines which you would like to start with `|', you can turn it off with (setq org-enable-table-editor nil) Then the only table command that still works is `C-c C-c' to do a manual re-align. ---------- Footnotes ---------- (1) To insert a vertical bar into a table field, use `\vert' or, inside a word `abc\vert{}def'.  File: org, Node: Column width and alignment, Next: Column groups, Prev: Built-in table editor, Up: Tables 3.2 Column width and alignment ============================== The width of columns is automatically determined by the table editor. And also the alignment of a column is determined automatically from the fraction of number-like versus non-number fields in the column. Sometimes a single field or a few fields need to carry more text, leading to inconveniently wide columns. Or maybe you want to make a table with several columns having a fixed width, regardless of content. To set(1) the width of a column, one field anywhere in the column may contain just the string `' where `N' is an integer specifying the width of the column in characters. The next re-align will then set the width of this column to this value. |---+------------------------------| |---+--------| | | | | | <6> | | 1 | one | | 1 | one | | 2 | two | ----\ | 2 | two | | 3 | This is a long chunk of text | ----/ | 3 | This=> | | 4 | four | | 4 | four | |---+------------------------------| |---+--------| Fields that are wider become clipped and end in the string `=>'. Note that the full text is still in the buffer but is hidden. To see the full text, hold the mouse over the field--a tool-tip window will show the full content. To edit such a field, use the command `C-c `' (that is `C-c' followed by the backquote). This will open a new window with the full field. Edit it and finish with `C-c C-c'. When visiting a file containing a table with narrowed columns, the necessary character hiding has not yet happened, and the table needs to be aligned before it looks nice. Setting the option `org-startup-align-all-tables' will realign all tables in a file upon visiting, but also slow down startup. You can also set this option on a per-file basis with: #+STARTUP: align #+STARTUP: noalign If you would like to overrule the automatic alignment of number-rich columns to the right and of string-rich column to the left, you can use `', `'(2) or `' in a similar fashion. You may also combine alignment and field width like this: `'. Lines which only contain these formatting cookies will be removed automatically when exporting the document. ---------- Footnotes ---------- (1) This feature does not work on XEmacs. (2) Centering does not work inside Emacs, but it does have an effect when exporting to HTML.  File: org, Node: Column groups, Next: Orgtbl mode, Prev: Column width and alignment, Up: Tables 3.3 Column groups ================= When Org exports tables, it does so by default without vertical lines because that is visually more satisfying in general. Occasionally however, vertical lines can be useful to structure a table into groups of columns, much like horizontal lines can do for groups of rows. In order to specify column groups, you can use a special row where the first field contains only `/'. The further fields can either contain `<' to indicate that this column should start a group, `>' to indicate the end of a column, or `<>' (no space between `<' and `>') to make a column a group of its own. Boundaries between column groups will upon export be marked with vertical lines. Here is an example: | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) | |---+-----+-----+-----+---------+------------| | / | < | | > | < | > | | 1 | 1 | 1 | 1 | 1 | 1 | | 2 | 4 | 8 | 16 | 1.4142 | 1.1892 | | 3 | 9 | 27 | 81 | 1.7321 | 1.3161 | |---+-----+-----+-----+---------+------------| #+TBLFM: $2=$1^2::$3=$1^3::$4=$1^4::$5=sqrt($1)::$6=sqrt(sqrt(($1))) It is also sufficient to just insert the column group starters after every vertical line you would like to have: | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) | |----+-----+-----+-----+---------+------------| | / | < | | | < | |  File: org, Node: Orgtbl mode, Next: The spreadsheet, Prev: Column groups, Up: Tables 3.4 The Orgtbl minor mode ========================= If you like the intuitive way the Org table editor works, you might also want to use it in other modes like Text mode or Mail mode. The minor mode Orgtbl mode makes this possible. You can always toggle the mode with `M-x orgtbl-mode RET'. To turn it on by default, for example in Message mode, use (add-hook 'message-mode-hook 'turn-on-orgtbl) Furthermore, with some special setup, it is possible to maintain tables in arbitrary syntax with Orgtbl mode. For example, it is possible to construct LaTeX tables with the underlying ease and power of Orgtbl mode, including spreadsheet capabilities. For details, see *note Tables in arbitrary syntax::.  File: org, Node: The spreadsheet, Next: Org-Plot, Prev: Orgtbl mode, Up: Tables 3.5 The spreadsheet =================== The table editor makes use of the Emacs `calc' package to implement spreadsheet-like capabilities. It can also evaluate Emacs Lisp forms to derive fields from other fields. While fully featured, Org's implementation is not identical to other spreadsheets. For example, Org knows the concept of a _column formula_ that will be applied to all non-header fields in a column without having to copy the formula to each relevant field. There is also a formula debugger, and a formula editor with features for highlighting fields in the table corresponding to the references at the point in the formula, moving these references by arrow keys * Menu: * References:: How to refer to another field or range * Formula syntax for Calc:: Using Calc to compute stuff * Formula syntax for Lisp:: Writing formulas in Emacs Lisp * Durations and time values:: How to compute durations and time values * Field and range formulas:: Formula for specific (ranges of) fields * Column formulas:: Formulas valid for an entire column * Lookup functions:: Lookup functions for searching tables * Editing and debugging formulas:: Fixing formulas * Updating the table:: Recomputing all dependent fields * Advanced features:: Field and column names, parameters and automatic recalc  File: org, Node: References, Next: Formula syntax for Calc, Prev: The spreadsheet, Up: The spreadsheet 3.5.1 References ---------------- To compute fields in the table from other fields, formulas must reference other fields or ranges. In Org, fields can be referenced by name, by absolute coordinates, and by relative coordinates. To find out what the coordinates of a field are, press `C-c ?' in that field, or press `C-c }' to toggle the display of a grid. Field references ................ Formulas can reference the value of another field in two ways. Like in any other spreadsheet, you may reference fields with a letter/number combination like `B3', meaning the 2nd field in the 3rd row. However, Org prefers(1) to use another, more general representation that looks like this: @ROW$COLUMN Column specifications can be absolute like `$1', `$2',...`$N', or relative to the current column (i.e., the column of the field which is being computed) like `$+1' or `$-2'. `$<' and `$>' are immutable references to the first and last column, respectively, and you can use `$>>>' to indicate the third column from the right. The row specification only counts data lines and ignores horizontal separator lines (hlines). Like with columns, you can use absolute row numbers `@1', `@2',...`@N', and row numbers relative to the current row like `@+3' or `@-1'. `@<' and `@>' are immutable references the first and last(2) row in the table, respectively. You may also specify the row relative to one of the hlines: `@I' refers to the first hline, `@II' to the second, etc. `@-I' refers to the first such line above the current line, `@+I' to the first such line below the current line. You can also write `@III+2' which is the second data line after the third hline in the table. `@0' and `$0' refer to the current row and column, respectively, i.e., to the row/column for the field being computed. Also, if you omit either the column or the row part of the reference, the current row/column is implied. Org's references with _unsigned_ numbers are fixed references in the sense that if you use the same reference in the formula for two different fields, the same field will be referenced each time. Org's references with _signed_ numbers are floating references because the same reference operator can reference different fields depending on the field being calculated by the formula. Here are a few examples: @2$3 2nd row, 3rd column (same as `C2') $5 column 5 in the current row (same as `E&') @2 current column, row 2 @-1$-3 the field one row up, three columns to the left @-I$2 field just under hline above current row, column 2 @>$5 field in the last row, in column 5 Range references ................ You may reference a rectangular range of fields by specifying two field references connected by two dots `..'. If both fields are in the current row, you may simply use `$2..$7', but if at least one field is in a different row, you need to use the general `@row$column' format at least for the first field (i.e the reference must start with `@' in order to be interpreted correctly). Examples: $1..$3 first three fields in the current row $P..$Q range, using column names (see under Advanced) $<<<..$>> start in third column, continue to the one but last @2$1..@4$3 6 fields between these two fields (same as `A2..C4') @-1$-2..@-1 3 fields in the row above, starting from 2 columns on the left @I..II between first and second hline, short for `@I..@II' Range references return a vector of values that can be fed into Calc vector functions. Empty fields in ranges are normally suppressed, so that the vector contains only the non-empty fields. For other options with the mode switches `E', `N' and examples *note Formula syntax for Calc::. Field coordinates in formulas ............................. For Calc formulas and Lisp formulas `@#' and `$#' can be used to get the row or column number of the field where the formula result goes. The traditional Lisp formula equivalents are `org-table-current-dline' and `org-table-current-column'. Examples: if(@# % 2, $#, string("")) column number on odd lines only $3 = remote(FOO, @@#$2) copy column 2 from table FOO into column 3 of the current table For the second example, table FOO must have at least as many rows as the current table. Note that this is inefficient(3) for large number of rows. Named references ................ `$name' is interpreted as the name of a column, parameter or constant. Constants are defined globally through the option `org-table-formula-constants', and locally (for the file) through a line like #+CONSTANTS: c=299792458. pi=3.14 eps=2.4e-6 Also properties (*note Properties and Columns::) can be used as constants in table formulas: for a property `:Xyz:' use the name `$PROP_Xyz', and the property will be searched in the current outline entry and in the hierarchy above it. If you have the `constants.el' package, it will also be used to resolve constants, including natural constants like `$h' for Planck's constant, and units like `$km' for kilometers(4). Column names and parameters can be specified in special table lines. These are described below, see *note Advanced features::. All names must start with a letter, and further consist of letters and numbers. Remote references ................. You may also reference constants, fields and ranges from a different table, either in the current file or even in a different file. The syntax is remote(NAME-OR-ID,REF) where NAME can be the name of a table in the current file as set by a `#+NAME: Name' line before the table. It can also be the ID of an entry, even in a different file, and the reference then refers to the first table in that entry. REF is an absolute field or range reference as described above for example `@3$3' or `$somename', valid in the referenced table. ---------- Footnotes ---------- (1) Org will understand references typed by the user as `B4', but it will not use this syntax when offering a formula for editing. You can customize this behavior using the option `org-table-use-standard-references'. (2) For backward compatibility you can also use special names like `$LR5' and `$LR12' to refer in a stable way to the 5th and 12th field in the last row of the table. However, this syntax is deprecated, it should not be used for new documents. Use `@>$' instead. (3) The computation time scales as O(N^2) because table FOO is parsed for each field to be copied. (4) `constants.el' can supply the values of constants in two different unit systems, `SI' and `cgs'. Which one is used depends on the value of the variable `constants-unit-system'. You can use the `#+STARTUP' options `constSI' and `constcgs' to set this value for the current buffer.  File: org, Node: Formula syntax for Calc, Next: Formula syntax for Lisp, Prev: References, Up: The spreadsheet 3.5.2 Formula syntax for Calc ----------------------------- A formula can be any algebraic expression understood by the Emacs `Calc' package. Note that `calc' has the non-standard convention that `/' has lower precedence than `*', so that `a/b*c' is interpreted as `a/(b*c)'. Before evaluation by `calc-eval' (*note calc-eval: (calc)Calling Calc from Your Programs.), variable substitution takes place according to the rules described above. The range vectors can be directly fed into the Calc vector functions like `vmean' and `vsum'. A formula can contain an optional mode string after a semicolon. This string consists of flags to influence Calc and other modes during execution. By default, Org uses the standard Calc modes (precision 12, angular units degrees, fraction and symbolic modes off). The display format, however, has been changed to `(float 8)' to keep tables compact. The default settings can be configured using the option `org-calc-default-modes'. List of modes: `p20' Set the internal Calc calculation precision to 20 digits. `n3', `s3', `e2', `f4' Normal, scientific, engineering or fixed format of the result of Calc passed back to Org. Calc formatting is unlimited in precision as long as the Calc calculation precision is greater. `D', `R' Degree and radian angle modes of Calc. `F', `S' Fraction and symbolic modes of Calc. `T', `t' Duration computations in Calc or Lisp, *note Durations and time values::. `E' If and how to consider empty fields. Without `E' empty fields in range references are suppressed so that the Calc vector or Lisp list contains only the non-empty fields. With `E' the empty fields are kept. For empty fields in ranges or empty field references the value `nan' (not a number) is used in Calc formulas and the empty string is used for Lisp formulas. Add `N' to use 0 instead for both formula types. For the value of a field the mode `N' has higher precedence than `E'. `N' Interpret all fields as numbers, use 0 for non-numbers. See the next section to see how this is essential for computations with Lisp formulas. In Calc formulas it is used only occasionally because there number strings are already interpreted as numbers without `N'. `L' Literal, for Lisp formulas only. See the next section. Unless you use large integer numbers or high-precision-calculation and -display for floating point numbers you may alternatively provide a `printf' format specifier to reformat the Calc result after it has been passed back to Org instead of letting Calc already do the formatting(1). A few examples: $1+$2 Sum of first and second field $1+$2;%.2f Same, format result to two decimals exp($2)+exp($1) Math functions can be used $0;%.1f Reformat current cell to 1 decimal ($3-32)*5/9 Degrees F -> C conversion $c/$1/$cm Hz -> cm conversion, using `constants.el' tan($1);Dp3s1 Compute in degrees, precision 3, display SCI 1 sin($1);Dp3%.1e Same, but use printf specifier for display taylor($3,x=7,2) Taylor series of $3, at x=7, second degree Calc also contains a complete set of logical operations, (*note Logical Operations: (calc)Logical Operations.). For example `if($1 < 20, teen, string(""))' "teen" if age $1 is less than 20, else the Org table result field is set to empty with the empty string. `if("$1" == "nan" || "$2" == "nan", string(""), $1 + $2); E' Sum of the first two columns. When at least one of the input fields is empty the Org table result field is set to empty. `if(typeof(vmean($1..$7)) == 12, string(""), vmean($1..$7); E' Mean value of a range unless there is any empty field. Every field in the range that is empty is replaced by `nan' which lets `vmean' result in `nan'. Then `typeof == 12' detects the `nan' from `vmean' and the Org table result field is set to empty. Use this when the sample set is expected to never have missing values. `if("$1..$7" == "[]", string(""), vmean($1..$7))' Mean value of a range with empty fields skipped. Every field in the range that is empty is skipped. When all fields in the range are empty the mean value is not defined and the Org table result field is set to empty. Use this when the sample set can have a variable size. `vmean($1..$7); EN' To complete the example before: Mean value of a range with empty fields counting as samples with value 0. Use this only when incomplete sample sets should be padded with 0 to the full size. You can add your own Calc functions defined in Emacs Lisp with `defmath' and use them in formula syntax for Calc. ---------- Footnotes ---------- (1) The `printf' reformatting is limited in precision because the value passed to it is converted into an `integer' or `double'. The `integer' is limited in size by truncating the signed value to 32 bits. The `double' is limited in precision to 64 bits overall which leaves approximately 16 significant decimal digits.  File: org, Node: Formula syntax for Lisp, Next: Durations and time values, Prev: Formula syntax for Calc, Up: The spreadsheet 3.5.3 Emacs Lisp forms as formulas ---------------------------------- It is also possible to write a formula in Emacs Lisp. This can be useful for string manipulation and control structures, if Calc's functionality is not enough. If a formula starts with a single-quote followed by an opening parenthesis, then it is evaluated as a Lisp form. The evaluation should return either a string or a number. Just as with `calc' formulas, you can specify modes and a printf format after a semicolon. With Emacs Lisp forms, you need to be conscious about the way field references are interpolated into the form. By default, a reference will be interpolated as a Lisp string (in double-quotes) containing the field. If you provide the `N' mode switch, all referenced elements will be numbers (non-number fields will be zero) and interpolated as Lisp numbers, without quotes. If you provide the `L' flag, all fields will be interpolated literally, without quotes. I.e., if you want a reference to be interpreted as a string by the Lisp form, enclose the reference operator itself in double-quotes, like `"$3"'. Ranges are inserted as space-separated fields, so you can embed them in list or vector syntax. Here are a few examples--note how the `N' mode is used when we do computations in Lisp: `'(concat (substring $1 1 2) (substring $1 0 1) (substring $1 2))' Swap the first two characters of the content of column 1. `'(+ $1 $2);N' Add columns 1 and 2, equivalent to Calc's `$1+$2'. `'(apply '+ '($1..$4));N' Compute the sum of columns 1 to 4, like Calc's `vsum($1..$4)'.  File: org, Node: Durations and time values, Next: Field and range formulas, Prev: Formula syntax for Lisp, Up: The spreadsheet 3.5.4 Durations and time values ------------------------------- If you want to compute time values use the `T' flag, either in Calc formulas or Elisp formulas: | Task 1 | Task 2 | Total | |---------+----------+----------| | 2:12 | 1:47 | 03:59:00 | | 3:02:20 | -2:07:00 | 0.92 | #+TBLFM: @2$3=$1+$2;T::@3$3=$1+$2;t Input duration values must be of the form `[HH:MM[:SS]', where seconds are optional. With the `T' flag, computed durations will be displayed as `HH:MM:SS' (see the first formula above). With the `t' flag, computed durations will be displayed according to the value of the option `org-table-duration-custom-format', which defaults to `'hours' and will display the result as a fraction of hours (see the second formula in the example above). Negative duration values can be manipulated as well, and integers will be considered as seconds in addition and subtraction.  File: org, Node: Field and range formulas, Next: Column formulas, Prev: Durations and time values, Up: The spreadsheet 3.5.5 Field and range formulas ------------------------------ To assign a formula to a particular field, type it directly into the field, preceded by `:=', for example `:=vsum(@II..III)'. When you press or or `C-c C-c' with the cursor still in the field, the formula will be stored as the formula for this field, evaluated, and the current field will be replaced with the result. Formulas are stored in a special line starting with `#+TBLFM:' directly below the table. If you type the equation in the 4th field of the 3rd data line in the table, the formula will look like `@3$4=$1+$2'. When inserting/deleting/swapping column and rows with the appropriate commands, absolute references (but not relative ones) in stored formulas are modified in order to still reference the same field. To avoid this from happening, in particular in range references, anchor ranges at the table borders (using `@<', `@>', `$<', `$>'), or at hlines using the `@I' notation. Automatic adaptation of field references does of course not happen if you edit the table structure with normal editing commands--then you must fix the equations yourself. Instead of typing an equation into the field, you may also use the following command `C-u C-c = (`org-table-eval-formula')' Install a new formula for the current field. The command prompts for a formula with default taken from the `#+TBLFM:' line, applies it to the current field, and stores it. The left-hand side of a formula can also be a special expression in order to assign the formula to a number of different fields. There is no keyboard shortcut to enter such range formulas. To add them, use the formula editor (*note Editing and debugging formulas::) or edit the `#+TBLFM:' line directly. `$2=' Column formula, valid for the entire column. This is so common that Org treats these formulas in a special way, see *note Column formulas::. `@3=' Row formula, applies to all fields in the specified row. `@>=' means the last row. `@1$2..@4$3=' Range formula, applies to all fields in the given rectangular range. This can also be used to assign a formula to some but not all fields in a row. `$name=' Named field, see *note Advanced features::.  File: org, Node: Column formulas, Next: Lookup functions, Prev: Field and range formulas, Up: The spreadsheet 3.5.6 Column formulas --------------------- When you assign a formula to a simple column reference like `$3=', the same formula will be used in all fields of that column, with the following very convenient exceptions: (i) If the table contains horizontal separator hlines with rows above and below, everything before the first such hline is considered part of the table _header_ and will not be modified by column formulas. Therefore a header is mandatory when you use column formulas and want to add hlines to group rows, like for example to separate a total row at the bottom from the summand rows above. (ii) Fields that already get a value from a field/range formula will be left alone by column formulas. These conditions make column formulas very easy to use. To assign a formula to a column, type it directly into any field in the column, preceded by an equal sign, like `=$1+$2'. When you press or or `C-c C-c' with the cursor still in the field, the formula will be stored as the formula for the current column, evaluated and the current field replaced with the result. If the field contains only `=', the previously stored formula for this column is used. For each column, Org will only remember the most recently used formula. In the `#+TBLFM:' line, column formulas will look like `$4=$1+$2'. The left-hand side of a column formula can not be the name of column, it must be the numeric column reference or `$>'. Instead of typing an equation into the field, you may also use the following command: `C-c = (`org-table-eval-formula')' Install a new formula for the current column and replace current field with the result of the formula. The command prompts for a formula, with default taken from the `#+TBLFM' line, applies it to the current field and stores it. With a numeric prefix argument(e.g., `C-5 C-c =') the command will apply it to that many consecutive fields in the current column.  File: org, Node: Lookup functions, Next: Editing and debugging formulas, Prev: Column formulas, Up: The spreadsheet 3.5.7 Lookup functions ---------------------- Org has three predefined Emacs Lisp functions for lookups in tables. `(org-lookup-first VAL S-LIST R-LIST &optional PREDICATE)' Searches for the first element `S' in list `S-LIST' for which (PREDICATE VAL S) is `t'; returns the value from the corresponding position in list `R-LIST'. The default `PREDICATE' is `equal'. Note that the parameters `VAL' and `S' are passed to `PREDICATE' in the same order as the corresponding parameters are in the call to `org-lookup-first', where `VAL' precedes `S-LIST'. If `R-LIST' is `nil', the matching element `S' of `S-LIST' is returned. `(org-lookup-last VAL S-LIST R-LIST &optional PREDICATE)' Similar to `org-lookup-first' above, but searches for the last element for which `PREDICATE' is `t'. `(org-lookup-all VAL S-LIST R-LIST &optional PREDICATE)' Similar to `org-lookup-first', but searches for all elements for which `PREDICATE' is `t', and returns all corresponding values. This function can not be used by itself in a formula, because it returns a list of values. However, powerful lookups can be built when this function is combined with other Emacs Lisp functions. If the ranges used in these functions contain empty fields, the `E' mode for the formula should usually be specified: otherwise empty fields will not be included in `S-LIST' and/or `R-LIST' which can, for example, result in an incorrect mapping from an element of `S-LIST' to the corresponding element of `R-LIST'. These three functions can be used to implement associative arrays, count matching cells, rank results, group data etc. For practical examples see this tutorial on Worg (http://orgmode.org/worg/org-tutorials/org-lookups.html).  File: org, Node: Editing and debugging formulas, Next: Updating the table, Prev: Lookup functions, Up: The spreadsheet 3.5.8 Editing and debugging formulas ------------------------------------ You can edit individual formulas in the minibuffer or directly in the field. Org can also prepare a special buffer with all active formulas of a table. When offering a formula for editing, Org converts references to the standard format (like `B3' or `D&') if possible. If you prefer to only work with the internal format (like `@3$2' or `$4'), configure the option `org-table-use-standard-references'. `C-c = or C-u C-c = (`org-table-eval-formula')' Edit the formula associated with the current column/field in the minibuffer. See *note Column formulas::, and *note Field and range formulas::. `C-u C-u C-c = (`org-table-eval-formula')' Re-insert the active formula (either a field formula, or a column formula) into the current field, so that you can edit it directly in the field. The advantage over editing in the minibuffer is that you can use the command `C-c ?'. `C-c ? (`org-table-field-info')' While editing a formula in a table field, highlight the field(s) referenced by the reference at the cursor position in the formula. `C-c }' Toggle the display of row and column numbers for a table, using overlays (`org-table-toggle-coordinate-overlays'). These are updated each time the table is aligned; you can force it with `C-c C-c'. `C-c {' Toggle the formula debugger on and off (`org-table-toggle-formula-debugger'). See below. `C-c ' (`org-table-edit-formulas')' Edit all formulas for the current table in a special buffer, where the formulas will be displayed one per line. If the current field has an active formula, the cursor in the formula editor will mark it. While inside the special buffer, Org will automatically highlight any field or range reference at the cursor position. You may edit, remove and add formulas, and use the following commands: `C-c C-c or C-x C-s (`org-table-fedit-finish')' Exit the formula editor and store the modified formulas. With `C-u' prefix, also apply the new formulas to the entire table. `C-c C-q (`org-table-fedit-abort')' Exit the formula editor without installing changes. `C-c C-r (`org-table-fedit-toggle-ref-type')' Toggle all references in the formula editor between standard (like `B3') and internal (like `@3$2'). ` (`org-table-fedit-lisp-indent')' Pretty-print or indent Lisp formula at point. When in a line containing a Lisp formula, format the formula according to Emacs Lisp rules. Another collapses the formula back again. In the open formula, re-indents just like in Emacs Lisp mode. `M- (`lisp-complete-symbol')' Complete Lisp symbols, just like in Emacs Lisp mode. `S-///' Shift the reference at point. For example, if the reference is `B3' and you press `S-', it will become `C3'. This also works for relative references and for hline references. `M-S- (`org-table-fedit-line-up')' `M-S- (`org-table-fedit-line-down')' Move the test line for column formulas in the Org buffer up and down. `M- (`org-table-fedit-scroll-down')' `M- (`org-table-fedit-scroll-up')' Scroll the window displaying the table. `C-c }' Turn the coordinate grid in the table on and off. Making a table field blank does not remove the formula associated with the field, because that is stored in a different line (the `#+TBLFM' line)--during the next recalculation the field will be filled again. To remove a formula from a field, you have to give an empty reply when prompted for the formula, or to edit the `#+TBLFM' line. You may edit the `#+TBLFM' directly and re-apply the changed equations with `C-c C-c' in that line or with the normal recalculation commands in the table. Using multiple #+TBLFM lines ............................ You may apply the formula temporarily. This is useful when you switch the formula. Place multiple `#+TBLFM' lines right after the table, and then press `C-c C-c' on the formula to apply. Here is an example: | x | y | |---+---| | 1 | | | 2 | | #+TBLFM: $2=$1*1 #+TBLFM: $2=$1*2 Pressing `C-c C-c' in the line of `#+TBLFM: $2=$1*2' yields: | x | y | |---+---| | 1 | 2 | | 2 | 4 | #+TBLFM: $2=$1*1 #+TBLFM: $2=$1*2 Note: If you recalculate this table (with `C-u C-c *', for example), you will get the following result of applying only the first `#+TBLFM' line. | x | y | |---+---| | 1 | 1 | | 2 | 2 | #+TBLFM: $2=$1*1 #+TBLFM: $2=$1*2 Debugging formulas .................. When the evaluation of a formula leads to an error, the field content becomes the string `#ERROR'. If you would like see what is going on during variable substitution and calculation in order to find a bug, turn on formula debugging in the `Tbl' menu and repeat the calculation, for example by pressing `C-u C-u C-c = ' in a field. Detailed information will be displayed.  File: org, Node: Updating the table, Next: Advanced features, Prev: Editing and debugging formulas, Up: The spreadsheet 3.5.9 Updating the table ------------------------ Recalculation of a table is normally not automatic, but needs to be triggered by a command. See *note Advanced features::, for a way to make recalculation at least semi-automatic. In order to recalculate a line of a table or the entire table, use the following commands: `C-c * (`org-table-recalculate')' Recalculate the current row by first applying the stored column formulas from left to right, and all field/range formulas in the current row. `C-u C-c *' `C-u C-c C-c' Recompute the entire table, line by line. Any lines before the first hline are left alone, assuming that these are part of the table header. `C-u C-u C-c * or C-u C-u C-c C-c (`org-table-iterate')' Iterate the table by recomputing it until no further changes occur. This may be necessary if some computed fields use the value of other fields that are computed later in the calculation sequence. `M-x org-table-recalculate-buffer-tables RET' Recompute all tables in the current buffer. `M-x org-table-iterate-buffer-tables RET' Iterate all tables in the current buffer, in order to converge table-to-table dependencies.  File: org, Node: Advanced features, Prev: Updating the table, Up: The spreadsheet 3.5.10 Advanced features ------------------------ If you want the recalculation of fields to happen automatically, or if you want to be able to assign names(1) to fields and columns, you need to reserve the first column of the table for special marking characters. `C-# (`org-table-rotate-recalc-marks')' Rotate the calculation mark in first column through the states ` ', `#', `*', `!', `$'. When there is an active region, change all marks in the region. Here is an example of a table that collects exam results of students and makes use of these features: |---+---------+--------+--------+--------+-------+------| | | Student | Prob 1 | Prob 2 | Prob 3 | Total | Note | |---+---------+--------+--------+--------+-------+------| | ! | | P1 | P2 | P3 | Tot | | | # | Maximum | 10 | 15 | 25 | 50 | 10.0 | | ^ | | m1 | m2 | m3 | mt | | |---+---------+--------+--------+--------+-------+------| | # | Peter | 10 | 8 | 23 | 41 | 8.2 | | # | Sam | 2 | 4 | 3 | 9 | 1.8 | |---+---------+--------+--------+--------+-------+------| | | Average | | | | 25.0 | | | ^ | | | | | at | | | $ | max=50 | | | | | | |---+---------+--------+--------+--------+-------+------| #+TBLFM: $6=vsum($P1..$P3)::$7=10*$Tot/$max;%.1f::$at=vmean(@-II..@-I);%.1f Important: please note that for these special tables, recalculating the table with `C-u C-c *' will only affect rows that are marked `#' or `*', and fields that have a formula assigned to the field itself. The column formulas are not applied in rows with empty first field. The marking characters have the following meaning: `!' The fields in this line define names for the columns, so that you may refer to a column as `$Tot' instead of `$6'. `^' This row defines names for the fields _above_ the row. With such a definition, any formula in the table may use `$m1' to refer to the value `10'. Also, if you assign a formula to a names field, it will be stored as `$name=...'. `_' Similar to `^', but defines names for the fields in the row _below_. `$' Fields in this row can define _parameters_ for formulas. For example, if a field in a `$' row contains `max=50', then formulas in this table can refer to the value 50 using `$max'. Parameters work exactly like constants, only that they can be defined on a per-table basis. `#' Fields in this row are automatically recalculated when pressing or or `S-' in this row. Also, this row is selected for a global recalculation with `C-u C-c *'. Unmarked lines will be left alone by this command. `*' Selects this line for global recalculation with `C-u C-c *', but not for automatic recalculation. Use this when automatic recalculation slows down editing too much. ` ' Unmarked lines are exempt from recalculation with `C-u C-c *'. All lines that should be recalculated should be marked with `#' or `*'. `/' Do not export this line. Useful for lines that contain the narrowing `' markers or column group markers. Finally, just to whet your appetite for what can be done with the fantastic `calc.el' package, here is a table that computes the Taylor series of degree `n' at location `x' for a couple of functions. |---+-------------+---+-----+--------------------------------------| | | Func | n | x | Result | |---+-------------+---+-----+--------------------------------------| | # | exp(x) | 1 | x | 1 + x | | # | exp(x) | 2 | x | 1 + x + x^2 / 2 | | # | exp(x) | 3 | x | 1 + x + x^2 / 2 + x^3 / 6 | | # | x^2+sqrt(x) | 2 | x=0 | x*(0.5 / 0) + x^2 (2 - 0.25 / 0) / 2 | | # | x^2+sqrt(x) | 2 | x=1 | 2 + 2.5 x - 2.5 + 0.875 (x - 1)^2 | | * | tan(x) | 3 | x | 0.0175 x + 1.77e-6 x^3 | |---+-------------+---+-----+--------------------------------------| #+TBLFM: $5=taylor($2,$4,$3);n3 ---------- Footnotes ---------- (1) Such names must start by an alphabetic character and use only alphanumeric/underscore characters.  File: org, Node: Org-Plot, Prev: The spreadsheet, Up: Tables 3.6 Org-Plot ============ Org-Plot can produce 2D and 3D graphs of information stored in org tables using `Gnuplot' `http://www.gnuplot.info/' and `gnuplot-mode' `http://xafs.org/BruceRavel/GnuplotMode'. To see this in action, ensure that you have both Gnuplot and Gnuplot mode installed on your system, then call `org-plot/gnuplot' on the following table. #+PLOT: title:"Citas" ind:1 deps:(3) type:2d with:histograms set:"yrange [0:]" | Sede | Max cites | H-index | |-----------+-----------+---------| | Chile | 257.72 | 21.39 | | Leeds | 165.77 | 19.68 | | Sao Paolo | 71.00 | 11.50 | | Stockholm | 134.19 | 14.33 | | Morelia | 257.56 | 17.67 | Notice that Org Plot is smart enough to apply the table's headers as labels. Further control over the labels, type, content, and appearance of plots can be exercised through the `#+PLOT:' lines preceding a table. See below for a complete list of Org-plot options. For more information and examples see the Org-plot tutorial at `http://orgmode.org/worg/org-tutorials/org-plot.html'. Plot Options ............ `set' Specify any `gnuplot' option to be set when graphing. `title' Specify the title of the plot. `ind' Specify which column of the table to use as the `x' axis. `deps' Specify the columns to graph as a Lisp style list, surrounded by parentheses and separated by spaces for example `dep:(3 4)' to graph the third and fourth columns (defaults to graphing all other columns aside from the `ind' column). `type' Specify whether the plot will be `2d', `3d', or `grid'. `with' Specify a `with' option to be inserted for every col being plotted (e.g., `lines', `points', `boxes', `impulses', etc...). Defaults to `lines'. `file' If you want to plot to a file, specify `"PATH/TO/DESIRED/OUTPUT-FILE"'. `labels' List of labels to be used for the `deps' (defaults to the column headers if they exist). `line' Specify an entire line to be inserted in the Gnuplot script. `map' When plotting `3d' or `grid' types, set this to `t' to graph a flat mapping rather than a `3d' slope. `timefmt' Specify format of Org mode timestamps as they will be parsed by Gnuplot. Defaults to `%Y-%m-%d-%H:%M:%S'. `script' If you want total control, you can specify a script file (place the file name between double-quotes) which will be used to plot. Before plotting, every instance of `$datafile' in the specified script will be replaced with the path to the generated data file. Note: even if you set this option, you may still want to specify the plot type, as that can impact the content of the data file.  File: org, Node: Hyperlinks, Next: TODO Items, Prev: Tables, Up: Top 4 Hyperlinks ************ Like HTML, Org provides links inside a file, external links to other files, Usenet articles, emails, and much more. * Menu: * Link format:: How links in Org are formatted * Internal links:: Links to other places in the current file * External links:: URL-like links to the world * Handling links:: Creating, inserting and following * Using links outside Org:: Linking from my C source code? * Link abbreviations:: Shortcuts for writing complex links * Search options:: Linking to a specific location * Custom searches:: When the default search is not enough  File: org, Node: Link format, Next: Internal links, Prev: Hyperlinks, Up: Hyperlinks 4.1 Link format =============== Org will recognize plain URL-like links and activate them as clickable links. The general link format, however, looks like this: [[link][description]] or alternatively [[link]] Once a link in the buffer is complete (all brackets present), Org will change the display so that `description' is displayed instead of `[[link][description]]' and `link' is displayed instead of `[[link]]'. Links will be highlighted in the face `org-link', which by default is an underlined face. You can directly edit the visible part of a link. Note that this can be either the `link' part (if there is no description) or the `description' part. To edit also the invisible `link' part, use `C-c C-l' with the cursor on the link. If you place the cursor at the beginning or just behind the end of the displayed text and press , you will remove the (invisible) bracket at that location. This makes the link incomplete and the internals are again displayed as plain text. Inserting the missing bracket hides the link internals again. To show the internal structure of all links, use the menu entry `Org->Hyperlinks->Literal links'.  File: org, Node: Internal links, Next: External links, Prev: Link format, Up: Hyperlinks 4.2 Internal links ================== If the link does not look like a URL, it is considered to be internal in the current file. The most important case is a link like `[[#my-custom-id]]' which will link to the entry with the `CUSTOM_ID' property `my-custom-id'. You are responsible yourself to make sure these custom IDs are unique in a file. Links such as `[[My Target]]' or `[[My Target][Find my target]]' lead to a text search in the current file. The link can be followed with `C-c C-o' when the cursor is on the link, or with a mouse click (*note Handling links::). Links to custom IDs will point to the corresponding headline. The preferred match for a text link is a dedicated target: the same string in double angular brackets, like `<>'. If no dedicated target exists, the link will then try to match the exact name of an element within the buffer. Naming is done with the `#+NAME' keyword, which has to be put the line before the element it refers to, as in the following example #+NAME: My Target | a | table | |----+------------| | of | four cells | If none of the above succeeds, Org will search for a headline that is exactly the link text but may also include a TODO keyword and tags(1). During export, internal links will be used to mark objects and assign them a number. Marked objects will then be referenced by links pointing to them. In particular, links without a description will appear as the number assigned to the marked object(2). In the following excerpt from an Org buffer - one item - <>another item Here we refer to item [[target]]. The last sentence will appear as `Here we refer to item 2' when exported. In non-Org files, the search will look for the words in the link text. In the above example the search would be for `my target'. Following a link pushes a mark onto Org's own mark ring. You can return to the previous position with `C-c &'. Using this command several times in direct succession goes back to positions recorded earlier. * Menu: * Radio targets:: Make targets trigger links in plain text ---------- Footnotes ---------- (1) To insert a link targeting a headline, in-buffer completion can be used. Just type a star followed by a few optional letters into the buffer and press `M-'. All headlines in the current buffer will be offered as completions. (2) When targeting a `#+NAME' keyword, `#+CAPTION' keyword is mandatory in order to get proper numbering (*note Images and tables::).  File: org, Node: Radio targets, Prev: Internal links, Up: Internal links 4.2.1 Radio targets ------------------- Org can automatically turn any occurrences of certain target names in normal text into a link. So without explicitly creating a link, the text connects to the target radioing its position. Radio targets are enclosed by triple angular brackets. For example, a target `<<>>' causes each occurrence of `my target' in normal text to become activated as a link. The Org file is scanned automatically for radio targets only when the file is first loaded into Emacs. To update the target list during editing, press `C-c C-c' with the cursor on or at a target.  File: org, Node: External links, Next: Handling links, Prev: Internal links, Up: Hyperlinks 4.3 External links ================== Org supports links to files, websites, Usenet and email messages, BBDB database entries and links to both IRC conversations and their logs. External links are URL-like locators. They start with a short identifying string followed by a colon. There can be no space after the colon. The following list shows examples for each link type. http://www.astro.uva.nl/~dominik on the web doi:10.1000/182 DOI for an electronic resource file:/home/dominik/images/jupiter.jpg file, absolute path /home/dominik/images/jupiter.jpg same as above file:papers/last.pdf file, relative path ./papers/last.pdf same as above file:/myself@some.where:papers/last.pdf file, path on remote machine /myself@some.where:papers/last.pdf same as above file:sometextfile::NNN file, jump to line number file:projects.org another Org file file:projects.org::some words text search in Org file(1) file:projects.org::*task title heading search in Org file file+sys:/path/to/file open via OS, like double-click file+emacs:/path/to/file force opening by Emacs docview:papers/last.pdf::NNN open in doc-view mode at page id:B7423F4D-2E8A-471B-8810-C40F074717E9 Link to heading by ID news:comp.emacs Usenet link mailto:adent@galaxy.net Mail link mhe:folder MH-E folder link mhe:folder#id MH-E message link rmail:folder RMAIL folder link rmail:folder#id RMAIL message link gnus:group Gnus group link gnus:group#id Gnus article link bbdb:R.*Stallman BBDB link (with regexp) irc:/irc.com/#emacs/bob IRC link info:org#External links Info node link shell:ls *.org A shell command elisp:org-agenda Interactive Elisp command elisp:(find-file-other-frame "Elisp.org") Elisp form to evaluate On top of these built-in link types, some are available through the `contrib/' directory (*note Installation::). For example, these links to VM or Wanderlust messages are available when you load the corresponding libraries from the `contrib/' directory: vm:folder VM folder link vm:folder#id VM message link vm://myself@some.where.org/folder#id VM on remote machine vm-imap:account:folder VM IMAP folder link vm-imap:account:folder#id VM IMAP message link wl:folder WANDERLUST folder link wl:folder#id WANDERLUST message link For customizing Org to add new link types *note Adding hyperlink types::. A link should be enclosed in double brackets and may contain a descriptive text to be displayed instead of the URL (*note Link format::), for example: [[http://www.gnu.org/software/emacs/][GNU Emacs]] If the description is a file name or URL that points to an image, HTML export (*note HTML export::) will inline the image as a clickable button. If there is no description at all and the link points to an image, that image will be inlined into the exported HTML file. Org also finds external links in the normal text and activates them as links. If spaces must be part of the link (for example in `bbdb:Richard Stallman'), or if you need to remove ambiguities about the end of the link, enclose them in square brackets. ---------- Footnotes ---------- (1) The actual behavior of the search will depend on the value of the option `org-link-search-must-match-exact-headline'. If its value is `nil', then a fuzzy text search will be done. If it is t, then only the exact headline will be matched. If the value is `'query-to-create', then an exact headline will be searched; if it is not found, then the user will be queried to create it.  File: org, Node: Handling links, Next: Using links outside Org, Prev: External links, Up: Hyperlinks 4.4 Handling links ================== Org provides methods to create a link in the correct syntax, to insert it into an Org file, and to follow the link. `C-c l (`org-store-link')' Store a link to the current location. This is a _global_ command (you must create the key binding yourself) which can be used in any buffer to create a link. The link will be stored for later insertion into an Org buffer (see below). What kind of link will be created depends on the current buffer: Org mode buffers For Org files, if there is a `<>' at the cursor, the link points to the target. Otherwise it points to the current headline, which will also be the description(1). If the headline has a `CUSTOM_ID' property, a link to this custom ID will be stored. In addition or alternatively (depending on the value of `org-id-link-to-org-use-id'), a globally unique `ID' property will be created and/or used to construct a link(2). So using this command in Org buffers will potentially create two links: a human-readable from the custom ID, and one that is globally unique and works even if the entry is moved from file to file. Later, when inserting the link, you need to decide which one to use. Email/News clients: VM, Rmail, Wanderlust, MH-E, Gnus Pretty much all Emacs mail clients are supported. The link will point to the current article, or, in some GNUS buffers, to the group. The description is constructed from the author and the subject. Web browsers: W3 and W3M Here the link will be the current URL, with the page title as description. Contacts: BBDB Links created in a BBDB buffer will point to the current entry. Chat: IRC For IRC links, if you set the option `org-irc-link-to-logs' to `t', a `file:/' style link to the relevant point in the logs for the current conversation is created. Otherwise an `irc:/' style link to the user/channel/server under the point will be stored. Other files For any other files, the link will point to the file, with a search string (*note Search options::) pointing to the contents of the current line. If there is an active region, the selected words will form the basis of the search string. If the automatically created link is not working correctly or accurately enough, you can write custom functions to select the search string and to do the search for particular file types--see *note Custom searches::. The key binding `C-c l' is only a suggestion--see *note Installation::. Agenda view When the cursor is in an agenda view, the created link points to the entry referenced by the current line. `C-c C-l (`org-insert-link')' Insert a link(3). This prompts for a link to be inserted into the buffer. You can just type a link, using text for an internal link, or one of the link type prefixes mentioned in the examples above. The link will be inserted into the buffer(4), along with a descriptive text. If some text was selected when this command is called, the selected text becomes the default description. Inserting stored links All links stored during the current session are part of the history for this prompt, so you can access them with and (or `M-p/n'). Completion support Completion with will help you to insert valid link prefixes like `http:' or `ftp:', including the prefixes defined through link abbreviations (*note Link abbreviations::). If you press after inserting only the PREFIX, Org will offer specific completion support for some link types(5) For example, if you type `file ', file name completion (alternative access: `C-u C-c C-l', see below) will be offered, and after `bbdb ' you can complete contact names. `C-u C-c C-l' When `C-c C-l' is called with a `C-u' prefix argument, a link to a file will be inserted and you may use file name completion to select the name of the file. The path to the file is inserted relative to the directory of the current Org file, if the linked file is in the current directory or in a sub-directory of it, or if the path is written relative to the current directory using `../'. Otherwise an absolute path is used, if possible with `~/' for your home directory. You can force an absolute path with two `C-u' prefixes. `C-c C-l (with cursor on existing link)' When the cursor is on an existing link, `C-c C-l' allows you to edit the link and description parts of the link. `C-c C-o (`org-open-at-point')' Open link at point. This will launch a web browser for URLs (using `browse-url-at-point'), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for the corresponding links, and execute the command in a shell link. When the cursor is on an internal link, this command runs the corresponding search. When the cursor is on a TAG list in a headline, it creates the corresponding TAGS view. If the cursor is on a timestamp, it compiles the agenda for that date. Furthermore, it will visit text and remote files in `file:' links with Emacs and select a suitable application for local non-text files. Classification of files is based on file extension only. See option `org-file-apps'. If you want to override the default application and visit the file with Emacs, use a `C-u' prefix. If you want to avoid opening in Emacs, use a `C-u C-u' prefix. If the cursor is on a headline, but not on a link, offer all links in the headline and entry text. If you want to setup the frame configuration for following links, customize `org-link-frame-setup'. `' When `org-return-follows-link' is set, `' will also follow the link at point. `mouse-2' `mouse-1' On links, `mouse-2' will open the link just as `C-c C-o' would. Under Emacs 22 and later, `mouse-1' will also follow a link. `mouse-3' Like `mouse-2', but force file links to be opened with Emacs, and internal links to be displayed in another window(6). `C-c C-x C-v (`org-toggle-inline-images')' Toggle the inline display of linked images. Normally this will only inline images that have no description part in the link, i.e., images that will also be inlined during export. When called with a prefix argument, also display images that do have a link description. You can ask for inline images to be displayed at startup by configuring the variable `org-startup-with-inline-images'(7). `C-c % (`org-mark-ring-push')' Push the current position onto the mark ring, to be able to return easily. Commands following an internal link do this automatically. `C-c & (`org-mark-ring-goto')' Jump back to a recorded position. A position is recorded by the commands following internal links, and by `C-c %'. Using this command several times in direct succession moves through a ring of previously recorded positions. `C-c C-x C-n (`org-next-link')' `C-c C-x C-p (`org-previous-link')' Move forward/backward to the next link in the buffer. At the limit of the buffer, the search fails once, and then wraps around. The key bindings for this are really too long; you might want to bind this also to `C-n' and `C-p' (add-hook 'org-load-hook (lambda () (define-key org-mode-map "\C-n" 'org-next-link) (define-key org-mode-map "\C-p" 'org-previous-link))) ---------- Footnotes ---------- (1) If the headline contains a timestamp, it will be removed from the link and result in a wrong link--you should avoid putting timestamp in the headline. (2) The library `org-id.el' must first be loaded, either through `org-customize' by enabling `org-id' in `org-modules', or by adding `(require 'org-id)' in your `.emacs'. (3) Note that you don't have to use this command to insert a link. Links in Org are plain text, and you can type or paste them straight into the buffer. By using this command, the links are automatically enclosed in double brackets, and you will be asked for the optional descriptive text. (4) After insertion of a stored link, the link will be removed from the list of stored links. To keep it in the list later use, use a triple `C-u' prefix argument to `C-c C-l', or configure the option `org-keep-stored-link-after-insertion'. (5) This works by calling a special function `org-PREFIX-complete-link'. (6) See the option `org-display-internal-link-with-indirect-buffer' (7) with corresponding `#+STARTUP' keywords `inlineimages' and `noinlineimages'  File: org, Node: Using links outside Org, Next: Link abbreviations, Prev: Handling links, Up: Hyperlinks 4.5 Using links outside Org =========================== You can insert and follow links that have Org syntax not only in Org, but in any Emacs buffer. For this, you should create two global commands, like this (please select suitable global keys yourself): (global-set-key "\C-c L" 'org-insert-link-global) (global-set-key "\C-c o" 'org-open-at-point-global)  File: org, Node: Link abbreviations, Next: Search options, Prev: Using links outside Org, Up: Hyperlinks 4.6 Link abbreviations ====================== Long URLs can be cumbersome to type, and often many similar links are needed in a document. For this you can use link abbreviations. An abbreviated link looks like this [[linkword:tag][description]] where the tag is optional. The linkword must be a word, starting with a letter, followed by letters, numbers, `-', and `_'. Abbreviations are resolved according to the information in the variable `org-link-abbrev-alist' that relates the linkwords to replacement text. Here is an example: (setq org-link-abbrev-alist '(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=") ("url-to-ja" . "http://translate.google.fr/translate?sl=en&tl=ja&u=%h") ("google" . "http://www.google.com/search?q=") ("gmap" . "http://maps.google.com/maps?q=%s") ("omap" . "http://nominatim.openstreetmap.org/search?q=%s&polygon=1") ("ads" . "http://adsabs.harvard.edu/cgi-bin/nph-abs_connect?author=%s&db_key=AST"))) If the replacement text contains the string `%s', it will be replaced with the tag. Using `%h' instead of `%s' will url-encode the tag (see the example above, where we need to encode the URL parameter.) Using `%(my-function)' will pass the tag to a custom function, and replace it by the resulting string. If the replacement text don't contain any specifier, it will simply be appended to the string in order to create the link. Instead of a string, you may also specify a function that will be called with the tag as the only argument to create the link. With the above setting, you could link to a specific bug with `[[bugzilla:129]]', search the web for `OrgMode' with `[[google:OrgMode]]', show the map location of the Free Software Foundation `[[gmap:51 Franklin Street, Boston]]' or of Carsten office `[[omap:Science Park 904, Amsterdam, The Netherlands]]' and find out what the Org author is doing besides Emacs hacking with `[[ads:Dominik,C]]'. If you need special abbreviations just for a single Org buffer, you can define them in the file with #+LINK: bugzilla http://10.1.2.9/bugzilla/show_bug.cgi?id= #+LINK: google http://www.google.com/search?q=%s In-buffer completion (*note Completion::) can be used after `[' to complete link abbreviations. You may also define a function `org-PREFIX-complete-link' that implements special (e.g., completion) support for inserting such a link with `C-c C-l'. Such a function should not accept any arguments, and return the full link with prefix.  File: org, Node: Search options, Next: Custom searches, Prev: Link abbreviations, Up: Hyperlinks 4.7 Search options in file links ================================ File links can contain additional information to make Emacs jump to a particular location in the file when following a link. This can be a line number or a search option after a double(1) colon. For example, when the command `C-c l' creates a link (*note Handling links::) to a file, it encodes the words in the current line as a search string that can be used to find this line back later when following the link with `C-c C-o'. Here is the syntax of the different ways to attach a search to a file link, together with an explanation: [[file:~/code/main.c::255]] [[file:~/xx.org::My Target]] [[file:~/xx.org::*My Target]] [[file:~/xx.org::#my-custom-id]] [[file:~/xx.org::/regexp/]] `255' Jump to line 255. `My Target' Search for a link target `<>', or do a text search for `my target', similar to the search in internal links, see *note Internal links::. In HTML export (*note HTML export::), such a file link will become an HTML reference to the corresponding named anchor in the linked file. `*My Target' In an Org file, restrict search to headlines. `#my-custom-id' Link to a heading with a `CUSTOM_ID' property `/regexp/' Do a regular expression search for `regexp'. This uses the Emacs command `occur' to list all matches in a separate window. If the target file is in Org mode, `org-occur' is used to create a sparse tree with the matches. As a degenerate case, a file link with an empty file name can be used to search the current file. For example, `[[file:::find me]]' does a search for `find me' in the current file, just as `[[find me]]' would. ---------- Footnotes ---------- (1) For backward compatibility, line numbers can also follow a single colon.  File: org, Node: Custom searches, Prev: Search options, Up: Hyperlinks 4.8 Custom Searches =================== The default mechanism for creating search strings and for doing the actual search related to a file link may not work correctly in all cases. For example, BibTeX database files have many entries like `year="1993"' which would not result in good search strings, because the only unique identification for a BibTeX entry is the citation key. If you come across such a problem, you can write custom functions to set the right search string for a particular file type, and to do the search for the string in the file. Using `add-hook', these functions need to be added to the hook variables `org-create-file-search-functions' and `org-execute-file-search-functions'. See the docstring for these variables for more information. Org actually uses this mechanism for BibTeX database files, and you can use the corresponding code as an implementation example. See the file `org-bibtex.el'.  File: org, Node: TODO Items, Next: Tags, Prev: Hyperlinks, Up: Top 5 TODO items ************ Org mode does not maintain TODO lists as separate documents(1). Instead, TODO items are an integral part of the notes file, because TODO items usually come up while taking notes! With Org mode, simply mark any entry in a tree as being a TODO item. In this way, information is not duplicated, and the entire context from which the TODO item emerged is always present. Of course, this technique for managing TODO items scatters them throughout your notes file. Org mode compensates for this by providing methods to give you an overview of all the things that you have to do. * Menu: * TODO basics:: Marking and displaying TODO entries * TODO extensions:: Workflow and assignments * Progress logging:: Dates and notes for progress * Priorities:: Some things are more important than others * Breaking down tasks:: Splitting a task into manageable pieces * Checkboxes:: Tick-off lists ---------- Footnotes ---------- (1) Of course, you can make a document that contains only long lists of TODO items, but this is not required.  File: org, Node: TODO basics, Next: TODO extensions, Prev: TODO Items, Up: TODO Items 5.1 Basic TODO functionality ============================ Any headline becomes a TODO item when it starts with the word `TODO', for example: *** TODO Write letter to Sam Fortune The most important commands to work with TODO entries are: `C-c C-t (`org-todo')' Rotate the TODO state of the current item among ,-> (unmarked) -> TODO -> DONE --. '--------------------------------' If TODO keywords have fast access keys (see *note Fast access to TODO states::), you will be prompted for a TODO keyword through the fast selection interface; this is the default behavior when `org-use-fast-todo-selection' is non-`nil'. The same rotation can also be done "remotely" from the timeline and agenda buffers with the `t' command key (*note Agenda commands::). `C-u C-c C-t' When TODO keywords have no selection keys, select a specific keyword using completion; otherwise force cycling through TODO states with no prompt. When `org-use-fast-todo-selection' is set to `prefix', use the fast selection interface. `S- / S-' Select the following/preceding TODO state, similar to cycling. Useful mostly if more than two TODO states are possible (*note TODO extensions::). See also *note Conflicts::, for a discussion of the interaction with `shift-selection-mode'. See also the variable `org-treat-S-cursor-todo-selection-as-state-change'. `C-c / t (`org-show-todo-tree')' View TODO items in a _sparse tree_ (*note Sparse trees::). Folds the entire buffer, but shows all TODO items (with not-DONE state) and the headings hierarchy above them. With a prefix argument (or by using `C-c / T'), search for a specific TODO. You will be prompted for the keyword, and you can also give a list of keywords like `KWD1|KWD2|...' to list entries that match any one of these keywords. With a numeric prefix argument N, show the tree for the Nth keyword in the option `org-todo-keywords'. With two prefix arguments, find all TODO states, both un-done and done. `C-c a t (`org-todo-list')' Show the global TODO list. Collects the TODO items (with not-DONE states) from all agenda files (*note Agenda Views::) into a single buffer. The new buffer will be in `agenda-mode', which provides commands to examine and manipulate the TODO entries from the new buffer (*note Agenda commands::). *Note Global TODO list::, for more information. `S-M- (`org-insert-todo-heading')' Insert a new TODO entry below the current one. Changing a TODO state can also trigger tag changes. See the docstring of the option `org-todo-state-tags-triggers' for details.  File: org, Node: TODO extensions, Next: Progress logging, Prev: TODO basics, Up: TODO Items 5.2 Extended use of TODO keywords ================================= By default, marked TODO entries have one of only two states: TODO and DONE. Org mode allows you to classify TODO items in more complex ways with _TODO keywords_ (stored in `org-todo-keywords'). With special setup, the TODO keyword system can work differently in different files. Note that tags are another way to classify headlines in general and TODO items in particular (*note Tags::). * Menu: * Workflow states:: From TODO to DONE in steps * TODO types:: I do this, Fred does the rest * Multiple sets in one file:: Mixing it all, and still finding your way * Fast access to TODO states:: Single letter selection of a state * Per-file keywords:: Different files, different requirements * Faces for TODO keywords:: Highlighting states * TODO dependencies:: When one task needs to wait for others  File: org, Node: Workflow states, Next: TODO types, Prev: TODO extensions, Up: TODO extensions 5.2.1 TODO keywords as workflow states -------------------------------------- You can use TODO keywords to indicate different _sequential_ states in the process of working on an item, for example(1): (setq org-todo-keywords '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED"))) The vertical bar separates the TODO keywords (states that _need action_) from the DONE states (which need _no further action_). If you don't provide the separator bar, the last state is used as the DONE state. With this setup, the command `C-c C-t' will cycle an entry from TODO to FEEDBACK, then to VERIFY, and finally to DONE and DELEGATED. You may also use a numeric prefix argument to quickly select a specific state. For example `C-3 C-c C-t' will change the state immediately to VERIFY. Or you can use `S-' to go backward through the sequence. If you define many keywords, you can use in-buffer completion (*note Completion::) or even a special one-key selection scheme (*note Fast access to TODO states::) to insert these words into the buffer. Changing a TODO state can be logged with a timestamp, see *note Tracking TODO state changes::, for more information. ---------- Footnotes ---------- (1) Changing this variable only becomes effective after restarting Org mode in a buffer.  File: org, Node: TODO types, Next: Multiple sets in one file, Prev: Workflow states, Up: TODO extensions 5.2.2 TODO keywords as types ---------------------------- The second possibility is to use TODO keywords to indicate different _types_ of action items. For example, you might want to indicate that items are for "work" or "home". Or, when you work with several people on a single project, you might want to assign action items directly to persons, by using their names as TODO keywords. This would be set up like this: (setq org-todo-keywords '((type "Fred" "Sara" "Lucy" "|" "DONE"))) In this case, different keywords do not indicate a sequence, but rather different types. So the normal work flow would be to assign a task to a person, and later to mark it DONE. Org mode supports this style by adapting the workings of the command `C-c C-t'(1). When used several times in succession, it will still cycle through all names, in order to first select the right type for a task. But when you return to the item after some time and execute `C-c C-t' again, it will switch from any name directly to DONE. Use prefix arguments or completion to quickly select a specific name. You can also review the items of a specific TODO type in a sparse tree by using a numeric prefix to `C-c / t'. For example, to see all things Lucy has to do, you would use `C-3 C-c / t'. To collect Lucy's items from all agenda files into a single buffer, you would use the numeric prefix argument as well when creating the global TODO list: `C-3 C-c a t'. ---------- Footnotes ---------- (1) This is also true for the `t' command in the timeline and agenda buffers.  File: org, Node: Multiple sets in one file, Next: Fast access to TODO states, Prev: TODO types, Up: TODO extensions 5.2.3 Multiple keyword sets in one file --------------------------------------- Sometimes you may want to use different sets of TODO keywords in parallel. For example, you may want to have the basic `TODO'/`DONE', but also a workflow for bug fixing, and a separate state indicating that an item has been canceled (so it is not DONE, but also does not require action). Your setup would then look like this: (setq org-todo-keywords '((sequence "TODO" "|" "DONE") (sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED") (sequence "|" "CANCELED"))) The keywords should all be different, this helps Org mode to keep track of which subsequence should be used for a given entry. In this setup, `C-c C-t' only operates within a subsequence, so it switches from `DONE' to (nothing) to `TODO', and from `FIXED' to (nothing) to `REPORT'. Therefore you need a mechanism to initially select the correct sequence. Besides the obvious ways like typing a keyword or using completion, you may also apply the following commands: `C-u C-u C-c C-t' `C-S-' `C-S-' These keys jump from one TODO subset to the next. In the above example, `C-u C-u C-c C-t' or `C-S-' would jump from `TODO' or `DONE' to `REPORT', and any of the words in the second row to `CANCELED'. Note that the `C-S-' key binding conflict with `shift-selection-mode' (*note Conflicts::). `S-' `S-' `S-<>' and `S-<>' and walk through _all_ keywords from all sets, so for example `S-<>' would switch from `DONE' to `REPORT' in the example above. See also *note Conflicts::, for a discussion of the interaction with `shift-selection-mode'.  File: org, Node: Fast access to TODO states, Next: Per-file keywords, Prev: Multiple sets in one file, Up: TODO extensions 5.2.4 Fast access to TODO states -------------------------------- If you would like to quickly change an entry to an arbitrary TODO state instead of cycling through the states, you can set up keys for single-letter access to the states. This is done by adding the selection character after each keyword, in parentheses(1). For example: (setq org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d)") (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)") (sequence "|" "CANCELED(c)"))) If you then press `C-c C-t' followed by the selection key, the entry will be switched to this state. `SPC' can be used to remove any TODO keyword from an entry.(2) ---------- Footnotes ---------- (1) All characters are allowed except `@^!', which have a special meaning here. (2) Check also the option `org-fast-tag-selection-include-todo', it allows you to change the TODO state through the tags interface (*note Setting tags::), in case you like to mingle the two concepts. Note that this means you need to come up with unique keys across both sets of keywords.  File: org, Node: Per-file keywords, Next: Faces for TODO keywords, Prev: Fast access to TODO states, Up: TODO extensions 5.2.5 Setting up keywords for individual files ---------------------------------------------- It can be very useful to use different aspects of the TODO mechanism in different files. For file-local settings, you need to add special lines to the file which set the keywords and interpretation for that file only. For example, to set one of the two examples discussed above, you need one of the following lines, starting in column zero anywhere in the file: #+TODO: TODO FEEDBACK VERIFY | DONE CANCELED (you may also write `#+SEQ_TODO' to be explicit about the interpretation, but it means the same as `#+TODO'), or #+TYP_TODO: Fred Sara Lucy Mike | DONE A setup for using several sets in parallel would be: #+TODO: TODO | DONE #+TODO: REPORT BUG KNOWNCAUSE | FIXED #+TODO: | CANCELED To make sure you are using the correct keyword, type `#+' into the buffer and then use `M-' completion. Remember that the keywords after the vertical bar (or the last keyword if no bar is there) must always mean that the item is DONE (although you may use a different word). After changing one of these lines, use `C-c C-c' with the cursor still in the line to make the changes known to Org mode(1). ---------- Footnotes ---------- (1) Org mode parses these lines only when Org mode is activated after visiting a file. `C-c C-c' with the cursor in a line starting with `#+' is simply restarting Org mode for the current buffer.  File: org, Node: Faces for TODO keywords, Next: TODO dependencies, Prev: Per-file keywords, Up: TODO extensions 5.2.6 Faces for TODO keywords ----------------------------- Org mode highlights TODO keywords with special faces: `org-todo' for keywords indicating that an item still has to be acted upon, and `org-done' for keywords indicating that an item is finished. If you are using more than 2 different states, you might want to use special faces for some of them. This can be done using the option `org-todo-keyword-faces'. For example: (setq org-todo-keyword-faces '(("TODO" . org-warning) ("STARTED" . "yellow") ("CANCELED" . (:foreground "blue" :weight bold)))) While using a list with face properties as shown for CANCELED _should_ work, this does not always seem to be the case. If necessary, define a special face and use that. A string is interpreted as a color. The option `org-faces-easy-properties' determines if that color is interpreted as a foreground or a background color.  File: org, Node: TODO dependencies, Prev: Faces for TODO keywords, Up: TODO extensions 5.2.7 TODO dependencies ----------------------- The structure of Org files (hierarchy and lists) makes it easy to define TODO dependencies. Usually, a parent TODO task should not be marked DONE until all subtasks (defined as children tasks) are marked as DONE. And sometimes there is a logical sequence to a number of (sub)tasks, so that one task cannot be acted upon before all siblings above it are done. If you customize the option `org-enforce-todo-dependencies', Org will block entries from changing state to DONE while they have children that are not DONE. Furthermore, if an entry has a property `ORDERED', each of its children will be blocked until all earlier siblings are marked DONE. Here is an example: * TODO Blocked until (two) is done ** DONE one ** TODO two * Parent :PROPERTIES: :ORDERED: t :END: ** TODO a ** TODO b, needs to wait for (a) ** TODO c, needs to wait for (a) and (b) `C-c C-x o (`org-toggle-ordered-property')' Toggle the `ORDERED' property of the current entry. A property is used for this behavior because this should be local to the current entry, not inherited like a tag. However, if you would like to track the value of this property with a tag for better visibility, customize the option `org-track-ordered-property-with-tag'. `C-u C-u C-u C-c C-t' Change TODO state, circumventing any state blocking. If you set the option `org-agenda-dim-blocked-tasks', TODO entries that cannot be closed because of such dependencies will be shown in a dimmed font or even made invisible in agenda views (*note Agenda Views::). You can also block changes of TODO states by looking at checkboxes (*note Checkboxes::). If you set the option `org-enforce-todo-checkbox-dependencies', an entry that has unchecked checkboxes will be blocked from switching to DONE. If you need more complex dependency structures, for example dependencies between entries in different trees or files, check out the contributed module `org-depend.el'.  File: org, Node: Progress logging, Next: Priorities, Prev: TODO extensions, Up: TODO Items 5.3 Progress logging ==================== Org mode can automatically record a timestamp and possibly a note when you mark a TODO item as DONE, or even each time you change the state of a TODO item. This system is highly configurable; settings can be on a per-keyword basis and can be localized to a file or even a subtree. For information on how to clock working time for a task, see *note Clocking work time::. * Menu: * Closing items:: When was this entry marked DONE? * Tracking TODO state changes:: When did the status change? * Tracking your habits:: How consistent have you been?  File: org, Node: Closing items, Next: Tracking TODO state changes, Prev: Progress logging, Up: Progress logging 5.3.1 Closing items ------------------- The most basic logging is to keep track of _when_ a certain TODO item was finished. This is achieved with(1) (setq org-log-done 'time) Then each time you turn an entry from a TODO (not-done) state into any of the DONE states, a line `CLOSED: [timestamp]' will be inserted just after the headline. If you turn the entry back into a TODO item through further state cycling, that line will be removed again. If you turn the entry back to a non-TODO state (by pressing for example), that line will also be removed, unless you set `org-closed-keep-when-no-todo' to non-`nil'. If you want to record a note along with the timestamp, use(2) (setq org-log-done 'note) You will then be prompted for a note, and that note will be stored below the entry with a `Closing Note' heading. In the timeline (*note Timeline::) and in the agenda (*note Weekly/daily agenda::), you can then use the `l' key to display the TODO items with a `CLOSED' timestamp on each day, giving you an overview of what has been done. ---------- Footnotes ---------- (1) The corresponding in-buffer setting is: `#+STARTUP: logdone' (2) The corresponding in-buffer setting is: `#+STARTUP: lognotedone'.  File: org, Node: Tracking TODO state changes, Next: Tracking your habits, Prev: Closing items, Up: Progress logging 5.3.2 Tracking TODO state changes --------------------------------- When TODO keywords are used as workflow states (*note Workflow states::), you might want to keep track of when a state change occurred and maybe take a note about this change. You can either record just a timestamp, or a time-stamped note for a change. These records will be inserted after the headline as an itemized list, newest first(1). When taking a lot of notes, you might want to get the notes out of the way into a drawer (*note Drawers::). Customize `org-log-into-drawer' to get this behavior--the recommended drawer for this is called `LOGBOOK'(2). You can also overrule the setting of this variable for a subtree by setting a `LOG_INTO_DRAWER' property. Since it is normally too much to record a note for every state, Org mode expects configuration on a per-keyword basis for this. This is achieved by adding special markers `!' (for a timestamp) or `@' (for a note with timestamp) in parentheses after each keyword. For example, with the setting (setq org-todo-keywords '((sequence "TODO(t)" "WAIT(w@/!)" "|" "DONE(d!)" "CANCELED(c@)"))) To record a timestamp without a note for TODO keywords configured with `@', just type `C-c C-c' to enter a blank note when prompted. you not only define global TODO keywords and fast access keys, but also request that a time is recorded when the entry is set to DONE(3), and that a note is recorded when switching to WAIT or CANCELED. The setting for WAIT is even more special: the `!' after the slash means that in addition to the note taken when entering the state, a timestamp should be recorded when leaving the WAIT state, if and only if the target state does not configure logging for entering it. So it has no effect when switching from WAIT to DONE, because DONE is configured to record a timestamp only. But when switching from WAIT back to TODO, the `/!' in the WAIT setting now triggers a timestamp even though TODO has no logging configured. You can use the exact same syntax for setting logging preferences local to a buffer: #+TODO: TODO(t) WAIT(w@/!) | DONE(d!) CANCELED(c@) In order to define logging settings that are local to a subtree or a single item, define a LOGGING property in this entry. Any non-empty LOGGING property resets all logging settings to `nil'. You may then turn on logging for this specific tree using STARTUP keywords like `lognotedone' or `logrepeat', as well as adding state specific settings like `TODO(!)'. For example * TODO Log each state with only a time :PROPERTIES: :LOGGING: TODO(!) WAIT(!) DONE(!) CANCELED(!) :END: * TODO Only log when switching to WAIT, and when repeating :PROPERTIES: :LOGGING: WAIT(@) logrepeat :END: * TODO No logging at all :PROPERTIES: :LOGGING: nil :END: ---------- Footnotes ---------- (1) See the option `org-log-states-order-reversed' (2) Note that the `LOGBOOK' drawer is unfolded when pressing in the agenda to show an entry--use to keep it folded here (3) It is possible that Org mode will record two timestamps when you are using both `org-log-done' and state change logging. However, it will never prompt for two notes--if you have configured both, the state change recording note will take precedence and cancel the `Closing Note'.  File: org, Node: Tracking your habits, Prev: Tracking TODO state changes, Up: Progress logging 5.3.3 Tracking your habits -------------------------- Org has the ability to track the consistency of a special category of TODOs, called "habits". A habit has the following properties: 1. You have enabled the `habits' module by customizing `org-modules'. 2. The habit is a TODO item, with a TODO keyword representing an open state. 3. The property `STYLE' is set to the value `habit'. 4. The TODO has a scheduled date, usually with a `.+' style repeat interval. A `++' style may be appropriate for habits with time constraints, e.g., must be done on weekends, or a `+' style for an unusual habit that can have a backlog, e.g., weekly reports. 5. The TODO may also have minimum and maximum ranges specified by using the syntax `.+2d/3d', which says that you want to do the task at least every three days, but at most every two days. 6. You must also have state logging for the `DONE' state enabled (*note Tracking TODO state changes::), in order for historical data to be represented in the consistency graph. If it is not enabled it is not an error, but the consistency graphs will be largely meaningless. To give you an idea of what the above rules look like in action, here's an actual habit with some history: ** TODO Shave SCHEDULED: <2009-10-17 Sat .+2d/4d> - State "DONE" from "TODO" [2009-10-15 Thu] - State "DONE" from "TODO" [2009-10-12 Mon] - State "DONE" from "TODO" [2009-10-10 Sat] - State "DONE" from "TODO" [2009-10-04 Sun] - State "DONE" from "TODO" [2009-10-02 Fri] - State "DONE" from "TODO" [2009-09-29 Tue] - State "DONE" from "TODO" [2009-09-25 Fri] - State "DONE" from "TODO" [2009-09-19 Sat] - State "DONE" from "TODO" [2009-09-16 Wed] - State "DONE" from "TODO" [2009-09-12 Sat] :PROPERTIES: :STYLE: habit :LAST_REPEAT: [2009-10-19 Mon 00:36] :END: What this habit says is: I want to shave at most every 2 days (given by the `SCHEDULED' date and repeat interval) and at least every 4 days. If today is the 15th, then the habit first appears in the agenda on Oct 17, after the minimum of 2 days has elapsed, and will appear overdue on Oct 19, after four days have elapsed. What's really useful about habits is that they are displayed along with a consistency graph, to show how consistent you've been at getting that task done in the past. This graph shows every day that the task was done over the past three weeks, with colors for each day. The colors used are: `Blue' If the task wasn't to be done yet on that day. `Green' If the task could have been done on that day. `Yellow' If the task was going to be overdue the next day. `Red' If the task was overdue on that day. In addition to coloring each day, the day is also marked with an asterisk if the task was actually done that day, and an exclamation mark to show where the current day falls in the graph. There are several configuration variables that can be used to change the way habits are displayed in the agenda. `org-habit-graph-column' The buffer column at which the consistency graph should be drawn. This will overwrite any text in that column, so it is a good idea to keep your habits' titles brief and to the point. `org-habit-preceding-days' The amount of history, in days before today, to appear in consistency graphs. `org-habit-following-days' The number of days after today that will appear in consistency graphs. `org-habit-show-habits-only-for-today' If non-`nil', only show habits in today's agenda view. This is set to true by default. Lastly, pressing `K' in the agenda buffer will cause habits to temporarily be disabled and they won't appear at all. Press `K' again to bring them back. They are also subject to tag filtering, if you have habits which should only be done in certain contexts, for example.  File: org, Node: Priorities, Next: Breaking down tasks, Prev: Progress logging, Up: TODO Items 5.4 Priorities ============== If you use Org mode extensively, you may end up with enough TODO items that it starts to make sense to prioritize them. Prioritizing can be done by placing a _priority cookie_ into the headline of a TODO item, like this *** TODO [#A] Write letter to Sam Fortune By default, Org mode supports three priorities: `A', `B', and `C'. `A' is the highest priority. An entry without a cookie is treated just like priority `B'. Priorities make a difference only for sorting in the agenda (*note Weekly/daily agenda::); outside the agenda, they have no inherent meaning to Org mode. The cookies can be highlighted with special faces by customizing `org-priority-faces'. Priorities can be attached to any outline node; they do not need to be TODO items. `C-c ,' Set the priority of the current headline (`org-priority'). The command prompts for a priority character `A', `B' or `C'. When you press instead, the priority cookie is removed from the headline. The priorities can also be changed "remotely" from the timeline and agenda buffer with the `,' command (*note Agenda commands::). `S- (`org-priority-up')' `S- (`org-priority-down')' Increase/decrease priority of current headline(1). Note that these keys are also used to modify timestamps (*note Creating timestamps::). See also *note Conflicts::, for a discussion of the interaction with `shift-selection-mode'. You can change the range of allowed priorities by setting the options `org-highest-priority', `org-lowest-priority', and `org-default-priority'. For an individual buffer, you may set these values (highest, lowest, default) like this (please make sure that the highest priority is earlier in the alphabet than the lowest priority): #+PRIORITIES: A C B ---------- Footnotes ---------- (1) See also the option `org-priority-start-cycle-with-default'.  File: org, Node: Breaking down tasks, Next: Checkboxes, Prev: Priorities, Up: TODO Items 5.5 Breaking tasks down into subtasks ===================================== It is often advisable to break down large tasks into smaller, manageable subtasks. You can do this by creating an outline tree below a TODO item, with detailed subtasks on the tree(1). To keep the overview over the fraction of subtasks that are already completed, insert either `[/]' or `[%]' anywhere in the headline. These cookies will be updated each time the TODO status of a child changes, or when pressing `C-c C-c' on the cookie. For example: * Organize Party [33%] ** TODO Call people [1/2] *** TODO Peter *** DONE Sarah ** TODO Buy food ** DONE Talk to neighbor If a heading has both checkboxes and TODO children below it, the meaning of the statistics cookie become ambiguous. Set the property `COOKIE_DATA' to either `checkbox' or `todo' to resolve this issue. If you would like to have the statistics cookie count any TODO entries in the subtree (not just direct children), configure `org-hierarchical-todo-statistics'. To do this for a single subtree, include the word `recursive' into the value of the `COOKIE_DATA' property. * Parent capturing statistics [2/20] :PROPERTIES: :COOKIE_DATA: todo recursive :END: If you would like a TODO entry to automatically change to DONE when all children are done, you can use the following setup: (defun org-summary-todo (n-done n-not-done) "Switch entry to DONE when all subentries are done, to TODO otherwise." (let (org-log-done org-log-states) ; turn off logging (org-todo (if (= n-not-done 0) "DONE" "TODO")))) (add-hook 'org-after-todo-statistics-hook 'org-summary-todo) Another possibility is the use of checkboxes to identify (a hierarchy of) a large number of subtasks (*note Checkboxes::). ---------- Footnotes ---------- (1) To keep subtasks out of the global TODO list, see the `org-agenda-todo-list-sublevels'.  File: org, Node: Checkboxes, Prev: Breaking down tasks, Up: TODO Items 5.6 Checkboxes ============== Every item in a plain list(1) (*note Plain lists::) can be made into a checkbox by starting it with the string `[ ]'. This feature is similar to TODO items (*note TODO Items::), but is more lightweight. Checkboxes are not included in the global TODO list, so they are often great to split a task into a number of simple steps. Or you can use them in a shopping list. To toggle a checkbox, use `C-c C-c', or use the mouse (thanks to Piotr Zielinski's `org-mouse.el'). Here is an example of a checkbox list. * TODO Organize party [2/4] - [-] call people [1/3] - [ ] Peter - [X] Sarah - [ ] Sam - [X] order food - [ ] think about what music to play - [X] talk to the neighbors Checkboxes work hierarchically, so if a checkbox item has children that are checkboxes, toggling one of the children checkboxes will make the parent checkbox reflect if none, some, or all of the children are checked. The `[2/4]' and `[1/3]' in the first and second line are cookies indicating how many checkboxes present in this entry have been checked off, and the total number of checkboxes present. This can give you an idea on how many checkboxes remain, even without opening a folded entry. The cookies can be placed into a headline or into (the first line of) a plain list item. Each cookie covers checkboxes of direct children structurally below the headline/item on which the cookie appears(2). You have to insert the cookie yourself by typing either `[/]' or `[%]'. With `[/]' you get an `n out of m' result, as in the examples above. With `[%]' you get information about the percentage of checkboxes checked (in the above example, this would be `[50%]' and `[33%]', respectively). In a headline, a cookie can count either checkboxes below the heading or TODO states of children, and it will display whatever was changed last. Set the property `COOKIE_DATA' to either `checkbox' or `todo' to resolve this issue. If the current outline node has an `ORDERED' property, checkboxes must be checked off in sequence, and an error will be thrown if you try to check off a box while there are unchecked boxes above it. The following commands work with checkboxes: `C-c C-c (`org-toggle-checkbox')' Toggle checkbox status or (with prefix arg) checkbox presence at point. With a single prefix argument, add an empty checkbox or remove the current one(3). With a double prefix argument, set it to `[-]', which is considered to be an intermediate state. `C-c C-x C-b (`org-toggle-checkbox')' Toggle checkbox status or (with prefix arg) checkbox presence at point. With double prefix argument, set it to `[-]', which is considered to be an intermediate state. - If there is an active region, toggle the first checkbox in the region and set all remaining boxes to the same status as the first. With a prefix arg, add or remove the checkbox for all items in the region. - If the cursor is in a headline, toggle checkboxes in the region between this headline and the next (so _not_ the entire subtree). - If there is no active region, just toggle the checkbox at point. `M-S- (`org-insert-todo-heading')' Insert a new item with a checkbox. This works only if the cursor is already in a plain list item (*note Plain lists::). `C-c C-x o (`org-toggle-ordered-property')' Toggle the `ORDERED' property of the entry, to toggle if checkboxes must be checked off in sequence. A property is used for this behavior because this should be local to the current entry, not inherited like a tag. However, if you would like to track the value of this property with a tag for better visibility, customize `org-track-ordered-property-with-tag'. `C-c # (`org-update-statistics-cookies')' Update the statistics cookie in the current outline entry. When called with a `C-u' prefix, update the entire file. Checkbox statistic cookies are updated automatically if you toggle checkboxes with `C-c C-c' and make new ones with `M-S-'. TODO statistics cookies update when changing TODO states. If you delete boxes/entries or add/change them by hand, use this command to get things back into sync. ---------- Footnotes ---------- (1) With the exception of description lists. But you can allow it by modifying `org-list-automatic-rules' accordingly. (2) Set the option `org-checkbox-hierarchical-statistics' if you want such cookies to count all checkboxes below the cookie, not just those belonging to direct children. (3) `C-u C-c C-c' on the _first_ item of a list with no checkbox will add checkboxes to the rest of the list.  File: org, Node: Tags, Next: Properties and Columns, Prev: TODO Items, Up: Top 6 Tags ****** An excellent way to implement labels and contexts for cross-correlating information is to assign tags to headlines. Org mode has extensive support for tags. Every headline can contain a list of tags; they occur at the end of the headline. Tags are normal words containing letters, numbers, `_', and `@'. Tags must be preceded and followed by a single colon, e.g., `:work:'. Several tags can be specified, as in `:work:urgent:'. Tags will by default be in bold face with the same color as the headline. You may specify special faces for specific tags using the option `org-tag-faces', in much the same way as you can for TODO keywords (*note Faces for TODO keywords::). * Menu: * Tag inheritance:: Tags use the tree structure of the outline * Setting tags:: How to assign tags to a headline * Tag groups:: Use one tag to search for several tags * Tag searches:: Searching for combinations of tags  File: org, Node: Tag inheritance, Next: Setting tags, Prev: Tags, Up: Tags 6.1 Tag inheritance =================== Tags make use of the hierarchical structure of outline trees. If a heading has a certain tag, all subheadings will inherit the tag as well. For example, in the list * Meeting with the French group :work: ** Summary by Frank :boss:notes: *** TODO Prepare slides for him :action: the final heading will have the tags `:work:', `:boss:', `:notes:', and `:action:' even though the final heading is not explicitly marked with those tags. You can also set tags that all entries in a file should inherit just as if these tags were defined in a hypothetical level zero that surrounds the entire file. Use a line like this(1): #+FILETAGS: :Peter:Boss:Secret: To limit tag inheritance to specific tags, use `org-tags-exclude-from-inheritance'. To turn it off entirely, use `org-use-tag-inheritance'. When a headline matches during a tags search while tag inheritance is turned on, all the sublevels in the same tree will (for a simple match form) match as well(2). The list of matches may then become very long. If you only want to see the first tags match in a subtree, configure `org-tags-match-list-sublevels' (not recommended). Tag inheritance is relevant when the agenda search tries to match a tag, either in the `tags' or `tags-todo' agenda types. In other agenda types, `org-use-tag-inheritance' has no effect. Still, you may want to have your tags correctly set in the agenda, so that tag filtering works fine, with inherited tags. Set `org-agenda-use-tag-inheritance' to control this: the default value includes all agenda types, but setting this to `nil' can really speed up agenda generation. ---------- Footnotes ---------- (1) As with all these in-buffer settings, pressing `C-c C-c' activates any changes in the line. (2) This is only true if the search does not involve more complex tests including properties (*note Property searches::).  File: org, Node: Setting tags, Next: Tag groups, Prev: Tag inheritance, Up: Tags 6.2 Setting tags ================ Tags can simply be typed into the buffer at the end of a headline. After a colon, `M-' offers completion on tags. There is also a special command for inserting tags: `C-c C-q (`org-set-tags-command')' Enter new tags for the current headline. Org mode will either offer completion or a special single-key interface for setting tags, see below. After pressing , the tags will be inserted and aligned to `org-tags-column'. When called with a `C-u' prefix, all tags in the current buffer will be aligned to that column, just to make things look nice. TAGS are automatically realigned after promotion, demotion, and TODO state changes (*note TODO basics::). `C-c C-c (`org-set-tags-command')' When the cursor is in a headline, this does the same as `C-c C-q'. Org supports tag insertion based on a _list of tags_. By default this list is constructed dynamically, containing all tags currently used in the buffer. You may also globally specify a hard list of tags with the variable `org-tag-alist'. Finally you can set the default tags for a given file with lines like #+TAGS: @work @home @tennisclub #+TAGS: laptop car pc sailboat If you have globally defined your preferred set of tags using the variable `org-tag-alist', but would like to use a dynamic tag list in a specific file, add an empty TAGS option line to that file: #+TAGS: If you have a preferred set of tags that you would like to use in every file, in addition to those defined on a per-file basis by TAGS option lines, then you may specify a list of tags with the variable `org-tag-persistent-alist'. You may turn this off on a per-file basis by adding a STARTUP option line to that file: #+STARTUP: noptag By default Org mode uses the standard minibuffer completion facilities for entering tags. However, it also implements another, quicker, tag selection method called _fast tag selection_. This allows you to select and deselect tags with just a single key press. For this to work well you should assign unique letters to most of your commonly used tags. You can do this globally by configuring the variable `org-tag-alist' in your `.emacs' file. For example, you may find the need to tag many items in different files with `:@home:'. In this case you can set something like: (setq org-tag-alist '(("@work" . ?w) ("@home" . ?h) ("laptop" . ?l))) If the tag is only relevant to the file you are working on, then you can instead set the TAGS option line as: #+TAGS: @work(w) @home(h) @tennisclub(t) laptop(l) pc(p) The tags interface will show the available tags in a splash window. If you want to start a new line after a specific tag, insert `\n' into the tag list #+TAGS: @work(w) @home(h) @tennisclub(t) \n laptop(l) pc(p) or write them in two lines: #+TAGS: @work(w) @home(h) @tennisclub(t) #+TAGS: laptop(l) pc(p) You can also group together tags that are mutually exclusive by using braces, as in: #+TAGS: { @work(w) @home(h) @tennisclub(t) } laptop(l) pc(p) you indicate that at most one of `@work', `@home', and `@tennisclub' should be selected. Multiple such groups are allowed. Don't forget to press `C-c C-c' with the cursor in one of these lines to activate any changes. To set these mutually exclusive groups in the variable `org-tag-alist', you must use the dummy tags `:startgroup' and `:endgroup' instead of the braces. Similarly, you can use `:newline' to indicate a line break. The previous example would be set globally by the following configuration: (setq org-tag-alist '((:startgroup . nil) ("@work" . ?w) ("@home" . ?h) ("@tennisclub" . ?t) (:endgroup . nil) ("laptop" . ?l) ("pc" . ?p))) If at least one tag has a selection key then pressing `C-c C-c' will automatically present you with a special interface, listing inherited tags, the tags of the current headline, and a list of all valid tags with corresponding keys(1). In this interface, you can use the following keys: `a-z...' Pressing keys assigned to tags will add or remove them from the list of tags in the current line. Selecting a tag in a group of mutually exclusive tags will turn off any other tags from that group. `' Enter a tag in the minibuffer, even if the tag is not in the predefined list. You will be able to complete on all tags present in the buffer. You can also add several tags: just separate them with a comma. `' Clear all tags for this line. `' Accept the modified set. `C-g' Abort without installing changes. `q' If `q' is not assigned to a tag, it aborts like `C-g'. `!' Turn off groups of mutually exclusive tags. Use this to (as an exception) assign several tags from such a group. `C-c' Toggle auto-exit after the next change (see below). If you are using expert mode, the first `C-c' will display the selection window. This method lets you assign tags to a headline with very few keys. With the above setup, you could clear the current tags and set `@home', `laptop' and `pc' tags with just the following keys: `C-c C-c h l p '. Switching from `@home' to `@work' would be done with `C-c C-c w ' or alternatively with `C-c C-c C-c w'. Adding the non-predefined tag `Sarah' could be done with `C-c C-c S a r a h '. If you find that most of the time you need only a single key press to modify your list of tags, set `org-fast-tag-selection-single-key'. Then you no longer have to press to exit fast tag selection--it will immediately exit after the first change. If you then occasionally need more keys, press `C-c' to turn off auto-exit for the current tag selection process (in effect: start selection with `C-c C-c C-c' instead of `C-c C-c'). If you set the variable to the value `expert', the special window is not even shown for single-key tag selection, it comes up only when you press an extra `C-c'. ---------- Footnotes ---------- (1) Keys will automatically be assigned to tags which have no configured keys.  File: org, Node: Tag groups, Next: Tag searches, Prev: Setting tags, Up: Tags 6.3 Tag groups ============== In a set of mutually exclusive tags, the first tag can be defined as a _group tag_. When you search for a group tag, it will return matches for all members in the group. In an agenda view, filtering by a group tag will display headlines tagged with at least one of the members of the group. This makes tag searches and filters even more flexible. You can set group tags by inserting a colon between the group tag and other tags--beware that all whitespaces are mandatory so that Org can parse this line correctly: #+TAGS: { @read : @read_book @read_ebook } In this example, `@read' is a _group tag_ for a set of three tags: `@read', `@read_book' and `@read_ebook'. You can also use the `:grouptags' keyword directly when setting `org-tag-alist': (setq org-tag-alist '((:startgroup . nil) ("@read" . nil) (:grouptags . nil) ("@read_book" . nil) ("@read_ebook" . nil) (:endgroup . nil))) You cannot nest group tags or use a group tag as a tag in another group. If you want to ignore group tags temporarily, toggle group tags support with `org-toggle-tags-groups', bound to `C-c C-x q'. If you want to disable tag groups completely, set `org-group-tags' to `nil'.  File: org, Node: Tag searches, Prev: Tag groups, Up: Tags 6.4 Tag searches ================ Once a system of tags has been set up, it can be used to collect related information into special lists. `C-c / m or C-c \ (`org-match-sparse-tree')' Create a sparse tree with all headlines matching a tags/property/TODO search. With a `C-u' prefix argument, ignore headlines that are not a TODO line. *Note Matching tags and properties::. `C-c a m (`org-tags-view')' Create a global list of tag matches from all agenda files. *Note Matching tags and properties::. `C-c a M (`org-tags-view')' Create a global list of tag matches from all agenda files, but check only TODO items and force checking subitems (see the option `org-tags-match-list-sublevels'). These commands all prompt for a match string which allows basic Boolean logic like `+boss+urgent-project1', to find entries with tags `boss' and `urgent', but not `project1', or `Kathy|Sally' to find entries which are tagged, like `Kathy' or `Sally'. The full syntax of the search string is rich and allows also matching against TODO keywords, entry levels and properties. For a complete description with many examples, see *note Matching tags and properties::.  File: org, Node: Properties and Columns, Next: Dates and Times, Prev: Tags, Up: Top 7 Properties and columns ************************ A property is a key-value pair associated with an entry. Properties can be set so they are associated with a single entry, with every entry in a tree, or with every entry in an Org mode file. There are two main applications for properties in Org mode. First, properties are like tags, but with a value. Imagine maintaining a file where you document bugs and plan releases for a piece of software. Instead of using tags like `:release_1:', `:release_2:', you can use a property, say `:Release:', that in different subtrees has different values, such as `1.0' or `2.0'. Second, you can use properties to implement (very basic) database capabilities in an Org buffer. Imagine keeping track of your music CDs, where properties could be things such as the album, artist, date of release, number of tracks, and so on. Properties can be conveniently edited and viewed in column view (*note Column view::). * Menu: * Property syntax:: How properties are spelled out * Special properties:: Access to other Org mode features * Property searches:: Matching property values * Property inheritance:: Passing values down the tree * Column view:: Tabular viewing and editing * Property API:: Properties for Lisp programmers  File: org, Node: Property syntax, Next: Special properties, Prev: Properties and Columns, Up: Properties and Columns 7.1 Property syntax =================== Properties are key-value pairs. When they are associated with a single entry or with a tree they need to be inserted into a special drawer (*note Drawers::) with the name `PROPERTIES'. Each property is specified on a single line, with the key (surrounded by colons) first, and the value after it. Here is an example: * CD collection ** Classic *** Goldberg Variations :PROPERTIES: :Title: Goldberg Variations :Composer: J.S. Bach :Artist: Glen Gould :Publisher: Deutsche Grammophon :NDisks: 1 :END: Depending on the value of `org-use-property-inheritance', a property set this way will either be associated with a single entry, or the sub-tree defined by the entry, see *note Property inheritance::. You may define the allowed values for a particular property `:Xyz:' by setting a property `:Xyz_ALL:'. This special property is _inherited_, so if you set it in a level 1 entry, it will apply to the entire tree. When allowed values are defined, setting the corresponding property becomes easier and is less prone to typing errors. For the example with the CD collection, we can predefine publishers and the number of disks in a box like this: * CD collection :PROPERTIES: :NDisks_ALL: 1 2 3 4 :Publisher_ALL: "Deutsche Grammophon" Philips EMI :END: If you want to set properties that can be inherited by any entry in a file, use a line like #+PROPERTY: NDisks_ALL 1 2 3 4 Contrary to properties set from a special drawer, you have to refresh the buffer with `C-c C-c' to activate this changes. If you want to add to the value of an existing property, append a `+' to the property name. The following results in the property `var' having the value "foo=1 bar=2". #+PROPERTY: var foo=1 #+PROPERTY: var+ bar=2 It is also possible to add to the values of inherited properties. The following results in the `genres' property having the value "Classic Baroque" under the `Goldberg Variations' subtree. * CD collection ** Classic :PROPERTIES: :GENRES: Classic :END: *** Goldberg Variations :PROPERTIES: :Title: Goldberg Variations :Composer: J.S. Bach :Artist: Glen Gould :Publisher: Deutsche Grammophon :NDisks: 1 :GENRES+: Baroque :END: Note that a property can only have one entry per Drawer. Property values set with the global variable `org-global-properties' can be inherited by all entries in all Org files. The following commands help to work with properties: `M- (`pcomplete')' After an initial colon in a line, complete property keys. All keys used in the current file will be offered as possible completions. `C-c C-x p (`org-set-property')' Set a property. This prompts for a property name and a value. If necessary, the property drawer is created as well. `C-u M-x org-insert-drawer RET' Insert a property drawer into the current entry. The drawer will be inserted early in the entry, but after the lines with planning information like deadlines. `C-c C-c (`org-property-action')' With the cursor in a property drawer, this executes property commands. `C-c C-c s (`org-set-property')' Set a property in the current entry. Both the property and the value can be inserted using completion. `S- (`org-property-next-allowed-value')' `S- (`org-property-previous-allowed-value')' Switch property at point to the next/previous allowed value. `C-c C-c d (`org-delete-property')' Remove a property from the current entry. `C-c C-c D (`org-delete-property-globally')' Globally remove a property, from all entries in the current file. `C-c C-c c (`org-compute-property-at-point')' Compute the property at point, using the operator and scope from the nearest column format definition.  File: org, Node: Special properties, Next: Property searches, Prev: Property syntax, Up: Properties and Columns 7.2 Special properties ====================== Special properties provide an alternative access method to Org mode features, like the TODO state or the priority of an entry, discussed in the previous chapters. This interface exists so that you can include these states in a column view (*note Column view::), or to use them in queries. The following property names are special and (except for `:CATEGORY:') should not be used as keys in the properties drawer: ID A globally unique ID used for synchronization during iCalendar or MobileOrg export. TODO The TODO keyword of the entry. TAGS The tags defined directly in the headline. ALLTAGS All tags, including inherited ones. CATEGORY The category of an entry. PRIORITY The priority of the entry, a string with a single letter. DEADLINE The deadline time string, without the angular brackets. SCHEDULED The scheduling timestamp, without the angular brackets. CLOSED When was this entry closed? TIMESTAMP The first keyword-less timestamp in the entry. TIMESTAMP_IA The first inactive timestamp in the entry. CLOCKSUM The sum of CLOCK intervals in the subtree. `org-clock-sum' must be run first to compute the values in the current buffer. CLOCKSUM_T The sum of CLOCK intervals in the subtree for today. `org-clock-sum-today' must be run first to compute the values in the current buffer. BLOCKED "t" if task is currently blocked by children or siblings ITEM The headline of the entry. FILE The filename the entry is located in.  File: org, Node: Property searches, Next: Property inheritance, Prev: Special properties, Up: Properties and Columns 7.3 Property searches ===================== To create sparse trees and special lists with selection based on properties, the same commands are used as for tag searches (*note Tag searches::). `C-c / m or C-c \ (`org-match-sparse-tree')' Create a sparse tree with all matching entries. With a `C-u' prefix argument, ignore headlines that are not a TODO line. `C-c a m (`org-tags-view')' Create a global list of tag/property matches from all agenda files. *Note Matching tags and properties::. `C-c a M (`org-tags-view')' Create a global list of tag matches from all agenda files, but check only TODO items and force checking of subitems (see the option `org-tags-match-list-sublevels'). The syntax for the search string is described in *note Matching tags and properties::. There is also a special command for creating sparse trees based on a single property: `C-c / p' Create a sparse tree based on the value of a property. This first prompts for the name of a property, and then for a value. A sparse tree is created with all entries that define this property with the given value. If you enclose the value in curly braces, it is interpreted as a regular expression and matched against the property values.  File: org, Node: Property inheritance, Next: Column view, Prev: Property searches, Up: Properties and Columns 7.4 Property Inheritance ======================== The outline structure of Org mode documents lends itself to an inheritance model of properties: if the parent in a tree has a certain property, the children can inherit this property. Org mode does not turn this on by default, because it can slow down property searches significantly and is often not needed. However, if you find inheritance useful, you can turn it on by setting the variable `org-use-property-inheritance'. It may be set to `t' to make all properties inherited from the parent, to a list of properties that should be inherited, or to a regular expression that matches inherited properties. If a property has the value `nil', this is interpreted as an explicit undefine of the property, so that inheritance search will stop at this value and return `nil'. Org mode has a few properties for which inheritance is hard-coded, at least for the special applications for which they are used: `COLUMNS' The `:COLUMNS:' property defines the format of column view (*note Column view::). It is inherited in the sense that the level where a `:COLUMNS:' property is defined is used as the starting point for a column view table, independently of the location in the subtree from where columns view is turned on. `CATEGORY' For agenda view, a category set through a `:CATEGORY:' property applies to the entire subtree. `ARCHIVE' For archiving, the `:ARCHIVE:' property may define the archive location for the entire subtree (*note Moving subtrees::). `LOGGING' The LOGGING property may define logging settings for an entry or a subtree (*note Tracking TODO state changes::).  File: org, Node: Column view, Next: Property API, Prev: Property inheritance, Up: Properties and Columns 7.5 Column view =============== A great way to view and edit properties in an outline tree is _column view_. In column view, each outline node is turned into a table row. Columns in this table provide access to properties of the entries. Org mode implements columns by overlaying a tabular structure over the headline of each item. While the headlines have been turned into a table row, you can still change the visibility of the outline tree. For example, you get a compact table by switching to CONTENTS view (`S- S-', or simply `c' while column view is active), but you can still open, read, and edit the entry below each headline. Or, you can switch to column view after executing a sparse tree command and in this way get a table only for the selected items. Column view also works in agenda buffers (*note Agenda Views::) where queries have collected selected items, possibly from a number of files. * Menu: * Defining columns:: The COLUMNS format property * Using column view:: How to create and use column view * Capturing column view:: A dynamic block for column view  File: org, Node: Defining columns, Next: Using column view, Prev: Column view, Up: Column view 7.5.1 Defining columns ---------------------- Setting up a column view first requires defining the columns. This is done by defining a column format line. * Menu: * Scope of column definitions:: Where defined, where valid? * Column attributes:: Appearance and content of a column  File: org, Node: Scope of column definitions, Next: Column attributes, Prev: Defining columns, Up: Defining columns 7.5.1.1 Scope of column definitions ................................... To define a column format for an entire file, use a line like #+COLUMNS: %25ITEM %TAGS %PRIORITY %TODO To specify a format that only applies to a specific tree, add a `:COLUMNS:' property to the top node of that tree, for example: ** Top node for columns view :PROPERTIES: :COLUMNS: %25ITEM %TAGS %PRIORITY %TODO :END: If a `:COLUMNS:' property is present in an entry, it defines columns for the entry itself, and for the entire subtree below it. Since the column definition is part of the hierarchical structure of the document, you can define columns on level 1 that are general enough for all sublevels, and more specific columns further down, when you edit a deeper part of the tree.  File: org, Node: Column attributes, Prev: Scope of column definitions, Up: Defining columns 7.5.1.2 Column attributes ......................... A column definition sets the attributes of a column. The general definition looks like this: %[WIDTH]PROPERTY[(TITLE)][{SUMMARY-TYPE}] Except for the percent sign and the property name, all items are optional. The individual parts have the following meaning: WIDTH An integer specifying the width of the column in characters. If omitted, the width will be determined automatically. PROPERTY The property that should be edited in this column. Special properties representing meta data are allowed here as well (*note Special properties::) TITLE The header text for the column. If omitted, the property name is used. {SUMMARY-TYPE} The summary type. If specified, the column values for parent nodes are computed from the children. Supported summary types are: {+} Sum numbers in this column. {+;%.1f} Like `+', but format result with `%.1f'. {$} Currency, short for `+;%.2f'. {:} Sum times, HH:MM, plain numbers are hours. {X} Checkbox status, `[X]' if all children are `[X]'. {X/} Checkbox status, `[n/m]'. {X%} Checkbox status, `[n%]'. {min} Smallest number in column. {max} Largest number. {mean} Arithmetic mean of numbers. {:min} Smallest time value in column. {:max} Largest time value. {:mean} Arithmetic mean of time values. {@min} Minimum age (in days/hours/mins/seconds). {@max} Maximum age (in days/hours/mins/seconds). {@mean} Arithmetic mean of ages (in days/hours/mins/seconds). {est+} Add low-high estimates. Be aware that you can only have one summary type for any property you include. Subsequent columns referencing the same property will all display the same summary information. The `est+' summary type requires further explanation. It is used for combining estimates, expressed as low-high ranges. For example, instead of estimating a particular task will take 5 days, you might estimate it as 5-6 days if you're fairly confident you know how much work is required, or 1-10 days if you don't really know what needs to be done. Both ranges average at 5.5 days, but the first represents a more predictable delivery. When combining a set of such estimates, simply adding the lows and highs produces an unrealistically wide result. Instead, `est+' adds the statistical mean and variance of the sub-tasks, generating a final estimate from the sum. For example, suppose you had ten tasks, each of which was estimated at 0.5 to 2 days of work. Straight addition produces an estimate of 5 to 20 days, representing what to expect if everything goes either extremely well or extremely poorly. In contrast, `est+' estimates the full job more realistically, at 10-15 days. Here is an example for a complete columns definition, along with allowed values. :COLUMNS: %25ITEM %9Approved(Approved?){X} %Owner %11Status \(1) %10Time_Estimate{:} %CLOCKSUM %CLOCKSUM_T :Owner_ALL: Tammy Mark Karl Lisa Don :Status_ALL: "In progress" "Not started yet" "Finished" "" :Approved_ALL: "[ ]" "[X]" The first column, `%25ITEM', means the first 25 characters of the item itself, i.e., of the headline. You probably always should start the column definition with the `ITEM' specifier. The other specifiers create columns `Owner' with a list of names as allowed values, for `Status' with four different possible values, and for a checkbox field `Approved'. When no width is given after the `%' character, the column will be exactly as wide as it needs to be in order to fully display all values. The `Approved' column does have a modified title (`Approved?', with a question mark). Summaries will be created for the `Time_Estimate' column by adding time duration expressions like HH:MM, and for the `Approved' column, by providing an `[X]' status if all children have been checked. The `CLOCKSUM' and `CLOCKSUM_T' columns are special, they lists the sums of CLOCK intervals in the subtree, either for all clocks or just for today. ---------- Footnotes ---------- (1) Please note that the COLUMNS definition must be on a single line--it is wrapped here only because of formatting constraints.  File: org, Node: Using column view, Next: Capturing column view, Prev: Defining columns, Up: Column view 7.5.2 Using column view ----------------------- Turning column view on and off .............................. `C-c C-x C-c (`org-columns')' Turn on column view. If the cursor is before the first headline in the file, column view is turned on for the entire file, using the `#+COLUMNS' definition. If the cursor is somewhere inside the outline, this command searches the hierarchy, up from point, for a `:COLUMNS:' property that defines a format. When one is found, the column view table is established for the tree starting at the entry that contains the `:COLUMNS:' property. If no such property is found, the format is taken from the `#+COLUMNS' line or from the variable `org-columns-default-format', and column view is established for the current entry and its subtree. `r (`org-columns-redo')' Recreate the column view, to include recent changes made in the buffer. `g (`org-columns-redo')' Same as `r'. `q (`org-columns-quit')' Exit column view. Editing values .............. ` ' Move through the column view from field to field. `S-/' Switch to the next/previous allowed value of the field. For this, you have to have specified allowed values for a property. `1..9,0' Directly select the Nth allowed value, `0' selects the 10th value. `n (`org-columns-next-allowed-value')' `p (`org-columns-previous-allowed-value')' Same as `S-/' `e (`org-columns-edit-value')' Edit the property at point. For the special properties, this will invoke the same interface that you normally use to change that property. For example, when editing a TAGS property, the tag completion or fast selection interface will pop up. `C-c C-c (`org-columns-set-tags-or-toggle')' When there is a checkbox at point, toggle it. `v (`org-columns-show-value')' View the full value of this property. This is useful if the width of the column is smaller than that of the value. `a (`org-columns-edit-allowed')' Edit the list of allowed values for this property. If the list is found in the hierarchy, the modified values is stored there. If no list is found, the new value is stored in the first entry that is part of the current column view. Modifying the table structure ............................. `< (`org-columns-narrow')' `> (`org-columns-widen')' Make the column narrower/wider by one character. `S-M- (`org-columns-new')' Insert a new column, to the left of the current column. `S-M- (`org-columns-delete')' Delete the current column.  File: org, Node: Capturing column view, Prev: Using column view, Up: Column view 7.5.3 Capturing column view --------------------------- Since column view is just an overlay over a buffer, it cannot be exported or printed directly. If you want to capture a column view, use a `columnview' dynamic block (*note Dynamic blocks::). The frame of this block looks like this: * The column view #+BEGIN: columnview :hlines 1 :id "label" #+END: This dynamic block has the following parameters: `:id' This is the most important parameter. Column view is a feature that is often localized to a certain (sub)tree, and the capture block might be at a different location in the file. To identify the tree whose view to capture, you can use 4 values: local use the tree in which the capture block is located global make a global view, including all headings in the file "file:PATH-TO-FILE" run column view at the top of this file "ID" call column view in the tree that has an `:ID:' property with the value label. You can use `M-x org-id-copy RET' to create a globally unique ID for the current entry and copy it to the kill-ring. `:hlines' When `t', insert an hline after every line. When a number N, insert an hline before each headline with level `<= N'. `:vlines' When set to `t', force column groups to get vertical lines. `:maxlevel' When set to a number, don't capture entries below this level. `:skip-empty-rows' When set to `t', skip rows where the only non-empty specifier of the column view is `ITEM'. The following commands insert or update the dynamic block: `C-c C-x i (`org-insert-columns-dblock')' Insert a dynamic block capturing a column view. You will be prompted for the scope or ID of the view. `C-c C-c or C-c C-x C-u (`org-dblock-update')' Update dynamic block at point. The cursor needs to be in the `#+BEGIN' line of the dynamic block. `C-u C-c C-x C-u (`org-update-all-dblocks')' Update all dynamic blocks (*note Dynamic blocks::). This is useful if you have several clock table blocks, column-capturing blocks or other dynamic blocks in a buffer. You can add formulas to the column view table and you may add plotting instructions in front of the table--these will survive an update of the block. If there is a `#+TBLFM:' after the table, the table will actually be recalculated automatically after an update. An alternative way to capture and process property values into a table is provided by Eric Schulte's `org-collector.el' which is a contributed package(1). It provides a general API to collect properties from entries in a certain scope, and arbitrary Lisp expressions to process these values before inserting them into a table or a dynamic block. ---------- Footnotes ---------- (1) Contributed packages are not part of Emacs, but are distributed with the main distribution of Org (visit `http://orgmode.org').  File: org, Node: Property API, Prev: Column view, Up: Properties and Columns 7.6 The Property API ==================== There is a full API for accessing and changing properties. This API can be used by Emacs Lisp programs to work with properties and to implement features based on them. For more information see *note Using the property API::.  File: org, Node: Dates and Times, Next: Capture - Refile - Archive, Prev: Properties and Columns, Up: Top 8 Dates and times ***************** To assist project planning, TODO items can be labeled with a date and/or a time. The specially formatted string carrying the date and time information is called a _timestamp_ in Org mode. This may be a little confusing because timestamp is often used as indicating when something was created or last changed. However, in Org mode this term is used in a much wider sense. * Menu: * Timestamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps * Deadlines and scheduling:: Planning your work * Clocking work time:: Tracking how long you spend on a task * Effort estimates:: Planning work effort in advance * Relative timer:: Notes with a running timer * Countdown timer:: Starting a countdown timer for a task  File: org, Node: Timestamps, Next: Creating timestamps, Prev: Dates and Times, Up: Dates and Times 8.1 Timestamps, deadlines, and scheduling ========================================= A timestamp is a specification of a date (possibly with a time or a range of times) in a special format, either `<2003-09-16 Tue>'(1) or `<2003-09-16 Tue 09:39>' or `<2003-09-16 Tue 12:00-12:30>'(2). A timestamp can appear anywhere in the headline or body of an Org tree entry. Its presence causes entries to be shown on specific dates in the agenda (*note Weekly/daily agenda::). We distinguish: PLAIN TIMESTAMP; EVENT; APPOINTMENT A simple timestamp just assigns a date/time to an item. This is just like writing down an appointment or event in a paper agenda. In the timeline and agenda displays, the headline of an entry associated with a plain timestamp will be shown exactly on that date. * Meet Peter at the movies <2006-11-01 Wed 19:15> * Discussion on climate change <2006-11-02 Thu 20:00-22:00> TIMESTAMP WITH REPEATER INTERVAL A timestamp may contain a _repeater interval_, indicating that it applies not only on the given date, but again and again after a certain interval of N days (d), weeks (w), months (m), or years (y). The following will show up in the agenda every Wednesday: * Pick up Sam at school <2007-05-16 Wed 12:30 +1w> DIARY-STYLE SEXP ENTRIES For more complex date specifications, Org mode supports using the special sexp diary entries implemented in the Emacs calendar/diary package(3). For example with optional time * 22:00-23:00 The nerd meeting on every 2nd Thursday of the month <%%(diary-float t 4 2)> TIME/DATE RANGE Two timestamps connected by `--' denote a range. The headline will be shown on the first and last day of the range, and on any dates that are displayed and fall in the range. Here is an example: ** Meeting in Amsterdam <2004-08-23 Mon>--<2004-08-26 Thu> INACTIVE TIMESTAMP Just like a plain timestamp, but with square brackets instead of angular ones. These timestamps are inactive in the sense that they do _not_ trigger an entry to show up in the agenda. * Gillian comes late for the fifth time [2006-11-01 Wed] ---------- Footnotes ---------- (1) In this simplest form, the day name is optional when you type the date yourself. However, any dates inserted or modified by Org will add that day name, for reading convenience. (2) This is inspired by the standard ISO 8601 date/time format. To use an alternative format, see *note Custom time format::. (3) When working with the standard diary sexp functions, you need to be very careful with the order of the arguments. That order depend evilly on the variable `calendar-date-style' (or, for older Emacs versions, `european-calendar-style'). For example, to specify a date December 12, 2005, the call might look like `(diary-date 12 1 2005)' or `(diary-date 1 12 2005)' or `(diary-date 2005 12 1)', depending on the settings. This has been the source of much confusion. Org mode users can resort to special versions of these functions like `org-date' or `org-anniversary'. These work just like the corresponding `diary-' functions, but with stable ISO order of arguments (year, month, day) wherever applicable, independent of the value of `calendar-date-style'.  File: org, Node: Creating timestamps, Next: Deadlines and scheduling, Prev: Timestamps, Up: Dates and Times 8.2 Creating timestamps ======================= For Org mode to recognize timestamps, they need to be in the specific format. All commands listed below produce timestamps in the correct format. `C-c . (`org-time-stamp')' Prompt for a date and insert a corresponding timestamp. When the cursor is at an existing timestamp in the buffer, the command is used to modify this timestamp instead of inserting a new one. When this command is used twice in succession, a time range is inserted. `C-c ! (`org-time-stamp-inactive')' Like `C-c .', but insert an inactive timestamp that will not cause an agenda entry. `C-u C-c .' `C-u C-c !' Like `C-c .' and `C-c !', but use the alternative format which contains date and time. The default time can be rounded to multiples of 5 minutes, see the option `org-time-stamp-rounding-minutes'. `C-c C-c' Normalize timestamp, insert/fix day name if missing or wrong. `C-c < (`org-date-from-calendar')' Insert a timestamp corresponding to the cursor date in the Calendar. `C-c > (`org-goto-calendar')' Access the Emacs calendar for the current date. If there is a timestamp in the current line, go to the corresponding date instead. `C-c C-o (`org-open-at-point')' Access the agenda for the date given by the timestamp or -range at point (*note Weekly/daily agenda::). `S- (`org-timestamp-down-day')' `S- (`org-timestamp-up-day')' Change date at cursor by one day. These key bindings conflict with shift-selection and related modes (*note Conflicts::). `S- (`org-timestamp-up')' `S- (`org-timestamp-down-down')' Change the item under the cursor in a timestamp. The cursor can be on a year, month, day, hour or minute. When the timestamp contains a time range like `15:30-16:30', modifying the first time will also shift the second, shifting the time block with constant length. To change the length, modify the second time. Note that if the cursor is in a headline and not at a timestamp, these same keys modify the priority of an item. (*note Priorities::). The key bindings also conflict with shift-selection and related modes (*note Conflicts::). `C-c C-y (`org-evaluate-time-range')' Evaluate a time range by computing the difference between start and end. With a prefix argument, insert result after the time range (in a table: into the following column). * Menu: * The date/time prompt:: How Org mode helps you entering date and time * Custom time format:: Making dates look different  File: org, Node: The date/time prompt, Next: Custom time format, Prev: Creating timestamps, Up: Creating timestamps 8.2.1 The date/time prompt -------------------------- When Org mode prompts for a date/time, the default is shown in default date/time format, and the prompt therefore seems to ask for a specific format. But it will in fact accept date/time information in a variety of formats. Generally, the information should start at the beginning of the string. Org mode will find whatever information is in there and derive anything you have not specified from the _default date and time_. The default is usually the current date and time, but when modifying an existing timestamp, or when entering the second stamp of a range, it is taken from the stamp in the buffer. When filling in information, Org mode assumes that most of the time you will want to enter a date in the future: if you omit the month/year and the given day/month is before today, it will assume that you mean a future date(1). If the date has been automatically shifted into the future, the time prompt will show this with `(=>F).' For example, let's assume that today is June 13, 2006. Here is how various inputs will be interpreted, the items filled in by Org mode are in bold. 3-2-5 => 2003-02-05 2/5/3 => 2003-02-05 14 => 2006-06-14 12 => 2006-07-12 2/5 => 2007-02-05 Fri => nearest Friday after the default date sep 15 => 2006-09-15 feb 15 => 2007-02-15 sep 12 9 => 2009-09-12 12:45 => 2006-06-13 12:45 22 sept 0:34 => 2006-09-22 0:34 w4 => ISO week for of the current year 2006 2012 w4 fri => Friday of ISO week 4 in 2012 2012-w04-5 => Same as above Furthermore you can specify a relative date by giving, as the _first_ thing in the input: a plus/minus sign, a number and a letter ([hdwmy]) to indicate change in hours, days, weeks, months, or years. With a single plus or minus, the date is always relative to today. With a double plus or minus, it is relative to the default date. If instead of a single letter, you use the abbreviation of day name, the date will be the Nth such day, e.g.: +0 => today . => today +4d => four days from today +4 => same as above +2w => two weeks from today ++5 => five days from default date +2tue => second Tuesday from now -wed => last Wednesday The function understands English month and weekday abbreviations. If you want to use unabbreviated names and/or other languages, configure the variables `parse-time-months' and `parse-time-weekdays'. Not all dates can be represented in a given Emacs implementation. By default Org mode forces dates into the compatibility range 1970-2037 which works on all Emacs implementations. If you want to use dates outside of this range, read the docstring of the variable `org-read-date-force-compatible-dates'. You can specify a time range by giving start and end times or by giving a start time and a duration (in HH:MM format). Use one or two dash(es) as the separator in the former case and use '+' as the separator in the latter case, e.g.: 11am-1:15pm => 11:00-13:15 11am--1:15pm => same as above 11am+2:15 => same as above Parallel to the minibuffer prompt, a calendar is popped up(2). When you exit the date prompt, either by clicking on a date in the calendar, or by pressing , the date selected in the calendar will be combined with the information entered at the prompt. You can control the calendar fully from the minibuffer: Choose date at cursor in calendar. mouse-1 Select date by clicking on it. S-/ One day forward/backward. S-/ One week forward/backward. M-S-/ One month forward/backward. > / < Scroll calendar forward/backward by one month. M-v / C-v Scroll calendar forward/backward by 3 months. The actions of the date/time prompt may seem complex, but I assure you they will grow on you, and you will start getting annoyed by pretty much any other way of entering a date/time out there. To help you understand what is going on, the current interpretation of your input will be displayed live in the minibuffer(3). ---------- Footnotes ---------- (1) See the variable `org-read-date-prefer-future'. You may set that variable to the symbol `time' to even make a time before now shift the date to tomorrow. (2) If you don't need/want the calendar, configure the variable `org-popup-calendar-for-date-prompt'. (3) If you find this distracting, turn the display off with `org-read-date-display-live'.  File: org, Node: Custom time format, Prev: The date/time prompt, Up: Creating timestamps 8.2.2 Custom time format ------------------------ Org mode uses the standard ISO notation for dates and times as it is defined in ISO 8601. If you cannot get used to this and require another representation of date and time to keep you happy, you can get it by customizing the options `org-display-custom-times' and `org-time-stamp-custom-formats'. `C-c C-x C-t (`org-toggle-time-stamp-overlays')' Toggle the display of custom formats for dates and times. Org mode needs the default format for scanning, so the custom date/time format does not _replace_ the default format--instead it is put _over_ the default format using text properties. This has the following consequences: * You cannot place the cursor onto a timestamp anymore, only before or after. * The `S-/' keys can no longer be used to adjust each component of a timestamp. If the cursor is at the beginning of the stamp, `S-/' will change the stamp by one day, just like `S-/'. At the end of the stamp, the time will be changed by one minute. * If the timestamp contains a range of clock times or a repeater, these will not be overlaid, but remain in the buffer as they were. * When you delete a timestamp character-by-character, it will only disappear from the buffer after _all_ (invisible) characters belonging to the ISO timestamp have been removed. * If the custom timestamp format is longer than the default and you are using dates in tables, table alignment will be messed up. If the custom format is shorter, things do work as expected.  File: org, Node: Deadlines and scheduling, Next: Clocking work time, Prev: Creating timestamps, Up: Dates and Times 8.3 Deadlines and scheduling ============================ A timestamp may be preceded by special keywords to facilitate planning: DEADLINE Meaning: the task (most likely a TODO item, though not necessarily) is supposed to be finished on that date. On the deadline date, the task will be listed in the agenda. In addition, the agenda for _today_ will carry a warning about the approaching or missed deadline, starting `org-deadline-warning-days' before the due date, and continuing until the entry is marked DONE. An example: *** TODO write article about the Earth for the Guide DEADLINE: <2004-02-29 Sun> The editor in charge is [[bbdb:Ford Prefect]] You can specify a different lead time for warnings for a specific deadlines using the following syntax. Here is an example with a warning period of 5 days `DEADLINE: <2004-02-29 Sun -5d>'. This warning is deactivated if the task get scheduled and you set `org-agenda-skip-deadline-prewarning-if-scheduled' to `t'. SCHEDULED Meaning: you are planning to start working on that task on the given date. The headline will be listed under the given date(1). In addition, a reminder that the scheduled date has passed will be present in the compilation for _today_, until the entry is marked DONE, i.e., the task will automatically be forwarded until completed. *** TODO Call Trillian for a date on New Years Eve. SCHEDULED: <2004-12-25 Sat> If you want to _delay_ the display of this task in the agenda, use `SCHEDULED: <2004-12-25 Sat -2d>': the task is still scheduled on the 25th but will appear two days later. In case the task contains a repeater, the delay is considered to affect all occurrences; if you want the delay to only affect the first scheduled occurrence of the task, use `--2d' instead. See `org-scheduled-delay-days' and `org-agenda-skip-scheduled-delay-if-deadline' for details on how to control this globally or per agenda. Important: Scheduling an item in Org mode should not be understood in the same way that we understand scheduling a meeting. Setting a date for a meeting is just a simple appointment, you should mark this entry with a simple plain timestamp, to get this item shown on the date where it applies. This is a frequent misunderstanding by Org users. In Org mode, scheduling means setting a date when you want to start working on an action item. You may use timestamps with repeaters in scheduling and deadline entries. Org mode will issue early and late warnings based on the assumption that the timestamp represents the nearest instance of the repeater. However, the use of diary sexp entries like `<%%(diary-float t 42)>' in scheduling and deadline timestamps is limited. Org mode does not know enough about the internals of each sexp function to issue early and late warnings. However, it will show the item on each day where the sexp entry matches. * Menu: * Inserting deadline/schedule:: Planning items * Repeated tasks:: Items that show up again and again ---------- Footnotes ---------- (1) It will still be listed on that date after it has been marked DONE. If you don't like this, set the variable `org-agenda-skip-scheduled-if-done'.  File: org, Node: Inserting deadline/schedule, Next: Repeated tasks, Prev: Deadlines and scheduling, Up: Deadlines and scheduling 8.3.1 Inserting deadlines or schedules -------------------------------------- The following commands allow you to quickly insert(1) a deadline or to schedule an item: `C-c C-d (`org-deadline')' Insert `DEADLINE' keyword along with a stamp. The insertion will happen in the line directly following the headline. Any CLOSED timestamp will be removed. When called with a prefix arg, an existing deadline will be removed from the entry. Depending on the variable `org-log-redeadline'(2), a note will be taken when changing an existing deadline. `C-c C-s (`org-schedule')' Insert `SCHEDULED' keyword along with a stamp. The insertion will happen in the line directly following the headline. Any CLOSED timestamp will be removed. When called with a prefix argument, remove the scheduling date from the entry. Depending on the variable `org-log-reschedule'(3), a note will be taken when changing an existing scheduling time. `C-c C-x C-k (`org-mark-entry-for-agenda-action')' Mark the current entry for agenda action. After you have marked the entry like this, you can open the agenda or the calendar to find an appropriate date. With the cursor on the selected date, press `k s' or `k d' to schedule the marked item. `C-c / d (`org-check-deadlines')' Create a sparse tree with all deadlines that are either past-due, or which will become due within `org-deadline-warning-days'. With `C-u' prefix, show all deadlines in the file. With a numeric prefix, check that many days. For example, `C-1 C-c / d' shows all deadlines due tomorrow. `C-c / b (`org-check-before-date')' Sparse tree for deadlines and scheduled items before a given date. `C-c / a (`org-check-after-date')' Sparse tree for deadlines and scheduled items after a given date. Note that `org-schedule' and `org-deadline' supports setting the date by indicating a relative time: e.g., +1d will set the date to the next day after today, and -1w will set the date to the previous week before any current timestamp. ---------- Footnotes ---------- (1) The `SCHEDULED' and `DEADLINE' dates are inserted on the line right below the headline. Don't put any text between this line and the headline. (2) with corresponding `#+STARTUP' keywords `logredeadline', `lognoteredeadline', and `nologredeadline' (3) with corresponding `#+STARTUP' keywords `logreschedule', `lognotereschedule', and `nologreschedule'  File: org, Node: Repeated tasks, Prev: Inserting deadline/schedule, Up: Deadlines and scheduling 8.3.2 Repeated tasks -------------------- Some tasks need to be repeated again and again. Org mode helps to organize such tasks using a so-called repeater in a DEADLINE, SCHEDULED, or plain timestamp. In the following example ** TODO Pay the rent DEADLINE: <2005-10-01 Sat +1m> the `+1m' is a repeater; the intended interpretation is that the task has a deadline on <2005-10-01> and repeats itself every (one) month starting from that time. You can use yearly, monthly, weekly, daily and hourly repeat cookies by using the `y/w/m/d/h' letters. If you need both a repeater and a special warning period in a deadline entry, the repeater should come first and the warning period last: `DEADLINE: <2005-10-01 Sat +1m -3d>'. Deadlines and scheduled items produce entries in the agenda when they are over-due, so it is important to be able to mark such an entry as completed once you have done so. When you mark a DEADLINE or a SCHEDULE with the TODO keyword DONE, it will no longer produce entries in the agenda. The problem with this is, however, that then also the _next_ instance of the repeated entry will not be active. Org mode deals with this in the following way: When you try to mark such an entry DONE (using `C-c C-t'), it will shift the base date of the repeating timestamp by the repeater interval, and immediately set the entry state back to TODO(1). In the example above, setting the state to DONE would actually switch the date like this: ** TODO Pay the rent DEADLINE: <2005-11-01 Tue +1m> A timestamp(2) will be added under the deadline, to keep a record that you actually acted on the previous instance of this deadline. As a consequence of shifting the base date, this entry will no longer be visible in the agenda when checking past dates, but all future instances will be visible. With the `+1m' cookie, the date shift will always be exactly one month. So if you have not paid the rent for three months, marking this entry DONE will still keep it as an overdue deadline. Depending on the task, this may not be the best way to handle it. For example, if you forgot to call your father for 3 weeks, it does not make sense to call him 3 times in a single day to make up for it. Finally, there are tasks like changing batteries which should always repeat a certain time after the last time you did it. For these tasks, Org mode has special repeaters `++' and `.+'. For example: ** TODO Call Father DEADLINE: <2008-02-10 Sun ++1w> Marking this DONE will shift the date by at least one week, but also by as many weeks as it takes to get this date into the future. However, it stays on a Sunday, even if you called and marked it done on Saturday. ** TODO Check the batteries in the smoke detectors DEADLINE: <2005-11-01 Tue .+1m> Marking this DONE will shift the date to one month after today. You may have both scheduling and deadline information for a specific task. If the repeater is set for the scheduling information only, you probably want the repeater to be ignored after the deadline. If so, set the variable `org-agenda-skip-scheduled-if-deadline-is-shown' to `repeated-after-deadline'. If you want both scheduling and deadline information to repeat after the same interval, set the same repeater for both timestamps. An alternative to using a repeater is to create a number of copies of a task subtree, with dates shifted in each copy. The command `C-c C-x c' was created for this purpose, it is described in *note Structure editing::. ---------- Footnotes ---------- (1) In fact, the target state is taken from, in this sequence, the `REPEAT_TO_STATE' property or the variable `org-todo-repeat-to-state'. If neither of these is specified, the target state defaults to the first state of the TODO state sequence. (2) You can change this using the option `org-log-repeat', or the `#+STARTUP' options `logrepeat', `lognoterepeat', and `nologrepeat'. With `lognoterepeat', you will also be prompted for a note.  File: org, Node: Clocking work time, Next: Effort estimates, Prev: Deadlines and scheduling, Up: Dates and Times 8.4 Clocking work time ====================== Org mode allows you to clock the time you spend on specific tasks in a project. When you start working on an item, you can start the clock. When you stop working on that task, or when you mark the task done, the clock is stopped and the corresponding time interval is recorded. It also computes the total time spent on each subtree(1) of a project. And it remembers a history or tasks recently clocked, to that you can jump quickly between a number of tasks absorbing your time. To save the clock history across Emacs sessions, use (setq org-clock-persist 'history) (org-clock-persistence-insinuate) When you clock into a new task after resuming Emacs, the incomplete clock(2) will be found (*note Resolving idle time::) and you will be prompted about what to do with it. * Menu: * Clocking commands:: Starting and stopping a clock * The clock table:: Detailed reports * Resolving idle time:: Resolving time when you've been idle ---------- Footnotes ---------- (1) Clocking only works if all headings are indented with less than 30 stars. This is a hardcoded limitation of `lmax' in `org-clock-sum'. (2) To resume the clock under the assumption that you have worked on this task while outside Emacs, use `(setq org-clock-persist t)'.  File: org, Node: Clocking commands, Next: The clock table, Prev: Clocking work time, Up: Clocking work time 8.4.1 Clocking commands ----------------------- `C-c C-x C-i (`org-clock-in')' Start the clock on the current item (clock-in). This inserts the CLOCK keyword together with a timestamp. If this is not the first clocking of this item, the multiple CLOCK lines will be wrapped into a `:LOGBOOK:' drawer (see also the variable `org-clock-into-drawer'). You can also overrule the setting of this variable for a subtree by setting a `CLOCK_INTO_DRAWER' or `LOG_INTO_DRAWER' property. When called with a `C-u' prefix argument, select the task from a list of recently clocked tasks. With two `C-u C-u' prefixes, clock into the task at point and mark it as the default task; the default task will then always be available with letter `d' when selecting a clocking task. With three `C-u C-u C-u' prefixes, force continuous clocking by starting the clock when the last clock stopped. While the clock is running, the current clocking time is shown in the mode line, along with the title of the task. The clock time shown will be all time ever clocked for this task and its children. If the task has an effort estimate (*note Effort estimates::), the mode line displays the current clocking time against it(1) If the task is a repeating one (*note Repeated tasks::), only the time since the last reset of the task (2) will be shown. More control over what time is shown can be exercised with the `CLOCK_MODELINE_TOTAL' property. It may have the values `current' to show only the current clocking instance, `today' to show all time clocked on this tasks today (see also the variable `org-extend-today-until'), `all' to include all time, or `auto' which is the default(3). Clicking with `mouse-1' onto the mode line entry will pop up a menu with clocking options. `C-c C-x C-o (`org-clock-out')' Stop the clock (clock-out). This inserts another timestamp at the same location where the clock was last started. It also directly computes the resulting time in inserts it after the time range as `=> HH:MM'. See the variable `org-log-note-clock-out' for the possibility to record an additional note together with the clock-out timestamp(4). `C-c C-x C-x (`org-clock-in-last')' Reclock the last clocked task. With one `C-u' prefix argument, select the task from the clock history. With two `C-u' prefixes, force continuous clocking by starting the clock when the last clock stopped. `C-c C-x C-e (`org-clock-modify-effort-estimate')' Update the effort estimate for the current clock task. `C-c C-c or C-c C-y (`org-evaluate-time-range')' Recompute the time interval after changing one of the timestamps. This is only necessary if you edit the timestamps directly. If you change them with `S-' keys, the update is automatic. `C-S- (`org-clock-timestamps-up/down')' On `CLOCK' log lines, increase/decrease both timestamps so that the clock duration keeps the same. `S-M- (`org-timestamp-up/down')' On `CLOCK' log lines, increase/decrease the timestamp at point and the one of the previous (or the next clock) timestamp by the same duration. For example, if you hit `S-M-' to increase a clocked-out timestamp by five minutes, then the clocked-in timestamp of the next clock will be increased by five minutes. `C-c C-t (`org-todo')' Changing the TODO state of an item to DONE automatically stops the clock if it is running in this same item. `C-c C-x C-q (`org-clock-cancel')' Cancel the current clock. This is useful if a clock was started by mistake, or if you ended up working on something else. `C-c C-x C-j (`org-clock-goto')' Jump to the headline of the currently clocked in task. With a `C-u' prefix arg, select the target task from a list of recently clocked tasks. `C-c C-x C-d (`org-clock-display')' Display time summaries for each subtree in the current buffer. This puts overlays at the end of each headline, showing the total time recorded under that heading, including the time of any subheadings. You can use visibility cycling to study the tree, but the overlays disappear when you change the buffer (see variable `org-remove-highlights-with-change') or press `C-c C-c'. The `l' key may be used in the timeline (*note Timeline::) and in the agenda (*note Weekly/daily agenda::) to show which tasks have been worked on or closed during a day. *Important:* note that both `org-clock-out' and `org-clock-in-last' can have a global keybinding and will not modify the window disposition. ---------- Footnotes ---------- (1) To add an effort estimate "on the fly", hook a function doing this to `org-clock-in-prepare-hook'. (2) as recorded by the `LAST_REPEAT' property (3) See also the variable `org-clock-modeline-total'. (4) The corresponding in-buffer setting is: `#+STARTUP: lognoteclock-out'  File: org, Node: The clock table, Next: Resolving idle time, Prev: Clocking commands, Up: Clocking work time 8.4.2 The clock table --------------------- Org mode can produce quite complex reports based on the time clocking information. Such a report is called a _clock table_, because it is formatted as one or several Org tables. `C-c C-x C-r (`org-clock-report')' Insert a dynamic block (*note Dynamic blocks::) containing a clock report as an Org mode table into the current file. When the cursor is at an existing clock table, just update it. When called with a prefix argument, jump to the first clock report in the current document and update it. The clock table always includes also trees with `:ARCHIVE:' tag. `C-c C-c or C-c C-x C-u (`org-dblock-update')' Update dynamic block at point. The cursor needs to be in the `#+BEGIN' line of the dynamic block. `C-u C-c C-x C-u' Update all dynamic blocks (*note Dynamic blocks::). This is useful if you have several clock table blocks in a buffer. `S-' `S- (`org-clocktable-try-shift')' Shift the current `:block' interval and update the table. The cursor needs to be in the `#+BEGIN: clocktable' line for this command. If `:block' is `today', it will be shifted to `today-1' etc. Here is an example of the frame for a clock table as it is inserted into the buffer with the `C-c C-x C-r' command: #+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file #+END: clocktable The `BEGIN' line and specify a number of options to define the scope, structure, and formatting of the report. Defaults for all these options can be configured in the variable `org-clocktable-defaults'. First there are options that determine which clock entries are to be selected: :maxlevel Maximum level depth to which times are listed in the table. Clocks at deeper levels will be summed into the upper level. :scope The scope to consider. This can be any of the following: nil the current buffer or narrowed region file the full current buffer subtree the subtree where the clocktable is located treeN the surrounding level N tree, for example `tree3' tree the surrounding level 1 tree agenda all agenda files ("file"..) scan these files file-with-archives current file and its archives agenda-with-archives all agenda files, including archives :block The time block to consider. This block is specified either absolute, or relative to the current time and may be any of these formats: 2007-12-31 New year eve 2007 2007-12 December 2007 2007-W50 ISO-week 50 in 2007 2007-Q2 2nd quarter in 2007 2007 the year 2007 today, yesterday, today-N a relative day thisweek, lastweek, thisweek-N a relative week thismonth, lastmonth, thismonth-N a relative month thisyear, lastyear, thisyear-N a relative year Use `S-/' keys to shift the time interval. :tstart A time string specifying when to start considering times. Relative times like `"<-2w>"' can also be used. See *note Matching tags and properties:: for relative time syntax. :tend A time string specifying when to stop considering times. Relative times like `""' can also be used. See *note Matching tags and properties:: for relative time syntax. :wstart The starting day of the week. The default is 1 for monday. :mstart The starting day of the month. The default 1 is for the first day of the month. :step `week' or `day', to split the table into chunks. To use this, `:block' or `:tstart', `:tend' are needed. :stepskip0 Do not show steps that have zero time. :fileskip0 Do not show table sections from files which did not contribute. :tags A tags match to select entries that should contribute. See *note Matching tags and properties:: for the match syntax. Then there are options which determine the formatting of the table. There options are interpreted by the function `org-clocktable-write-default', but you can specify your own function using the `:formatter' parameter. :emphasize When `t', emphasize level one and level two items. :lang Language(1) to use for descriptive cells like "Task". :link Link the item headlines in the table to their origins. :narrow An integer to limit the width of the headline column in the org table. If you write it like `50!', then the headline will also be shortened in export. :indent Indent each headline field according to its level. :tcolumns Number of columns to be used for times. If this is smaller than `:maxlevel', lower levels will be lumped into one column. :level Should a level number column be included? :compact Abbreviation for `:level nil :indent t :narrow 40! :tcolumns 1' All are overwritten except if there is an explicit `:narrow' :timestamp A timestamp for the entry, when available. Look for SCHEDULED, DEADLINE, TIMESTAMP and TIMESTAMP_IA, in this order. :properties List of properties that should be shown in the table. Each property will get its own column. :inherit-props When this flag is `t', the values for `:properties' will be inherited. :formula Content of a `#+TBLFM' line to be added and evaluated. As a special case, `:formula %' adds a column with % time. If you do not specify a formula here, any existing formula below the clock table will survive updates and be evaluated. :formatter A function to format clock data and insert it into the buffer. To get a clock summary of the current level 1 tree, for the current day, you could write #+BEGIN: clocktable :maxlevel 2 :block today :scope tree1 :link t #+END: clocktable and to use a specific time range you could write(2) #+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>" :tend "<2006-08-10 Thu 12:00>" #+END: clocktable A range starting a week ago and ending right now could be written as #+BEGIN: clocktable :tstart "<-1w>" :tend "" #+END: clocktable A summary of the current subtree with % times would be #+BEGIN: clocktable :scope subtree :link t :formula % #+END: clocktable A horizontally compact representation of everything clocked during last week would be #+BEGIN: clocktable :scope agenda :block lastweek :compact t #+END: clocktable ---------- Footnotes ---------- (1) Language terms can be set through the variable `org-clock-clocktable-language-setup'. (2) Note that all parameters must be specified in a single line--the line is broken here only to fit it into the manual.  File: org, Node: Resolving idle time, Prev: The clock table, Up: Clocking work time 8.4.3 Resolving idle time and continuous clocking ------------------------------------------------- Resolving idle time ................... If you clock in on a work item, and then walk away from your computer--perhaps to take a phone call--you often need to "resolve" the time you were away by either subtracting it from the current clock, or applying it to another one. By customizing the variable `org-clock-idle-time' to some integer, such as 10 or 15, Emacs can alert you when you get back to your computer after being idle for that many minutes(1), and ask what you want to do with the idle time. There will be a question waiting for you when you get back, indicating how much idle time has passed (constantly updated with the current amount), as well as a set of choices to correct the discrepancy: `k' To keep some or all of the minutes and stay clocked in, press `k'. Org will ask how many of the minutes to keep. Press to keep them all, effectively changing nothing, or enter a number to keep that many minutes. `K' If you use the shift key and press `K', it will keep however many minutes you request and then immediately clock out of that task. If you keep all of the minutes, this is the same as just clocking out of the current task. `s' To keep none of the minutes, use `s' to subtract all the away time from the clock, and then check back in from the moment you returned. `S' To keep none of the minutes and just clock out at the start of the away time, use the shift key and press `S'. Remember that using shift will always leave you clocked out, no matter which option you choose. `C' To cancel the clock altogether, use `C'. Note that if instead of canceling you subtract the away time, and the resulting clock amount is less than a minute, the clock will still be canceled rather than clutter up the log with an empty entry. What if you subtracted those away minutes from the current clock, and now want to apply them to a new clock? Simply clock in to any task immediately after the subtraction. Org will notice that you have subtracted time "on the books", so to speak, and will ask if you want to apply those minutes to the next task you clock in on. There is one other instance when this clock resolution magic occurs. Say you were clocked in and hacking away, and suddenly your cat chased a mouse who scared a hamster that crashed into your UPS's power button! You suddenly lose all your buffers, but thanks to auto-save you still have your recent Org mode changes, including your last clock in. If you restart Emacs and clock into any task, Org will notice that you have a dangling clock which was never clocked out from your last session. Using that clock's starting time as the beginning of the unaccounted-for period, Org will ask how you want to resolve that time. The logic and behavior is identical to dealing with away time due to idleness; it is just happening due to a recovery event rather than a set amount of idle time. You can also check all the files visited by your Org agenda for dangling clocks at any time using `M-x org-resolve-clocks RET' (or `C-c C-x C-z'). Continuous clocking ................... You may want to start clocking from the time when you clocked out the previous task. To enable this systematically, set `org-clock-continuously' to `t'. Each time you clock in, Org retrieves the clock-out time of the last clocked entry for this session, and start the new clock from there. If you only want this from time to time, use three universal prefix arguments with `org-clock-in' and two `C-u C-u' with `org-clock-in-last'. ---------- Footnotes ---------- (1) On computers using Mac OS X, idleness is based on actual user idleness, not just Emacs' idle time. For X11, you can install a utility program `x11idle.c', available in the `contrib/scripts' directory of the Org git distribution, or install the `xprintidle' package and set it to the variable `org-clock-x11idle-program-name' if you are running Debian, to get the same general treatment of idleness. On other systems, idle time refers to Emacs idle time only.  File: org, Node: Effort estimates, Next: Relative timer, Prev: Clocking work time, Up: Dates and Times 8.5 Effort estimates ==================== If you want to plan your work in a very detailed way, or if you need to produce offers with quotations of the estimated work effort, you may want to assign effort estimates to entries. If you are also clocking your work, you may later want to compare the planned effort with the actual working time, a great way to improve planning estimates. Effort estimates are stored in a special property `Effort'(1). You can set the effort for an entry with the following commands: `C-c C-x e (`org-set-effort')' Set the effort estimate for the current entry. With a numeric prefix argument, set it to the Nth allowed value (see below). This command is also accessible from the agenda with the `e' key. `C-c C-x C-e (`org-clock-modify-effort-estimate')' Modify the effort estimate of the item currently being clocked. Clearly the best way to work with effort estimates is through column view (*note Column view::). You should start by setting up discrete values for effort estimates, and a `COLUMNS' format that displays these values together with clock sums (if you want to clock your time). For a specific buffer you can use #+PROPERTY: Effort_ALL 0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00 #+COLUMNS: %40ITEM(Task) %17Effort(Estimated Effort){:} %CLOCKSUM or, even better, you can set up these values globally by customizing the variables `org-global-properties' and `org-columns-default-format'. In particular if you want to use this setup also in the agenda, a global setup may be advised. The way to assign estimates to individual items is then to switch to column mode, and to use `S-' and `S-' to change the value. The values you enter will immediately be summed up in the hierarchy. In the column next to it, any clocked time will be displayed. If you switch to column view in the daily/weekly agenda, the effort column will summarize the estimated work effort for each day(2), and you can use this to find space in your schedule. To get an overview of the entire part of the day that is committed, you can set the option `org-agenda-columns-add-appointments-to-effort-sum'. The appointments on a day that take place over a specified time interval will then also be added to the load estimate of the day. Effort estimates can be used in secondary agenda filtering that is triggered with the `/' key in the agenda (*note Agenda commands::). If you have these estimates defined consistently, two or three key presses will narrow down the list to stuff that fits into an available time slot. ---------- Footnotes ---------- (1) You may change the property being used with the variable `org-effort-property'. (2) Please note the pitfalls of summing hierarchical data in a flat list (*note Agenda column view::).  File: org, Node: Relative timer, Next: Countdown timer, Prev: Effort estimates, Up: Dates and Times 8.6 Taking notes with a relative timer ====================================== When taking notes during, for example, a meeting or a video viewing, it can be useful to have access to times relative to a starting time. Org provides such a relative timer and make it easy to create timed notes. `C-c C-x . (`org-timer')' Insert a relative time into the buffer. The first time you use this, the timer will be started. When called with a prefix argument, the timer is restarted. `C-c C-x - (`org-timer-item')' Insert a description list item with the current relative time. With a prefix argument, first reset the timer to 0. `M- (`org-insert-heading')' Once the timer list is started, you can also use `M-' to insert new timer items. `C-c C-x ,' Pause the timer, or continue it if it is already paused (`org-timer-pause-or-continue'). `C-u C-c C-x ,' Stop the timer. After this, you can only start a new timer, not continue the old one. This command also removes the timer from the mode line. `C-c C-x 0 (`org-timer-start')' Reset the timer without inserting anything into the buffer. By default, the timer is reset to 0. When called with a `C-u' prefix, reset the timer to specific starting offset. The user is prompted for the offset, with a default taken from a timer string at point, if any, So this can be used to restart taking notes after a break in the process. When called with a double prefix argument `C-u C-u', change all timer strings in the active region by a certain amount. This can be used to fix timer strings if the timer was not started at exactly the right moment.  File: org, Node: Countdown timer, Prev: Relative timer, Up: Dates and Times 8.7 Countdown timer =================== Calling `org-timer-set-timer' from an Org mode buffer runs a countdown timer. Use `;' from agenda buffers, everywhere else. `org-timer-set-timer' prompts the user for a duration and displays a countdown timer in the modeline. `org-timer-default-timer' sets the default countdown value. Giving a prefix numeric argument overrides this default value.  File: org, Node: Capture - Refile - Archive, Next: Agenda Views, Prev: Dates and Times, Up: Top 9 Capture - Refile - Archive **************************** An important part of any organization system is the ability to quickly capture new ideas and tasks, and to associate reference material with them. Org does this using a process called capture. It also can store files related to a task (attachments) in a special directory. Once in the system, tasks and projects need to be moved around. Moving completed project trees to an archive file keeps the system compact and fast. * Menu: * Capture:: Capturing new stuff * Attachments:: Add files to tasks * RSS Feeds:: Getting input from RSS feeds * Protocols:: External (e.g., Browser) access to Emacs and Org * Refile and copy:: Moving/copying a tree from one place to another * Archiving:: What to do with finished projects  File: org, Node: Capture, Next: Attachments, Prev: Capture - Refile - Archive, Up: Capture - Refile - Archive 9.1 Capture =========== Capture lets you quickly store notes with little interruption of your work flow. Org's method for capturing new items is heavily inspired by John Wiegley excellent `remember.el' package. Up to version 6.36, Org used a special setup for `remember.el', then replaced it with `org-remember.el'. As of version 8.0, `org-remember.el' has been completely replaced by `org-capture.el'. If your configuration depends on `org-remember.el', you need to update it and use the setup described below. To convert your `org-remember-templates', run the command M-x org-capture-import-remember-templates RET and then customize the new variable with `M-x customize-variable org-capture-templates', check the result, and save the customization. * Menu: * Setting up capture:: Where notes will be stored * Using capture:: Commands to invoke and terminate capture * Capture templates:: Define the outline of different note types  File: org, Node: Setting up capture, Next: Using capture, Prev: Capture, Up: Capture 9.1.1 Setting up capture ------------------------ The following customization sets a default target file for notes, and defines a global key(1) for capturing new material. (setq org-default-notes-file (concat org-directory "/notes.org")) (define-key global-map "\C-cc" 'org-capture) ---------- Footnotes ---------- (1) Please select your own key, `C-c c' is only a suggestion.  File: org, Node: Using capture, Next: Capture templates, Prev: Setting up capture, Up: Capture 9.1.2 Using capture ------------------- `C-c c (`org-capture')' Call the command `org-capture'. Note that this keybinding is global and not active by default: you need to install it. If you have templates defined *note Capture templates::, it will offer these templates for selection or use a new Org outline node as the default template. It will insert the template into the target file and switch to an indirect buffer narrowed to this new node. You may then insert the information you want. `C-c C-c (`org-capture-finalize')' Once you have finished entering information into the capture buffer, `C-c C-c' will return you to the window configuration before the capture process, so that you can resume your work without further distraction. When called with a prefix arg, finalize and then jump to the captured item. `C-c C-w (`org-capture-refile')' Finalize the capture process by refiling (*note Refile and copy::) the note to a different place. Please realize that this is a normal refiling command that will be executed--so the cursor position at the moment you run this command is important. If you have inserted a tree with a parent and children, first move the cursor back to the parent. Any prefix argument given to this command will be passed on to the `org-refile' command. `C-c C-k (`org-capture-kill')' Abort the capture process and return to the previous state. You can also call `org-capture' in a special way from the agenda, using the `k c' key combination. With this access, any timestamps inserted by the selected capture template will default to the cursor date in the agenda, rather than to the current date. To find the locations of the last stored capture, use `org-capture' with prefix commands: `C-u C-c c' Visit the target location of a capture template. You get to select the template in the usual way. `C-u C-u C-c c' Visit the last stored capture item in its buffer. You can also jump to the bookmark `org-capture-last-stored', which will automatically be created unless you set `org-capture-bookmark' to `nil'. To insert the capture at point in an Org buffer, call `org-capture' with a `C-0' prefix argument.  File: org, Node: Capture templates, Prev: Using capture, Up: Capture 9.1.3 Capture templates ----------------------- You can use templates for different types of capture items, and for different target locations. The easiest way to create such templates is through the customize interface. `C-c c C' Customize the variable `org-capture-templates'. Before we give the formal description of template definitions, let's look at an example. Say you would like to use one template to create general TODO entries, and you want to put these entries under the heading `Tasks' in your file `~/org/gtd.org'. Also, a date tree in the file `journal.org' should capture journal entries. A possible configuration would look like: (setq org-capture-templates '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks") "* TODO %?\n %i\n %a") ("j" "Journal" entry (file+datetree "~/org/journal.org") "* %?\nEntered on %U\n %i\n %a"))) If you then press `C-c c t', Org will prepare the template for you like this: * TODO [[file:LINK TO WHERE YOU INITIATED CAPTURE]] During expansion of the template, `%a' has been replaced by a link to the location from where you called the capture command. This can be extremely useful for deriving tasks from emails, for example. You fill in the task definition, press `C-c C-c' and Org returns you to the same place where you started the capture process. To define special keys to capture to a particular template without going through the interactive template selection, you can create your key binding like this: (define-key global-map "\C-cx" (lambda () (interactive) (org-capture nil "x"))) * Menu: * Template elements:: What is needed for a complete template entry * Template expansion:: Filling in information about time and context * Templates in contexts:: Only show a template in a specific context  File: org, Node: Template elements, Next: Template expansion, Prev: Capture templates, Up: Capture templates 9.1.3.1 Template elements ......................... Now lets look at the elements of a template definition. Each entry in `org-capture-templates' is a list with the following items: KEYS The keys that will select the template, as a string, characters only, for example `"a"' for a template to be selected with a single key, or `"bt"' for selection with two keys. When using several keys, keys using the same prefix key must be sequential in the list and preceded by a 2-element entry explaining the prefix key, for example ("b" "Templates for marking stuff to buy") If you do not define a template for the `C' key, this key will be used to open the customize buffer for this complex variable. DESCRIPTION A short string describing the template, which will be shown during selection. TYPE The type of entry, a symbol. Valid values are: `entry' An Org mode node, with a headline. Will be filed as the child of the target entry or as a top-level entry. The target file should be an Org mode file. `item' A plain list item, placed in the first plain list at the target location. Again the target file should be an Org file. `checkitem' A checkbox item. This only differs from the plain list item by the default template. `table-line' a new line in the first table at the target location. Where exactly the line will be inserted depends on the properties `:prepend' and `:table-line-pos' (see below). `plain' Text to be inserted as it is. TARGET Specification of where the captured item should be placed. In Org mode files, targets usually define a node. Entries will become children of this node. Other types will be added to the table or list in the body of this node. Most target specifications contain a file name. If that file name is the empty string, it defaults to `org-default-notes-file'. A file can also be given as a variable, function, or Emacs Lisp form. Valid values are: `(file "path/to/file")' Text will be placed at the beginning or end of that file. `(id "id of existing org entry")' Filing as child of this entry, or in the body of the entry. `(file+headline "path/to/file" "node headline")' Fast configuration if the target heading is unique in the file. `(file+olp "path/to/file" "Level 1 heading" "Level 2" ...)' For non-unique headings, the full path is safer. `(file+regexp "path/to/file" "regexp to find location")' Use a regular expression to position the cursor. `(file+datetree "path/to/file")' Will create a heading in a date tree for today's date(1). `(file+datetree+prompt "path/to/file")' Will create a heading in a date tree, but will prompt for the date. `(file+function "path/to/file" function-finding-location)' A function to find the right location in the file. `(clock)' File to the entry that is currently being clocked. `(function function-finding-location)' Most general way, write your own function to find both file and location. TEMPLATE The template for creating the capture item. If you leave this empty, an appropriate default template will be used. Otherwise this is a string with escape codes, which will be replaced depending on time and context of the capture call. The string with escapes may be loaded from a template file, using the special syntax `(file "path/to/template")'. See below for more details. PROPERTIES The rest of the entry is a property list of additional options. Recognized properties are: `:prepend' Normally new captured information will be appended at the target location (last child, last table line, last list item...). Setting this property will change that. `:immediate-finish' When set, do not offer to edit the information, just file it away immediately. This makes sense if the template only needs information that can be added automatically. `:empty-lines' Set this to the number of lines to insert before and after the new item. Default 0, only common other value is 1. `:clock-in' Start the clock in this item. `:clock-keep' Keep the clock running when filing the captured entry. `:clock-resume' If starting the capture interrupted a clock, restart that clock when finished with the capture. Note that `:clock-keep' has precedence over `:clock-resume'. When setting both to `t', the current clock will run and the previous one will not be resumed. `:unnarrowed' Do not narrow the target buffer, simply show the full buffer. Default is to narrow it so that you only see the new material. `:table-line-pos' Specification of the location in the table where the new line should be inserted. It should be a string like `"II-3"' meaning that the new line should become the third line before the second horizontal separator line. `:kill-buffer' If the target file was not yet visited when capture was invoked, kill the buffer again after capture is completed. ---------- Footnotes ---------- (1) Datetree headlines for years accept tags, so if you use both `* 2013 :noexport:' and `* 2013' in your file, the capture will refile the note to the first one matched.  File: org, Node: Template expansion, Next: Templates in contexts, Prev: Template elements, Up: Capture templates 9.1.3.2 Template expansion .......................... In the template itself, special `%'-escapes(1) allow dynamic insertion of content. The templates are expanded in the order given here: %[FILE] Insert the contents of the file given by FILE. %(SEXP) Evaluate Elisp SEXP and replace with the result. For convenience, %:keyword (see below) placeholders within the expression will be expanded prior to this. The sexp must return a string. %<...> The result of format-time-string on the ... format specification. %t Timestamp, date only. %T Timestamp, with date and time. %u, %U Like the above, but inactive timestamps. %i Initial content, the region when capture is called while the region is active. The entire text will be indented like `%i' itself. %a Annotation, normally the link created with `org-store-link'. %A Like `%a', but prompt for the description part. %l Like %a, but only insert the literal link. %c Current kill ring head. %x Content of the X clipboard. %k Title of the currently clocked task. %K Link to the currently clocked task. %n User name (taken from `user-full-name'). %f File visited by current buffer when org-capture was called. %F Full path of the file or directory visited by current buffer. %:keyword Specific information for certain link types, see below. %^g Prompt for tags, with completion on tags in target file. %^G Prompt for tags, with completion all tags in all agenda files. %^t Like `%t', but prompt for date. Similarly `%^T', `%^u', `%^U'. You may define a prompt like `%^{Birthday}t'. %^C Interactive selection of which kill or clip to use. %^L Like `%^C', but insert as link. %^{PROP}p Prompt the user for a value for property PROP. %^{PROMPT} prompt the user for a string and replace this sequence with it. You may specify a default value and a completion table with %^{prompt|default|completion2|completion3...}. The arrow keys access a prompt-specific history. %\n Insert the text entered at the nth %^{PROMPT}, where `n' is a number, starting from 1. %? After completing the template, position cursor here. For specific link types, the following keywords will be defined(2): Link type | Available keywords ---------------------------------+---------------------------------------------- bbdb | %:name %:company irc | %:server %:port %:nick vm, vm-imap, wl, mh, mew, rmail | %:type %:subject %:message-id | %:from %:fromname %:fromaddress | %:to %:toname %:toaddress | %:date (message date header field) | %:date-timestamp (date as active timestamp) | %:date-timestamp-inactive (date as inactive timestamp) | %:fromto (either "to NAME" or "from NAME")(3) gnus | %:group, for messages also all email fields w3, w3m | %:url info | %:file %:node calendar | %:date To place the cursor after template expansion use: %? After completing the template, position cursor here. ---------- Footnotes ---------- (1) If you need one of these sequences literally, escape the `%' with a backslash. (2) If you define your own link types (*note Adding hyperlink types::), any property you store with `org-store-link-props' can be accessed in capture templates in a similar way. (3) This will always be the other, not the user. See the variable `org-from-is-user-regexp'.  File: org, Node: Templates in contexts, Prev: Template expansion, Up: Capture templates 9.1.3.3 Templates in contexts ............................. To control whether a capture template should be accessible from a specific context, you can customize `org-capture-templates-contexts'. Let's say for example that you have a capture template `"p"' for storing Gnus emails containing patches. Then you would configure this option like this: (setq org-capture-templates-contexts '(("p" (in-mode . "message-mode")))) You can also tell that the command key `"p"' should refer to another template. In that case, add this command key like this: (setq org-capture-templates-contexts '(("p" "q" (in-mode . "message-mode")))) See the docstring of the variable for more information.  File: org, Node: Attachments, Next: RSS Feeds, Prev: Capture, Up: Capture - Refile - Archive 9.2 Attachments =============== It is often useful to associate reference material with an outline node/task. Small chunks of plain text can simply be stored in the subtree of a project. Hyperlinks (*note Hyperlinks::) can establish associations with files that live elsewhere on your computer or in the cloud, like emails or source code files belonging to a project. Another method is attachments, which are files located in a directory belonging to an outline node. Org uses directories named by the unique ID of each entry. These directories are located in the `data' directory which lives in the same directory where your Org file lives(1). If you initialize this directory with `git init', Org will automatically commit changes when it sees them. The attachment system has been contributed to Org by John Wiegley. In cases where it seems better to do so, you can also attach a directory of your choice to an entry. You can also make children inherit the attachment directory from a parent, so that an entire subtree uses the same attached directory. The following commands deal with attachments: `C-c C-a (`org-attach')' The dispatcher for commands related to the attachment system. After these keys, a list of commands is displayed and you must press an additional key to select a command: `a (`org-attach-attach')' Select a file and move it into the task's attachment directory. The file will be copied, moved, or linked, depending on `org-attach-method'. Note that hard links are not supported on all systems. `c/m/l' Attach a file using the copy/move/link method. Note that hard links are not supported on all systems. `n (`org-attach-new')' Create a new attachment as an Emacs buffer. `z (`org-attach-sync')' Synchronize the current task with its attachment directory, in case you added attachments yourself. `o (`org-attach-open')' Open current task's attachment. If there is more than one, prompt for a file name first. Opening will follow the rules set by `org-file-apps'. For more details, see the information on following hyperlinks (*note Handling links::). `O (`org-attach-open-in-emacs')' Also open the attachment, but force opening the file in Emacs. `f (`org-attach-reveal')' Open the current task's attachment directory. `F (`org-attach-reveal-in-emacs')' Also open the directory, but force using `dired' in Emacs. `d (`org-attach-delete-one')' Select and delete a single attachment. `D (`org-attach-delete-all')' Delete all of a task's attachments. A safer way is to open the directory in `dired' and delete from there. `s (`org-attach-set-directory')' Set a specific directory as the entry's attachment directory. This works by putting the directory path into the `ATTACH_DIR' property. `i (`org-attach-set-inherit')' Set the `ATTACH_DIR_INHERIT' property, so that children will use the same directory for attachments as the parent does. ---------- Footnotes ---------- (1) If you move entries or Org files from one directory to another, you may want to configure `org-attach-directory' to contain an absolute path.  File: org, Node: RSS Feeds, Next: Protocols, Prev: Attachments, Up: Capture - Refile - Archive 9.3 RSS feeds ============= Org can add and change entries based on information found in RSS feeds and Atom feeds. You could use this to make a task out of each new podcast in a podcast feed. Or you could use a phone-based note-creating service on the web to import tasks into Org. To access feeds, configure the variable `org-feed-alist'. The docstring of this variable has detailed information. Here is just an example: (setq org-feed-alist '(("Slashdot" "http://rss.slashdot.org/Slashdot/slashdot" "~/txt/org/feeds.org" "Slashdot Entries"))) will configure that new items from the feed provided by `rss.slashdot.org' will result in new entries in the file `~/org/feeds.org' under the heading `Slashdot Entries', whenever the following command is used: `C-c C-x g (`org-feed-update-all')' `C-c C-x g' Collect items from the feeds configured in `org-feed-alist' and act upon them. `C-c C-x G (`org-feed-goto-inbox')' Prompt for a feed name and go to the inbox configured for this feed. Under the same headline, Org will create a drawer `FEEDSTATUS' in which it will store information about the status of items in the feed, to avoid adding the same item several times. You should add `FEEDSTATUS' to the list of drawers in that file: #+DRAWERS: LOGBOOK PROPERTIES FEEDSTATUS For more information, including how to read atom feeds, see `org-feed.el' and the docstring of `org-feed-alist'.  File: org, Node: Protocols, Next: Refile and copy, Prev: RSS Feeds, Up: Capture - Refile - Archive 9.4 Protocols for external access ================================= You can set up Org for handling protocol calls from outside applications that are passed to Emacs through the `emacsserver'. For example, you can configure bookmarks in your web browser to send a link to the current page to Org and create a note from it using capture (*note Capture::). Or you could create a bookmark that will tell Emacs to open the local source file of a remote website you are looking at with the browser. See `http://orgmode.org/worg/org-contrib/org-protocol.php' for detailed documentation and setup instructions.  File: org, Node: Refile and copy, Next: Archiving, Prev: Protocols, Up: Capture - Refile - Archive 9.5 Refile and copy =================== When reviewing the captured data, you may want to refile or to copy some of the entries into a different list, for example into a project. Cutting, finding the right location, and then pasting the note is cumbersome. To simplify this process, you can use the following special command: `C-c M-w (`org-copy')' Copying works like refiling, except that the original note is not deleted. `C-c C-w (`org-refile')' Refile the entry or region at point. This command offers possible locations for refiling the entry and lets you select one with completion. The item (or all items in the region) is filed below the target heading as a subitem. Depending on `org-reverse-note-order', it will be either the first or last subitem. By default, all level 1 headlines in the current buffer are considered to be targets, but you can have more complex definitions across a number of files. See the variable `org-refile-targets' for details. If you would like to select a location via a file-path-like completion along the outline path, see the variables `org-refile-use-outline-path' and `org-outline-path-complete-in-steps'. If you would like to be able to create new nodes as new parents for refiling on the fly, check the variable `org-refile-allow-creating-parent-nodes'. When the variable `org-log-refile'(1) is set, a timestamp or a note will be recorded when an entry has been refiled. `C-u C-c C-w' Use the refile interface to jump to a heading. `C-u C-u C-c C-w (`org-refile-goto-last-stored')' Jump to the location where `org-refile' last moved a tree to. `C-2 C-c C-w' Refile as the child of the item currently being clocked. `C-3 C-c C-w' Refile and keep the entry in place. Also see `org-refile-keep' to make this the default behavior, and beware that this may result in duplicated `ID' properties. `C-0 C-c C-w or C-u C-u C-u C-c C-w (`org-refile-cache-clear')' Clear the target cache. Caching of refile targets can be turned on by setting `org-refile-use-cache'. To make the command see new possible targets, you have to clear the cache with this command. ---------- Footnotes ---------- (1) with corresponding `#+STARTUP' keywords `logrefile', `lognoterefile', and `nologrefile'  File: org, Node: Archiving, Prev: Refile and copy, Up: Capture - Refile - Archive 9.6 Archiving ============= When a project represented by a (sub)tree is finished, you may want to move the tree out of the way and to stop it from contributing to the agenda. Archiving is important to keep your working files compact and global searches like the construction of agenda views fast. `C-c C-x C-a (`org-archive-subtree-default')' Archive the current entry using the command specified in the variable `org-archive-default-command'. * Menu: * Moving subtrees:: Moving a tree to an archive file * Internal archiving:: Switch off a tree but keep it in the file  File: org, Node: Moving subtrees, Next: Internal archiving, Prev: Archiving, Up: Archiving 9.6.1 Moving a tree to the archive file --------------------------------------- The most common archiving action is to move a project tree to another file, the archive file. `C-c C-x C-s or short C-c $ (`org-archive-subtree')' Archive the subtree starting at the cursor position to the location given by `org-archive-location'. `C-u C-c C-x C-s' Check if any direct children of the current headline could be moved to the archive. To do this, each subtree is checked for open TODO entries. If none are found, the command offers to move it to the archive location. If the cursor is _not_ on a headline when this command is invoked, the level 1 trees will be checked. The default archive location is a file in the same directory as the current file, with the name derived by appending `_archive' to the current file name. You can also choose what heading to file archived items under, with the possibility to add them to a datetree in a file. For information and examples on how to specify the file and the heading, see the documentation string of the variable `org-archive-location'. There is also an in-buffer option for setting this variable, for example(1): #+ARCHIVE: %s_done:: If you would like to have a special ARCHIVE location for a single entry or a (sub)tree, give the entry an `:ARCHIVE:' property with the location as the value (*note Properties and Columns::). When a subtree is moved, it receives a number of special properties that record context information like the file from where the entry came, its outline path the archiving time etc. Configure the variable `org-archive-save-context-info' to adjust the amount of information added. ---------- Footnotes ---------- (1) For backward compatibility, the following also works: If there are several such lines in a file, each specifies the archive location for the text below it. The first such line also applies to any text before its definition. However, using this method is _strongly_ deprecated as it is incompatible with the outline structure of the document. The correct method for setting multiple archive locations in a buffer is using properties.  File: org, Node: Internal archiving, Prev: Moving subtrees, Up: Archiving 9.6.2 Internal archiving ------------------------ If you want to just switch off (for agenda views) certain subtrees without moving them to a different file, you can use the `ARCHIVE tag'. A headline that is marked with the ARCHIVE tag (*note Tags::) stays at its location in the outline tree, but behaves in the following way: - It does not open when you attempt to do so with a visibility cycling command (*note Visibility cycling::). You can force cycling archived subtrees with `C-', or by setting the option `org-cycle-open-archived-trees'. Also normal outline commands like `show-all' will open archived subtrees. - During sparse tree construction (*note Sparse trees::), matches in archived subtrees are not exposed, unless you configure the option `org-sparse-tree-open-archived-trees'. - During agenda view construction (*note Agenda Views::), the content of archived trees is ignored unless you configure the option `org-agenda-skip-archived-trees', in which case these trees will always be included. In the agenda you can press `v a' to get archives temporarily included. - Archived trees are not exported (*note Exporting::), only the headline is. Configure the details using the variable `org-export-with-archived-trees'. - Archived trees are excluded from column view unless the variable `org-columns-skip-archived-trees' is configured to `nil'. The following commands help manage the ARCHIVE tag: `C-c C-x a (`org-toggle-archive-tag')' Toggle the ARCHIVE tag for the current headline. When the tag is set, the headline changes to a shadowed face, and the subtree below it is hidden. `C-u C-c C-x a' Check if any direct children of the current headline should be archived. To do this, each subtree is checked for open TODO entries. If none are found, the command offers to set the ARCHIVE tag for the child. If the cursor is _not_ on a headline when this command is invoked, the level 1 trees will be checked. `C-TAB (`org-force-cycle-archived')' Cycle a tree even if it is tagged with ARCHIVE. `C-c C-x A (`org-archive-to-archive-sibling')' Move the current entry to the _Archive Sibling_. This is a sibling of the entry with the heading `Archive' and the tag `ARCHIVE'. The entry becomes a child of that sibling and in this way retains a lot of its original context, including inherited tags and approximate position in the outline.  File: org, Node: Agenda Views, Next: Markup, Prev: Capture - Refile - Archive, Up: Top 10 Agenda views *************** Due to the way Org works, TODO items, time-stamped items, and tagged headlines can be scattered throughout a file or even a number of files. To get an overview of open action items, or of events that are important for a particular date, this information must be collected, sorted and displayed in an organized way. Org can select items based on various criteria and display them in a separate buffer. Seven different view types are provided: * an _agenda_ that is like a calendar and shows information for specific dates, * a _TODO list_ that covers all unfinished action items, * a _match view_, showings headlines based on the tags, properties, and TODO state associated with them, * a _timeline view_ that shows all events in a single Org file, in time-sorted view, * a _text search view_ that shows all entries from multiple files that contain specified keywords, * a _stuck projects view_ showing projects that currently don't move along, and * _custom views_ that are special searches and combinations of different views. The extracted information is displayed in a special _agenda buffer_. This buffer is read-only, but provides commands to visit the corresponding locations in the original Org files, and even to edit these files remotely. Two variables control how the agenda buffer is displayed and whether the window configuration is restored when the agenda exits: `org-agenda-window-setup' and `org-agenda-restore-windows-after-quit'. * Menu: * Agenda files:: Files being searched for agenda information * Agenda dispatcher:: Keyboard access to agenda views * Built-in agenda views:: What is available out of the box? * Presentation and sorting:: How agenda items are prepared for display * Agenda commands:: Remote editing of Org trees * Custom agenda views:: Defining special searches and views * Exporting Agenda Views:: Writing a view to a file * Agenda column view:: Using column view for collected entries  File: org, Node: Agenda files, Next: Agenda dispatcher, Prev: Agenda Views, Up: Agenda Views 10.1 Agenda files ================= The information to be shown is normally collected from all _agenda files_, the files listed in the variable `org-agenda-files'(1). If a directory is part of this list, all files with the extension `.org' in this directory will be part of the list. Thus, even if you only work with a single Org file, that file should be put into the list(2). You can customize `org-agenda-files', but the easiest way to maintain it is through the following commands `C-c [ (`org-agenda-file-to-front')' Add current file to the list of agenda files. The file is added to the front of the list. If it was already in the list, it is moved to the front. With a prefix argument, file is added/moved to the end. `C-c ] (`org-remove-file')' Remove current file from the list of agenda files. `C-' (`org-cycle-agenda-files')' `C-,' Cycle through agenda file list, visiting one file after the other. `M-x org-iswitchb RET' Command to use an `iswitchb'-like interface to switch to and between Org buffers. The Org menu contains the current list of files and can be used to visit any of them. If you would like to focus the agenda temporarily on a file not in this list, or on just one file in the list, or even on only a subtree in a file, then this can be done in different ways. For a single agenda command, you may press `<' once or several times in the dispatcher (*note Agenda dispatcher::). To restrict the agenda scope for an extended period, use the following commands: `C-c C-x < (`org-agenda-set-restriction-lock')' Permanently restrict the agenda to the current subtree. When with a prefix argument, or with the cursor before the first headline in a file, the agenda scope is set to the entire file. This restriction remains in effect until removed with `C-c C-x >', or by typing either `<' or `>' in the agenda dispatcher. If there is a window displaying an agenda view, the new restriction takes effect immediately. `C-c C-x > (`org-agenda-remove-restriction-lock')' Remove the permanent restriction created by `C-c C-x <'. When working with `speedbar.el', you can use the following commands in the Speedbar frame: `< in the speedbar frame (`org-speedbar-set-agenda-restriction')' Permanently restrict the agenda to the item--either an Org file or a subtree in such a file--at the cursor in the Speedbar frame. If there is a window displaying an agenda view, the new restriction takes effect immediately. `> in the speedbar frame (`org-agenda-remove-restriction-lock')' Lift the restriction. ---------- Footnotes ---------- (1) If the value of that variable is not a list, but a single file name, then the list of agenda files will be maintained in that external file. (2) When using the dispatcher, pressing `<' before selecting a command will actually limit the command to the current file, and ignore `org-agenda-files' until the next dispatcher command.  File: org, Node: Agenda dispatcher, Next: Built-in agenda views, Prev: Agenda files, Up: Agenda Views 10.2 The agenda dispatcher ========================== The views are created through a dispatcher, which should be bound to a global key--for example `C-c a' (*note Activation::). In the following we will assume that `C-c a' is indeed how the dispatcher is accessed and list keyboard access to commands accordingly. After pressing `C-c a', an additional letter is required to execute a command. The dispatcher offers the following default commands: `a' Create the calendar-like agenda (*note Weekly/daily agenda::). `t / T' Create a list of all TODO items (*note Global TODO list::). `m / M' Create a list of headlines matching a TAGS expression (*note Matching tags and properties::). `L' Create the timeline view for the current buffer (*note Timeline::). `s' Create a list of entries selected by a boolean expression of keywords and/or regular expressions that must or must not occur in the entry. `/' Search for a regular expression in all agenda files and additionally in the files listed in `org-agenda-text-search-extra-files'. This uses the Emacs command `multi-occur'. A prefix argument can be used to specify the number of context lines for each match, default is 1. `# / !' Create a list of stuck projects (*note Stuck projects::). `<' Restrict an agenda command to the current buffer(1). After pressing `<', you still need to press the character selecting the command. `< <' If there is an active region, restrict the following agenda command to the region. Otherwise, restrict it to the current subtree(2). After pressing `< <', you still need to press the character selecting the command. `*' Toggle sticky agenda views. By default, Org maintains only a single agenda buffer and rebuilds it each time you change the view, to make sure everything is always up to date. If you switch between views often and the build time bothers you, you can turn on sticky agenda buffers (make this the default by customizing the variable `org-agenda-sticky'). With sticky agendas, the dispatcher only switches to the selected view, you need to update it by hand with `r' or `g'. You can toggle sticky agenda view any time with `org-toggle-sticky-agenda'. You can also define custom commands that will be accessible through the dispatcher, just like the default commands. This includes the possibility to create extended agenda buffers that contain several blocks together, for example the weekly agenda, the global TODO list and a number of special tags matches. *Note Custom agenda views::. ---------- Footnotes ---------- (1) For backward compatibility, you can also press `1' to restrict to the current buffer. (2) For backward compatibility, you can also press `0' to restrict to the current region/subtree.  File: org, Node: Built-in agenda views, Next: Presentation and sorting, Prev: Agenda dispatcher, Up: Agenda Views 10.3 The built-in agenda views ============================== In this section we describe the built-in views. * Menu: * Weekly/daily agenda:: The calendar page with current tasks * Global TODO list:: All unfinished action items * Matching tags and properties:: Structured information with fine-tuned search * Timeline:: Time-sorted view for single file * Search view:: Find entries by searching for text * Stuck projects:: Find projects you need to review  File: org, Node: Weekly/daily agenda, Next: Global TODO list, Prev: Built-in agenda views, Up: Built-in agenda views 10.3.1 The weekly/daily agenda ------------------------------ The purpose of the weekly/daily _agenda_ is to act like a page of a paper agenda, showing all the tasks for the current week or day. `C-c a a (`org-agenda-list')' Compile an agenda for the current week from a list of Org files. The agenda shows the entries for each day. With a numeric prefix(1) (like `C-u 2 1 C-c a a') you may set the number of days to be displayed. The default number of days displayed in the agenda is set by the variable `org-agenda-span' (or the obsolete `org-agenda-ndays'). This variable can be set to any number of days you want to see by default in the agenda, or to a span name, such as `day', `week', `month' or `year'. For weekly agendas, the default is to start on the previous monday (see `org-agenda-start-on-weekday'). You can also set the start date using a date shift: `(setq org-agenda-start-day "+10d")' will start the agenda ten days from today in the future. Remote editing from the agenda buffer means, for example, that you can change the dates of deadlines and appointments from the agenda buffer. The commands available in the Agenda buffer are listed in *note Agenda commands::. Calendar/Diary integration .......................... Emacs contains the calendar and diary by Edward M. Reingold. The calendar displays a three-month calendar with holidays from different countries and cultures. The diary allows you to keep track of anniversaries, lunar phases, sunrise/set, recurrent appointments (weekly, monthly) and more. In this way, it is quite complementary to Org. It can be very useful to combine output from Org with the diary. In order to include entries from the Emacs diary into Org mode's agenda, you only need to customize the variable (setq org-agenda-include-diary t) After that, everything will happen automatically. All diary entries including holidays, anniversaries, etc., will be included in the agenda buffer created by Org mode. , , and can be used from the agenda buffer to jump to the diary file in order to edit existing diary entries. The `i' command to insert new entries for the current date works in the agenda buffer, as well as the commands `S', `M', and `C' to display Sunrise/Sunset times, show lunar phases and to convert to other calendars, respectively. `c' can be used to switch back and forth between calendar and agenda. If you are using the diary only for sexp entries and holidays, it is faster to not use the above setting, but instead to copy or even move the entries into an Org file. Org mode evaluates diary-style sexp entries, and does it faster because there is no overhead for first creating the diary display. Note that the sexp entries must start at the left margin, no whitespace is allowed before them. For example, the following segment of an Org file will be processed and entries will be made in the agenda: * Birthdays and similar stuff #+CATEGORY: Holiday %%(org-calendar-holiday) ; special function for holiday names #+CATEGORY: Ann %%(org-anniversary 1956 5 14)(2) Arthur Dent is %d years old %%(org-anniversary 1869 10 2) Mahatma Gandhi would be %d years old Anniversaries from BBDB ....................... If you are using the Big Brothers Database to store your contacts, you will very likely prefer to store anniversaries in BBDB rather than in a separate Org or diary file. Org supports this and will show BBDB anniversaries as part of the agenda. All you need to do is to add the following to one of your agenda files: * Anniversaries :PROPERTIES: :CATEGORY: Anniv :END: %%(org-bbdb-anniversaries) You can then go ahead and define anniversaries for a BBDB record. Basically, you need to press `C-o anniversary ' with the cursor in a BBDB record and then add the date in the format `YYYY-MM-DD' or `MM-DD', followed by a space and the class of the anniversary (`birthday' or `wedding', or a format string). If you omit the class, it will default to `birthday'. Here are a few examples, the header for the file `org-bbdb.el' contains more detailed information. 1973-06-22 06-22 1955-08-02 wedding 2008-04-14 %s released version 6.01 of org mode, %d years ago After a change to BBDB, or for the first agenda display during an Emacs session, the agenda display will suffer a short delay as Org updates its hash with anniversaries. However, from then on things will be very fast--much faster in fact than a long list of `%%(diary-anniversary)' entries in an Org or Diary file. Appointment reminders ..................... Org can interact with Emacs appointments notification facility. To add the appointments of your agenda files, use the command `org-agenda-to-appt'. This command lets you filter through the list of your appointments and add only those belonging to a specific category or matching a regular expression. It also reads a `APPT_WARNTIME' property which will then override the value of `appt-message-warning-time' for this appointment. See the docstring for details. ---------- Footnotes ---------- (1) For backward compatibility, the universal prefix `C-u' causes all TODO entries to be listed before the agenda. This feature is deprecated, use the dedicated TODO list, or a block agenda instead (*note Block agenda::). (2) `org-anniversary' is just like `diary-anniversary', but the argument order is always according to ISO and therefore independent of the value of `calendar-date-style'.  File: org, Node: Global TODO list, Next: Matching tags and properties, Prev: Weekly/daily agenda, Up: Built-in agenda views 10.3.2 The global TODO list --------------------------- The global TODO list contains all unfinished TODO items formatted and collected into a single place. `C-c a t (`org-todo-list')' Show the global TODO list. This collects the TODO items from all agenda files (*note Agenda Views::) into a single buffer. By default, this lists items with a state the is not a DONE state. The buffer is in `agenda-mode', so there are commands to examine and manipulate the TODO entries directly from that buffer (*note Agenda commands::). `C-c a T (`org-todo-list')' Like the above, but allows selection of a specific TODO keyword. You can also do this by specifying a prefix argument to `C-c a t'. You are prompted for a keyword, and you may also specify several keywords by separating them with `|' as the boolean OR operator. With a numeric prefix, the Nth keyword in `org-todo-keywords' is selected. The `r' key in the agenda buffer regenerates it, and you can give a prefix argument to this command to change the selected TODO keyword, for example `3 r'. If you often need a search for a specific keyword, define a custom command for it (*note Agenda dispatcher::). Matching specific TODO keywords can also be done as part of a tags search (*note Tag searches::). Remote editing of TODO items means that you can change the state of a TODO entry with a single key press. The commands available in the TODO list are described in *note Agenda commands::. Normally the global TODO list simply shows all headlines with TODO keywords. This list can become very long. There are two ways to keep it more compact: - Some people view a TODO item that has been _scheduled_ for execution or have a _deadline_ (*note Timestamps::) as no longer _open_. Configure the variables `org-agenda-todo-ignore-scheduled', `org-agenda-todo-ignore-deadlines', `org-agenda-todo-ignore-timestamp' and/or `org-agenda-todo-ignore-with-date' to exclude such items from the global TODO list. - TODO items may have sublevels to break up the task into subtasks. In such cases it may be enough to list only the highest level TODO headline and omit the sublevels from the global list. Configure the variable `org-agenda-todo-list-sublevels' to get this behavior.  File: org, Node: Matching tags and properties, Next: Timeline, Prev: Global TODO list, Up: Built-in agenda views 10.3.3 Matching tags and properties ----------------------------------- If headlines in the agenda files are marked with _tags_ (*note Tags::), or have properties (*note Properties and Columns::), you can select headlines based on this metadata and collect them into an agenda buffer. The match syntax described here also applies when creating sparse trees with `C-c / m'. `C-c a m (`org-tags-view')' Produce a list of all headlines that match a given set of tags. The command prompts for a selection criterion, which is a boolean logic expression with tags, like `+work+urgent-withboss' or `work|home' (*note Tags::). If you often need a specific search, define a custom command for it (*note Agenda dispatcher::). `C-c a M (`org-tags-view')' Like `C-c a m', but only select headlines that are also TODO items in a not-DONE state and force checking subitems (see variable `org-tags-match-list-sublevels'). To exclude scheduled/deadline items, see the variable `org-agenda-tags-todo-honor-ignore-options'. Matching specific TODO keywords together with a tags match is also possible, see *note Tag searches::. The commands available in the tags list are described in *note Agenda commands::. Match syntax ............ A search string can use Boolean operators `&' for `AND' and `|' for `OR'. `&' binds more strongly than `|'. Parentheses are not implemented. Each element in the search is either a tag, a regular expression matching tags, or an expression like `PROPERTY OPERATOR VALUE' with a comparison operator, accessing a property value. Each element may be preceded by `-', to select against it, and `+' is syntactic sugar for positive selection. The `AND' operator `&' is optional when `+' or `-' is present. Here are some examples, using only tags. `work' Select headlines tagged `:work:'. `work&boss' Select headlines tagged `:work:' and `:boss:'. `+work-boss' Select headlines tagged `:work:', but discard those also tagged `:boss:'. `work|laptop' Selects lines tagged `:work:' or `:laptop:'. `work|laptop+night' Like before, but require the `:laptop:' lines to be tagged also `:night:'. Instead of a tag, you may also specify a regular expression enclosed in curly braces. For example, `work+{^boss.*}' matches headlines that contain the tag `:work:' and any tag starting with `boss'. Group tags (*note Tag groups::) are expanded as regular expressions. E.g., if `:work:' is a group tag for the group `:work:lab:conf:', then searching for `work' will search for `{\(?:work\|lab\|conf\)}' and searching for `-work' will search for all headlines but those with one of the tag in the group (i.e., `-{\(?:work\|lab\|conf\)}'). You may also test for properties (*note Properties and Columns::) at the same time as matching tags. The properties may be real properties, or special properties that represent other metadata (*note Special properties::). For example, the "property" `TODO' represents the TODO keyword of the entry and the "property" `PRIORITY' represents the PRIORITY keyword of the entry. The ITEM special property cannot currently be used in tags/property searches(1). Except the *note Special properties::, one other "property" can also be used. `LEVEL' represents the level of an entry. So a search `+LEVEL=3+boss-TODO="DONE"' lists all level three headlines that have the tag `boss' and are _not_ marked with the TODO keyword DONE. In buffers with `org-odd-levels-only' set, `LEVEL' does not count the number of stars, but `LEVEL=2' will correspond to 3 stars etc. Here are more examples: `work+TODO="WAITING"' Select `:work:'-tagged TODO lines with the specific TODO keyword `WAITING'. `work+TODO="WAITING"|home+TODO="WAITING"' Waiting tasks both at work and at home. When matching properties, a number of different operators can be used to test the value of a property. Here is a complex example: +work-boss+PRIORITY="A"+Coffee="unlimited"+Effort<2 \ +With={Sarah\|Denny}+SCHEDULED>="<2008-10-11>" The type of comparison will depend on how the comparison value is written: - If the comparison value is a plain number, a numerical comparison is done, and the allowed operators are `<', `=', `>', `<=', `>=', and `<>'. - If the comparison value is enclosed in double-quotes, a string comparison is done, and the same operators are allowed. - If the comparison value is enclosed in double-quotes _and_ angular brackets (like `DEADLINE<="<2008-12-24 18:30>"'), both values are assumed to be date/time specifications in the standard Org way, and the comparison will be done accordingly. Special values that will be recognized are `""' for now (including time), and `""', and `""' for these days at 0:00 hours, i.e., without a time specification. Also strings like `"<+5d>"' or `"<-2m>"' with units `d', `w', `m', and `y' for day, week, month, and year, respectively, can be used. - If the comparison value is enclosed in curly braces, a regexp match is performed, with `=' meaning that the regexp matches the property value, and `<>' meaning that it does not match. So the search string in the example finds entries tagged `:work:' but not `:boss:', which also have a priority value `A', a `:Coffee:' property with the value `unlimited', an `Effort' property that is numerically smaller than 2, a `:With:' property that is matched by the regular expression `Sarah\|Denny', and that are scheduled on or after October 11, 2008. Accessing TODO, LEVEL, and CATEGORY during a search is fast. Accessing any other properties will slow down the search. However, once you have paid the price by accessing one property, testing additional properties is cheap again. You can configure Org mode to use property inheritance during a search, but beware that this can slow down searches considerably. See *note Property inheritance::, for details. For backward compatibility, and also for typing speed, there is also a different way to test TODO states in a search. For this, terminate the tags/property part of the search string (which may include several terms connected with `|') with a `/' and then specify a Boolean expression just for TODO keywords. The syntax is then similar to that for tags, but should be applied with care: for example, a positive selection on several TODO keywords cannot meaningfully be combined with boolean AND. However, _negative selection_ combined with AND can be meaningful. To make sure that only lines are checked that actually have any TODO keyword (resulting in a speed-up), use `C-c a M', or equivalently start the TODO part after the slash with `!'. Using `C-c a M' or `/!' will not match TODO keywords in a DONE state. Examples: `work/WAITING' Same as `work+TODO="WAITING"' `work/!-WAITING-NEXT' Select `:work:'-tagged TODO lines that are neither `WAITING' nor `NEXT' `work/!+WAITING|+NEXT' Select `:work:'-tagged TODO lines that are either `WAITING' or `NEXT'. ---------- Footnotes ---------- (1) But *note skipping entries based on regexp: x-agenda-skip-entry-regexp.  File: org, Node: Timeline, Next: Search view, Prev: Matching tags and properties, Up: Built-in agenda views 10.3.4 Timeline for a single file --------------------------------- The timeline summarizes all time-stamped items from a single Org mode file in a _time-sorted view_. The main purpose of this command is to give an overview over events in a project. `C-c a L (`org-timeline')' Show a time-sorted view of the Org file, with all time-stamped items. When called with a `C-u' prefix, all unfinished TODO entries (scheduled or not) are also listed under the current date. The commands available in the timeline buffer are listed in *note Agenda commands::.  File: org, Node: Search view, Next: Stuck projects, Prev: Timeline, Up: Built-in agenda views 10.3.5 Search view ------------------ This agenda view is a general text search facility for Org mode entries. It is particularly useful to find notes. `C-c a s (`org-search-view')' This is a special search that lets you select entries by matching a substring or specific words using a boolean logic. For example, the search string `computer equipment' will find entries that contain `computer equipment' as a substring. If the two words are separated by more space or a line break, the search will still match. Search view can also search for specific keywords in the entry, using Boolean logic. The search string `+computer +wifi -ethernet -{8\.11[bg]}' will search for note entries that contain the keywords `computer' and `wifi', but not the keyword `ethernet', and which are also not matched by the regular expression `8\.11[bg]', meaning to exclude both 8.11b and 8.11g. The first `+' is necessary to turn on word search, other `+' characters are optional. For more details, see the docstring of the command `org-search-view'. Note that in addition to the agenda files, this command will also search the files listed in `org-agenda-text-search-extra-files'.  File: org, Node: Stuck projects, Prev: Search view, Up: Built-in agenda views 10.3.6 Stuck projects --------------------- If you are following a system like David Allen's GTD to organize your work, one of the "duties" you have is a regular review to make sure that all projects move along. A _stuck_ project is a project that has no defined next actions, so it will never show up in the TODO lists Org mode produces. During the review, you need to identify such projects and define next actions for them. `C-c a # (`org-agenda-list-stuck-projects')' List projects that are stuck. `C-c a !' Customize the variable `org-stuck-projects' to define what a stuck project is and how to find it. You almost certainly will have to configure this view before it will work for you. The built-in default assumes that all your projects are level-2 headlines, and that a project is not stuck if it has at least one entry marked with a TODO keyword TODO or NEXT or NEXTACTION. Let's assume that you, in your own way of using Org mode, identify projects with a tag PROJECT, and that you use a TODO keyword MAYBE to indicate a project that should not be considered yet. Let's further assume that the TODO keyword DONE marks finished projects, and that NEXT and TODO indicate next actions. The tag @SHOP indicates shopping and is a next action even without the NEXT tag. Finally, if the project contains the special word IGNORE anywhere, it should not be listed either. In this case you would start by identifying eligible projects with a tags/todo match(1) `+PROJECT/-MAYBE-DONE', and then check for TODO, NEXT, @SHOP, and IGNORE in the subtree to identify projects that are not stuck. The correct customization for this is (setq org-stuck-projects '("+PROJECT/-MAYBE-DONE" ("NEXT" "TODO") ("@SHOP") "\\")) Note that if a project is identified as non-stuck, the subtree of this entry will still be searched for stuck projects. ---------- Footnotes ---------- (1) *Note Tag searches::.  File: org, Node: Presentation and sorting, Next: Agenda commands, Prev: Built-in agenda views, Up: Agenda Views 10.4 Presentation and sorting ============================= Before displaying items in an agenda view, Org mode visually prepares the items and sorts them. Each item occupies a single line. The line starts with a _prefix_ that contains the _category_ (*note Categories::) of the item and other important information. You can customize in which column tags will be displayed through `org-agenda-tags-column'. You can also customize the prefix using the option `org-agenda-prefix-format'. This prefix is followed by a cleaned-up version of the outline headline associated with the item. * Menu: * Categories:: Not all tasks are equal * Time-of-day specifications:: How the agenda knows the time * Sorting agenda items:: The order of things * Filtering/limiting agenda items:: Dynamically narrow the agenda  File: org, Node: Categories, Next: Time-of-day specifications, Prev: Presentation and sorting, Up: Presentation and sorting 10.4.1 Categories ----------------- The category is a broad label assigned to each agenda item. By default, the category is simply derived from the file name, but you can also specify it with a special line in the buffer, like this(1): #+CATEGORY: Thesis If you would like to have a special CATEGORY for a single entry or a (sub)tree, give the entry a `:CATEGORY:' property with the special category you want to apply as the value. The display in the agenda buffer looks best if the category is not longer than 10 characters. You can set up icons for category by customizing the `org-agenda-category-icon-alist' variable. ---------- Footnotes ---------- (1) For backward compatibility, the following also works: if there are several such lines in a file, each specifies the category for the text below it. The first category also applies to any text before the first CATEGORY line. However, using this method is _strongly_ deprecated as it is incompatible with the outline structure of the document. The correct method for setting multiple categories in a buffer is using a property.  File: org, Node: Time-of-day specifications, Next: Sorting agenda items, Prev: Categories, Up: Presentation and sorting 10.4.2 Time-of-day specifications --------------------------------- Org mode checks each agenda item for a time-of-day specification. The time can be part of the timestamp that triggered inclusion into the agenda, for example as in `<2005-05-10 Tue 19:00>'. Time ranges can be specified with two timestamps, like `<2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>'. In the headline of the entry itself, a time(range) may also appear as plain text (like `12:45' or a `8:30-1pm'). If the agenda integrates the Emacs diary (*note Weekly/daily agenda::), time specifications in diary entries are recognized as well. For agenda display, Org mode extracts the time and displays it in a standard 24 hour format as part of the prefix. The example times in the previous paragraphs would end up in the agenda like this: 8:30-13:00 Arthur Dent lies in front of the bulldozer 12:45...... Ford Prefect arrives and takes Arthur to the pub 19:00...... The Vogon reads his poem 20:30-22:15 Marvin escorts the Hitchhikers to the bridge If the agenda is in single-day mode, or for the display of today, the timed entries are embedded in a time grid, like 8:00...... ------------------ 8:30-13:00 Arthur Dent lies in front of the bulldozer 10:00...... ------------------ 12:00...... ------------------ 12:45...... Ford Prefect arrives and takes Arthur to the pub 14:00...... ------------------ 16:00...... ------------------ 18:00...... ------------------ 19:00...... The Vogon reads his poem 20:00...... ------------------ 20:30-22:15 Marvin escorts the Hitchhikers to the bridge The time grid can be turned on and off with the variable `org-agenda-use-time-grid', and can be configured with `org-agenda-time-grid'.  File: org, Node: Sorting agenda items, Next: Filtering/limiting agenda items, Prev: Time-of-day specifications, Up: Presentation and sorting 10.4.3 Sorting agenda items --------------------------- Before being inserted into a view, the items are sorted. How this is done depends on the type of view. * For the daily/weekly agenda, the items for each day are sorted. The default order is to first collect all items containing an explicit time-of-day specification. These entries will be shown at the beginning of the list, as a _schedule_ for the day. After that, items remain grouped in categories, in the sequence given by `org-agenda-files'. Within each category, items are sorted by priority (*note Priorities::), which is composed of the base priority (2000 for priority `A', 1000 for `B', and 0 for `C'), plus additional increments for overdue scheduled or deadline items. * For the TODO list, items remain in the order of categories, but within each category, sorting takes place according to priority (*note Priorities::). The priority used for sorting derives from the priority cookie, with additions depending on how close an item is to its due or scheduled date. * For tags matches, items are not sorted at all, but just appear in the sequence in which they are found in the agenda files. Sorting can be customized using the variable `org-agenda-sorting-strategy', and may also include criteria based on the estimated effort of an entry (*note Effort estimates::).  File: org, Node: Filtering/limiting agenda items, Prev: Sorting agenda items, Up: Presentation and sorting 10.4.4 Filtering/limiting agenda items -------------------------------------- Agenda built-in or customized commands are statically defined. Agenda filters and limits provide two ways of dynamically narrowing down the list of agenda entries: _fitlers_ and _limits_. Filters only act on the display of the items, while limits take effect before the list of agenda entries is built. Filter are more often used interactively, while limits are mostly useful when defined as local variables within custom agenda commands. Filtering in the agenda ....................... `/ (`org-agenda-filter-by-tag')' Filter the agenda view with respect to a tag and/or effort estimates. The difference between this and a custom agenda command is that filtering is very fast, so that you can switch quickly between different filters without having to recreate the agenda.(1) You will be prompted for a tag selection letter; will mean any tag at all. Pressing at that prompt will offer use completion to select a tag (including any tags that do not have a selection character). The command then hides all entries that do not contain or inherit this tag. When called with prefix arg, remove the entries that _do_ have the tag. A second `/' at the prompt will turn off the filter and unhide any hidden entries. If the first key you press is either `+' or `-', the previous filter will be narrowed by requiring or forbidding the selected additional tag. Instead of pressing `+' or `-' after `/', you can also immediately use the `\' command. In order to filter for effort estimates, you should set up allowed efforts globally, for example (setq org-global-properties '(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00"))) You can then filter for an effort by first typing an operator, one of `<', `>', and `=', and then the one-digit index of an effort estimate in your array of allowed values, where `0' means the 10th value. The filter will then restrict to entries with effort smaller-or-equal, equal, or larger-or-equal than the selected value. If the digits 0-9 are not used as fast access keys to tags, you can also simply press the index digit directly without an operator. In this case, `<' will be assumed. For application of the operator, entries without a defined effort will be treated according to the value of `org-sort-agenda-noeffort-is-high'. To filter for tasks without effort definition, press `?' as the operator. Org also supports automatic, context-aware tag filtering. If the variable `org-agenda-auto-exclude-function' is set to a user-defined function, that function can decide which tags should be excluded from the agenda automatically. Once this is set, the `/' command then accepts `RET' as a sub-option key and runs the auto exclusion logic. For example, let's say you use a `Net' tag to identify tasks which need network access, an `Errand' tag for errands in town, and a `Call' tag for making phone calls. You could auto-exclude these tags based on the availability of the Internet, and outside of business hours, with something like this: (defun org-my-auto-exclude-function (tag) (and (cond ((string= tag "Net") (/= 0 (call-process "/sbin/ping" nil nil nil "-c1" "-q" "-t1" "mail.gnu.org"))) ((or (string= tag "Errand") (string= tag "Call")) (let ((hour (nth 2 (decode-time)))) (or (< hour 8) (> hour 21))))) (concat "-" tag))) (setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function) `\ (`org-agenda-filter-by-tag-refine')' Narrow the current agenda filter by an additional condition. When called with prefix arg, remove the entries that _do_ have the tag, or that do match the effort criterion. You can achieve the same effect by pressing `+' or `-' as the first key after the `/' command. `[ ] { }' in search view add new search words (`[' and `]') or new regular expressions (`{' and `}') to the query string. The opening bracket/brace will add a positive search term prefixed by `+', indicating that this search term must occur/match in the entry. The closing bracket/brace will add a negative search term which must not occur/match in the entry for it to be selected. `< (`org-agenda-filter-by-category')' Filter the current agenda view with respect to the category of the item at point. Pressing `<' another time will remove this filter. You can add a filter preset through the option `org-agenda-category-filter-preset' (see below.) `^ (`org-agenda-filter-by-top-headline')' Filter the current agenda view and only display the siblings and the parent headline of the one at point. `= (`org-agenda-filter-by-regexp')' Filter the agenda view by a regular expression: only show agenda entries matching the regular expression the user entered. When called with a prefix argument, it will filter _out_ entries matching the regexp. With two universal prefix arguments, it will remove all the regexp filters, which can be accumulated. You can add a filter preset through the option `org-agenda-category-filter-preset' (see below.) `| (`org-agenda-filter-remove-all')' Remove all filters in the current agenda view. Setting limits for the agenda ............................. Here is a list of options that you can set, either globally, or locally in your custom agenda views*note Custom agenda views::. ORG-AGENDA-MAX-ENTRIES Limit the number of entries. ORG-AGENDA-MAX-EFFORT Limit the duration of accumulated efforts (as minutes). ORG-AGENDA-MAX-TODOS Limit the number of entries with TODO keywords. ORG-AGENDA-MAX-TAGS Limit the number of tagged entries. When set to a positive integer, each option will exclude entries from other categories: for example, `(setq org-agenda-max-effort 100)' will limit the agenda to 100 minutes of effort and exclude any entry that as no effort property. If you want to include entries with no effort property, use a negative value for `org-agenda-max-effort'. One useful setup is to use `org-agenda-max-entries' locally in a custom command. For example, this custom command will display the next five entries with a `NEXT' TODO keyword. (setq org-agenda-custom-commands '(("n" todo "NEXT" ((org-agenda-max-entries 5))))) Once you mark one of these five entry as `DONE', rebuilding the agenda will again the next five entries again, including the first entry that was excluded so far. You can also dynamically set temporary limits(2): `~ (`org-agenda-limit-interactively')' This prompts for the type of limit to apply and its value. ---------- Footnotes ---------- (1) Custom commands can preset a filter by binding the variable `org-agenda-tag-filter-preset' as an option. This filter will then be applied to the view and persist as a basic filter through refreshes and more secondary filtering. The filter is a global property of the entire agenda view--in a block agenda, you should only set this in the global options section, not in the section of an individual block. (2) Those temporary limits are lost when rebuilding the agenda.  File: org, Node: Agenda commands, Next: Custom agenda views, Prev: Presentation and sorting, Up: Agenda Views 10.5 Commands in the agenda buffer ================================== Entries in the agenda buffer are linked back to the Org file or diary file where they originate. You are not allowed to edit the agenda buffer itself, but commands are provided to show and jump to the original entry location, and to edit the Org files "remotely" from the agenda buffer. In this way, all information is stored only once, removing the risk that your agenda and note files may diverge. Some commands can be executed with mouse clicks on agenda lines. For the other commands, the cursor needs to be in the desired line. Motion ...... `n (`org-agenda-next-line')' Next line (same as and `C-n'). `p (`org-agenda-previous-line')' Previous line (same as and `C-p'). View/Go to Org file ................... ` or mouse-3 (`org-agenda-show-and-scroll-up')' Display the original location of the item in another window. With prefix arg, make sure that the entire entry is made visible in the outline, not only the heading. `L (`org-agenda-recenter')' Display original location and recenter that window. ` or mouse-2 (`org-agenda-goto')' Go to the original location of the item in another window. ` (`org-agenda-switch-to')' Go to the original location of the item and delete other windows. `F (`org-agenda-follow-mode')' Toggle Follow mode. In Follow mode, as you move the cursor through the agenda buffer, the other window always shows the corresponding location in the Org file. The initial setting for this mode in new agenda buffers can be set with the variable `org-agenda-start-with-follow-mode'. `C-c C-x b (`org-agenda-tree-to-indirect-buffer')' Display the entire subtree of the current item in an indirect buffer. With a numeric prefix argument N, go up to level N and then take that tree. If N is negative, go up that many levels. With a `C-u' prefix, do not remove the previously used indirect buffer. `C-c C-o (`org-agenda-open-link')' Follow a link in the entry. This will offer a selection of any links in the text belonging to the referenced Org node. If there is only one link, it will be followed without a selection prompt. Change display .............. `A' Interactively select another agenda view and append it to the current view. `o' Delete other windows. `v d or short d (`org-agenda-day-view')' `v w or short w (`org-agenda-week-view')' `v t (`org-agenda-fortnight-view')' `v m (`org-agenda-month-view')' `v y (`org-agenda-year-view')' `v SPC (`org-agenda-reset-view')' Switch to day/week/month/year view. When switching to day or week view, this setting becomes the default for subsequent agenda refreshes. Since month and year views are slow to create, they do not become the default. A numeric prefix argument may be used to jump directly to a specific day of the year, ISO week, month, or year, respectively. For example, `32 d' jumps to February 1st, `9 w' to ISO week number 9. When setting day, week, or month view, a year may be encoded in the prefix argument as well. For example, `200712 w' will jump to week 12 in 2007. If such a year specification has only one or two digits, it will be mapped to the interval 1938-2037. `v ' will reset to what is set in `org-agenda-span'. `f (`org-agenda-later')' Go forward in time to display the following `org-agenda-current-span' days. For example, if the display covers a week, switch to the following week. With prefix arg, go forward that many times `org-agenda-current-span' days. `b (`org-agenda-earlier')' Go backward in time to display earlier dates. `. (`org-agenda-goto-today')' Go to today. `j (`org-agenda-goto-date')' Prompt for a date and go there. `J (`org-agenda-clock-goto')' Go to the currently clocked-in task in the agenda buffer. `D (`org-agenda-toggle-diary')' Toggle the inclusion of diary entries. See *note Weekly/daily agenda::. `v l or short l (`org-agenda-log-mode')' Toggle Logbook mode. In Logbook mode, entries that were marked DONE while logging was on (variable `org-log-done') are shown in the agenda, as are entries that have been clocked on that day. You can configure the entry types that should be included in log mode using the variable `org-agenda-log-mode-items'. When called with a `C-u' prefix, show all possible logbook entries, including state changes. When called with two prefix arguments `C-u C-u', show only logging information, nothing else. `v L' is equivalent to `C-u v l'. `v [ or short [ (`org-agenda-manipulate-query-add')' Include inactive timestamps into the current view. Only for weekly/daily agenda and timeline views. `v a (`org-agenda-archives-mode')' `v A (`org-agenda-archives-mode 'files')' Toggle Archives mode. In Archives mode, trees that are marked `ARCHIVED' are also scanned when producing the agenda. When you use the capital `A', even all archive files are included. To exit archives mode, press `v a' again. `v R or short R (`org-agenda-clockreport-mode')' Toggle Clockreport mode. In Clockreport mode, the daily/weekly agenda will always show a table with the clocked times for the time span and file scope covered by the current agenda view. The initial setting for this mode in new agenda buffers can be set with the variable `org-agenda-start-with-clockreport-mode'. By using a prefix argument when toggling this mode (i.e., `C-u R'), the clock table will not show contributions from entries that are hidden by agenda filtering(1). See also the variable `org-clock-report-include-clocking-task'. `v c' Show overlapping clock entries, clocking gaps, and other clocking problems in the current agenda range. You can then visit clocking lines and fix them manually. See the variable `org-agenda-clock-consistency-checks' for information on how to customize the definition of what constituted a clocking problem. To return to normal agenda display, press `l' to exit Logbook mode. `v E or short E (`org-agenda-entry-text-mode')' Toggle entry text mode. In entry text mode, a number of lines from the Org outline node referenced by an agenda line will be displayed below the line. The maximum number of lines is given by the variable `org-agenda-entry-text-maxlines'. Calling this command with a numeric prefix argument will temporarily modify that number to the prefix value. `G (`org-agenda-toggle-time-grid')' Toggle the time grid on and off. See also the variables `org-agenda-use-time-grid' and `org-agenda-time-grid'. `r (`org-agenda-redo')' Recreate the agenda buffer, for example to reflect the changes after modification of the timestamps of items with `S-' and `S-'. When the buffer is the global TODO list, a prefix argument is interpreted to create a selective list for a specific TODO keyword. `g (`org-agenda-redo')' Same as `r'. `C-x C-s or short s (`org-save-all-org-buffers')' Save all Org buffers in the current Emacs session, and also the locations of IDs. `C-c C-x C-c (`org-agenda-columns')' Invoke column view (*note Column view::) in the agenda buffer. The column view format is taken from the entry at point, or (if there is no entry at point), from the first entry in the agenda view. So whatever the format for that entry would be in the original buffer (taken from a property, from a `#+COLUMNS' line, or from the default variable `org-columns-default-format'), will be used in the agenda. `C-c C-x > (`org-agenda-remove-restriction-lock')' Remove the restriction lock on the agenda, if it is currently restricted to a file or subtree (*note Agenda files::). Secondary filtering and query editing ..................................... For a detailed description of these commands, see *note Filtering/limiting agenda items::. `/ (`org-agenda-filter-by-tag')' Filter the agenda view with respect to a tag and/or effort estimates. `\ (`org-agenda-filter-by-tag-refine')' Narrow the current agenda filter by an additional condition. `< (`org-agenda-filter-by-category')' Filter the current agenda view with respect to the category of the item at point. Pressing `<' another time will remove this filter. `^ (`org-agenda-filter-by-top-headline')' Filter the current agenda view and only display the siblings and the parent headline of the one at point. `= (`org-agenda-filter-by-regexp')' Filter the agenda view by a regular expression: only show agenda entries matching the regular expression the user entered. When called with a prefix argument, it will filter _out_ entries matching the regexp. With two universal prefix arguments, it will remove all the regexp filters, which can be accumulated. You can add a filter preset through the option `org-agenda-category-filter-preset' (see below.) `| (`org-agenda-filter-remove-all')' Remove all filters in the current agenda view. Remote editing .............. `0--9' Digit argument. `C-_ (`org-agenda-undo')' Undo a change due to a remote editing command. The change is undone both in the agenda buffer and in the remote buffer. `t (`org-agenda-todo')' Change the TODO state of the item, both in the agenda and in the original org file. `C-S- (`org-agenda-todo-nextset')' `C-S- (`org-agenda-todo-previousset')' Switch to the next/previous set of TODO keywords. `C-k (`org-agenda-kill')' Delete the current agenda item along with the entire subtree belonging to it in the original Org file. If the text to be deleted remotely is longer than one line, the kill needs to be confirmed by the user. See variable `org-agenda-confirm-kill'. `C-c C-w (`org-agenda-refile')' Refile the entry at point. `C-c C-x C-a or short a (`org-agenda-archive-default-with-confirmation')' Archive the subtree corresponding to the entry at point using the default archiving command set in `org-archive-default-command'. When using the `a' key, confirmation will be required. `C-c C-x a (`org-agenda-toggle-archive-tag')' Toggle the ARCHIVE tag for the current headline. `C-c C-x A (`org-agenda-archive-to-archive-sibling')' Move the subtree corresponding to the current entry to its _archive sibling_. `C-c C-x C-s or short $ (`org-agenda-archive')' Archive the subtree corresponding to the current headline. This means the entry will be moved to the configured archive location, most likely a different file. `T (`org-agenda-show-tags')' Show all tags associated with the current item. This is useful if you have turned off `org-agenda-show-inherited-tags', but still want to see all tags of a headline occasionally. `: (`org-agenda-set-tags')' Set tags for the current headline. If there is an active region in the agenda, change a tag for all headings in the region. `,' Set the priority for the current item (`org-agenda-priority'). Org mode prompts for the priority character. If you reply with , the priority cookie is removed from the entry. `P (`org-agenda-show-priority')' Display weighted priority of current item. `+ or S- (`org-agenda-priority-up')' Increase the priority of the current item. The priority is changed in the original buffer, but the agenda is not resorted. Use the `r' key for this. `- or S- (`org-agenda-priority-down')' Decrease the priority of the current item. `z or C-c C-z (`org-agenda-add-note')' Add a note to the entry. This note will be recorded, and then filed to the same location where state change notes are put. Depending on `org-log-into-drawer', this may be inside a drawer. `C-c C-a (`org-attach')' Dispatcher for all command related to attachments. `C-c C-s (`org-agenda-schedule')' Schedule this item. With prefix arg remove the scheduling timestamp `C-c C-d (`org-agenda-deadline')' Set a deadline for this item. With prefix arg remove the deadline. `S- (`org-agenda-do-date-later')' Change the timestamp associated with the current line by one day into the future. If the date is in the past, the first call to this command will move it to today. With a numeric prefix argument, change it by that many days. For example, `3 6 5 S-' will change it by a year. With a `C-u' prefix, change the time by one hour. If you immediately repeat the command, it will continue to change hours even without the prefix arg. With a double `C-u C-u' prefix, do the same for changing minutes. The stamp is changed in the original Org file, but the change is not directly reflected in the agenda buffer. Use `r' or `g' to update the buffer. `S- (`org-agenda-do-date-earlier')' Change the timestamp associated with the current line by one day into the past. `> (`org-agenda-date-prompt')' Change the timestamp associated with the current line. The key `>' has been chosen, because it is the same as `S-.' on my keyboard. `I (`org-agenda-clock-in')' Start the clock on the current item. If a clock is running already, it is stopped first. `O (`org-agenda-clock-out')' Stop the previously started clock. `X (`org-agenda-clock-cancel')' Cancel the currently running clock. `J (`org-agenda-clock-goto')' Jump to the running clock in another window. `k (`org-agenda-capture')' Like `org-capture', but use the date at point as the default date for the capture template. See `org-capture-use-agenda-date' to make this the default behavior of `org-capture'. Dragging agenda lines forward/backward ...................................... `M- (`org-agenda-drag-line-backward')' Drag the line at point backward one line(2). With a numeric prefix argument, drag backward by that many lines. `M- (`org-agenda-drag-line-forward')' Drag the line at point forward one line. With a numeric prefix argument, drag forward by that many lines. Bulk remote editing selected entries .................................... `m (`org-agenda-bulk-mark')' Mark the entry at point for bulk action. With numeric prefix argument, mark that many successive entries. `* (`org-agenda-bulk-mark-all')' Mark all visible agenda entries for bulk action. `u (`org-agenda-bulk-unmark')' Unmark entry at point for bulk action. `U (`org-agenda-bulk-remove-all-marks')' Unmark all marked entries for bulk action. `M-m (`org-agenda-bulk-toggle')' Toggle mark of the entry at point for bulk action. `M-* (`org-agenda-bulk-toggle-all')' Toggle marks of all visible entries for bulk action. `% (`org-agenda-bulk-mark-regexp')' Mark entries matching a regular expression for bulk action. `B (`org-agenda-bulk-action')' Bulk action: act on all marked entries in the agenda. This will prompt for another key to select the action to be applied. The prefix arg to `B' will be passed through to the `s' and `d' commands, to bulk-remove these special timestamps. By default, marks are removed after the bulk. If you want them to persist, set `org-agenda-bulk-persistent-marks' to `t' or hit `p' at the prompt. `*' Toggle persistent marks. `$' Archive all selected entries. `A' Archive entries by moving them to their respective archive siblings. `t' Change TODO state. This prompts for a single TODO keyword and changes the state of all selected entries, bypassing blocking and suppressing logging notes (but not timestamps). `+' Add a tag to all selected entries. `-' Remove a tag from all selected entries. `s' Schedule all items to a new date. To shift existing schedule dates by a fixed number of days, use something starting with double plus at the prompt, for example `++8d' or `++2w'. `d' Set deadline to a specific date. `r' Prompt for a single refile target and move all entries. The entries will no longer be in the agenda; refresh (`g') to bring them back. `S' Reschedule randomly into the coming N days. N will be prompted for. With prefix arg (`C-u B S'), scatter only across weekdays. `f' Apply a function(3) to marked entries. For example, the function below sets the CATEGORY property of the entries to web. (defun set-category () (interactive "P") (let* ((marker (or (org-get-at-bol 'org-hd-marker) (org-agenda-error))) (buffer (marker-buffer marker))) (with-current-buffer buffer (save-excursion (save-restriction (widen) (goto-char marker) (org-back-to-heading t) (org-set-property "CATEGORY" "web")))))) Calendar commands ................. `c (`org-agenda-goto-calendar')' Open the Emacs calendar and move to the date at the agenda cursor. `c (`org-calendar-goto-agenda')' When in the calendar, compute and show the Org mode agenda for the date at the cursor. `i (`org-agenda-diary-entry')' Insert a new entry into the diary, using the date at the cursor and (for block entries) the date at the mark. This will add to the Emacs diary file(4), in a way similar to the `i' command in the calendar. The diary file will pop up in another window, where you can add the entry. If you configure `org-agenda-diary-file' to point to an Org mode file, Org will create entries (in Org mode syntax) in that file instead. Most entries will be stored in a date-based outline tree that will later make it easy to archive appointments from previous months/years. The tree will be built under an entry with a `DATE_TREE' property, or else with years as top-level entries. Emacs will prompt you for the entry text--if you specify it, the entry will be created in `org-agenda-diary-file' without further interaction. If you directly press at the prompt without typing text, the target file will be shown in another window for you to finish the entry there. See also the `k r' command. `M (`org-agenda-phases-of-moon')' Show the phases of the moon for the three months around current date. `S (`org-agenda-sunrise-sunset')' Show sunrise and sunset times. The geographical location must be set with calendar variables, see the documentation for the Emacs calendar. `C (`org-agenda-convert-date')' Convert the date at cursor into many other cultural and historic calendars. `H (`org-agenda-holidays')' Show holidays for three months around the cursor date. `M-x org-icalendar-combine-agenda-files RET' Export a single iCalendar file containing entries from all agenda files. This is a globally available command, and also available in the agenda menu. Exporting to a file ................... `C-x C-w (`org-agenda-write')' Write the agenda view to a file. Depending on the extension of the selected file name, the view will be exported as HTML (`.html' or `.htm'), Postscript (`.ps'), PDF (`.pdf'), Org (`.org') and plain text (any other extension). When exporting to Org, only the body of original headlines are exported, not subtrees or inherited tags. When called with a `C-u' prefix argument, immediately open the newly created file. Use the variable `org-agenda-exporter-settings' to set options for `ps-print' and for `htmlize' to be used during export. Quit and Exit ............. `q (`org-agenda-quit')' Quit agenda, remove the agenda buffer. `x (`org-agenda-exit')' Exit agenda, remove the agenda buffer and all buffers loaded by Emacs for the compilation of the agenda. Buffers created by the user to visit Org files will not be removed. ---------- Footnotes ---------- (1) Only tags filtering will be respected here, effort filtering is ignored. (2) Moving agenda lines does not persist after an agenda refresh and does not modify the contributing `.org' files (3) You can also create persistent custom functions through `org-agenda-bulk-custom-functions'. (4) This file is parsed for the agenda when `org-agenda-include-diary' is set.  File: org, Node: Custom agenda views, Next: Exporting Agenda Views, Prev: Agenda commands, Up: Agenda Views 10.6 Custom agenda views ======================== Custom agenda commands serve two purposes: to store and quickly access frequently used TODO and tags searches, and to create special composite agenda buffers. Custom agenda commands will be accessible through the dispatcher (*note Agenda dispatcher::), just like the default commands. * Menu: * Storing searches:: Type once, use often * Block agenda:: All the stuff you need in a single buffer * Setting Options:: Changing the rules  File: org, Node: Storing searches, Next: Block agenda, Prev: Custom agenda views, Up: Custom agenda views 10.6.1 Storing searches ----------------------- The first application of custom searches is the definition of keyboard shortcuts for frequently used searches, either creating an agenda buffer, or a sparse tree (the latter covering of course only the current buffer). Custom commands are configured in the variable `org-agenda-custom-commands'. You can customize this variable, for example by pressing `C-c a C'. You can also directly set it with Emacs Lisp in `.emacs'. The following example contains all valid agenda views: (setq org-agenda-custom-commands '(("x" agenda) ("y" agenda*) ("w" todo "WAITING") ("W" todo-tree "WAITING") ("u" tags "+boss-urgent") ("v" tags-todo "+boss-urgent") ("U" tags-tree "+boss-urgent") ("f" occur-tree "\\") ("h" . "HOME+Name tags searches") ; description for "h" prefix ("hl" tags "+home+Lisa") ("hp" tags "+home+Peter") ("hk" tags "+home+Kim"))) The initial string in each entry defines the keys you have to press after the dispatcher command `C-c a' in order to access the command. Usually this will be just a single character, but if you have many similar commands, you can also define two-letter combinations where the first character is the same in several combinations and serves as a prefix key(1). The second parameter is the search type, followed by the string or regular expression to be used for the matching. The example above will therefore define: `C-c a x' as a global search for agenda entries planned(2) this week/day. `C-c a y' as a global search for agenda entries planned this week/day, but only those with an hour specification like `[h]h:mm'--think of them as appointments. `C-c a w' as a global search for TODO entries with `WAITING' as the TODO keyword `C-c a W' as the same search, but only in the current buffer and displaying the results as a sparse tree `C-c a u' as a global tags search for headlines marked `:boss:' but not `:urgent:' `C-c a v' as the same search as `C-c a u', but limiting the search to headlines that are also TODO items `C-c a U' as the same search as `C-c a u', but only in the current buffer and displaying the result as a sparse tree `C-c a f' to create a sparse tree (again: current buffer only) with all entries containing the word `FIXME' `C-c a h' as a prefix command for a HOME tags search where you have to press an additional key (`l', `p' or `k') to select a name (Lisa, Peter, or Kim) as additional tag to match. Note that the `*-tree' agenda views need to be called from an Org buffer as they operate on the current buffer only. ---------- Footnotes ---------- (1) You can provide a description for a prefix key by inserting a cons cell with the prefix and the description. (2) _Planned_ means here that these entries have some planning information attached to them, like a time-stamp, a scheduled or a deadline string. See `org-agenda-entry-types' on how to set what planning information will be taken into account.  File: org, Node: Block agenda, Next: Setting Options, Prev: Storing searches, Up: Custom agenda views 10.6.2 Block agenda ------------------- Another possibility is the construction of agenda views that comprise the results of _several_ commands, each of which creates a block in the agenda buffer. The available commands include `agenda' for the daily or weekly agenda (as created with `C-c a a'), `alltodo' for the global TODO list (as constructed with `C-c a t'), and the matching commands discussed above: `todo', `tags', and `tags-todo'. Here are two examples: (setq org-agenda-custom-commands '(("h" "Agenda and Home-related tasks" ((agenda "") (tags-todo "home") (tags "garden"))) ("o" "Agenda and Office-related tasks" ((agenda "") (tags-todo "work") (tags "office"))))) This will define `C-c a h' to create a multi-block view for stuff you need to attend to at home. The resulting agenda buffer will contain your agenda for the current week, all TODO items that carry the tag `home', and also all lines tagged with `garden'. Finally the command `C-c a o' provides a similar view for office tasks.  File: org, Node: Setting Options, Prev: Block agenda, Up: Custom agenda views 10.6.3 Setting options for custom commands ------------------------------------------ Org mode contains a number of variables regulating agenda construction and display. The global variables define the behavior for all agenda commands, including the custom commands. However, if you want to change some settings just for a single custom view, you can do so. Setting options requires inserting a list of variable names and values at the right spot in `org-agenda-custom-commands'. For example: (setq org-agenda-custom-commands '(("w" todo "WAITING" ((org-agenda-sorting-strategy '(priority-down)) (org-agenda-prefix-format " Mixed: "))) ("U" tags-tree "+boss-urgent" ((org-show-following-heading nil) (org-show-hierarchy-above nil))) ("N" search "" ((org-agenda-files '("~org/notes.org")) (org-agenda-text-search-extra-files nil))))) Now the `C-c a w' command will sort the collected entries only by priority, and the prefix format is modified to just say ` Mixed: ' instead of giving the category of the entry. The sparse tags tree of `C-c a U' will now turn out ultra-compact, because neither the headline hierarchy above the match, nor the headline following the match will be shown. The command `C-c a N' will do a text search limited to only a single file. For command sets creating a block agenda, `org-agenda-custom-commands' has two separate spots for setting options. You can add options that should be valid for just a single command in the set, and options that should be valid for all commands in the set. The former are just added to the command entry; the latter must come after the list of command entries. Going back to the block agenda example (*note Block agenda::), let's change the sorting strategy for the `C-c a h' commands to `priority-down', but let's sort the results for GARDEN tags query in the opposite order, `priority-up'. This would look like this: (setq org-agenda-custom-commands '(("h" "Agenda and Home-related tasks" ((agenda) (tags-todo "home") (tags "garden" ((org-agenda-sorting-strategy '(priority-up))))) ((org-agenda-sorting-strategy '(priority-down)))) ("o" "Agenda and Office-related tasks" ((agenda) (tags-todo "work") (tags "office"))))) As you see, the values and parentheses setting is a little complex. When in doubt, use the customize interface to set this variable--it fully supports its structure. Just one caveat: when setting options in this interface, the _values_ are just Lisp expressions. So if the value is a string, you need to add the double-quotes around the value yourself. To control whether an agenda command should be accessible from a specific context, you can customize `org-agenda-custom-commands-contexts'. Let's say for example that you have an agenda commands `"o"' displaying a view that you only need when reading emails. Then you would configure this option like this: (setq org-agenda-custom-commands-contexts '(("o" (in-mode . "message-mode")))) You can also tell that the command key `"o"' should refer to another command key `"r"'. In that case, add this command key like this: (setq org-agenda-custom-commands-contexts '(("o" "r" (in-mode . "message-mode")))) See the docstring of the variable for more information.  File: org, Node: Exporting Agenda Views, Next: Agenda column view, Prev: Custom agenda views, Up: Agenda Views 10.7 Exporting Agenda Views =========================== If you are away from your computer, it can be very useful to have a printed version of some agenda views to carry around. Org mode can export custom agenda views as plain text, HTML(1), Postscript, PDF(2), and iCalendar files. If you want to do this only occasionally, use the command `C-x C-w (`org-agenda-write')' Write the agenda view to a file. Depending on the extension of the selected file name, the view will be exported as HTML (extension `.html' or `.htm'), Postscript (extension `.ps'), iCalendar (extension `.ics'), or plain text (any other extension). Use the variable `org-agenda-exporter-settings' to set options for `ps-print' and for `htmlize' to be used during export, for example (setq org-agenda-exporter-settings '((ps-number-of-columns 2) (ps-landscape-mode t) (org-agenda-add-entry-text-maxlines 5) (htmlize-output-type 'css))) If you need to export certain agenda views frequently, you can associate any custom agenda command with a list of output file names (3). Here is an example that first defines custom commands for the agenda and the global TODO list, together with a number of files to which to export them. Then we define two block agenda commands and specify file names for them as well. File names can be relative to the current working directory, or absolute. (setq org-agenda-custom-commands '(("X" agenda "" nil ("agenda.html" "agenda.ps")) ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps")) ("h" "Agenda and Home-related tasks" ((agenda "") (tags-todo "home") (tags "garden")) nil ("~/views/home.html")) ("o" "Agenda and Office-related tasks" ((agenda) (tags-todo "work") (tags "office")) nil ("~/views/office.ps" "~/calendars/office.ics")))) The extension of the file name determines the type of export. If it is `.html', Org mode will use the `htmlize.el' package to convert the buffer to HTML and save it to this file name. If the extension is `.ps', `ps-print-buffer-with-faces' is used to produce Postscript output. If the extension is `.ics', iCalendar export is run export over all files that were used to construct the agenda, and limit the export to entries listed in the agenda. Any other extension produces a plain ASCII file. The export files are _not_ created when you use one of those commands interactively because this might use too much overhead. Instead, there is a special command to produce _all_ specified files in one step: `C-c a e (`org-store-agenda-views')' Export all agenda views that have export file names associated with them. You can use the options section of the custom agenda commands to also set options for the export commands. For example: (setq org-agenda-custom-commands '(("X" agenda "" ((ps-number-of-columns 2) (ps-landscape-mode t) (org-agenda-prefix-format " [ ] ") (org-agenda-with-colors nil) (org-agenda-remove-tags t)) ("theagenda.ps")))) This command sets two options for the Postscript exporter, to make it print in two columns in landscape format--the resulting page can be cut in two and then used in a paper agenda. The remaining settings modify the agenda prefix to omit category and scheduling information, and instead include a checkbox to check off items. We also remove the tags to make the lines compact, and we don't want to use colors for the black-and-white printer. Settings specified in `org-agenda-exporter-settings' will also apply, but the settings in `org-agenda-custom-commands' take precedence. From the command line you may also use emacs -eval (org-batch-store-agenda-views) -kill or, if you need to modify some parameters(4) emacs -eval '(org-batch-store-agenda-views \ org-agenda-span (quote month) \ org-agenda-start-day "2007-11-01" \ org-agenda-include-diary nil \ org-agenda-files (quote ("~/org/project.org")))' \ -kill which will create the agenda views restricted to the file `~/org/project.org', without diary entries and with a 30-day extent. You can also extract agenda information in a way that allows further processing by other programs. See *note Extracting agenda information::, for more information. ---------- Footnotes ---------- (1) You need to install Hrvoje Niksic's `htmlize.el'. (2) To create PDF output, the ghostscript `ps2pdf' utility must be installed on the system. Selecting a PDF file will also create the postscript file. (3) If you want to store standard views like the weekly agenda or the global TODO list as well, you need to define custom commands for them in order to be able to specify file names. (4) Quoting depends on the system you use, please check the FAQ for examples.  File: org, Node: Agenda column view, Prev: Exporting Agenda Views, Up: Agenda Views 10.8 Using column view in the agenda ==================================== Column view (*note Column view::) is normally used to view and edit properties embedded in the hierarchical structure of an Org file. It can be quite useful to use column view also from the agenda, where entries are collected by certain criteria. `C-c C-x C-c (`org-agenda-columns')' Turn on column view in the agenda. To understand how to use this properly, it is important to realize that the entries in the agenda are no longer in their proper outline environment. This causes the following issues: 1. Org needs to make a decision which `COLUMNS' format to use. Since the entries in the agenda are collected from different files, and different files may have different `COLUMNS' formats, this is a non-trivial problem. Org first checks if the variable `org-agenda-overriding-columns-format' is currently set, and if so, takes the format from there. Otherwise it takes the format associated with the first item in the agenda, or, if that item does not have a specific format (defined in a property, or in its file), it uses `org-columns-default-format'. 2. If any of the columns has a summary type defined (*note Column attributes::), turning on column view in the agenda will visit all relevant agenda files and make sure that the computations of this property are up to date. This is also true for the special `CLOCKSUM' property. Org will then sum the values displayed in the agenda. In the daily/weekly agenda, the sums will cover a single day; in all other views they cover the entire block. It is vital to realize that the agenda may show the same entry _twice_ (for example as scheduled and as a deadline), and it may show two entries from the same hierarchy (for example a _parent_ and its _child_). In these cases, the summation in the agenda will lead to incorrect results because some values will count double. 3. When the column view in the agenda shows the `CLOCKSUM', that is always the entire clocked time for this item. So even in the daily/weekly agenda, the clocksum listed in column view may originate from times outside the current view. This has the advantage that you can compare these values with a column listing the planned total effort for a task--one of the major applications for column view in the agenda. If you want information about clocked time in the displayed period use clock table mode (press `R' in the agenda). 4. When the column view in the agenda shows the `CLOCKSUM_T', that is always today's clocked time for this item. So even in the weekly agenda, the clocksum listed in column view only originates from today. This lets you compare the time you spent on a task for today, with the time already spent (via `CLOCKSUM') and with the planned total effort for it.  File: org, Node: Markup, Next: Exporting, Prev: Agenda Views, Up: Top 11 Markup for rich export ************************* When exporting Org mode documents, the exporter tries to reflect the structure of the document as accurately as possible in the back-end. Since export targets like HTML, LaTeX allow much richer formatting, Org mode has rules on how to prepare text for rich export. This section summarizes the markup rules used in an Org mode buffer. * Menu: * Structural markup elements:: The basic structure as seen by the exporter * Images and tables:: Images, tables and caption mechanism * Literal examples:: Source code examples with special formatting * Include files:: Include additional files into a document * Index entries:: Making an index * Macro replacement:: Use macros to create templates * Embedded LaTeX:: LaTeX can be freely used inside Org documents * Special blocks:: Containers targeted at export back-ends  File: org, Node: Structural markup elements, Next: Images and tables, Prev: Markup, Up: Markup 11.1 Structural markup elements =============================== * Menu: * Document title:: Where the title is taken from * Headings and sections:: The document structure as seen by the exporter * Table of contents:: The if and where of the table of contents * Lists:: Lists * Paragraphs:: Paragraphs * Footnote markup:: Footnotes * Emphasis and monospace:: Bold, italic, etc. * Horizontal rules:: Make a line * Comment lines:: What will *not* be exported  File: org, Node: Document title, Next: Headings and sections, Prev: Structural markup elements, Up: Structural markup elements Document title -------------- The title of the exported document is taken from the special line #+TITLE: This is the title of the document If this line does not exist, the title will be the name of the file associated to buffer, without extension, or the buffer name. If you are exporting only a subtree, its heading will become the title of the document. If the subtree has a property `EXPORT_TITLE', that will take precedence.  File: org, Node: Headings and sections, Next: Table of contents, Prev: Document title, Up: Structural markup elements Headings and sections --------------------- The outline structure of the document as described in *note Document Structure::, forms the basis for defining sections of the exported document. However, since the outline structure is also used for (for example) lists of tasks, only the first three outline levels will be used as headings. Deeper levels will become itemized lists. You can change the location of this switch globally by setting the variable `org-export-headline-levels', or on a per-file basis with a line #+OPTIONS: H:4  File: org, Node: Table of contents, Next: Lists, Prev: Headings and sections, Up: Structural markup elements Table of contents ----------------- The table of contents is normally inserted directly before the first headline of the file. The depth of the table is by default the same as the number of headline levels, but you can choose a smaller number, or turn off the table of contents entirely, by configuring the variable `org-export-with-toc', or on a per-file basis with a line like #+OPTIONS: toc:2 (only to two levels in TOC) #+OPTIONS: toc:nil (no default TOC at all) If you would like to move the table of contents to a different location, you should turn off the default table using `org-export-with-toc' or `#+OPTIONS' and insert `#+TOC: headlines N' at the desired location(s). #+OPTIONS: toc:nil (no default TOC) ... #+TOC: headlines 2 (insert TOC here, with two headline levels) Multiple `#+TOC: headline' lines are allowed. The same `TOC' keyword can also generate a list of all tables (resp. all listings) with a caption in the buffer. #+TOC: listings (build a list of listings) #+TOC: tables (build a list of tables) The headline's title usually determines its corresponding entry in a table of contents. However, it is possible to specify an alternative title by setting `ALT_TITLE' property accordingly. It will then be used when building the table.  File: org, Node: Lists, Next: Paragraphs, Prev: Table of contents, Up: Structural markup elements Lists ----- Plain lists as described in *note Plain lists::, are translated to the back-end's syntax for such lists. Most back-ends support unordered, ordered, and description lists.  File: org, Node: Paragraphs, Next: Footnote markup, Prev: Lists, Up: Structural markup elements Paragraphs, line breaks, and quoting ------------------------------------ Paragraphs are separated by at least one empty line. If you need to enforce a line break within a paragraph, use `\\' at the end of a line. To keep the line breaks in a region, but otherwise use normal formatting, you can use this construct, which can also be used to format poetry. #+BEGIN_VERSE Great clouds overhead Tiny black birds rise and fall Snow covers Emacs -- AlexSchroeder #+END_VERSE When quoting a passage from another document, it is customary to format this as a paragraph that is indented on both the left and the right margin. You can include quotations in Org mode documents like this: #+BEGIN_QUOTE Everything should be made as simple as possible, but not any simpler -- Albert Einstein #+END_QUOTE If you would like to center some text, do it like this: #+BEGIN_CENTER Everything should be made as simple as possible, \\ but not any simpler #+END_CENTER  File: org, Node: Footnote markup, Next: Emphasis and monospace, Prev: Paragraphs, Up: Structural markup elements Footnote markup --------------- Footnotes defined in the way described in *note Footnotes::, will be exported by all back-ends. Org allows multiple references to the same note, and multiple footnotes side by side.  File: org, Node: Emphasis and monospace, Next: Horizontal rules, Prev: Footnote markup, Up: Structural markup elements Emphasis and monospace ---------------------- You can make words *bold*, /italic/, _underlined_, `=code=' and `~verbatim~', and, if you must, `+strike-through+'. Text in the code and verbatim string is not processed for Org mode specific syntax, it is exported verbatim. To turn off fontification for marked up text, you can set `org-fontify-emphasized-text' to `nil'. To narrow down the list of available markup syntax, you can customize `org-emphasis-alist'. To fine tune what characters are allowed before and after the markup characters, you can tweak `org-emphasis-regexp-components'. Beware that changing one of the above variables will no take effect until you reload Org, for which you may need to restart Emacs.  File: org, Node: Horizontal rules, Next: Comment lines, Prev: Emphasis and monospace, Up: Structural markup elements Horizontal rules ---------------- A line consisting of only dashes, and at least 5 of them, will be exported as a horizontal line.  File: org, Node: Comment lines, Prev: Horizontal rules, Up: Structural markup elements Comment lines ------------- Lines starting with zero or more whitespace characters followed by one `#' and a whitespace are treated as comments and will never be exported. Also entire subtrees starting with the word `COMMENT' will never be exported. Finally, regions surrounded by `#+BEGIN_COMMENT' ... `#+END_COMMENT' will not be exported. `C-c ;' Toggle the COMMENT keyword at the beginning of an entry.  File: org, Node: Images and tables, Next: Literal examples, Prev: Structural markup elements, Up: Markup 11.2 Images and Tables ====================== Both the native Org mode tables (*note Tables::) and tables formatted with the `table.el' package will be exported properly. For Org mode tables, the lines before the first horizontal separator line will become table header lines. You can use the following lines somewhere before the table to assign a caption and a label for cross references, and in the text you can refer to the object with `[[tab:basic-data]]' (*note Internal links::): #+CAPTION: This is the caption for the next table (or link) #+NAME: tab:basic-data | ... | ...| |-----|----| Optionally, the caption can take the form: #+CAPTION[Caption for list of tables]: Caption for table. Some back-ends allow you to directly include images into the exported document. Org does this, if a link to an image files does not have a description part, for example `[[./img/a.jpg]]'. If you wish to define a caption for the image and maybe a label for internal cross references, make sure that the link is on a line by itself and precede it with `#+CAPTION' and `#+NAME' as follows: #+CAPTION: This is the caption for the next figure link (or table) #+NAME: fig:SED-HR4049 [[./img/a.jpg]] Such images can be displayed within the buffer. *Note the discussion of image links: Handling links. Even though images and tables are prominent examples of captioned structures, the same caption mechanism can apply to many others (e.g., LaTeX equations, source code blocks). Depending on the export back-end, those may or may not be handled.  File: org, Node: Literal examples, Next: Include files, Prev: Images and tables, Up: Markup 11.3 Literal examples ===================== You can include literal examples that should not be subjected to markup. Such examples will be typeset in monospace, so this is well suited for source code and similar examples. #+BEGIN_EXAMPLE Some example from a text file. #+END_EXAMPLE Note that such blocks may be indented in order to align nicely with indented text and in particular with plain list structure (*note Plain lists::). For simplicity when using small examples, you can also start the example lines with a colon followed by a space. There may also be additional whitespace before the colon: Here is an example : Some example from a text file. If the example is source code from a programming language, or any other text that can be marked up by font-lock in Emacs, you can ask for the example to look like the fontified Emacs buffer(1). This is done with the `src' block, where you also need to specify the name of the major mode that should be used to fontify the example(2), see *note Easy Templates:: for shortcuts to easily insert code blocks. #+BEGIN_SRC emacs-lisp (defun org-xor (a b) "Exclusive or." (if a (not b) b)) #+END_SRC Both in `example' and in `src' snippets, you can add a `-n' switch to the end of the `BEGIN' line, to get the lines of the example numbered. If you use a `+n' switch, the numbering from the previous numbered snippet will be continued in the current one. In literal examples, Org will interpret strings like `(ref:name)' as labels, and use them as targets for special hyperlinks like `[[(name)]]' (i.e., the reference name enclosed in single parenthesis). In HTML, hovering the mouse over such a link will remote-highlight the corresponding code line, which is kind of cool. You can also add a `-r' switch which removes the labels from the source code(3). With the `-n' switch, links to these references will be labeled by the line numbers from the code listing, otherwise links will use the labels with no parentheses. Here is an example: #+BEGIN_SRC emacs-lisp -n -r (save-excursion (ref:sc) (goto-char (point-min)) (ref:jump) #+END_SRC In line [[(sc)]] we remember the current position. [[(jump)][Line (jump)]] jumps to point-min. If the syntax for the label format conflicts with the language syntax, use a `-l' switch to change the format, for example `#+BEGIN_SRC pascal -n -r -l "((%s))"'. See also the variable `org-coderef-label-format'. HTML export also allows examples to be published as text areas (*note Text areas in HTML export::). Because the `#+BEGIN_...' and `#+END_...' patterns need to be added so often, shortcuts are provided using the Easy Templates facility (*note Easy Templates::). `C-c '' Edit the source code example at point in its native mode. This works by switching to a temporary buffer with the source code. You need to exit by pressing `C-c '' again(4). The edited version will then replace the old version in the Org buffer. Fixed-width regions (where each line starts with a colon followed by a space) will be edited using `artist-mode'(5) to allow creating ASCII drawings easily. Using this command in an empty line will create a new fixed-width region. `C-c l' Calling `org-store-link' while editing a source code example in a temporary buffer created with `C-c '' will prompt for a label. Make sure that it is unique in the current buffer, and insert it with the proper formatting like `(ref:label)' at the end of the current line. Then the label is stored as a link `(label)', for retrieval with `C-c C-l'. ---------- Footnotes ---------- (1) This works automatically for the HTML back-end (it requires version 1.34 of the `htmlize.el' package, which is distributed with Org). Fontified code chunks in LaTeX can be achieved using either the listings or the minted (http://code.google.com/p/minted) package. Refer to `org-latex-listings' documentation for details. (2) Code in `src' blocks may also be evaluated either interactively or on export. See *note Working With Source Code:: for more information on evaluating code blocks. (3) Adding `-k' to `-n -r' will keep the labels in the source code while using line numbers for the links, which might be useful to explain those in an Org mode example code. (4) Upon exit, lines starting with `*', `,*', `#+' and `,#+' will get a comma prepended, to keep them from being interpreted by Org as outline nodes or special syntax. These commas will be stripped for editing with `C-c '', and also for export. (5) You may select a different-mode with the variable `org-edit-fixed-width-region-mode'.  File: org, Node: Include files, Next: Index entries, Prev: Literal examples, Up: Markup 11.4 Include files ================== During export, you can include the content of another file. For example, to include your `.emacs' file, you could use: #+INCLUDE: "~/.emacs" src emacs-lisp The optional second and third parameter are the markup (e.g., `quote', `example', or `src'), and, if the markup is `src', the language for formatting the contents. The markup is optional; if it is not given, the text will be assumed to be in Org mode format and will be processed normally. Contents of the included file will belong to the same structure (headline, item) containing the `INCLUDE' keyword. In particular, headlines within the file will become children of the current section. That behaviour can be changed by providing an additional keyword parameter, `:minlevel'. In that case, all headlines in the included file will be shifted so the one with the lowest level reaches that specified level. For example, to make a file become a sibling of the current top-level headline, use #+INCLUDE: "~/my-book/chapter2.org" :minlevel 1 You can also include a portion of a file by specifying a lines range using the `:lines' parameter. The line at the upper end of the range will not be included. The start and/or the end of the range may be omitted to use the obvious defaults. #+INCLUDE: "~/.emacs" :lines "5-10" Include lines 5 to 10, 10 excluded #+INCLUDE: "~/.emacs" :lines "-10" Include lines 1 to 10, 10 excluded #+INCLUDE: "~/.emacs" :lines "10-" Include lines from 10 to EOF `C-c '' Visit the include file at point.  File: org, Node: Index entries, Next: Macro replacement, Prev: Include files, Up: Markup 11.5 Index entries ================== You can specify entries that will be used for generating an index during publishing. This is done by lines starting with `#+INDEX'. An entry the contains an exclamation mark will create a sub item. See *note Generating an index:: for more information. * Curriculum Vitae #+INDEX: CV #+INDEX: Application!CV  File: org, Node: Macro replacement, Next: Embedded LaTeX, Prev: Index entries, Up: Markup 11.6 Macro replacement ====================== You can define text snippets with #+MACRO: name replacement text $1, $2 are arguments which can be referenced in paragraphs, verse blocks, table cells and some keywords with `{{{name(arg1,arg2)}}}'(1). In addition to defined macros, `{{{title}}}', `{{{author}}}', etc., will reference information set by the `#+TITLE:', `#+AUTHOR:', and similar lines. Also, `{{{time(FORMAT)}}}' and `{{{modification-time(FORMAT)}}}' refer to current date time and to the modification time of the file being exported, respectively. FORMAT should be a format string understood by `format-time-string'. Macro expansion takes place during export. ---------- Footnotes ---------- (1) Since commas separate arguments, commas within arguments have to be escaped with a backslash character. Conversely, backslash characters before a comma, and only them, need to be escaped with another backslash character.  File: org, Node: Embedded LaTeX, Next: Special blocks, Prev: Macro replacement, Up: Markup 11.7 Embedded LaTeX =================== Plain ASCII is normally sufficient for almost all note taking. Exceptions include scientific notes, which often require mathematical symbols and the occasional formula. LaTeX(1) is widely used to typeset scientific documents. Org mode supports embedding LaTeX code into its files, because many academics are used to writing and reading LaTeX source code, and because it can be readily processed to produce pretty output for a number of export back-ends. * Menu: * Special symbols:: Greek letters and other symbols * Subscripts and superscripts:: Simple syntax for raising/lowering text * LaTeX fragments:: Complex formulas made easy * Previewing LaTeX fragments:: What will this snippet look like? * CDLaTeX mode:: Speed up entering of formulas ---------- Footnotes ---------- (1) LaTeX is a macro system based on Donald E. Knuth's TeX system. Many of the features described here as "LaTeX" are really from TeX, but for simplicity I am blurring this distinction.  File: org, Node: Special symbols, Next: Subscripts and superscripts, Prev: Embedded LaTeX, Up: Embedded LaTeX 11.7.1 Special symbols ---------------------- You can use LaTeX-like syntax to insert special symbols like `\alpha' to indicate the Greek letter, or `\to' to indicate an arrow. Completion for these symbols is available, just type `\' and maybe a few letters, and press `M-' to see possible completions. Unlike LaTeX code, Org mode allows these symbols to be present without surrounding math delimiters, for example: Angles are written as Greek letters \alpha, \beta and \gamma. During export, these symbols will be transformed into the native format of the exporter back-end. Strings like `\alpha' will be exported as `α' in the HTML output, and as `$\alpha$' in the LaTeX output. Similarly, `\nbsp' will become ` ' in HTML and `~' in LaTeX. If you need such a symbol inside a word, terminate it like this: `\Aacute{}stor'. A large number of entities is provided, with names taken from both HTML and LaTeX; see the variable `org-entities' for the complete list. `\-' is treated as a shy hyphen, and `--', `---', and `...' are all converted into special commands creating hyphens of different lengths or a compact set of dots. If you would like to see entities displayed as UTF-8 characters, use the following command(1): `C-c C-x \' Toggle display of entities as UTF-8 characters. This does not change the buffer content which remains plain ASCII, but it overlays the UTF-8 character for display purposes only. ---------- Footnotes ---------- (1) You can turn this on by default by setting the variable `org-pretty-entities', or on a per-file base with the `#+STARTUP' option `entitiespretty'.  File: org, Node: Subscripts and superscripts, Next: LaTeX fragments, Prev: Special symbols, Up: Embedded LaTeX 11.7.2 Subscripts and superscripts ---------------------------------- Just like in LaTeX, `^' and `_' are used to indicate super- and subscripts. Again, these can be used without embedding them in math-mode delimiters. To increase the readability of ASCII text, it is not necessary (but OK) to surround multi-character sub- and superscripts with curly braces. For example The mass of the sun is M_sun = 1.989 x 10^30 kg. The radius of the sun is R_{sun} = 6.96 x 10^8 m. If you write a text where the underscore is often used in a different context, Org's convention to always interpret these as subscripts can get in your way. Configure the variable `org-use-sub-superscripts' to change this convention. For example, when setting this variable to `{}', `a_b' will not be interpreted as a subscript, but `a_{b}' will. `C-c C-x \' In addition to showing entities as UTF-8 characters, this command will also format sub- and superscripts in a WYSIWYM way.  File: org, Node: LaTeX fragments, Next: Previewing LaTeX fragments, Prev: Subscripts and superscripts, Up: Embedded LaTeX 11.7.3 LaTeX fragments ---------------------- Going beyond symbols and sub- and superscripts, a full formula language is needed. Org mode can contain LaTeX math fragments, and it supports ways to process these for several export back-ends. When exporting to LaTeX, the code is obviously left as it is. When exporting to HTML, Org invokes the MathJax library (http://www.mathjax.org) (*note Math formatting in HTML export::) to process and display the math(1). Finally, it can also process the mathematical expressions into images(2) that can be displayed in a browser. LaTeX fragments don't need any special marking at all. The following snippets will be identified as LaTeX source code: * Environments of any kind(3). The only requirement is that the `\begin' and `\end' statements appear on a new line, at the beginning of the line or after whitespaces only. * Text within the usual LaTeX math delimiters. To avoid conflicts with currency specifications, single `$' characters are only recognized as math delimiters if the enclosed text contains at most two line breaks, is directly attached to the `$' characters with no whitespace in between, and if the closing `$' is followed by whitespace, punctuation or a dash. For the other delimiters, there is no such restriction, so when in doubt, use `\(...\)' as inline math delimiters. For example: \begin{equation} x=\sqrt{b} \end{equation} If $a^2=b$ and \( b=2 \), then the solution must be either $$ a=+\sqrt{2} $$ or \[ a=-\sqrt{2} \]. LaTeX processing can be configured with the variable `org-export-with-latex'. The default setting is `t' which means `MathJax' for HTML, and no processing for ASCII and LaTeX back-ends. You can also set this variable on a per-file basis using one of these lines: #+OPTIONS: tex:t Do the right thing automatically (MathJax) #+OPTIONS: tex:nil Do not process LaTeX fragments at all #+OPTIONS: tex:verbatim Verbatim export, for jsMath or so ---------- Footnotes ---------- (1) If you plan to use this regularly or on pages with significant page views, you should install `MathJax' on your own server in order to limit the load of our server. (2) For this to work you need to be on a system with a working LaTeX installation. You also need the `dvipng' program or the `convert', respectively available at `http://sourceforge.net/projects/dvipng/' and from the `imagemagick' suite. The LaTeX header that will be used when processing a fragment can be configured with the variable `org-format-latex-header'. (3) When `MathJax' is used, only the environments recognized by `MathJax' will be processed. When `dvipng' program or `imagemagick' suite is used to create images, any LaTeX environment will be handled.  File: org, Node: Previewing LaTeX fragments, Next: CDLaTeX mode, Prev: LaTeX fragments, Up: Embedded LaTeX 11.7.4 Previewing LaTeX fragments --------------------------------- If you have `dvipng' or `imagemagick' installed(1), LaTeX fragments can be processed to produce preview images of the typeset expressions: `C-c C-x C-l' Produce a preview image of the LaTeX fragment at point and overlay it over the source code. If there is no fragment at point, process all fragments in the current entry (between two headlines). When called with a prefix argument, process the entire subtree. When called with two prefix arguments, or when the cursor is before the first headline, process the entire buffer. `C-c C-c' Remove the overlay preview images. You can customize the variable `org-format-latex-options' to influence some aspects of the preview. In particular, the `:scale' (and for HTML export, `:html-scale') property can be used to adjust the size of the preview images. You can turn on the previewing of all LaTeX fragments in a file with #+STARTUP: latexpreview To disable it, simply use #+STARTUP: nolatexpreview ---------- Footnotes ---------- (1) Choose the converter by setting the variable `org-latex-create-formula-image-program' accordingly.  File: org, Node: CDLaTeX mode, Prev: Previewing LaTeX fragments, Up: Embedded LaTeX 11.7.5 Using CDLaTeX to enter math ---------------------------------- CDLaTeX mode is a minor mode that is normally used in combination with a major LaTeX mode like AUCTeX in order to speed-up insertion of environments and math templates. Inside Org mode, you can make use of some of the features of CDLaTeX mode. You need to install `cdlatex.el' and `texmathp.el' (the latter comes also with AUCTeX) from `http://www.astro.uva.nl/~dominik/Tools/cdlatex'. Don't use CDLaTeX mode itself under Org mode, but use the light version `org-cdlatex-mode' that comes as part of Org mode. Turn it on for the current buffer with `M-x org-cdlatex-mode RET', or for all Org files with (add-hook 'org-mode-hook 'turn-on-org-cdlatex) When this mode is enabled, the following features are present (for more details see the documentation of CDLaTeX mode): * Environment templates can be inserted with `C-c {'. * The key will do template expansion if the cursor is inside a LaTeX fragment(1). For example, will expand `fr' to `\frac{}{}' and position the cursor correctly inside the first brace. Another will get you into the second brace. Even outside fragments, will expand environment abbreviations at the beginning of a line. For example, if you write `equ' at the beginning of a line and press , this abbreviation will be expanded to an `equation' environment. To get a list of all abbreviations, type `M-x cdlatex-command-help RET'. * Pressing `_' and `^' inside a LaTeX fragment will insert these characters together with a pair of braces. If you use to move out of the braces, and if the braces surround only a single character or macro, they are removed again (depending on the variable `cdlatex-simplify-sub-super-scripts'). * Pressing the backquote ``' followed by a character inserts math macros, also outside LaTeX fragments. If you wait more than 1.5 seconds after the backquote, a help window will pop up. * Pressing the single-quote `'' followed by another character modifies the symbol before point with an accent or a font. If you wait more than 1.5 seconds after the single-quote, a help window will pop up. Character modification will work only inside LaTeX fragments; outside the quote is normal. ---------- Footnotes ---------- (1) Org mode has a method to test if the cursor is inside such a fragment, see the documentation of the function `org-inside-LaTeX-fragment-p'.  File: org, Node: Special blocks, Prev: Embedded LaTeX, Up: Markup 11.8 Special blocks =================== Org syntax includes pre-defined blocks (*note Paragraphs:: and *note Literal examples::). It is also possible to create blocks containing raw code targeted at a specific back-ends (e.g., `#+BEGIN_LATEX'). Any other block is a _special block_. Each export back-end decides if they should be exported, and how. When the block is ignored, its contents are still exported, as if the block were not there. For example, when exporting a `#+BEGIN_TEST' block, HTML back-end wraps its contents within `
' tag. Refer to back-end specific documentation for more information.  File: org, Node: Exporting, Next: Publishing, Prev: Markup, Up: Top 12 Exporting ************ The Org mode export facilities can be used to export Org documents or parts of Org documents to a variety of other formats. In addition, these facilities can be used with `orgtbl-mode' and/or `orgstruct-mode' in foreign buffers so you can author tables and lists in Org syntax and convert them in place to the target language. ASCII export produces a readable and simple version of an Org file for printing and sharing notes. HTML export allows you to easily publish notes on the web, or to build full-fledged websites. LaTeX export lets you use Org mode and its structured editing functions to create arbitrarily complex LaTeX files for any kind of document. OpenDocument Text (ODT) export allows seamless collaboration across organizational boundaries. Markdown export lets you seamlessly collaborate with other developers. Finally, iCal export can extract entries with deadlines or appointments to produce a file in the iCalendar format. * Menu: * The Export Dispatcher:: The main exporter interface * Export back-ends:: Built-in export formats * Export settings:: Generic export settings * ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding * Beamer export:: Exporting as a Beamer presentation * HTML export:: Exporting to HTML * LaTeX and PDF export:: Exporting to LaTeX, and processing to PDF * Markdown export:: Exporting to Markdown * OpenDocument Text export:: Exporting to OpenDocument Text * iCalendar export:: Exporting to iCalendar * Other built-in back-ends:: Exporting to `Texinfo', a man page, or Org * Export in foreign buffers:: Author tables in lists in Org syntax * Advanced configuration:: Fine-tuning the export output  File: org, Node: The Export Dispatcher, Next: Export back-ends, Prev: Exporting, Up: Exporting 12.1 The Export Dispatcher ========================== The main entry point for export related tasks is the dispatcher, a hierarchical menu from which it is possible to select an export format and toggle export options(1) from which it is possible to select an export format and to toggle export options. `C-c C-e' (`org-export-dispatch') Dispatch for export and publishing commands. When called with a `C-u' prefix argument, repeat the last export command on the current buffer while preserving toggled options. If the current buffer hasn't changed and subtree export was activated, the command will affect that same subtree. Normally the entire buffer is exported, but if there is an active region only that part of the buffer will be exported. Several export options (*note Export settings::) can be toggled from the export dispatcher with the following key combinations: `C-a' Toggle asynchronous export. Asynchronous export uses an external Emacs process that is configured with a specified initialization file. While exporting asynchronously, the output is not displayed. It is stored in a list called "the export stack", and can be viewed from there. The stack can be reached by calling the dispatcher with a double `C-u' prefix argument, or with `&' key from the dispatcher. To make this behaviour the default, customize the variable `org-export-in-background'. `C-b' Toggle body-only export. Its effect depends on the back-end used. Typically, if the back-end has a header section (like `...' in the HTML back-end), a body-only export will not include this header. `C-s' Toggle subtree export. The top heading becomes the document title. You can change the default state of this option by setting `org-export-initial-scope'. `C-v' Toggle visible-only export. Only export the text that is currently visible, i.e. not hidden by outline visibility in the buffer. With the exception of asynchronous export, a successful export process writes its output to the kill-ring. You can configure this behavior by altering the option `org-export-copy-to-kill-ring'. ---------- Footnotes ---------- (1) It is also possible to use a less intrusive interface by setting `org-export-dispatch-use-expert-ui' to a non-`nil' value. In that case, only a prompt is visible from the minibuffer. From there one can still switch back to regular menu by pressing .  File: org, Node: Export back-ends, Next: Export settings, Prev: The Export Dispatcher, Up: Exporting 12.2 Export back-ends ===================== An export back-end is a library that translates Org syntax into a foreign format. An export format is not available until the proper back-end has been loaded. By default, the following four back-ends are loaded: `ascii', `html', `icalendar' and `latex'. It is possible to add more (or remove some) by customizing `org-export-backends'. Built-in back-ends include: * ascii (ASCII format) * beamer (LaTeX Beamer format) * html (HTML format) * icalendar (iCalendar format) * latex (LaTeX format) * man (Man page format) * md (Markdown format) * odt (OpenDocument Text format) * texinfo (Texinfo format) Other back-ends might be found in the `contrib/' directory (*note Installation::).  File: org, Node: Export settings, Next: ASCII/Latin-1/UTF-8 export, Prev: Export back-ends, Up: Exporting 12.3 Export settings ==================== Export options can be set: globally with variables; for an individual file by making variables buffer-local with in-buffer settings (*note In-buffer settings::), by setting individual keywords, or by specifying them in a compact form with the `#+OPTIONS' keyword; or for a tree by setting properties (*note Properties and Columns::). Options set at a specific level override options set at a more general level. In-buffer settings may appear anywhere in the file, either directly or indirectly through a file included using `#+SETUPFILE: filename' syntax. Option keyword sets tailored to a particular back-end can be inserted from the export dispatcher (*note The Export Dispatcher::) using the `Insert template' command by pressing <#>. To insert keywords individually, a good way to make sure the keyword is correct is to type `#+' and then to use `M-' for completion. The export keywords available for every back-end, and their equivalent global variables, include: `AUTHOR' The document author (`user-full-name'). `CREATOR' Entity responsible for output generation (`org-export-creator-string'). `DATE' A date or a time-stamp(1). `DESCRIPTION' The document description. Back-ends handle it as they see fit (e.g., for the XHTML meta tag), if at all. You can use several such keywords for long descriptions. `EMAIL' The email address (`user-mail-address'). `KEYWORDS' The keywords defining the contents of the document. Back-ends handle it as they see fit (e.g., for the XHTML meta tag), if at all. You can use several such keywords if the list is long. `LANGUAGE' The language used for translating some strings (`org-export-default-language'). E.g., `#+LANGUAGE: fr' will tell Org to translate _File_ (english) into _Fichier_ (french) in the clocktable. `SELECT_TAGS' The tags that select a tree for export (`org-export-select-tags'). The default value is `:export:'. Within a subtree tagged with `:export:', you can still exclude entries with `:noexport:' (see below). When headlines are selectively exported with `:export:' anywhere in a file, text before the first headline is ignored. `EXCLUDE_TAGS' The tags that exclude a tree from export (`org-export-exclude-tags'). The default value is `:noexport:'. Entries with the `:noexport:' tag will be unconditionally excluded from the export, even if they have an `:export:' tag. `TITLE' The title to be shown (otherwise derived from buffer's name). You can use several such keywords for long titles. The `#+OPTIONS' keyword is a compact(2) form that recognizes the following arguments: `':' Toggle smart quotes (`org-export-with-smart-quotes'). `*:' Toggle emphasized text (`org-export-with-emphasize'). `-:' Toggle conversion of special strings (`org-export-with-special-strings'). `::' Toggle fixed-width sections (`org-export-with-fixed-width'). `<:' Toggle inclusion of any time/date active/inactive stamps (`org-export-with-timestamps'). `:' Toggle line-break-preservation (`org-export-preserve-breaks'). `^:' Toggle TeX-like syntax for sub- and superscripts. If you write "^:{}", `a_{b}' will be interpreted, but the simple `a_b' will be left as it is (`org-export-with-sub-superscripts'). `arch:' Configure export of archived trees. Can be set to `headline' to only process the headline, skipping its contents (`org-export-with-archived-trees'). `author:' Toggle inclusion of author name into exported file (`org-export-with-author'). `c:' Toggle inclusion of CLOCK keywords (`org-export-with-clocks'). `creator:' Configure inclusion of creator info into exported file. It may be set to `comment' (`org-export-with-creator'). `d:' Toggle inclusion of drawers, or list drawers to include (`org-export-with-drawers'). `e:' Toggle inclusion of entities (`org-export-with-entities'). `email:' Toggle inclusion of the author's e-mail into exported file (`org-export-with-email'). `f:' Toggle the inclusion of footnotes (`org-export-with-footnotes'). `H:' Set the number of headline levels for export (`org-export-headline-levels'). Below that level, headlines are treated differently. In most back-ends, they become list items. `inline:' Toggle inclusion of inlinetasks (`org-export-with-inlinetasks'). `num:' Toggle section-numbers (`org-export-with-section-numbers'). It can also be set to a number `n', so only headlines at that level or above will be numbered. `p:' Toggle export of planning information (`org-export-with-planning'). "Planning information" is the line containing the `SCHEDULED:', the `DEADLINE:' or the `CLOSED:' cookies or a combination of them. `pri:' Toggle inclusion of priority cookies (`org-export-with-priority'). `stat:' Toggle inclusion of statistics cookies (`org-export-with-statistics-cookies'). `tags:' Toggle inclusion of tags, may also be `not-in-toc' (`org-export-with-tags'). `tasks:' Toggle inclusion of tasks (TODO items), can be `nil' to remove all tasks, `todo' to remove DONE tasks, or a list of keywords to keep (`org-export-with-tasks'). `tex:' Configure export of LaTeX fragments and environments. It may be set to `verbatim' (`org-export-with-latex'). `timestamp:' Toggle inclusion of the creation time into exported file (`org-export-time-stamp-file'). `toc:' Toggle inclusion of the table of contents, or set the level limit (`org-export-with-toc'). `todo:' Toggle inclusion of TODO keywords into exported text (`org-export-with-todo-keywords'). `|:' Toggle inclusion of tables (`org-export-with-tables'). When exporting only a subtree, each of the previous keywords(3) can be overriden locally by special node properties. These begin with `EXPORT_', followed by the name of the keyword they supplant. For example, `DATE' and `OPTIONS' keywords become, respectively, `EXPORT_DATE' and `EXPORT_OPTIONS' properties. Subtree export also supports the self-explicit `EXPORT_FILE_NAME' property(4). If `org-export-allow-bind-keywords' is non-`nil', Emacs variables can become buffer-local during export by using the BIND keyword. Its syntax is `#+BIND: variable value'. This is particularly useful for in-buffer settings that cannot be changed using specific keywords. ---------- Footnotes ---------- (1) The variable `org-export-date-timestamp-format' defines how this time-stamp will be exported. (2) If you want to configure many options this way, you can use several `#+OPTIONS' lines. (3) With the exception of `SETUPFILE'. (4) There is no buffer-wide equivalent for this property. The file name in this case is derived from the file associated to the buffer, if possible, or asked to the user otherwise.  File: org, Node: ASCII/Latin-1/UTF-8 export, Next: Beamer export, Prev: Export settings, Up: Exporting 12.4 ASCII/Latin-1/UTF-8 export =============================== ASCII export produces a simple and very readable version of an Org mode file, containing only plain ASCII. Latin-1 and UTF-8 export augment the file with special characters and symbols available in these encodings. Links are exported in a footnote-like style, with the descriptive part in the text and the link in a note before the next heading. See the variable `org-ascii-links-to-notes' for details and other options. ASCII export commands --------------------- `C-c C-e t a/l/u (`org-ascii-export-to-ascii')' Export as an ASCII file. For an Org file, `myfile.org', the ASCII file will be `myfile.txt'. The file will be overwritten without warning. When the original file is `myfile.txt', the resulting file becomes `myfile.txt.txt' in order to prevent data loss. `C-c C-e t A/L/U (`org-ascii-export-as-ascii')' Export to a temporary buffer. Do not create a file. Header and sectioning structure ------------------------------- In the exported version, the first three outline levels become headlines, defining a general document structure. Additional levels are exported as lists. The transition can also occur at a different level (*note Export settings::). Quoting ASCII text ------------------ You can insert text that will only appear when using `ASCII' back-end with the following constructs: Text @@ascii:and additional text@@ within a paragraph. #+ASCII: Some text #+BEGIN_ASCII All lines in this block will appear only when using this back-end. #+END_ASCII ASCII specific attributes ------------------------- `ASCII' back-end only understands one attribute, `:width', which specifies the length, in characters, of a given horizontal rule. It must be specified using an `ATTR_ASCII' line, directly preceding the rule. #+ATTR_ASCII: :width 10 -----  File: org, Node: Beamer export, Next: HTML export, Prev: ASCII/Latin-1/UTF-8 export, Up: Exporting 12.5 Beamer export ================== The LaTeX class _Beamer_ allows production of high quality presentations using LaTeX and pdf processing. Org mode has special support for turning an Org mode file or tree into a Beamer presentation. Beamer export commands ---------------------- `C-c C-e l b (`org-beamer-export-to-latex')' Export as a LaTeX file. For an Org file `myfile.org', the LaTeX file will be `myfile.tex'. The file will be overwritten without warning. `C-c C-e l B (`org-beamer-export-as-latex')' Export to a temporary buffer. Do not create a file. `C-c C-e l P (`org-beamer-export-to-pdf')' Export as LaTeX and then process to PDF. `C-c C-e l O' Export as LaTeX and then process to PDF, then open the resulting PDF file. Sectioning, Frames and Blocks ----------------------------- Any tree with not-too-deep level nesting should in principle be exportable as a Beamer presentation. Headlines fall into three categories: sectioning elements, frames and blocks. - Headlines become frames when their level is equal to `org-beamer-frame-level' or `H' value in an `OPTIONS' line (*note Export settings::). Though, if a headline in the current tree has a `BEAMER_ENV' property set to either to `frame' or `fullframe', its level overrides the variable. A `fullframe' is a frame with an empty (ignored) title. - All frame's children become `block' environments. Special block types can be enforced by setting headline's `BEAMER_ENV' property(1) to an appropriate value (see `org-beamer-environments-default' for supported values and `org-beamer-environments-extra' for adding more). - As a special case, if the `BEAMER_ENV' property is set to either `appendix', `note', `noteNH' or `againframe', the headline will become, respectively, an appendix, a note (within frame or between frame, depending on its level), a note with its title ignored or an `\againframe' command. In the latter case, a `BEAMER_REF' property is mandatory in order to refer to the frame being resumed, and contents are ignored. Also, a headline with an `ignoreheading' environment will have its contents only inserted in the output. This special value is useful to have data between frames, or to properly close a `column' environment. Headlines also support `BEAMER_ACT' and `BEAMER_OPT' properties. The former is translated as an overlay/action specification, or a default overlay specification when enclosed within square brackets. The latter specifies options(2) for the current frame or block. The export back-end will automatically wrap properties within angular or square brackets when appropriate. Moreover, headlines handle the `BEAMER_COL' property. Its value should be a decimal number representing the width of the column as a fraction of the total text width. If the headline has no specific environment, its title will be ignored and its contents will fill the column created. Otherwise, the block will fill the whole column and the title will be preserved. Two contiguous headlines with a non-`nil' `BEAMER_COL' value share the same `columns' LaTeX environment. It will end before the next headline without such a property. This environment is generated automatically. Although, it can also be explicitly created, with a special `columns' value for `BEAMER_ENV' property (if it needs to be set up with some specific options, for example). Beamer specific syntax ---------------------- Beamer back-end is an extension of LaTeX back-end. As such, all LaTeX specific syntax (e.g., `#+LATEX:' or `#+ATTR_LATEX:') is recognized. See *note LaTeX and PDF export:: for more information. Beamer export introduces a number of keywords to insert code in the document's header. Four control appearance of the presentation: `#+BEAMER_THEME', `#+BEAMER_COLOR_THEME', `#+BEAMER_FONT_THEME', `#+BEAMER_INNER_THEME' and `#+BEAMER_OUTER_THEME'. All of them accept optional arguments within square brackets. The last one, `#+BEAMER_HEADER', is more generic and allows you to append any line of code in the header. #+BEAMER_THEME: Rochester [height=20pt] #+BEAMER_COLOR_THEME: spruce Table of contents generated from `toc:t' `OPTION' keyword are wrapped within a `frame' environment. Those generated from a `TOC' keyword (*note Table of contents::) are not. In that case, it is also possible to specify options, enclosed within square brackets. #+TOC: headlines [currentsection] Beamer specific code can be inserted with the following constructs: #+BEAMER: \pause #+BEGIN_BEAMER All lines in this block will appear only when using this back-end. #+END_BEAMER Text @@beamer:some code@@ within a paragraph. In particular, this last example can be used to add overlay specifications to objects whose type is among `bold', `item', `link', `radio-target' and `target', when the value is enclosed within angular brackets and put at the beginning the object. A *@@beamer:<2->@@useful* feature Eventually, every plain list has support for `:environment', `:overlay' and `:options' attributes through `ATTR_BEAMER' affiliated keyword. The first one allows the use of a different environment, the second sets overlay specifications and the last one inserts optional arguments in current list environment. #+ATTR_BEAMER: :overlay +- - item 1 - item 2 Editing support --------------- You can turn on a special minor mode `org-beamer-mode' for faster editing with: #+STARTUP: beamer `C-c C-b (`org-beamer-select-environment')' In `org-beamer-mode', this key offers fast selection of a Beamer environment or the `BEAMER_COL' property. Also, a template for useful in-buffer settings or properties can be inserted into the buffer with `M-x org-beamer-insert-options-template'. Among other things, this will install a column view format which is very handy for editing special properties used by Beamer. An example ---------- Here is a simple example Org document that is intended for Beamer export. #+TITLE: Example Presentation #+AUTHOR: Carsten Dominik #+OPTIONS: H:2 #+LATEX_CLASS: beamer #+LATEX_CLASS_OPTIONS: [presentation] #+BEAMER_THEME: Madrid #+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col) %8BEAMER_OPT(Opt) * This is the first structural section ** Frame 1 *** Thanks to Eric Fraga :B_block:BMCOL: :PROPERTIES: :BEAMER_COL: 0.48 :BEAMER_ENV: block :END: for the first viable Beamer setup in Org *** Thanks to everyone else :B_block:BMCOL: :PROPERTIES: :BEAMER_COL: 0.48 :BEAMER_ACT: <2-> :BEAMER_ENV: block :END: for contributing to the discussion **** This will be formatted as a beamer note :B_note: :PROPERTIES: :BEAMER_env: note :END: ** Frame 2 (where we will not use columns) *** Request Please test this stuff! ---------- Footnotes ---------- (1) If this property is set, the entry will also get a `:B_environment:' tag to make this visible. This tag has no semantic meaning, it is only a visual aid. (2) The `fragile' option is added automatically if it contains code that requires a verbatim environment, though.  File: org, Node: HTML export, Next: LaTeX and PDF export, Prev: Beamer export, Up: Exporting 12.6 HTML export ================ Org mode contains an HTML (XHTML 1.0 strict) exporter with extensive HTML formatting, in ways similar to John Gruber's _markdown_ language, but with additional support for tables. * Menu: * HTML Export commands:: How to invoke HTML export * HTML doctypes:: Org can export to various (X)HTML flavors * HTML preamble and postamble:: How to insert a preamble and a postamble * Quoting HTML tags:: Using direct HTML in Org mode * Links in HTML export:: How links will be interpreted and formatted * Tables in HTML export:: How to modify the formatting of tables * Images in HTML export:: How to insert figures into HTML output * Math formatting in HTML export:: Beautiful math also on the web * Text areas in HTML export:: An alternative way to show an example * CSS support:: Changing the appearance of the output * JavaScript support:: Info and Folding in a web browser  File: org, Node: HTML Export commands, Next: HTML doctypes, Prev: HTML export, Up: HTML export 12.6.1 HTML export commands --------------------------- `C-c C-e h h (`org-html-export-to-html')' Export as an HTML file. For an Org file `myfile.org', the HTML file will be `myfile.html'. The file will be overwritten without warning. `C-c C-e h o' Export as an HTML file and immediately open it with a browser. `C-c C-e h H (`org-html-export-as-html')' Export to a temporary buffer. Do not create a file.  File: org, Node: HTML doctypes, Next: HTML preamble and postamble, Prev: HTML Export commands, Up: HTML export 12.6.2 HTML doctypes -------------------- Org can export to various (X)HTML flavors. Setting the variable `org-html-doctype' allows you to export to different (X)HTML variants. The exported HTML will be adjusted according to the syntax requirements of that variant. You can either set this variable to a doctype string directly, in which case the exporter will try to adjust the syntax automatically, or you can use a ready-made doctype. The ready-made options are: * "html4-strict" * "html4-transitional" * "html4-frameset" * "xhtml-strict" * "xhtml-transitional" * "xhtml-frameset" * "xhtml-11" * "html5" * "xhtml5" See the variable `org-html-doctype-alist' for details. The default is "xhtml-strict". Fancy HTML5 export .................. HTML5 introduces several new element types. By default, Org will not make use of these element types, but you can set `org-html-html5-fancy' to `t' (or set `html5-fancy' item in an `OPTIONS' line), to enable a few new block-level elements. These are created using arbitrary #+BEGIN and #+END blocks. For instance: #+BEGIN_ASIDE Lorem ipsum #+END_ASIDE Will export to: While this: #+ATTR_HTML: :controls controls :width 350 #+BEGIN_VIDEO #+HTML: #+HTML: Your browser does not support the video tag. #+END_VIDEO Becomes: Special blocks that do not correspond to HTML5 elements (see `org-html-html5-elements') will revert to the usual behavior, i.e. #+BEGIN_LEDERHOSEN will still export to
. Headlines cannot appear within special blocks. To wrap a headline and its contents in e.g.
or
tags, set the `HTML_CONTAINER' property on the headline itself.  File: org, Node: HTML preamble and postamble, Next: Quoting HTML tags, Prev: HTML doctypes, Up: HTML export 12.6.3 HTML preamble and postamble ---------------------------------- The HTML exporter lets you define a preamble and a postamble. The default value for `org-html-preamble' is `t', which means that the preamble is inserted depending on the relevant format string in `org-html-preamble-format'. Setting `org-html-preamble' to a string will override the default format string. If you set it to a function, it will insert the output of the function, which must be a string. Setting to `nil' will not insert any preamble. The default value for `org-html-postamble' is `'auto', which means that the HTML exporter will look for information about the author, the email, the creator and the date, and build the postamble from these values. Setting `org-html-postamble' to `t' will insert the postamble from the relevant format string found in `org-html-postamble-format'. Setting it to `nil' will not insert any postamble.  File: org, Node: Quoting HTML tags, Next: Links in HTML export, Prev: HTML preamble and postamble, Up: HTML export 12.6.4 Quoting HTML tags ------------------------ Plain `<' and `>' are always transformed to `<' and `>' in HTML export. If you want to include raw HTML code, which should only appear in HTML export, mark it with `@@html:' as in `@@html:@@bold text@@html:@@'. For more extensive HTML that should be copied verbatim to the exported file use either #+HTML: Literal HTML code for export or #+BEGIN_HTML All lines between these markers are exported literally #+END_HTML  File: org, Node: Links in HTML export, Next: Tables in HTML export, Prev: Quoting HTML tags, Up: HTML export 12.6.5 Links in HTML export --------------------------- Internal links (*note Internal links::) will continue to work in HTML. This includes automatic links created by radio targets (*note Radio targets::). Links to external files will still work if the target file is on the same relative path as the published Org file. Links to other `.org' files will be translated into HTML links under the assumption that an HTML version also exists of the linked file, at the same relative path. `id:' links can then be used to jump to specific entries across files. For information related to linking files while publishing them to a publishing directory see *note Publishing links::. If you want to specify attributes for links, you can do so using a special `#+ATTR_HTML' line to define attributes that will be added to the `' or `' tags. Here is an example that sets `title' and `style' attributes for a link: #+ATTR_HTML: :title The Org mode homepage :style color:red; [[http://orgmode.org]]  File: org, Node: Tables in HTML export, Next: Images in HTML export, Prev: Links in HTML export, Up: HTML export 12.6.6 Tables ------------- Org mode tables are exported to HTML using the table attributes defined in `org-html-table-default-attributes'. The default setting makes tables without cell borders and frame. If you would like to change this for individual tables, place something like the following before the table: #+CAPTION: This is a table with lines around and between cells #+ATTR_HTML: :border 2 :rules all :frame border You can also modify the default tags used for each row by setting `org-html-table-row-tags'. See the docstring for an example on how to use this option.  File: org, Node: Images in HTML export, Next: Math formatting in HTML export, Prev: Tables in HTML export, Up: HTML export 12.6.7 Images in HTML export ---------------------------- HTML export can inline images given as links in the Org file, and it can make an image the clickable part of a link. By default(1), images are inlined if a link does not have a description. So `[[file:myimg.jpg]]' will be inlined, while `[[file:myimg.jpg][the image]]' will just produce a link `the image' that points to the image. If the description part itself is a `file:' link or a `http:' URL pointing to an image, this image will be inlined and activated so that clicking on the image will activate the link. For example, to include a thumbnail that will link to a high resolution version of the image, you could use: [[file:highres.jpg][file:thumb.jpg]] If you need to add attributes to an inlined image, use a `#+ATTR_HTML'. In the example below we specify the `alt' and `title' attributes to support text viewers and accessibility, and align it to the right. #+CAPTION: A black cat stalking a spider #+ATTR_HTML: :alt cat/spider image :title Action! :align right [[./img/a.jpg]] You could use `http' addresses just as well. ---------- Footnotes ---------- (1) But see the variable `org-html-inline-images'.  File: org, Node: Math formatting in HTML export, Next: Text areas in HTML export, Prev: Images in HTML export, Up: HTML export 12.6.8 Math formatting in HTML export ------------------------------------- LaTeX math snippets (*note LaTeX fragments::) can be displayed in two different ways on HTML pages. The default is to use the MathJax system (http://www.mathjax.org) which should work out of the box with Org mode installation because `http://orgmode.org' serves `MathJax' for Org mode users for small applications and for testing purposes. If you plan to use this regularly or on pages with significant page views, you should install(1) MathJax on your own server in order to limit the load of our server. To configure `MathJax', use the variable `org-html-mathjax-options' or insert something like the following into the buffer: #+HTML_MATHJAX: align:"left" mathml:t path:"/MathJax/MathJax.js" See the docstring of the variable `org-html-mathjax-options' for the meaning of the parameters in this line. If you prefer, you can also request that LaTeX fragments are processed into small images that will be inserted into the browser page. Before the availability of MathJax, this was the default method for Org files. This method requires that the `dvipng' program or `imagemagick' suite is available on your system. You can still get this processing with #+OPTIONS: tex:dvipng or: #+OPTIONS: tex:imagemagick ---------- Footnotes ---------- (1) Installation instructions can be found on the MathJax website, see `http://www.mathjax.org/resources/docs/?installation.html'.  File: org, Node: Text areas in HTML export, Next: CSS support, Prev: Math formatting in HTML export, Up: HTML export 12.6.9 Text areas in HTML export -------------------------------- An alternative way to publish literal code examples in HTML is to use text areas, where the example can even be edited before pasting it into an application. It is triggered by `:textarea' attribute at an `example' or `src' block. You may also use `:height' and `:width' attributes to specify the height and width of the text area, which default to the number of lines in the example, and 80, respectively. For example #+ATTR_HTML: :textarea t :width 40 #+BEGIN_EXAMPLE (defun org-xor (a b) "Exclusive or." (if a (not b) b)) #+END_EXAMPLE  File: org, Node: CSS support, Next: JavaScript support, Prev: Text areas in HTML export, Up: HTML export 12.6.10 CSS support ------------------- You can modify the CSS style definitions for the exported file. The HTML exporter assigns the following special CSS classes(1) to appropriate parts of the document--your style specifications may change these, in addition to any of the standard classes like for headlines, tables, etc. p.author author information, including email p.date publishing date p.creator creator info, about org mode version .title document title .todo TODO keywords, all not-done states .done the DONE keywords, all states that count as done .WAITING each TODO keyword also uses a class named after itself .timestamp timestamp .timestamp-kwd keyword associated with a timestamp, like SCHEDULED .timestamp-wrapper span around keyword plus timestamp .tag tag in a headline ._HOME each tag uses itself as a class, "@" replaced by "_" .target target for links .linenr the line number in a code example .code-highlighted for highlighting referenced code lines div.outline-N div for outline level N (headline plus text)) div.outline-text-N extra div for text at outline level N .section-number-N section number in headlines, different for each level .figure-number label like "Figure 1:" .table-number label like "Table 1:" .listing-number label like "Listing 1:" div.figure how to format an inlined image pre.src formatted source code pre.example normal example p.verse verse paragraph div.footnotes footnote section headline p.footnote footnote definition paragraph, containing a footnote .footref a footnote reference number (always a ) .footnum footnote number in footnote definition (always ) Each exported file contains a compact default style that defines these classes in a basic way(2). You may overwrite these settings, or add to them by using the variables `org-html-head' and `org-html-head-extra'. You can override the global values of these variables for each file by using these keywords: #+HTML_HEAD: #+HTML_HEAD_EXTRA: For longer style definitions, you can use several such lines. You could also directly write a `' section in this way, without referring to an external file. In order to add styles to a subtree, use the `:HTML_CONTAINER_CLASS:' property to assign a class to the tree. In order to specify CSS styles for a particular headline, you can use the id specified in a `:CUSTOM_ID:' property. ---------- Footnotes ---------- (1) If the classes on TODO keywords and tags lead to conflicts, use the variables `org-html-todo-kwd-class-prefix' and `org-html-tag-class-prefix' to make them unique. (2) This style is defined in the constant `org-html-style-default', which you should not modify. To turn inclusion of these defaults off, customize `org-html-head-include-default-style' or set `html-style' to `nil' in an `OPTIONS' line.  File: org, Node: JavaScript support, Prev: CSS support, Up: HTML export 12.6.11 JavaScript supported display of web pages ------------------------------------------------- Sebastian Rose has written a JavaScript program especially designed to enhance the web viewing experience of HTML files created with Org. This program allows you to view large files in two different ways. The first one is an _Info_-like mode where each section is displayed separately and navigation can be done with the `n' and `p' keys (and some other keys as well, press `?' for an overview of the available keys). The second view type is a _folding_ view much like Org provides inside Emacs. The script is available at `http://orgmode.org/org-info.js' and you can find the documentation for it at `http://orgmode.org/worg/code/org-info-js/'. We host the script at our site, but if you use it a lot, you might not want to be dependent on `http://orgmode.org' and prefer to install a local copy on your own web server. All it then takes to use this program is adding a single line to the Org file: #+INFOJS_OPT: view:info toc:nil If this line is found, the HTML header will automatically contain the code needed to invoke the script. Using the line above, you can set the following viewing options: path: The path to the script. The default is to grab the script from `http://orgmode.org/org-info.js', but you might want to have a local copy and use a path like `../scripts/org-info.js'. view: Initial view when the website is first shown. Possible values are: info Info-like interface with one section per page. overview Folding interface, initially showing only top-level. content Folding interface, starting with all headlines visible. showall Folding interface, all headlines and text visible. sdepth: Maximum headline level that will still become an independent section for info and folding modes. The default is taken from `org-export-headline-levels' (= the `H' switch in `#+OPTIONS'). If this is smaller than in `org-export-headline-levels', each info/folding section can still contain child headlines. toc: Should the table of contents _initially_ be visible? Even when `nil', you can always get to the "toc" with `i'. tdepth: The depth of the table of contents. The defaults are taken from the variables `org-export-headline-levels' and `org-export-with-toc'. ftoc: Does the CSS of the page specify a fixed position for the "toc"? If yes, the toc will never be displayed as a section. ltoc: Should there be short contents (children) in each section? Make this `above' if the section should be above initial text. mouse: Headings are highlighted when the mouse is over them. Should be `underline' (default) or a background color like `#cccccc'. buttons: Should view-toggle buttons be everywhere? When `nil' (the default), only one such button will be present. You can choose default values for these options by customizing the variable `org-html-infojs-options'. If you always want to apply the script to your pages, configure the variable `org-html-use-infojs'.  File: org, Node: LaTeX and PDF export, Next: Markdown export, Prev: HTML export, Up: Exporting 12.7 LaTeX and PDF export ========================= LaTeX export can produce an arbitrarily complex LaTeX document of any standard or custom document class. With further processing(1), which the LaTeX exporter is able to control, this back-end is able to produce PDF output. Because the LaTeX exporter can be configured to use the `hyperref' package, the default setup produces fully-linked PDF output. As in LaTeX, blank lines are meaningful for this back-end: a paragraph will not be started if two contiguous syntactical elements are not separated by an empty line. This back-end also offers enhanced support for footnotes. Thus, it handles nested footnotes, footnotes in tables and footnotes in a list item's description. * Menu: * LaTeX export commands:: How to export to LaTeX and PDF * Header and sectioning:: Setting up the export file structure * Quoting LaTeX code:: Incorporating literal LaTeX code * LaTeX specific attributes:: Controlling LaTeX output ---------- Footnotes ---------- (1) The default LaTeX output is designed for processing with `pdftex' or LaTeX. It includes packages that are not compatible with `xetex' and possibly `luatex'. The LaTeX exporter can be configured to support alternative TeX engines, see the options `org-latex-default-packages-alist' and `org-latex-packages-alist'.  File: org, Node: LaTeX export commands, Next: Header and sectioning, Prev: LaTeX and PDF export, Up: LaTeX and PDF export 12.7.1 LaTeX export commands ---------------------------- `C-c C-e l l (`org-latex-export-to-latex')' Export as a LaTeX file. For an Org file `myfile.org', the LaTeX file will be `myfile.tex'. The file will be overwritten without warning. `C-c C-e l L (`org-latex-export-as-latex')' Export to a temporary buffer. Do not create a file. `C-c C-e l p (`org-latex-export-to-pdf')' Export as LaTeX and then process to PDF. `C-c C-e l o' Export as LaTeX and then process to PDF, then open the resulting PDF file.  File: org, Node: Header and sectioning, Next: Quoting LaTeX code, Prev: LaTeX export commands, Up: LaTeX and PDF export 12.7.2 Header and sectioning structure -------------------------------------- By default, the first three outline levels become headlines, defining a general document structure. Additional levels are exported as `itemize' or `enumerate' lists. The transition can also occur at a different level (*note Export settings::). By default, the LaTeX output uses the class `article'. You can change this globally by setting a different value for `org-latex-default-class' or locally by adding an option like `#+LATEX_CLASS: myclass' in your file, or with a `EXPORT_LATEX_CLASS' property that applies when exporting a region containing only this (sub)tree. The class must be listed in `org-latex-classes'. This variable defines a header template for each class(1), and allows you to define the sectioning structure for each class. You can also define your own classes there. The `LATEX_CLASS_OPTIONS' keyword or `EXPORT_LATEX_CLASS_OPTIONS' property can specify the options for the `\documentclass' macro. These options have to be provided, as expected by LaTeX, within square brackets. You can also use the `LATEX_HEADER' and `LATEX_HEADER_EXTRA'(2) keywords in order to add lines to the header. See the docstring of `org-latex-classes' for more information. An example is shown below. #+LATEX_CLASS: article #+LATEX_CLASS_OPTIONS: [a4paper] #+LATEX_HEADER: \usepackage{xyz} * Headline 1 some text ---------- Footnotes ---------- (1) Into which the values of `org-latex-default-packages-alist' and `org-latex-packages-alist' are spliced. (2) Unlike `LATEX_HEADER', contents from `LATEX_HEADER_EXTRA' keywords will not be loaded when previewing LaTeX snippets (*note Previewing LaTeX fragments::).  File: org, Node: Quoting LaTeX code, Next: LaTeX specific attributes, Prev: Header and sectioning, Up: LaTeX and PDF export 12.7.3 Quoting LaTeX code ------------------------- Embedded LaTeX as described in *note Embedded LaTeX::, will be correctly inserted into the LaTeX file. Furthermore, you can add special code that should only be present in LaTeX export with the following constructs: Code within @@latex:some code@@ a paragraph. #+LATEX: Literal LaTeX code for export #+BEGIN_LATEX All lines between these markers are exported literally #+END_LATEX  File: org, Node: LaTeX specific attributes, Prev: Quoting LaTeX code, Up: LaTeX and PDF export 12.7.4 LaTeX specific attributes -------------------------------- LaTeX understands attributes specified in an `ATTR_LATEX' line. They affect tables, images, plain lists, special blocks and source blocks. Tables in LaTeX export ...................... For LaTeX export of a table, you can specify a label and a caption (*note Images and tables::). You can also use attributes to control table layout and contents. Valid LaTeX attributes include: `:mode' Nature of table's contents. It can be set to `table', `math', `inline-math' or `verbatim'. In particular, when in `math' or `inline-math' mode, every cell is exported as-is, horizontal rules are ignored and the table will be wrapped in a math environment. Also, contiguous tables sharing the same math mode will be wrapped within the same environment. Default mode is determined in `org-latex-default-table-mode'. `:environment' Environment used for the table. It can be set to any LaTeX table environment, like `tabularx'(1), `longtable', `array', `tabu'(2), `bmatrix'... It defaults to `org-latex-default-table-environment' value. `:caption' `#+CAPTION' keyword is the simplest way to set a caption for a table (*note Images and tables::). If you need more advanced commands for that task, you can use `:caption' attribute instead. Its value should be raw LaTeX code. It has precedence over `#+CAPTION'. `:float' `:placement' Float environment for the table. Possible values are `sidewaystable', `multicolumn', `t' and `nil'. When unspecified, a table with a caption will have a `table' environment. Moreover, `:placement' attribute can specify the positioning of the float. `:align' `:font' `:width' Set, respectively, the alignment string of the table, its font size and its width. They only apply on regular tables. `:spread' Boolean specific to the `tabu' and `longtabu' environments, and only takes effect when used in conjunction with the `:width' attribute. When `:spread' is non-`nil', the table will be spread or shrunk by the value of `:width'. `:booktabs' `:center' `:rmlines' They toggle, respectively, `booktabs' usage (assuming the package is properly loaded), table centering and removal of every horizontal rule but the first one (in a "table.el" table only). In particular, `org-latex-tables-booktabs' (respectively `org-latex-tables-centered') activates the first (respectively second) attribute globally. `:math-prefix' `:math-suffix' `:math-arguments' A string that will be inserted, respectively, before the table within the math environment, after the table within the math environment, and between the macro name and the contents of the table. The `:math-arguments' attribute is used for matrix macros that require more than one argument (e.g., `qbordermatrix'). Thus, attributes can be used in a wide array of situations, like writing a table that will span over multiple pages, or a matrix product: #+ATTR_LATEX: :environment longtable :align l|lp{3cm}r|l | ..... | ..... | | ..... | ..... | #+ATTR_LATEX: :mode math :environment bmatrix :math-suffix \times | a | b | | c | d | #+ATTR_LATEX: :mode math :environment bmatrix | 1 | 2 | | 3 | 4 | In the example below, LaTeX command `\bicaption{HeadingA}{HeadingB}' will set the caption. #+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB} | ..... | ..... | | ..... | ..... | Images in LaTeX export ...................... Images that are linked to without a description part in the link, like `[[file:img.jpg]]' or `[[./img.jpg]]' will be inserted into the PDF output file resulting from LaTeX processing. Org will use an `\includegraphics' macro to insert the image(3). You can specify specify image width or height with, respectively, `:width' and `:height' attributes. It is also possible to add any other option with the `:options' attribute, as shown in the following example: #+ATTR_LATEX: :width 5cm :options angle=90 [[./img/sed-hr4049.pdf]] If you need a specific command for the caption, use `:caption' attribute. It will override standard `#+CAPTION' value, if any. #+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB} [[./img/sed-hr4049.pdf]] If you have specified a caption as described in *note Images and tables::, the picture will be wrapped into a `figure' environment and thus become a floating element. You can also ask Org to export an image as a float without specifying caption by setting the `:float' attribute. You may also set it to: - `t': if you want to use the standard `figure' environment. It is used by default if you provide a caption to the image. - `multicolumn': if you wish to include an image which spans multiple columns in a page. This will export the image wrapped in a `figure*' environment. - `wrap': if you would like to let text flow around the image. It will make the figure occupy the left half of the page. - `nil': if you need to avoid any floating environment, even when a caption is provided. To modify the placement option of any floating environment, set the `placement' attribute. #+ATTR_LATEX: :float wrap :width 0.38\textwidth :placement {r}{0.4\textwidth} [[./img/hst.png]] If the `:comment-include' attribute is set to a non-`nil' value, the LaTeX `\includegraphics' macro will be commented out. Plain lists in LaTeX export ........................... Plain lists accept two optional attributes: `:environment' and `:options'. The first one allows the use of a non-standard environment (e.g., `inparaenum'). The second one specifies optional arguments for that environment (square brackets may be omitted). #+ATTR_LATEX: :environment compactitem :options $\circ$ - you need ``paralist'' package to reproduce this example. Source blocks in LaTeX export ............................. In addition to syntax defined in *note Literal examples::, names and captions (*note Images and tables::), source blocks also accept a `:float' attribute. You may set it to: - `t': if you want to make the source block a float. It is the default value when a caption is provided. - `multicolumn': if you wish to include a source block which spans multiple columns in a page. - `nil': if you need to avoid any floating environment, even when a caption is provided. It is useful for source code that may not fit in a single page. #+ATTR_LATEX: :float nil #+BEGIN_SRC emacs-lisp Code that may not fit in a single page. #+END_SRC Special blocks in LaTeX export .............................. In LaTeX back-end, special blocks become environments of the same name. Value of `:options' attribute will be appended as-is to that environment's opening string. For example: #+ATTR_LATEX: :options [Proof of important theorem] #+BEGIN_PROOF ... Therefore, any even number greater than 2 is the sum of two primes. #+END_PROOF becomes \begin{proof}[Proof of important theorem] ... Therefore, any even number greater than 2 is the sum of two primes. \end{proof} If you need to insert a specific caption command, use `:caption' attribute. It will override standard `#+CAPTION' value, if any. For example: #+ATTR_LATEX: :caption \MyCaption{HeadingA} #+BEGIN_PROOF ... #+END_PROOF Horizontal rules ................ Width and thickness of a given horizontal rule can be controlled with, respectively, `:width' and `:thickness' attributes: #+ATTR_LATEX: :width .6\textwidth :thickness 0.8pt ----- ---------- Footnotes ---------- (1) Requires adding the `tabularx' package to `org-latex-packages-alist'. (2) Requires adding the `tabu' package to `org-latex-packages-alist'. (3) In the case of TikZ (`http://sourceforge.net/projects/pgf/') images, it will become an `\input' macro wrapped within a `tikzpicture' environment.  File: org, Node: Markdown export, Next: OpenDocument Text export, Prev: LaTeX and PDF export, Up: Exporting 12.8 Markdown export ==================== `md' export back-end generates Markdown syntax(1) for an Org mode buffer. It is built over HTML back-end: any construct not supported by Markdown syntax (e.g., tables) will be controlled and translated by `html' back-end (*note HTML export::). Markdown export commands ------------------------ `C-c C-e m m (`org-md-export-to-markdown')' Export as a text file written in Markdown syntax. For an Org file, `myfile.org', the resulting file will be `myfile.md'. The file will be overwritten without warning. `C-c C-e m M (`org-md-export-as-markdown')' Export to a temporary buffer. Do not create a file. `C-c C-e m o' Export as a text file with Markdown syntax, then open it. Header and sectioning structure ------------------------------- Markdown export can generate both `atx' and `setext' types for headlines, according to `org-md-headline-style'. The former introduces a hard limit of two levels, whereas the latter pushes it to six. Headlines below that limit are exported as lists. You can also set a soft limit before that one (*note Export settings::). ---------- Footnotes ---------- (1) Vanilla flavor, as defined at `http://daringfireball.net/projects/markdown/'.  File: org, Node: OpenDocument Text export, Next: iCalendar export, Prev: Markdown export, Up: Exporting 12.9 OpenDocument Text export ============================= Org mode(1) supports export to OpenDocument Text (ODT) format. Documents created by this exporter use the `OpenDocument-v1.2 specification'(2) and are compatible with LibreOffice 3.4. * Menu: * Pre-requisites for ODT export:: What packages ODT exporter relies on * ODT export commands:: How to invoke ODT export * Extending ODT export:: How to produce `doc', `pdf' files * Applying custom styles:: How to apply custom styles to the output * Links in ODT export:: How links will be interpreted and formatted * Tables in ODT export:: How Tables are exported * Images in ODT export:: How to insert images * Math formatting in ODT export:: How LaTeX fragments are formatted * Labels and captions in ODT export:: How captions are rendered * Literal examples in ODT export:: How source and example blocks are formatted * Advanced topics in ODT export:: Read this if you are a power user ---------- Footnotes ---------- (1) Versions 7.8 or later (2) Open Document Format for Office Applications (OpenDocument) Version 1.2 (http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html)  File: org, Node: Pre-requisites for ODT export, Next: ODT export commands, Prev: OpenDocument Text export, Up: OpenDocument Text export 12.9.1 Pre-requisites for ODT export ------------------------------------ The ODT exporter relies on the `zip' program to create the final output. Check the availability of this program before proceeding further.  File: org, Node: ODT export commands, Next: Extending ODT export, Prev: Pre-requisites for ODT export, Up: OpenDocument Text export 12.9.2 ODT export commands -------------------------- Exporting to ODT ................ `C-c C-e o o (`org-odt-export-to-odt')' Export as OpenDocument Text file. If `org-odt-preferred-output-format' is specified, automatically convert the exported file to that format. *Note Automatically exporting to other formats: x-export-to-other-formats. For an Org file `myfile.org', the ODT file will be `myfile.odt'. The file will be overwritten without warning. If there is an active region,(1) only the region will be exported. If the selected region is a single tree,(2) the tree head will become the document title. If the tree head entry has, or inherits, an `EXPORT_FILE_NAME' property, that name will be used for the export. `C-c C-e o O' Export as an OpenDocument Text file and open the resulting file. If `org-odt-preferred-output-format' is specified, open the converted file instead. *Note Automatically exporting to other formats: x-export-to-other-formats. ---------- Footnotes ---------- (1) This requires `transient-mark-mode' to be turned on (2) To select the current subtree, use `C-c @'  File: org, Node: Extending ODT export, Next: Applying custom styles, Prev: ODT export commands, Up: OpenDocument Text export 12.9.3 Extending ODT export --------------------------- The ODT exporter can interface with a variety of document converters and supports popular converters out of the box. As a result, you can use it to export to formats like `doc' or convert a document from one format (say `csv') to another format (say `ods' or `xls'). If you have a working installation of LibreOffice, a document converter is pre-configured for you and you can use it right away. If you would like to use `unoconv' as your preferred converter, customize the variable `org-odt-convert-process' to point to `unoconv'. You can also use your own favorite converter or tweak the default settings of the `LibreOffice' and `unoconv' converters. *Note Configuring a document converter::. 12.9.3.1 Automatically exporting to other formats ................................................. Very often, you will find yourself exporting to ODT format, only to immediately save the exported document to other formats like `doc', `docx', `rtf', `pdf' etc. In such cases, you can specify your preferred output format by customizing the variable `org-odt-preferred-output-format'. This way, the export commands (*note Exporting to ODT: x-export-to-odt.) can be extended to export to a format that is of immediate interest to you. 12.9.3.2 Converting between document formats ............................................ There are many document converters in the wild which support conversion to and from various file formats, including, but not limited to the ODT format. LibreOffice converter, mentioned above, is one such converter. Once a converter is configured, you can interact with it using the following command. `M-x org-odt-convert RET' Convert an existing document from one format to another. With a prefix argument, also open the newly produced file.  File: org, Node: Applying custom styles, Next: Links in ODT export, Prev: Extending ODT export, Up: OpenDocument Text export 12.9.4 Applying custom styles ----------------------------- The ODT exporter ships with a set of OpenDocument styles (*note Working with OpenDocument style files::) that ensure a well-formatted output. These factory styles, however, may not cater to your specific tastes. To customize the output, you can either modify the above styles files directly, or generate the required styles using an application like LibreOffice. The latter method is suitable for expert and non-expert users alike, and is described here. 12.9.4.1 Applying custom styles: the easy way ............................................. 1. Create a sample `example.org' file with the below settings and export it to ODT format. #+OPTIONS: H:10 num:t 2. Open the above `example.odt' using LibreOffice. Use the `Stylist' to locate the target styles--these typically have the `Org' prefix--and modify those to your taste. Save the modified file either as an OpenDocument Text (`.odt') or OpenDocument Template (`.ott') file. 3. Customize the variable `org-odt-styles-file' and point it to the newly created file. For additional configuration options *note Overriding factory styles: x-overriding-factory-styles. If you would like to choose a style on a per-file basis, you can use the `#+ODT_STYLES_FILE' option. A typical setting will look like #+ODT_STYLES_FILE: "/path/to/example.ott" or #+ODT_STYLES_FILE: ("/path/to/file.ott" ("styles.xml" "image/hdr.png")) 12.9.4.2 Using third-party styles and templates ............................................... You can use third-party styles and templates for customizing your output. This will produce the desired output only if the template provides all style names that the `ODT' exporter relies on. Unless this condition is met, the output is going to be less than satisfactory. So it is highly recommended that you only work with templates that are directly derived from the factory settings.  File: org, Node: Links in ODT export, Next: Tables in ODT export, Prev: Applying custom styles, Up: OpenDocument Text export 12.9.5 Links in ODT export -------------------------- ODT exporter creates native cross-references for internal links. It creates Internet-style links for all other links. A link with no description and destined to a regular (un-itemized) outline heading is replaced with a cross-reference and section number of the heading. A `\ref{label}'-style reference to an image, table etc. is replaced with a cross-reference and sequence number of the labeled entity. *Note Labels and captions in ODT export::.  File: org, Node: Tables in ODT export, Next: Images in ODT export, Prev: Links in ODT export, Up: OpenDocument Text export 12.9.6 Tables in ODT export --------------------------- Export of native Org mode tables (*note Tables::) and simple `table.el' tables is supported. However, export of complex `table.el' tables--tables that have column or row spans--is not supported. Such tables are stripped from the exported document. By default, a table is exported with top and bottom frames and with rules separating row and column groups (*note Column groups::). Furthermore, all tables are typeset to occupy the same width. If the table specifies alignment and relative width for its columns (*note Column width and alignment::) then these are honored on export.(1) You can control the width of the table by specifying `:rel-width' property using an `#+ATTR_ODT' line. For example, consider the following table which makes use of all the rules mentioned above. #+ATTR_ODT: :rel-width 50 | Area/Month | Jan | Feb | Mar | Sum | |---------------+-------+-------+-------+-------| | / | < | | | < | | | | | | | | North America | 1 | 21 | 926 | 948 | | Middle East | 6 | 75 | 844 | 925 | | Asia Pacific | 9 | 27 | 790 | 826 | |---------------+-------+-------+-------+-------| | Sum | 16 | 123 | 2560 | 2699 | On export, the table will occupy 50% of text area. The columns will be sized (roughly) in the ratio of 13:5:5:5:6. The first column will be left-aligned and rest of the columns will be right-aligned. There will be vertical rules after separating the header and last columns from other columns. There will be horizontal rules separating the header and last rows from other rows. If you are not satisfied with the above formatting options, you can create custom table styles and associate them with a table using the `#+ATTR_ODT' line. *Note Customizing tables in ODT export::. ---------- Footnotes ---------- (1) The column widths are interpreted as weighted ratios with the default weight being 1  File: org, Node: Images in ODT export, Next: Math formatting in ODT export, Prev: Tables in ODT export, Up: OpenDocument Text export 12.9.7 Images in ODT export --------------------------- Embedding images ................ You can embed images within the exported document by providing a link to the desired image file with no link description. For example, to embed `img.png' do either of the following: [[file:img.png]] [[./img.png]] Embedding clickable images .......................... You can create clickable images by providing a link whose description is a link to an image file. For example, to embed a image `org-mode-unicorn.png' which when clicked jumps to `http://Orgmode.org' website, do the following [[http://orgmode.org][./org-mode-unicorn.png]] Sizing and scaling of embedded images ..................................... You can control the size and scale of the embedded images using the `#+ATTR_ODT' attribute. The exporter specifies the desired size of the image in the final document in units of centimeters. In order to scale the embedded images, the exporter queries for pixel dimensions of the images using one of a) ImageMagick's `identify' program or b) Emacs `create-image' and `image-size' APIs(1). The pixel dimensions are subsequently converted in to units of centimeters using `org-odt-pixels-per-inch'. The default value of this variable is set to `display-pixels-per-inch'. You can tweak this variable to achieve the best results. The examples below illustrate the various possibilities. Explicitly size the image To embed `img.png' as a 10 cm x 10 cm image, do the following: #+ATTR_ODT: :width 10 :height 10 [[./img.png]] Scale the image To embed `img.png' at half its size, do the following: #+ATTR_ODT: :scale 0.5 [[./img.png]] Scale the image to a specific width To embed `img.png' with a width of 10 cm while retaining the original height:width ratio, do the following: #+ATTR_ODT: :width 10 [[./img.png]] Scale the image to a specific height To embed `img.png' with a height of 10 cm while retaining the original height:width ratio, do the following #+ATTR_ODT: :height 10 [[./img.png]] Anchoring of images ................... You can control the manner in which an image is anchored by setting the `:anchor' property of it's `#+ATTR_ODT' line. You can specify one of the the following three values for the `:anchor' property: `"as-char"', `"paragraph"' and `"page"'. To create an image that is anchored to a page, do the following: #+ATTR_ODT: :anchor "page" [[./img.png]] ---------- Footnotes ---------- (1) Use of `ImageMagick' is only desirable. However, if you routinely produce documents that have large images or you export your Org files that has images using a Emacs batch script, then the use of `ImageMagick' is mandatory.  File: org, Node: Math formatting in ODT export, Next: Labels and captions in ODT export, Prev: Images in ODT export, Up: OpenDocument Text export 12.9.8 Math formatting in ODT export ------------------------------------ The ODT exporter has special support for handling math. * Menu: * Working with LaTeX math snippets:: How to embed LaTeX math fragments * Working with MathML or OpenDocument formula files:: How to embed equations in native format  File: org, Node: Working with LaTeX math snippets, Next: Working with MathML or OpenDocument formula files, Prev: Math formatting in ODT export, Up: Math formatting in ODT export 12.9.8.1 Working with LaTeX math snippets ......................................... LaTeX math snippets (*note LaTeX fragments::) can be embedded in the ODT document in one of the following ways: 1. MathML This option is activated on a per-file basis with #+OPTIONS: LaTeX:t With this option, LaTeX fragments are first converted into MathML fragments using an external LaTeX-to-MathML converter program. The resulting MathML fragments are then embedded as an OpenDocument Formula in the exported document. You can specify the LaTeX-to-MathML converter by customizing the variables `org-latex-to-mathml-convert-command' and `org-latex-to-mathml-jar-file'. If you prefer to use `MathToWeb'(1) as your converter, you can configure the above variables as shown below. (setq org-latex-to-mathml-convert-command "java -jar %j -unicode -force -df %o %I" org-latex-to-mathml-jar-file "/path/to/mathtoweb.jar") You can use the following commands to quickly verify the reliability of the LaTeX-to-MathML converter. `M-x org-odt-export-as-odf RET' Convert a LaTeX math snippet to an OpenDocument formula (`.odf') file. `M-x org-odt-export-as-odf-and-open RET' Convert a LaTeX math snippet to an OpenDocument formula (`.odf') file and open the formula file with the system-registered application. 2. PNG images This option is activated on a per-file basis with #+OPTIONS: tex:dvipng or: #+OPTIONS: tex:imagemagick With this option, LaTeX fragments are processed into PNG images and the resulting images are embedded in the exported document. This method requires that the `dvipng' program or `imagemagick' suite be available on your system. ---------- Footnotes ---------- (1) See MathToWeb (http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl)  File: org, Node: Working with MathML or OpenDocument formula files, Prev: Working with LaTeX math snippets, Up: Math formatting in ODT export 12.9.8.2 Working with MathML or OpenDocument formula files .......................................................... For various reasons, you may find embedding LaTeX math snippets in an ODT document less than reliable. In that case, you can embed a math equation by linking to its MathML (`.mml') source or its OpenDocument formula (`.odf') file as shown below: [[./equation.mml]] or [[./equation.odf]]  File: org, Node: Labels and captions in ODT export, Next: Literal examples in ODT export, Prev: Math formatting in ODT export, Up: OpenDocument Text export 12.9.9 Labels and captions in ODT export ---------------------------------------- You can label and caption various category of objects--an inline image, a table, a LaTeX fragment or a Math formula--using `#+LABEL' and `#+CAPTION' lines. *Note Images and tables::. ODT exporter enumerates each labeled or captioned object of a given category separately. As a result, each such object is assigned a sequence number based on order of it's appearance in the Org file. In the exported document, a user-provided caption is augmented with the category and sequence number. Consider the following inline image in an Org file. #+CAPTION: Bell curve #+LABEL: fig:SED-HR4049 [[./img/a.png]] It could be rendered as shown below in the exported document. Figure 2: Bell curve You can modify the category component of the caption by customizing the option `org-odt-category-map-alist'. For example, to tag all embedded images with the string `Illustration' (instead of the default `Figure') use the following setting: (setq org-odt-category-map-alist (("__Figure__" "Illustration" "value" "Figure" org-odt--enumerable-image-p))) With this, previous image will be captioned as below in the exported document. Illustration 2: Bell curve  File: org, Node: Literal examples in ODT export, Next: Advanced topics in ODT export, Prev: Labels and captions in ODT export, Up: OpenDocument Text export 12.9.10 Literal examples in ODT export -------------------------------------- Export of literal examples (*note Literal examples::) with full fontification is supported. Internally, the exporter relies on `htmlfontify.el' to generate all style definitions needed for a fancy listing.(1) The auto-generated styles have `OrgSrc' as prefix and inherit their color from the faces used by Emacs `font-lock' library for the source language. If you prefer to use your own custom styles for fontification, you can do so by customizing the option `org-odt-create-custom-styles-for-srcblocks'. You can turn off fontification of literal examples by customizing the option `org-odt-fontify-srcblocks'. ---------- Footnotes ---------- (1) Your `htmlfontify.el' library must at least be at Emacs 24.1 levels for fontification to be turned on.  File: org, Node: Advanced topics in ODT export, Prev: Literal examples in ODT export, Up: OpenDocument Text export 12.9.11 Advanced topics in ODT export ------------------------------------- If you rely heavily on ODT export, you may want to exploit the full set of features that the exporter offers. This section describes features that would be of interest to power users. * Menu: * Configuring a document converter:: How to register a document converter * Working with OpenDocument style files:: Explore the internals * Creating one-off styles:: How to produce custom highlighting etc * Customizing tables in ODT export:: How to define and use Table templates * Validating OpenDocument XML:: How to debug corrupt OpenDocument files  File: org, Node: Configuring a document converter, Next: Working with OpenDocument style files, Prev: Advanced topics in ODT export, Up: Advanced topics in ODT export 12.9.11.1 Configuring a document converter .......................................... The ODT exporter can work with popular converters with little or no extra configuration from your side. *Note Extending ODT export::. If you are using a converter that is not supported by default or if you would like to tweak the default converter settings, proceed as below. 1. Register the converter Name your converter and add it to the list of known converters by customizing the option `org-odt-convert-processes'. Also specify how the converter can be invoked via command-line to effect the conversion. 2. Configure its capabilities Specify the set of formats the converter can handle by customizing the variable `org-odt-convert-capabilities'. Use the default value for this variable as a guide for configuring your converter. As suggested by the default setting, you can specify the full set of formats supported by the converter and not limit yourself to specifying formats that are related to just the OpenDocument Text format. 3. Choose the converter Select the newly added converter as the preferred one by customizing the option `org-odt-convert-process'.  File: org, Node: Working with OpenDocument style files, Next: Creating one-off styles, Prev: Configuring a document converter, Up: Advanced topics in ODT export 12.9.11.2 Working with OpenDocument style files ............................................... This section explores the internals of the ODT exporter and the means by which it produces styled documents. Read this section if you are interested in exploring the automatic and custom OpenDocument styles used by the exporter. Factory styles .............. The ODT exporter relies on two files for generating its output. These files are bundled with the distribution under the directory pointed to by the variable `org-odt-styles-dir'. The two files are: * `OrgOdtStyles.xml' This file contributes to the `styles.xml' file of the final `ODT' document. This file gets modified for the following purposes: 1. To control outline numbering based on user settings. 2. To add styles generated by `htmlfontify.el' for fontification of code blocks. * `OrgOdtContentTemplate.xml' This file contributes to the `content.xml' file of the final `ODT' document. The contents of the Org outline are inserted between the `'...`' elements of this file. Apart from serving as a template file for the final `content.xml', the file serves the following purposes: 1. It contains automatic styles for formatting of tables which are referenced by the exporter. 2. It contains `'...`' elements that control how various entities--tables, images, equations, etc.--are numbered. Overriding factory styles ......................... The following two variables control the location from which the ODT exporter picks up the custom styles and content template files. You can customize these variables to override the factory styles used by the exporter. * `org-odt-styles-file' Use this variable to specify the `styles.xml' that will be used in the final output. You can specify one of the following values: 1. A `styles.xml' file Use this file instead of the default `styles.xml' 2. A `.odt' or `.ott' file Use the `styles.xml' contained in the specified OpenDocument Text or Template file 3. A `.odt' or `.ott' file and a subset of files contained within them Use the `styles.xml' contained in the specified OpenDocument Text or Template file. Additionally extract the specified member files and embed those within the final `ODT' document. Use this option if the `styles.xml' file references additional files like header and footer images. 4. `nil' Use the default `styles.xml' * `org-odt-content-template-file' Use this variable to specify the blank `content.xml' that will be used in the final output.  File: org, Node: Creating one-off styles, Next: Customizing tables in ODT export, Prev: Working with OpenDocument style files, Up: Advanced topics in ODT export 12.9.11.3 Creating one-off styles ................................. There are times when you would want one-off formatting in the exported document. You can achieve this by embedding raw OpenDocument XML in the Org file. The use of this feature is better illustrated with couple of examples. 1. Embedding ODT tags as part of regular text You can inline OpenDocument syntax by enclosing it within `@@odt:...@@' markup. For example, to highlight a region of text do the following: @@odt:This is a highlighted text@@. But this is a regular text. *Hint:* To see the above example in action, edit your `styles.xml' (*note Factory styles: x-orgodtstyles-xml.) and add a custom `Highlight' style as shown below. 2. Embedding a one-line OpenDocument XML You can add a simple OpenDocument one-liner using the `#+ODT:' directive. For example, to force a page break do the following: #+ODT: *Hint:* To see the above example in action, edit your `styles.xml' (*note Factory styles: x-orgodtstyles-xml.) and add a custom `PageBreak' style as shown below. 3. Embedding a block of OpenDocument XML You can add a large block of OpenDocument XML using the `#+BEGIN_ODT'...`#+END_ODT' construct. For example, to create a one-off paragraph that uses bold text, do the following: #+BEGIN_ODT This paragraph is specially formatted and uses bold text. #+END_ODT  File: org, Node: Customizing tables in ODT export, Next: Validating OpenDocument XML, Prev: Creating one-off styles, Up: Advanced topics in ODT export 12.9.11.4 Customizing tables in ODT export .......................................... You can override the default formatting of the table by specifying a custom table style with the `#+ATTR_ODT' line. For a discussion on default formatting of tables *note Tables in ODT export::. This feature closely mimics the way table templates are defined in the OpenDocument-v1.2 specification.(1) Custom table styles: an illustration .................................... To have a quick preview of this feature, install the below setting and export the table that follows: (setq org-odt-table-styles (append org-odt-table-styles '(("TableWithHeaderRowAndColumn" "Custom" ((use-first-row-styles . t) (use-first-column-styles . t))) ("TableWithFirstRowandLastRow" "Custom" ((use-first-row-styles . t) (use-last-row-styles . t)))))) #+ATTR_ODT: :style "TableWithHeaderRowAndColumn" | Name | Phone | Age | | Peter | 1234 | 17 | | Anna | 4321 | 25 | In the above example, you used a template named `Custom' and installed two table styles with the names `TableWithHeaderRowAndColumn' and `TableWithFirstRowandLastRow'. (*Important:* The OpenDocument styles needed for producing the above template have been pre-defined for you. These styles are available under the section marked `Custom Table Template' in `OrgOdtContentTemplate.xml' (*note Factory styles: x-orgodtcontenttemplate-xml.). If you need additional templates you have to define these styles yourselves. Custom table styles: the nitty-gritty ..................................... To use this feature proceed as follows: 1. Create a table template(2) A table template is nothing but a set of `table-cell' and `paragraph' styles for each of the following table cell categories: - Body - First column - Last column - First row - Last row - Even row - Odd row - Even column - Odd Column The names for the above styles must be chosen based on the name of the table template using a well-defined convention. The naming convention is better illustrated with an example. For a table template with the name `Custom', the needed style names are listed in the following table. Table cell type `table-cell' style `paragraph' style ------------------------------------------------------------------------------- Body `CustomTableCell' `CustomTableParagraph' First column `CustomFirstColumnTableCell'`CustomFirstColumnTableParagraph' Last column `CustomLastColumnTableCell' `CustomLastColumnTableParagraph' First row `CustomFirstRowTableCell' `CustomFirstRowTableParagraph' Last row `CustomLastRowTableCell' `CustomLastRowTableParagraph' Even row `CustomEvenRowTableCell' `CustomEvenRowTableParagraph' Odd row `CustomOddRowTableCell' `CustomOddRowTableParagraph' Even column `CustomEvenColumnTableCell' `CustomEvenColumnTableParagraph' Odd column `CustomOddColumnTableCell' `CustomOddColumnTableParagraph' To create a table template with the name `Custom', define the above styles in the `'...`' element of the content template file (*note Factory styles: x-orgodtcontenttemplate-xml.). 2. Define a table style(3) To define a table style, create an entry for the style in the variable `org-odt-table-styles' and specify the following: - the name of the table template created in step (1) - the set of cell styles in that template that are to be activated For example, the entry below defines two different table styles `TableWithHeaderRowAndColumn' and `TableWithFirstRowandLastRow' based on the same template `Custom'. The styles achieve their intended effect by selectively activating the individual cell styles in that template. (setq org-odt-table-styles (append org-odt-table-styles '(("TableWithHeaderRowAndColumn" "Custom" ((use-first-row-styles . t) (use-first-column-styles . t))) ("TableWithFirstRowandLastRow" "Custom" ((use-first-row-styles . t) (use-last-row-styles . t)))))) 3. Associate a table with the table style To do this, specify the table style created in step (2) as part of the `ATTR_ODT' line as shown below. #+ATTR_ODT: :style "TableWithHeaderRowAndColumn" | Name | Phone | Age | | Peter | 1234 | 17 | | Anna | 4321 | 25 | ---------- Footnotes ---------- (1) OpenDocument-v1.2 Specification (http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html) (2) See the `' element of the OpenDocument-v1.2 specification (3) See the attributes `table:template-name', `table:use-first-row-styles', `table:use-last-row-styles', `table:use-first-column-styles', `table:use-last-column-styles', `table:use-banding-rows-styles', and `table:use-banding-column-styles' of the `' element in the OpenDocument-v1.2 specification  File: org, Node: Validating OpenDocument XML, Prev: Customizing tables in ODT export, Up: Advanced topics in ODT export 12.9.11.5 Validating OpenDocument XML ..................................... Occasionally, you will discover that the document created by the ODT exporter cannot be opened by your favorite application. One of the common reasons for this is that the `.odt' file is corrupt. In such cases, you may want to validate the document against the OpenDocument RELAX NG Compact Syntax (RNC) schema. For de-compressing the `.odt' file(1): *note (emacs)File Archives::. For general help with validation (and schema-sensitive editing) of XML files: *note (nxml-mode)Introduction::. If you have ready access to OpenDocument `.rnc' files and the needed schema-locating rules in a single folder, you can customize the variable `org-odt-schema-dir' to point to that directory. The ODT exporter will take care of updating the `rng-schema-locating-files' for you. ---------- Footnotes ---------- (1) `.odt' files are nothing but `zip' archives  File: org, Node: iCalendar export, Next: Other built-in back-ends, Prev: OpenDocument Text export, Up: Exporting 12.10 iCalendar export ====================== Some people use Org mode for keeping track of projects, but still prefer a standard calendar application for anniversaries and appointments. In this case it can be useful to show deadlines and other time-stamped items in Org files in the calendar application. Org mode can export calendar information in the standard iCalendar format. If you also want to have TODO entries included in the export, configure the variable `org-icalendar-include-todo'. Plain timestamps are exported as VEVENT, and TODO items as VTODO. It will also create events from deadlines that are in non-TODO items. Deadlines and scheduling dates in TODO items will be used to set the start and due dates for the TODO entry(1). As categories, it will use the tags locally defined in the heading, and the file/tree category(2). See the variable `org-icalendar-alarm-time' for a way to assign alarms to entries with a time. The iCalendar standard requires each entry to have a globally unique identifier (UID). Org creates these identifiers during export. If you set the variable `org-icalendar-store-UID', the UID will be stored in the `:ID:' property of the entry and re-used next time you report this entry. Since a single entry can give rise to multiple iCalendar entries (as a timestamp, a deadline, a scheduled item, and as a TODO item), Org adds prefixes to the UID, depending on what triggered the inclusion of the entry. In this way the UID remains unique, but a synchronization program can still figure out from which entry all the different instances originate. `C-c C-e c f (`org-icalendar-export-to-ics')' Create iCalendar entries for the current buffer and store them in the same directory, using a file extension `.ics'. `C-c C-e c a (`org-icalendar-export-agenda-files')' Like `C-c C-e c f', but do this for all files in `org-agenda-files'. For each of these files, a separate iCalendar file will be written. `C-c C-e c c (`org-icalendar-combine-agenda-files')' Create a single large iCalendar file from all files in `org-agenda-files' and write it to the file given by `org-icalendar-combined-agenda-file'. The export will honor SUMMARY, DESCRIPTION and LOCATION(3) properties if the selected entries have them. If not, the summary will be derived from the headline, and the description from the body (limited to `org-icalendar-include-body' characters). How this calendar is best read and updated, depends on the application you are using. The FAQ covers this issue. ---------- Footnotes ---------- (1) See the variables `org-icalendar-use-deadline' and `org-icalendar-use-scheduled'. (2) To add inherited tags or the TODO state, configure the variable `org-icalendar-categories'. (3) The LOCATION property can be inherited from higher in the hierarchy if you configure `org-use-property-inheritance' accordingly.  File: org, Node: Other built-in back-ends, Next: Export in foreign buffers, Prev: iCalendar export, Up: Exporting 12.11 Other built-in back-ends ============================== On top of the aforementioned back-ends, Org comes with other built-in ones: * `ox-man.el': export to a man page. * `ox-texinfo.el': export to `Texinfo' format. * `ox-org.el': export to an Org document. To activate these export back-end, customize `org-export-backends' or load them directly with e.g., `(require 'ox-texinfo)'. This will add new keys in the export dispatcher (*note The Export Dispatcher::). See the comment section of these files for more information on how to use them.  File: org, Node: Export in foreign buffers, Next: Advanced configuration, Prev: Other built-in back-ends, Up: Exporting 12.12 Export in foreign buffers =============================== Most built-in back-ends come with a command to convert the selected region into a selected format and replace this region by the exported output. Here is a list of such conversion commands: `org-html-convert-region-to-html' Convert the selected region into HTML. `org-latex-convert-region-to-latex' Convert the selected region into LaTeX. `org-texinfo-convert-region-to-texinfo' Convert the selected region into `Texinfo'. `org-md-convert-region-to-md' Convert the selected region into `MarkDown'. This is particularly useful for converting tables and lists in foreign buffers. E.g., in an HTML buffer, you can turn on `orgstruct-mode', then use Org commands for editing a list, and finally select and convert the list with `M-x org-html-convert-region-to-html RET'.  File: org, Node: Advanced configuration, Prev: Export in foreign buffers, Up: Exporting 12.13 Advanced configuration ============================ Hooks ----- Two hooks are run during the first steps of the export process. The first one, `org-export-before-processing-hook' is called before expanding macros, Babel code and include keywords in the buffer. The second one, `org-export-before-parsing-hook', as its name suggests, happens just before parsing the buffer. Their main use is for heavy duties, that is duties involving structural modifications of the document. For example, one may want to remove every headline in the buffer during export. The following code can achieve this: (defun my-headline-removal (backend) "Remove all headlines in the current buffer. BACKEND is the export back-end being used, as a symbol." (org-map-entries (lambda () (delete-region (point) (progn (forward-line) (point)))))) (add-hook 'org-export-before-parsing-hook 'my-headline-removal) Note that functions used in these hooks require a mandatory argument, a symbol representing the back-end used. Filters ------- Filters are lists of functions applied on a specific part of the output from a given back-end. More explicitly, each time a back-end transforms an Org object or element into another language, all functions within a given filter type are called in turn on the string produced. The string returned by the last function will be the one used in the final output. There are filters sets for each type of element or object, for plain text, for the parse tree, for the export options and for the final output. They are all named after the same scheme: `org-export-filter-TYPE-functions', where `TYPE' is the type targeted by the filter. Valid types are: bold babel-call center-block clock code comment comment-block diary-sexp drawer dynamic-block entity example-block export-block export-snippet final-output fixed-width footnote-definition footnote-reference headline horizontal-rule inline-babel-call inline-src-block inlinetask italic item keyword latex-environment latex-fragment line-break link node-property options paragraph parse-tree plain-list plain-text planning property-drawer quote-block quote-section radio-target section special-block src-block statistics-cookie strike-through subscript superscript table table-cell table-row target timestamp underline verbatim verse-block For example, the following snippet allows me to use non-breaking spaces in the Org buffer and get them translated into LaTeX without using the `\nbsp' macro (where `_' stands for the non-breaking space): (defun my-latex-filter-nobreaks (text backend info) "Ensure \" \" are properly handled in LaTeX export." (when (org-export-derived-backend-p backend 'latex) (replace-regexp-in-string " " "~" text))) (add-to-list 'org-export-filter-plain-text-functions 'my-latex-filter-nobreaks) Three arguments must be provided to a filter: the code being changed, the back-end used, and some information about the export process. You can safely ignore the third argument for most purposes. Note the use of `org-export-derived-backend-p', which ensures that the filter will only be applied when using `latex' back-end or any other back-end derived from it (e.g., `beamer'). Extending an existing back-end ------------------------------ This is obviously the most powerful customization, since the changes happen at the parser level. Indeed, some export back-ends are built as extensions of other ones (e.g. Markdown back-end an extension of HTML back-end). Extending a back-end means that if an element type is not transcoded by the new back-end, it will be handled by the original one. Hence you can extend specific parts of a back-end without too much work. As an example, imagine we want the `ascii' back-end to display the language used in a source block, when it is available, but only when some attribute is non-`nil', like the following: #+ATTR_ASCII: :language t Because that back-end is lacking in that area, we are going to create a new back-end, `my-ascii' that will do the job. (defun my-ascii-src-block (src-block contents info) "Transcode a SRC-BLOCK element from Org to ASCII. CONTENTS is nil. INFO is a plist used as a communication channel." (if (not (org-export-read-attribute :attr_ascii src-block :language)) (org-export-with-backend 'ascii src-block contents info) (concat (format ",--[ %s ]--\n%s`----" (org-element-property :language src-block) (replace-regexp-in-string "^" "| " (org-element-normalize-string (org-export-format-code-default src-block info))))))) (org-export-define-derived-backend 'my-ascii 'ascii :translate-alist '((src-block . my-ascii-src-block))) The `my-ascii-src-block' function looks at the attribute above the element. If it isn’t true, it gives hand to the `ascii' back-end. Otherwise, it creates a box around the code, leaving room for the language. A new back-end is then created. It only changes its behaviour when translating `src-block' type element. Now, all it takes to use the new back-end is calling the following from an Org buffer: (org-export-to-buffer 'my-ascii "*Org MY-ASCII Export*") It is obviously possible to write an interactive function for this, install it in the export dispatcher menu, and so on.  File: org, Node: Publishing, Next: Working With Source Code, Prev: Exporting, Up: Top 13 Publishing ************* Org includes a publishing management system that allows you to configure automatic HTML conversion of _projects_ composed of interlinked org files. You can also configure Org to automatically upload your exported HTML pages and related attachments, such as images and source code files, to a web server. You can also use Org to convert files into PDF, or even combine HTML and PDF conversion so that files are available in both formats on the server. Publishing has been contributed to Org by David O'Toole. * Menu: * Configuration:: Defining projects * Uploading files:: How to get files up on the server * Sample configuration:: Example projects * Triggering publication:: Publication commands  File: org, Node: Configuration, Next: Uploading files, Prev: Publishing, Up: Publishing 13.1 Configuration ================== Publishing needs significant configuration to specify files, destination and many other properties of a project. * Menu: * Project alist:: The central configuration variable * Sources and destinations:: From here to there * Selecting files:: What files are part of the project? * Publishing action:: Setting the function doing the publishing * Publishing options:: Tweaking HTML/LaTeX export * Publishing links:: Which links keep working after publishing? * Sitemap:: Generating a list of all pages * Generating an index:: An index that reaches across pages  File: org, Node: Project alist, Next: Sources and destinations, Prev: Configuration, Up: Configuration 13.1.1 The variable `org-publish-project-alist' ----------------------------------------------- Publishing is configured almost entirely through setting the value of one variable, called `org-publish-project-alist'. Each element of the list configures one project, and may be in one of the two following forms: ("project-name" :property value :property value ...) i.e., a well-formed property list with alternating keys and values or ("project-name" :components ("project-name" "project-name" ...)) In both cases, projects are configured by specifying property values. A project defines the set of files that will be published, as well as the publishing configuration to use when publishing those files. When a project takes the second form listed above, the individual members of the `:components' property are taken to be sub-projects, which group together files requiring different publishing options. When you publish such a "meta-project", all the components will also be published, in the sequence given.  File: org, Node: Sources and destinations, Next: Selecting files, Prev: Project alist, Up: Configuration 13.1.2 Sources and destinations for files ----------------------------------------- Most properties are optional, but some should always be set. In particular, Org needs to know where to look for source files, and where to put published files. `:base-directory' Directory containing publishing source files `:publishing-directory'Directory where output files will be published. You can directly publish to a web server using a file name syntax appropriate for the Emacs `tramp' package. Or you can publish to a local directory and use external tools to upload your website (*note Uploading files::). `:preparation-function'Function or list of functions to be called before starting the publishing process, for example, to run `make' for updating files to be published. The project property list is scoped into this call as the variable `project-plist'. `:completion-function' Function or list of functions called after finishing the publishing process, for example, to change permissions of the resulting files. The project property list is scoped into this call as the variable `project-plist'.  File: org, Node: Selecting files, Next: Publishing action, Prev: Sources and destinations, Up: Configuration 13.1.3 Selecting files ---------------------- By default, all files with extension `.org' in the base directory are considered part of the project. This can be modified by setting the properties `:base-extension' Extension (without the dot!) of source files. This actually is a regular expression. Set this to the symbol `any' if you want to get all files in `:base-directory', even without extension. `:exclude' Regular expression to match file names that should not be published, even though they have been selected on the basis of their extension. `:include' List of files to be included regardless of `:base-extension' and `:exclude'. `:recursive' non-`nil' means, check base-directory recursively for files to publish.  File: org, Node: Publishing action, Next: Publishing options, Prev: Selecting files, Up: Configuration 13.1.4 Publishing action ------------------------ Publishing means that a file is copied to the destination directory and possibly transformed in the process. The default transformation is to export Org files as HTML files, and this is done by the function `org-html-publish-to-html', which calls the HTML exporter (*note HTML export::). But you also can publish your content as PDF files using `org-latex-publish-to-pdf' or as `ascii', `Texinfo', etc., using the corresponding functions. If you want to publish the Org file as an `.org' file but with the archived, commented and tag-excluded trees removed, use the function `org-org-publish-to-org'. This will produce `file.org' and put it in the publishing directory. If you want a htmlized version of this file, set the parameter `:htmlized-source' to `t', it will produce `file.org.html' in the publishing directory(1). Other files like images only need to be copied to the publishing destination. For this you can use `org-publish-attachment'. For non-org files, you always need to specify the publishing function: `:publishing-function' Function executing the publication of a file. This may also be a list of functions, which will all be called in turn. `:htmlized-source' non-`nil' means, publish htmlized source. The function must accept three arguments: a property list containing at least a `:publishing-directory' property, the name of the file to be published and the path to the publishing directory of the output file. It should take the specified file, make the necessary transformation (if any) and place the result into the destination folder. ---------- Footnotes ---------- (1) If the publishing directory is the same than the source directory, `file.org' will be exported as `file.org.org', so probably don't want to do this.  File: org, Node: Publishing options, Next: Publishing links, Prev: Publishing action, Up: Configuration 13.1.5 Options for the exporters -------------------------------- The property list can be used to set many export options for the exporters. In most cases, these properties correspond to user variables in Org. The first table below lists these properties along with the variable they belong to. The second table list HTML specific properties. See the documentation string of these options for details. `:archived-trees' `org-export-with-archived-trees' `:exclude-tags' `org-export-exclude-tags' `:headline-levels' `org-export-headline-levels' `:language' `org-export-default-language' `:preserve-breaks' `org-export-preserve-breaks' `:publishing-directory' `org-export-publishing-directory' `:section-numbers' `org-export-with-section-numbers' `:select-tags' `org-export-select-tags' `:with-author' `org-export-with-author' `:with-creator' `org-export-with-creator' `:with-drawers' `org-export-with-drawers' `:with-email' `org-export-with-email' `:with-emphasize' `org-export-with-emphasize' `:with-fixed-width' `org-export-with-fixed-width' `:with-footnotes' `org-export-with-footnotes' `:with-latex' `org-export-with-latex' `:with-planning' `org-export-with-planning' `:with-priority' `org-export-with-priority' `:with-special-strings' `org-export-with-special-strings' `:with-sub-superscript' `org-export-with-sub-superscripts' `:with-tables' `org-export-with-tables' `:with-tags' `org-export-with-tags' `:with-tasks' `org-export-with-tasks' `:with-timestamps' `org-export-with-timestamps' `:with-toc' `org-export-with-toc' `:with-todo-keywords' `org-export-with-todo-keywords' `:html-doctype' `org-html-doctype' `:html-xml-declaration' `org-html-xml-declaration' `:html-link-up' `org-html-link-up' `:html-link-home' `org-html-link-home' `:html-link-org-as-html'`org-html-link-org-files-as-html' `:html-head' `org-html-head' `:html-head-extra' `org-html-head-extra' `:html-inline-images' `org-html-inline-images' `:html-extension' `org-html-extension' `:html-preamble' `org-html-preamble' `:html-postamble' `org-html-postamble' `:html-table-attributes'`org-html-table-default-attributes' `:html-head-include-default-style'`org-html-head-include-default-style' `:html-head-include-scripts'`org-html-head-include-scripts' Most of the `org-export-with-*' variables have the same effect in each exporter. When a property is given a value in `org-publish-project-alist', its setting overrides the value of the corresponding user variable (if any) during publishing. Options set within a file (*note Export settings::), however, override everything.  File: org, Node: Publishing links, Next: Sitemap, Prev: Publishing options, Up: Configuration 13.1.6 Links between published files ------------------------------------ To create a link from one Org file to another, you would use something like `[[file:foo.org][The foo]]' or simply `file:foo.org.' (*note Hyperlinks::). When published, this link becomes a link to `foo.html'. You can thus interlink the pages of your "org web" project and the links will work as expected when you publish them to HTML. If you also publish the Org source file and want to link to it, use an `http:' link instead of a `file:' link, because `file:' links are converted to link to the corresponding `html' file. You may also link to related files, such as images. Provided you are careful with relative file names, and provided you have also configured Org to upload the related files, these links will work too. See *note Complex example::, for an example of this usage.  File: org, Node: Sitemap, Next: Generating an index, Prev: Publishing links, Up: Configuration 13.1.7 Generating a sitemap --------------------------- The following properties may be used to control publishing of a map of files for a given project. `:auto-sitemap' When non-`nil', publish a sitemap during `org-publish-current-project' or `org-publish-all'. `:sitemap-filename' Filename for output of sitemap. Defaults to `sitemap.org' (which becomes `sitemap.html'). `:sitemap-title' Title of sitemap page. Defaults to name of file. `:sitemap-function' Plug-in function to use for generation of the sitemap. Defaults to `org-publish-org-sitemap', which generates a plain list of links to all files in the project. `:sitemap-sort-folders' Where folders should appear in the sitemap. Set this to `first' (default) or `last' to display folders first or last, respectively. Any other value will mix files and folders. `:sitemap-sort-files' How the files are sorted in the site map. Set this to `alphabetically' (default), `chronologically' or `anti-chronologically'. `chronologically' sorts the files with older date first while `anti-chronologically' sorts the files with newer date first. `alphabetically' sorts the files alphabetically. The date of a file is retrieved with `org-publish-find-date'. `:sitemap-ignore-case' Should sorting be case-sensitive? Default `nil'. `:sitemap-file-entry-format'With this option one can tell how a sitemap's entry is formatted in the sitemap. This is a format string with some escape sequences: `%t' stands for the title of the file, `%a' stands for the author of the file and `%d' stands for the date of the file. The date is retrieved with the `org-publish-find-date' function and formatted with `org-publish-sitemap-date-format'. Default `%t'. `:sitemap-date-format' Format string for the `format-time-string' function that tells how a sitemap entry's date is to be formatted. This property bypasses `org-publish-sitemap-date-format' which defaults to `%Y-%m-%d'. `:sitemap-sans-extension' When non-`nil', remove filenames' extensions from the generated sitemap. Useful to have cool URIs (see `http://www.w3.org/Provider/Style/URI'). Defaults to `nil'.  File: org, Node: Generating an index, Prev: Sitemap, Up: Configuration 13.1.8 Generating an index -------------------------- Org mode can generate an index across the files of a publishing project. `:makeindex' When non-`nil', generate in index in the file `theindex.org' and publish it as `theindex.html'. The file will be created when first publishing a project with the `:makeindex' set. The file only contains a statement `#+INCLUDE: "theindex.inc"'. You can then build around this include statement by adding a title, style information, etc.  File: org, Node: Uploading files, Next: Sample configuration, Prev: Configuration, Up: Publishing 13.2 Uploading files ==================== For those people already utilizing third party sync tools such as `rsync' or `unison', it might be preferable not to use the built in remote publishing facilities of Org mode which rely heavily on Tramp. Tramp, while very useful and powerful, tends not to be so efficient for multiple file transfer and has been known to cause problems under heavy usage. Specialized synchronization utilities offer several advantages. In addition to timestamp comparison, they also do content and permissions/attribute checks. For this reason you might prefer to publish your web to a local directory (possibly even in place with your Org files) and then use `unison' or `rsync' to do the synchronization with the remote host. Since Unison (for example) can be configured as to which files to transfer to a certain remote destination, it can greatly simplify the project publishing definition. Simply keep all files in the correct location, process your Org files with `org-publish' and let the synchronization tool do the rest. You do not need, in this scenario, to include attachments such as `jpg', `css' or `gif' files in the project definition since the 3rd party tool syncs them. Publishing to a local directory is also much faster than to a remote one, so that you can afford more easily to republish entire projects. If you set `org-publish-use-timestamps-flag' to `nil', you gain the main benefit of re-including any changed external files such as source example files you might include with `#+INCLUDE:'. The timestamp mechanism in Org is not smart enough to detect if included files have been modified.  File: org, Node: Sample configuration, Next: Triggering publication, Prev: Uploading files, Up: Publishing 13.3 Sample configuration ========================= Below we provide two example configurations. The first one is a simple project publishing only a set of Org files. The second example is more complex, with a multi-component project. * Menu: * Simple example:: One-component publishing * Complex example:: A multi-component publishing example  File: org, Node: Simple example, Next: Complex example, Prev: Sample configuration, Up: Sample configuration 13.3.1 Example: simple publishing configuration ----------------------------------------------- This example publishes a set of Org files to the `public_html' directory on the local machine. (setq org-publish-project-alist '(("org" :base-directory "~/org/" :publishing-directory "~/public_html" :section-numbers nil :with-toc nil :html-head "")))  File: org, Node: Complex example, Prev: Simple example, Up: Sample configuration 13.3.2 Example: complex publishing configuration ------------------------------------------------ This more complicated example publishes an entire website, including Org files converted to HTML, image files, Emacs Lisp source code, and style sheets. The publishing directory is remote and private files are excluded. To ensure that links are preserved, care should be taken to replicate your directory structure on the web server, and to use relative file paths. For example, if your Org files are kept in `~/org' and your publishable images in `~/images', you would link to an image with file:../images/myimage.png On the web server, the relative path to the image should be the same. You can accomplish this by setting up an "images" folder in the right place on the web server, and publishing images to it. (setq org-publish-project-alist '(("orgfiles" :base-directory "~/org/" :base-extension "org" :publishing-directory "/ssh:user@host:~/html/notebook/" :publishing-function org-html-publish-to-html :exclude "PrivatePage.org" ;; regexp :headline-levels 3 :section-numbers nil :with-toc nil :html-head "" :html-preamble t) ("images" :base-directory "~/images/" :base-extension "jpg\\|gif\\|png" :publishing-directory "/ssh:user@host:~/html/images/" :publishing-function org-publish-attachment) ("other" :base-directory "~/other/" :base-extension "css\\|el" :publishing-directory "/ssh:user@host:~/html/other/" :publishing-function org-publish-attachment) ("website" :components ("orgfiles" "images" "other"))))  File: org, Node: Triggering publication, Prev: Sample configuration, Up: Publishing 13.4 Triggering publication =========================== Once properly configured, Org can publish with the following commands: `C-c C-e P x (`org-publish')' Prompt for a specific project and publish all files that belong to it. `C-c C-e P p (`org-publish-current-project')' Publish the project containing the current file. `C-c C-e P f (`org-publish-current-file')' Publish only the current file. `C-c C-e P a (`org-publish-all')' Publish every project. Org uses timestamps to track when a file has changed. The above functions normally only publish changed files. You can override this and force publishing of all files by giving a prefix argument to any of the commands above, or by customizing the variable `org-publish-use-timestamps-flag'. This may be necessary in particular if files include other files via `#+SETUPFILE:' or `#+INCLUDE:'.  File: org, Node: Working With Source Code, Next: Miscellaneous, Prev: Publishing, Up: Top 14 Working with source code *************************** Source code can be included in Org mode documents using a `src' block, e.g.: #+BEGIN_SRC emacs-lisp (defun org-xor (a b) "Exclusive or." (if a (not b) b)) #+END_SRC Org mode provides a number of features for working with live source code, including editing of code blocks in their native major-mode, evaluation of code blocks, converting code blocks into source files (known as "tangling" in literate programming), and exporting code blocks and their results in several formats. This functionality was contributed by Eric Schulte and Dan Davison, and was originally named Org-babel. The following sections describe Org mode's code block handling facilities. * Menu: * Structure of code blocks:: Code block syntax described * Editing source code:: Language major-mode editing * Exporting code blocks:: Export contents and/or results * Extracting source code:: Create pure source code files * Evaluating code blocks:: Place results of evaluation in the Org mode buffer * Library of Babel:: Use and contribute to a library of useful code blocks * Languages:: List of supported code block languages * Header arguments:: Configure code block functionality * Results of evaluation:: How evaluation results are handled * Noweb reference syntax:: Literate programming in Org mode * Key bindings and useful functions:: Work quickly with code blocks * Batch execution:: Call functions from the command line  File: org, Node: Structure of code blocks, Next: Editing source code, Prev: Working With Source Code, Up: Working With Source Code 14.1 Structure of code blocks ============================= Live code blocks can be specified with a `src' block or inline.(1) The structure of a `src' block is #+NAME: #+BEGIN_SRC
#+END_SRC The `#+NAME:' line is optional, and can be used to name the code block. Live code blocks require that a language be specified on the `#+BEGIN_SRC' line. Switches and header arguments are optional. Live code blocks can also be specified inline using src_{} or src_[
]{} `<#+NAME: name>' This line associates a name with the code block. This is similar to the `#+NAME: Name' lines that can be used to name tables in Org mode files. Referencing the name of a code block makes it possible to evaluate the block from other places in the file, from other files, or from Org mode table formulas (see *note The spreadsheet::). Names are assumed to be unique and the behavior of Org mode when two or more blocks share the same name is undefined. `' The language of the code in the block (see *note Languages::). `' Optional switches control code block export (see the discussion of switches in *note Literal examples::) `
' Optional header arguments control many aspects of evaluation, export and tangling of code blocks (see *note Header arguments::). Header arguments can also be set on a per-buffer or per-subtree basis using properties. `source code, header arguments' `' Source code in the specified language. ---------- Footnotes ---------- (1) Note that `src' blocks may be inserted using Org mode's *note Easy Templates:: system  File: org, Node: Editing source code, Next: Exporting code blocks, Prev: Structure of code blocks, Up: Working With Source Code 14.2 Editing source code ======================== Use `C-c '' to edit the current code block. This brings up a language major-mode edit buffer containing the body of the code block. Manually saving this buffer with will write the contents back to the Org buffer. You can also set `org-edit-src-auto-save-idle-delay' to save the base buffer after some idle delay, or `org-edit-src-turn-on-auto-save' to auto-save this buffer into a separate file using `auto-save-mode'. Use `C-c '' again to exit. The `org-src-mode' minor mode will be active in the edit buffer. The following variables can be used to configure the behavior of the edit buffer. See also the customization group `org-edit-structure' for further configuration options. `org-src-lang-modes' If an Emacs major-mode named `-mode' exists, where `' is the language named in the header line of the code block, then the edit buffer will be placed in that major-mode. This variable can be used to map arbitrary language names to existing major modes. `org-src-window-setup' Controls the way Emacs windows are rearranged when the edit buffer is created. `org-src-preserve-indentation' This variable is especially useful for tangling languages such as Python, in which whitespace indentation in the output is critical. `org-src-ask-before-returning-to-edit-buffer' By default, Org will ask before returning to an open edit buffer. Set this variable to `nil' to switch without asking. To turn on native code fontification in the _Org_ buffer, configure the variable `org-src-fontify-natively'.  File: org, Node: Exporting code blocks, Next: Extracting source code, Prev: Editing source code, Up: Working With Source Code 14.3 Exporting code blocks ========================== It is possible to export the _code_ of code blocks, the _results_ of code block evaluation, _both_ the code and the results of code block evaluation, or _none_. For most languages, the default exports code. However, for some languages (e.g., `ditaa') the default exports the results of code block evaluation. For information on exporting code block bodies, see *note Literal examples::. The `:exports' header argument can be used to specify export behavior: Header arguments: ................. `:exports code' The default in most languages. The body of the code block is exported, as described in *note Literal examples::. `:exports results' The code block will be evaluated and the results will be placed in the Org mode buffer for export, either updating previous results of the code block located anywhere in the buffer or, if no previous results exist, placing the results immediately after the code block. The body of the code block will not be exported. `:exports both' Both the code block and its results will be exported. `:exports none' Neither the code block nor its results will be exported. It is possible to inhibit the evaluation of code blocks during export. Setting the `org-export-babel-evaluate' variable to `nil' will ensure that no code blocks are evaluated as part of the export process. This can be useful in situations where potentially untrusted Org mode files are exported in an automated fashion, for example when Org mode is used as the markup language for a wiki. It is also possible to set this variable to `‘inline-only'. In that case, only inline code blocks will be evaluated, in order to insert their results. Non-inline code blocks are assumed to have their results already inserted in the buffer by manual evaluation. This setting is useful to avoid expensive recalculations during export, not to provide security.  File: org, Node: Extracting source code, Next: Evaluating code blocks, Prev: Exporting code blocks, Up: Working With Source Code 14.4 Extracting source code =========================== Creating pure source code files by extracting code from source blocks is referred to as "tangling"--a term adopted from the literate programming community. During "tangling" of code blocks their bodies are expanded using `org-babel-expand-src-block' which can expand both variable and "noweb" style references (see *note Noweb reference syntax::). Header arguments ................ `:tangle no' The default. The code block is not included in the tangled output. `:tangle yes' Include the code block in the tangled output. The output file name is the name of the org file with the extension `.org' replaced by the extension for the block language. `:tangle filename' Include the code block in the tangled output to file `filename'. Functions ......... `org-babel-tangle' Tangle the current file. Bound to `C-c C-v t'. With prefix argument only tangle the current code block. `org-babel-tangle-file' Choose a file to tangle. Bound to `C-c C-v f'. Hooks ..... `org-babel-post-tangle-hook' This hook is run from within code files tangled by `org-babel-tangle'. Example applications could include post-processing, compilation or evaluation of tangled code files. Jumping between code and Org ............................ When tangling code from an Org-mode buffer to a source code file, you'll frequently find yourself viewing the file of tangled source code (e.g., many debuggers point to lines of the source code file). It is useful to be able to navigate from the tangled source to the Org-mode buffer from which the code originated. The `org-babel-tangle-jump-to-org' function provides this jumping from code to Org-mode functionality. Two header arguments are required for jumping to work, first the `padline' (*note padline::) option must be set to true (the default setting), second the `comments' (*note comments::) header argument must be set to `links', which will insert comments into the source code buffer which point back to the original Org-mode file.  File: org, Node: Evaluating code blocks, Next: Library of Babel, Prev: Extracting source code, Up: Working With Source Code 14.5 Evaluating code blocks =========================== Code blocks can be evaluated(1) and the results of evaluation optionally placed in the Org mode buffer. The results of evaluation are placed following a line that begins by default with `#+RESULTS' and optionally a cache identifier and/or the name of the evaluated code block. The default value of `#+RESULTS' can be changed with the customizable variable `org-babel-results-keyword'. By default, the evaluation facility is only enabled for Lisp code blocks specified as `emacs-lisp'. However, source code blocks in many languages can be evaluated within Org mode (see *note Languages:: for a list of supported languages and *note Structure of code blocks:: for information on the syntax used to define a code block). There are a number of ways to evaluate code blocks. The simplest is to press `C-c C-c' or `C-c C-v e' with the point on a code block(2). This will call the `org-babel-execute-src-block' function to evaluate the block and insert its results into the Org mode buffer. It is also possible to evaluate named code blocks from anywhere in an Org mode buffer or an Org mode table. Live code blocks located in the current Org mode buffer or in the "Library of Babel" (see *note Library of Babel::) can be executed. Named code blocks can be executed with a separate `#+CALL:' line or inline within a block of text. The syntax of the `#+CALL:' line is #+CALL: () #+CALL: []() The syntax for inline evaluation of named code blocks is ... call_() ... ... call_[]()[] ... `' The name of the code block to be evaluated (see *note Structure of code blocks::). `' Arguments specified in this section will be passed to the code block. These arguments use standard function call syntax, rather than header argument syntax. For example, a `#+CALL:' line that passes the number four to a code block named `double', which declares the header argument `:var n=2', would be written as `#+CALL: double(n=4)'. `' Inside header arguments are passed through and applied to the named code block. These arguments use header argument syntax rather than standard function call syntax. Inside header arguments affect how the code block is evaluated. For example, `[:results output]' will collect the results of everything printed to `STDOUT' during execution of the code block. `' End header arguments are applied to the calling instance and do not affect evaluation of the named code block. They affect how the results are incorporated into the Org mode buffer and how the call line is exported. For example, `:results html' will insert the results of the call line evaluation in the Org buffer, wrapped in a `BEGIN_HTML:' block. For more examples of passing header arguments to `#+CALL:' lines see *note Header arguments in function calls::. ---------- Footnotes ---------- (1) Whenever code is evaluated there is a potential for that code to do harm. Org mode provides safeguards to ensure that code is only evaluated after explicit confirmation from the user. For information on these safeguards (and on how to disable them) see *note Code evaluation security::. (2) The option `org-babel-no-eval-on-ctrl-c-ctrl-c' can be used to remove code evaluation from the `C-c C-c' key binding.  File: org, Node: Library of Babel, Next: Languages, Prev: Evaluating code blocks, Up: Working With Source Code 14.6 Library of Babel ===================== The "Library of Babel" consists of code blocks that can be called from any Org mode file. Code blocks defined in the "Library of Babel" can be called remotely as if they were in the current Org mode buffer (see *note Evaluating code blocks:: for information on the syntax of remote code block evaluation). The central repository of code blocks in the "Library of Babel" is housed in an Org mode file located in the `contrib' directory of Org mode. Users can add code blocks they believe to be generally useful to their "Library of Babel." The code blocks can be stored in any Org mode file and then loaded into the library with `org-babel-lob-ingest'. Code blocks located in any Org mode file can be loaded into the "Library of Babel" with the `org-babel-lob-ingest' function, bound to `C-c C-v i'.  File: org, Node: Languages, Next: Header arguments, Prev: Library of Babel, Up: Working With Source Code 14.7 Languages ============== Code blocks in the following languages are supported. Language Identifier Language Identifier Asymptote asymptote Awk awk Emacs Calc calc C C C++ C++ Clojure clojure CSS css ditaa ditaa Graphviz dot Emacs Lisp emacs-lisp gnuplot gnuplot Haskell haskell Java java Javascript js LaTeX latex Ledger ledger Lisp lisp Lilypond lilypond MATLAB matlab Mscgen mscgen Objective Caml ocaml Octave octave Org mode org Oz oz Perl perl Plantuml plantuml Python python R R Ruby ruby Sass sass Scheme scheme GNU Screen screen shell sh SQL sql SQLite sqlite Language-specific documentation is available for some languages. If available, it can be found at `http://orgmode.org/worg/org-contrib/babel/languages.html'. The option `org-babel-load-languages' controls which languages are enabled for evaluation (by default only `emacs-lisp' is enabled). This variable can be set using the customization interface or by adding code like the following to your emacs configuration. The following disables `emacs-lisp' evaluation and enables evaluation of `R' code blocks. (org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . nil) (R . t))) It is also possible to enable support for a language by loading the related elisp file with `require'. The following adds support for evaluating `clojure' code blocks. (require 'ob-clojure)  File: org, Node: Header arguments, Next: Results of evaluation, Prev: Languages, Up: Working With Source Code 14.8 Header arguments ===================== Code block functionality can be configured with header arguments. This section provides an overview of the use of header arguments, and then describes each header argument in detail. * Menu: * Using header arguments:: Different ways to set header arguments * Specific header arguments:: List of header arguments  File: org, Node: Using header arguments, Next: Specific header arguments, Prev: Header arguments, Up: Header arguments 14.8.1 Using header arguments ----------------------------- The values of header arguments can be set in several way. When the header arguments in each layer have been determined, they are combined in order from the first, least specific (having the lowest priority) up to the last, most specific (having the highest priority). A header argument with a higher priority replaces the same header argument specified at lower priority. * Menu: * System-wide header arguments:: Set global default values * Language-specific header arguments:: Set default values by language * Header arguments in Org mode properties:: Set default values for a buffer or heading * Language-specific header arguments in Org mode properties:: Set language-specific default values for a buffer or heading * Code block specific header arguments:: The most common way to set values * Header arguments in function calls:: The most specific level  File: org, Node: System-wide header arguments, Next: Language-specific header arguments, Prev: Using header arguments, Up: Using header arguments System-wide header arguments ............................ System-wide values of header arguments can be specified by adapting the `org-babel-default-header-args' variable: :session => "none" :results => "replace" :exports => "code" :cache => "no" :noweb => "no" For example, the following example could be used to set the default value of `:noweb' header arguments to `yes'. This would have the effect of expanding `:noweb' references by default when evaluating source code blocks. (setq org-babel-default-header-args (cons '(:noweb . "yes") (assq-delete-all :noweb org-babel-default-header-args)))  File: org, Node: Language-specific header arguments, Next: Header arguments in Org mode properties, Prev: System-wide header arguments, Up: Using header arguments Language-specific header arguments .................................. Each language can define its own set of default header arguments in variable `org-babel-default-header-args:', where `' is the name of the language. See the language-specific documentation available online at `http://orgmode.org/worg/org-contrib/babel'.  File: org, Node: Header arguments in Org mode properties, Next: Language-specific header arguments in Org mode properties, Prev: Language-specific header arguments, Up: Using header arguments Header arguments in Org mode properties ....................................... Buffer-wide header arguments may be specified as properties through the use of `#+PROPERTY:' lines placed anywhere in an Org mode file (see *note Property syntax::). For example the following would set `session' to `*R*' (only for R code blocks), and `results' to `silent' for every code block in the buffer, ensuring that all execution took place in the same session, and no results would be inserted into the buffer. #+PROPERTY: header-args:R :session *R* #+PROPERTY: header-args :results silent Header arguments read from Org mode properties can also be set on a per-subtree basis using property drawers (see *note Property syntax::). When properties are used to set default header arguments, they are always looked up with inheritance, regardless of the value of `org-use-property-inheritance'. Properties are evaluated as seen by the outermost call or source block.(1) In the following example the value of the `:cache' header argument will default to `yes' in all code blocks in the subtree rooted at the following heading: * outline header :PROPERTIES: :header-args: :cache yes :END: Properties defined in this way override the properties set in `org-babel-default-header-args' and are applied for all activated languages. It is convenient to use the `org-set-property' function bound to `C-c C-x p' to set properties in Org mode documents. ---------- Footnotes ---------- (1) The deprecated syntax for default header argument properties, using the name of the header argument as a property name directly, evaluates the property as seen by the corresponding source block definition. This behaviour has been kept for backwards compatibility.  File: org, Node: Language-specific header arguments in Org mode properties, Next: Code block specific header arguments, Prev: Header arguments in Org mode properties, Up: Using header arguments Language-specific header arguments in Org mode properties ......................................................... Language-specific header arguments are also read from properties `header-args:' where `' is the name of the language targeted. As an example * Heading :PROPERTIES: :header-args:clojure: :session *clojure-1* :header-args:R: :session *R* :END: ** Subheading :PROPERTIES: :header-args:clojure: :session *clojure-2* :END: would independently set a default session header argument for R and clojure for calls and source blocks under subtree "Heading" and change to a different clojure setting for evaluations under subtree "Subheading", while the R session is inherited from "Heading" and therefore unchanged.  File: org, Node: Code block specific header arguments, Next: Header arguments in function calls, Prev: Language-specific header arguments in Org mode properties, Up: Using header arguments Code block specific header arguments .................................... The most common way to assign values to header arguments is at the code block level. This can be done by listing a sequence of header arguments and their values as part of the `#+BEGIN_SRC' line. Properties set in this way override both the values of `org-babel-default-header-args' and header arguments specified as properties. In the following example, the `:results' header argument is set to `silent', meaning the results of execution will not be inserted in the buffer, and the `:exports' header argument is set to `code', meaning only the body of the code block will be preserved on export to HTML or LaTeX. #+NAME: factorial #+BEGIN_SRC haskell :results silent :exports code :var n=0 fac 0 = 1 fac n = n * fac (n-1) #+END_SRC Similarly, it is possible to set header arguments for inline code blocks src_haskell[:exports both]{fac 5} Code block header arguments can span multiple lines using `#+HEADER:' or `#+HEADERS:' lines preceding a code block or nested between the `#+NAME:' line and the `#+BEGIN_SRC' line of a named code block. Multi-line header arguments on an un-named code block: #+HEADERS: :var data1=1 #+BEGIN_SRC emacs-lisp :var data2=2 (message "data1:%S, data2:%S" data1 data2) #+END_SRC #+RESULTS: : data1:1, data2:2 Multi-line header arguments on a named code block: #+NAME: named-block #+HEADER: :var data=2 #+BEGIN_SRC emacs-lisp (message "data:%S" data) #+END_SRC #+RESULTS: named-block : data:2  File: org, Node: Header arguments in function calls, Prev: Code block specific header arguments, Up: Using header arguments Header arguments in function calls .................................. At the most specific level, header arguments for "Library of Babel" or `#+CALL:' lines can be set as shown in the two examples below. For more information on the structure of `#+CALL:' lines see *note Evaluating code blocks::. The following will apply the `:exports results' header argument to the evaluation of the `#+CALL:' line. #+CALL: factorial(n=5) :exports results The following will apply the `:session special' header argument to the evaluation of the `factorial' code block. #+CALL: factorial[:session special](n=5)  File: org, Node: Specific header arguments, Prev: Using header arguments, Up: Header arguments 14.8.2 Specific header arguments -------------------------------- Header arguments consist of an initial colon followed by the name of the argument in lowercase letters. The following header arguments are defined: * Menu: * var:: Pass arguments to code blocks * results:: Specify the type of results and how they will be collected and handled * file:: Specify a path for file output * file-desc:: Specify a description for file results * dir:: Specify the default (possibly remote) directory for code block execution * exports:: Export code and/or results * tangle:: Toggle tangling and specify file name * mkdirp:: Toggle creation of parent directories of target files during tangling * comments:: Toggle insertion of comments in tangled code files * padline:: Control insertion of padding lines in tangled code files * no-expand:: Turn off variable assignment and noweb expansion during tangling * session:: Preserve the state of code evaluation * noweb:: Toggle expansion of noweb references * noweb-ref:: Specify block's noweb reference resolution target * noweb-sep:: String used to separate noweb references * cache:: Avoid re-evaluating unchanged code blocks * sep:: Delimiter for writing tabular results outside Org * hlines:: Handle horizontal lines in tables * colnames:: Handle column names in tables * rownames:: Handle row names in tables * shebang:: Make tangled files executable * tangle-mode:: Set permission of tangled files * eval:: Limit evaluation of specific code blocks * wrap:: Mark source block evaluation results * post:: Post processing of code block results * prologue:: Text to prepend to code block body * epilogue:: Text to append to code block body Additional header arguments are defined on a language-specific basis, see *note Languages::.  File: org, Node: var, Next: results, Prev: Specific header arguments, Up: Specific header arguments 14.8.2.1 `:var' ............... The `:var' header argument is used to pass arguments to code blocks. The specifics of how arguments are included in a code block vary by language; these are addressed in the language-specific documentation. However, the syntax used to specify arguments is the same across all languages. In every case, variables require a default value when they are declared. The values passed to arguments can either be literal values, references, or Emacs Lisp code (see *note Emacs Lisp evaluation of variables: var.). References include anything in the Org mode file that takes a `#+NAME:' or `#+RESULTS:' line: tables, lists, `#+BEGIN_EXAMPLE' blocks, other code blocks and the results of other code blocks. Note: When a reference is made to another code block, the referenced block will be evaluated unless it has current cached results (see *note cache::). Argument values can be indexed in a manner similar to arrays (see *note Indexable variable values: var.). The following syntax is used to pass arguments to code blocks using the `:var' header argument. :var name=assign The argument, `assign', can either be a literal value, such as a string `"string"' or a number `9', or a reference to a table, a list, a literal example, another code block (with or without arguments), or the results of evaluating another code block. Here are examples of passing values by reference: "table" an Org mode table named with either a `#+NAME:' line #+NAME: example-table | 1 | | 2 | | 3 | | 4 | #+NAME: table-length #+BEGIN_SRC emacs-lisp :var table=example-table (length table) #+END_SRC #+RESULTS: table-length : 4 "list" a simple list named with a `#+NAME:' line (note that nesting is not carried through to the source code block) #+NAME: example-list - simple - not - nested - list #+BEGIN_SRC emacs-lisp :var x=example-list (print x) #+END_SRC #+RESULTS: | simple | list | "code block without arguments" a code block name (from the example above), as assigned by `#+NAME:', optionally followed by parentheses #+BEGIN_SRC emacs-lisp :var length=table-length() (* 2 length) #+END_SRC #+RESULTS: : 8 "code block with arguments" a code block name, as assigned by `#+NAME:', followed by parentheses and optional arguments passed within the parentheses following the code block name using standard function call syntax #+NAME: double #+BEGIN_SRC emacs-lisp :var input=8 (* 2 input) #+END_SRC #+RESULTS: double : 16 #+NAME: squared #+BEGIN_SRC emacs-lisp :var input=double(input=1) (* input input) #+END_SRC #+RESULTS: squared : 4 "literal example" a literal example block named with a `#+NAME:' line #+NAME: literal-example #+BEGIN_EXAMPLE A literal example on two lines #+END_EXAMPLE #+NAME: read-literal-example #+BEGIN_SRC emacs-lisp :var x=literal-example (concatenate 'string x " for you.") #+END_SRC #+RESULTS: read-literal-example : A literal example : on two lines for you. Indexable variable values ......................... It is possible to reference portions of variable values by "indexing" into the variables. Indexes are 0 based with negative values counting back from the end. If an index is separated by `,'s then each subsequent section will index into the next deepest nesting or dimension of the value. Note that this indexing occurs _before_ other table related header arguments like `:hlines', `:colnames' and `:rownames' are applied. The following example assigns the last cell of the first row the table `example-table' to the variable `data': #+NAME: example-table | 1 | a | | 2 | b | | 3 | c | | 4 | d | #+BEGIN_SRC emacs-lisp :var data=example-table[0,-1] data #+END_SRC #+RESULTS: : a Ranges of variable values can be referenced using two integers separated by a `:', in which case the entire inclusive range is referenced. For example the following assigns the middle three rows of `example-table' to `data'. #+NAME: example-table | 1 | a | | 2 | b | | 3 | c | | 4 | d | | 5 | 3 | #+BEGIN_SRC emacs-lisp :var data=example-table[1:3] data #+END_SRC #+RESULTS: | 2 | b | | 3 | c | | 4 | d | Additionally, an empty index, or the single character `*', are both interpreted to mean the entire range and as such are equivalent to `0:-1', as shown in the following example in which the entire first column is referenced. #+NAME: example-table | 1 | a | | 2 | b | | 3 | c | | 4 | d | #+BEGIN_SRC emacs-lisp :var data=example-table[,0] data #+END_SRC #+RESULTS: | 1 | 2 | 3 | 4 | It is possible to index into the results of code blocks as well as tables. Any number of dimensions can be indexed. Dimensions are separated from one another by commas, as shown in the following example. #+NAME: 3D #+BEGIN_SRC emacs-lisp '(((1 2 3) (4 5 6) (7 8 9)) ((10 11 12) (13 14 15) (16 17 18)) ((19 20 21) (22 23 24) (25 26 27))) #+END_SRC #+BEGIN_SRC emacs-lisp :var data=3D[1,,1] data #+END_SRC #+RESULTS: | 11 | 14 | 17 | Emacs Lisp evaluation of variables .................................. Emacs lisp code can be used to initialize variable values. When a variable value starts with `(', `[', `'' or ``' it will be evaluated as Emacs Lisp and the result of the evaluation will be assigned as the variable value. The following example demonstrates use of this evaluation to reliably pass the file-name of the Org mode buffer to a code block--note that evaluation of header arguments is guaranteed to take place in the original Org mode file, while there is no such guarantee for evaluation of the code block body. #+BEGIN_SRC sh :var filename=(buffer-file-name) :exports both wc -w $filename #+END_SRC Note that values read from tables and lists will not be evaluated as Emacs Lisp, as shown in the following example. #+NAME: table | (a b c) | #+HEADERS: :var data=table[0,0] #+BEGIN_SRC perl $data #+END_SRC #+RESULTS: : (a b c)  File: org, Node: results, Next: file, Prev: var, Up: Specific header arguments 14.8.2.2 `:results' ................... There are four classes of `:results' header argument. Only one option per class may be supplied per code block. * collection header arguments specify how the results should be collected from the code block * type header arguments specify what type of result the code block will return--which has implications for how they will be processed before insertion into the Org mode buffer * format header arguments specify what type of result the code block will return--which has implications for how they will be inserted into the Org mode buffer * handling header arguments specify how the results of evaluating the code block should be handled. Collection .......... The following options are mutually exclusive, and specify how the results should be collected from the code block. * `value' This is the default. The result is the value of the last statement in the code block. This header argument places the evaluation in functional mode. Note that in some languages, e.g., Python, use of this result type requires that a `return' statement be included in the body of the source code block. E.g., `:results value'. * `output' The result is the collection of everything printed to STDOUT during the execution of the code block. This header argument places the evaluation in scripting mode. E.g., `:results output'. Type .... The following options are mutually exclusive and specify what type of results the code block will return. By default, results are inserted as either a table or scalar depending on their value. * `table', `vector' The results should be interpreted as an Org mode table. If a single value is returned, it will be converted into a table with one row and one column. E.g., `:results value table'. * `list' The results should be interpreted as an Org mode list. If a single scalar value is returned it will be converted into a list with only one element. * `scalar', `verbatim' The results should be interpreted literally--they will not be converted into a table. The results will be inserted into the Org mode buffer as quoted text. E.g., `:results value verbatim'. * `file' The results will be interpreted as the path to a file, and will be inserted into the Org mode buffer as a file link. E.g., `:results value file'. Format ...... The following options are mutually exclusive and specify what type of results the code block will return. By default, results are inserted according to the type as specified above. * `raw' The results are interpreted as raw Org mode code and are inserted directly into the buffer. If the results look like a table they will be aligned as such by Org mode. E.g., `:results value raw'. * `org' The results are will be enclosed in a `BEGIN_SRC org' block. They are not comma-escaped by default but they will be if you hit `TAB' in the block and/or if you export the file. E.g., `:results value org'. * `html' Results are assumed to be HTML and will be enclosed in a `BEGIN_HTML' block. E.g., `:results value html'. * `latex' Results assumed to be LaTeX and are enclosed in a `BEGIN_LaTeX' block. E.g., `:results value latex'. * `code' Result are assumed to be parsable code and are enclosed in a code block. E.g., `:results value code'. * `pp' The result is converted to pretty-printed code and is enclosed in a code block. This option currently supports Emacs Lisp, Python, and Ruby. E.g., `:results value pp'. * `drawer' The result is wrapped in a RESULTS drawer. This can be useful for inserting `raw' or `org' syntax results in such a way that their extent is known and they can be automatically removed or replaced. Handling ........ The following results options indicate what happens with the results once they are collected. * `silent' The results will be echoed in the minibuffer but will not be inserted into the Org mode buffer. E.g., `:results output silent'. * `replace' The default value. Any existing results will be removed, and the new results will be inserted into the Org mode buffer in their place. E.g., `:results output replace'. * `append' If there are pre-existing results of the code block then the new results will be appended to the existing results. Otherwise the new results will be inserted as with `replace'. * `prepend' If there are pre-existing results of the code block then the new results will be prepended to the existing results. Otherwise the new results will be inserted as with `replace'.  File: org, Node: file, Next: file-desc, Prev: results, Up: Specific header arguments 14.8.2.3 `:file' ................ The header argument `:file' is used to specify an external file in which to save code block results. After code block evaluation an Org mode style `[[file:]]' link (see *note Link format::) to the file will be inserted into the Org mode buffer. Some languages including R, gnuplot, dot, and ditaa provide special handling of the `:file' header argument automatically wrapping the code block body in the boilerplate code required to save output to the specified file. This is often useful for saving graphical output of a code block to the specified file. The argument to `:file' should be either a string specifying the path to a file, or a list of two strings in which case the first element of the list should be the path to a file and the second a description for the link.  File: org, Node: file-desc, Next: dir, Prev: file, Up: Specific header arguments 14.8.2.4 `:file-desc' ..................... The value of the `:file-desc' header argument is used to provide a description for file code block results which are inserted as Org mode links (see *note Link format::). If the `:file-desc' header argument is given with no value the link path will be placed in both the "link" and the "description" portion of the Org mode link.  File: org, Node: dir, Next: exports, Prev: file-desc, Up: Specific header arguments 14.8.2.5 `:dir' and remote execution .................................... While the `:file' header argument can be used to specify the path to the output file, `:dir' specifies the default directory during code block execution. If it is absent, then the directory associated with the current buffer is used. In other words, supplying `:dir path' temporarily has the same effect as changing the current directory with `M-x cd path RET', and then not supplying `:dir'. Under the surface, `:dir' simply sets the value of the Emacs variable `default-directory'. When using `:dir', you should supply a relative path for file output (e.g., `:file myfile.jpg' or `:file results/myfile.jpg') in which case that path will be interpreted relative to the default directory. In other words, if you want your plot to go into a folder called `Work' in your home directory, you could use #+BEGIN_SRC R :file myplot.png :dir ~/Work matplot(matrix(rnorm(100), 10), type="l") #+END_SRC Remote execution ................ A directory on a remote machine can be specified using tramp file syntax, in which case the code will be evaluated on the remote machine. An example is #+BEGIN_SRC R :file plot.png :dir /dand@yakuba.princeton.edu: plot(1:10, main=system("hostname", intern=TRUE)) #+END_SRC Text results will be returned to the local Org mode buffer as usual, and file output will be created on the remote machine with relative paths interpreted relative to the remote directory. An Org mode link to the remote file will be created. So, in the above example a plot will be created on the remote machine, and a link of the following form will be inserted in the org buffer: [[file:/scp:dand@yakuba.princeton.edu:/home/dand/plot.png][plot.png]] Most of this functionality follows immediately from the fact that `:dir' sets the value of the Emacs variable `default-directory', thanks to tramp. Those using XEmacs, or GNU Emacs prior to version 23 may need to install tramp separately in order for these features to work correctly. Further points .............. * If `:dir' is used in conjunction with `:session', although it will determine the starting directory for a new session as expected, no attempt is currently made to alter the directory associated with an existing session. * `:dir' should typically not be used to create files during export with `:exports results' or `:exports both'. The reason is that, in order to retain portability of exported material between machines, during export links inserted into the buffer will _not_ be expanded against `default directory'. Therefore, if `default-directory' is altered using `:dir', it is probable that the file will be created in a location to which the link does not point.  File: org, Node: exports, Next: tangle, Prev: dir, Up: Specific header arguments 14.8.2.6 `:exports' ................... The `:exports' header argument specifies what should be included in HTML or LaTeX exports of the Org mode file. * `code' The default. The body of code is included into the exported file. E.g., `:exports code'. * `results' The result of evaluating the code is included in the exported file. E.g., `:exports results'. * `both' Both the code and results are included in the exported file. E.g., `:exports both'. * `none' Nothing is included in the exported file. E.g., `:exports none'.  File: org, Node: tangle, Next: mkdirp, Prev: exports, Up: Specific header arguments 14.8.2.7 `:tangle' .................. The `:tangle' header argument specifies whether or not the code block should be included in tangled extraction of source code files. * `tangle' The code block is exported to a source code file named after the full path (including the directory) and file name (w/o extension) of the Org mode file. E.g., `:tangle yes'. * `no' The default. The code block is not exported to a source code file. E.g., `:tangle no'. * other Any other string passed to the `:tangle' header argument is interpreted as a path (directory and file name relative to the directory of the Org mode file) to which the block will be exported. E.g., `:tangle path'.  File: org, Node: mkdirp, Next: comments, Prev: tangle, Up: Specific header arguments 14.8.2.8 `:mkdirp' .................. The `:mkdirp' header argument can be used to create parent directories of tangled files when missing. This can be set to `yes' to enable directory creation or to `no' to inhibit directory creation.  File: org, Node: comments, Next: padline, Prev: mkdirp, Up: Specific header arguments 14.8.2.9 `:comments' .................... By default code blocks are tangled to source-code files without any insertion of comments beyond those which may already exist in the body of the code block. The `:comments' header argument can be set as follows to control the insertion of extra comments into the tangled code file. * `no' The default. No extra comments are inserted during tangling. * `link' The code block is wrapped in comments which contain pointers back to the original Org file from which the code was tangled. * `yes' A synonym for "link" to maintain backwards compatibility. * `org' Include text from the Org mode file as a comment. The text is picked from the leading context of the tangled code and is limited by the nearest headline or source block as the case may be. * `both' Turns on both the "link" and "org" comment options. * `noweb' Turns on the "link" comment option, and additionally wraps expanded noweb references in the code block body in link comments.  File: org, Node: padline, Next: no-expand, Prev: comments, Up: Specific header arguments 14.8.2.10 `:padline' .................... Control in insertion of padding lines around code block bodies in tangled code files. The default value is `yes' which results in insertion of newlines before and after each tangled code block. The following arguments are accepted. * `yes' Insert newlines before and after each code block body in tangled code files. * `no' Do not insert any newline padding in tangled output.  File: org, Node: no-expand, Next: session, Prev: padline, Up: Specific header arguments 14.8.2.11 `:no-expand' ...................... By default, code blocks are expanded with `org-babel-expand-src-block' during tangling. This has the effect of assigning values to variables specified with `:var' (see *note var::), and of replacing "noweb" references (see *note Noweb reference syntax::) with their targets. The `:no-expand' header argument can be used to turn off this behavior.  File: org, Node: session, Next: noweb, Prev: no-expand, Up: Specific header arguments 14.8.2.12 `:session' .................... The `:session' header argument starts a session for an interpreted language where state is preserved. By default, a session is not started. A string passed to the `:session' header argument will give the session a name. This makes it possible to run concurrent sessions for each interpreted language.  File: org, Node: noweb, Next: noweb-ref, Prev: session, Up: Specific header arguments 14.8.2.13 `:noweb' .................. The `:noweb' header argument controls expansion of "noweb" syntax references (see *note Noweb reference syntax::) when the code block is evaluated, tangled, or exported. The `:noweb' header argument can have one of the five values: `no', `yes', `tangle', or `no-export' `strip-export'. * `no' The default. "Noweb" syntax references in the body of the code block will not be expanded before the code block is evaluated, tangled or exported. * `yes' "Noweb" syntax references in the body of the code block will be expanded before the code block is evaluated, tangled or exported. * `tangle' "Noweb" syntax references in the body of the code block will be expanded before the code block is tangled. However, "noweb" syntax references will not be expanded when the code block is evaluated or exported. * `no-export' "Noweb" syntax references in the body of the code block will be expanded before the block is evaluated or tangled. However, "noweb" syntax references will not be expanded when the code block is exported. * `strip-export' "Noweb" syntax references in the body of the code block will be expanded before the block is evaluated or tangled. However, "noweb" syntax references will be removed when the code block is exported. * `eval' "Noweb" syntax references in the body of the code block will only be expanded before the block is evaluated. Noweb prefix lines .................. Noweb insertions are now placed behind the line prefix of the `<>'. This behavior is illustrated in the following example. Because the `<>' noweb reference appears behind the SQL comment syntax, each line of the expanded noweb reference will be commented. This code block: -- <> expands to: -- this is the -- multi-line body of example Note that noweb replacement text that does not contain any newlines will not be affected by this change, so it is still possible to use inline noweb references.  File: org, Node: noweb-ref, Next: noweb-sep, Prev: noweb, Up: Specific header arguments 14.8.2.14 `:noweb-ref' ...................... When expanding "noweb" style references the bodies of all code block with _either_ a block name matching the reference name _or_ a `:noweb-ref' header argument matching the reference name will be concatenated together to form the replacement text. By setting this header argument at the sub-tree or file level, simple code block concatenation may be achieved. For example, when tangling the following Org mode file, the bodies of code blocks will be concatenated into the resulting pure code file(1). #+BEGIN_SRC sh :tangle yes :noweb yes :shebang #!/bin/sh <> #+END_SRC * the mount point of the fullest disk :PROPERTIES: :noweb-ref: fullest-disk :END: ** query all mounted disks #+BEGIN_SRC sh df \ #+END_SRC ** strip the header row #+BEGIN_SRC sh |sed '1d' \ #+END_SRC ** sort by the percent full #+BEGIN_SRC sh |awk '{print $5 " " $6}'|sort -n |tail -1 \ #+END_SRC ** extract the mount point #+BEGIN_SRC sh |awk '{print $2}' #+END_SRC The `:noweb-sep' (see *note noweb-sep::) header argument holds the string used to separate accumulate noweb references like those above. By default a newline is used. ---------- Footnotes ---------- (1) (The example needs property inheritance to be turned on for the `noweb-ref' property, see *note Property inheritance::).  File: org, Node: noweb-sep, Next: cache, Prev: noweb-ref, Up: Specific header arguments 14.8.2.15 `:noweb-sep' ...................... The `:noweb-sep' header argument holds the string used to separate accumulate noweb references (see *note noweb-ref::). By default a newline is used.  File: org, Node: cache, Next: sep, Prev: noweb-sep, Up: Specific header arguments 14.8.2.16 `:cache' .................. The `:cache' header argument controls the use of in-buffer caching of the results of evaluating code blocks. It can be used to avoid re-evaluating unchanged code blocks. Note that the `:cache' header argument will not attempt to cache results when the `:session' header argument is used, because the results of the code block execution may be stored in the session outside of the Org mode buffer. The `:cache' header argument can have one of two values: `yes' or `no'. * `no' The default. No caching takes place, and the code block will be evaluated every time it is called. * `yes' Every time the code block is run a SHA1 hash of the code and arguments passed to the block will be generated. This hash is packed into the `#+RESULTS:' line and will be checked on subsequent executions of the code block. If the code block has not changed since the last time it was evaluated, it will not be re-evaluated. Code block caches notice if the value of a variable argument to the code block has changed. If this is the case, the cache is invalidated and the code block is re-run. In the following example, `caller' will not be re-run unless the results of `random' have changed since it was last run. #+NAME: random #+BEGIN_SRC R :cache yes runif(1) #+END_SRC #+RESULTS[a2a72cd647ad44515fab62e144796432793d68e1]: random 0.4659510825295 #+NAME: caller #+BEGIN_SRC emacs-lisp :var x=random :cache yes x #+END_SRC #+RESULTS[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller 0.254227238707244  File: org, Node: sep, Next: hlines, Prev: cache, Up: Specific header arguments 14.8.2.17 `:sep' ................ The `:sep' header argument can be used to control the delimiter used when writing tabular results out to files external to Org mode. This is used either when opening tabular results of a code block by calling the `org-open-at-point' function bound to `C-c C-o' on the code block, or when writing code block results to an external file (see *note file::) header argument. By default, when `:sep' is not specified output tables are tab delimited.  File: org, Node: hlines, Next: colnames, Prev: sep, Up: Specific header arguments 14.8.2.18 `:hlines' ................... Tables are frequently represented with one or more horizontal lines, or hlines. The `:hlines' argument to a code block accepts the values `yes' or `no', with a default value of `no'. * `no' Strips horizontal lines from the input table. In most languages this is the desired effect because an `hline' symbol is interpreted as an unbound variable and raises an error. Setting `:hlines no' or relying on the default value yields the following results. #+NAME: many-cols | a | b | c | |---+---+---| | d | e | f | |---+---+---| | g | h | i | #+NAME: echo-table #+BEGIN_SRC python :var tab=many-cols return tab #+END_SRC #+RESULTS: echo-table | a | b | c | | d | e | f | | g | h | i | * `yes' Leaves hlines in the table. Setting `:hlines yes' has this effect. #+NAME: many-cols | a | b | c | |---+---+---| | d | e | f | |---+---+---| | g | h | i | #+NAME: echo-table #+BEGIN_SRC python :var tab=many-cols :hlines yes return tab #+END_SRC #+RESULTS: echo-table | a | b | c | |---+---+---| | d | e | f | |---+---+---| | g | h | i |  File: org, Node: colnames, Next: rownames, Prev: hlines, Up: Specific header arguments 14.8.2.19 `:colnames' ..................... The `:colnames' header argument accepts the values `yes', `no', or `nil' for unassigned. The default value is `nil'. Note that the behavior of the `:colnames' header argument may differ across languages. * `nil' If an input table looks like it has column names (because its second row is an hline), then the column names will be removed from the table before processing, then reapplied to the results. #+NAME: less-cols | a | |---| | b | | c | #+NAME: echo-table-again #+BEGIN_SRC python :var tab=less-cols return [[val + '*' for val in row] for row in tab] #+END_SRC #+RESULTS: echo-table-again | a | |----| | b* | | c* | Please note that column names are not removed before the table is indexed using variable indexing *Note Indexable variable values: var. * `no' No column name pre-processing takes place * `yes' Column names are removed and reapplied as with `nil' even if the table does not "look like" it has column names (i.e., the second row is not an hline)  File: org, Node: rownames, Next: shebang, Prev: colnames, Up: Specific header arguments 14.8.2.20 `:rownames' ..................... The `:rownames' header argument can take on the values `yes' or `no', with a default value of `no'. Note that Emacs Lisp code blocks ignore the `:rownames' header argument entirely given the ease with which tables with row names may be handled directly in Emacs Lisp. * `no' No row name pre-processing will take place. * `yes' The first column of the table is removed from the table before processing, and is then reapplied to the results. #+NAME: with-rownames | one | 1 | 2 | 3 | 4 | 5 | | two | 6 | 7 | 8 | 9 | 10 | #+NAME: echo-table-once-again #+BEGIN_SRC python :var tab=with-rownames :rownames yes return [[val + 10 for val in row] for row in tab] #+END_SRC #+RESULTS: echo-table-once-again | one | 11 | 12 | 13 | 14 | 15 | | two | 16 | 17 | 18 | 19 | 20 | Please note that row names are not removed before the table is indexed using variable indexing *Note Indexable variable values: var.  File: org, Node: shebang, Next: tangle-mode, Prev: rownames, Up: Specific header arguments 14.8.2.21 `:shebang' .................... Setting the `:shebang' header argument to a string value (e.g., `:shebang "#!/bin/bash"') causes the string to be inserted as the first line of any tangled file holding the code block, and the file permissions of the tangled file are set to make it executable.  File: org, Node: tangle-mode, Next: eval, Prev: shebang, Up: Specific header arguments 14.8.2.22 `:tangle-mode' ........................ The `tangle-mode' header argument controls the permission set on tangled files. The value of this header argument will be passed to `set-file-modes'. For example, to set a tangled file as read only use `:tangle-mode (identity #o444)', or to set a tangled file as executable use `:tangle-mode (identity #o755)'. Blocks with `shebang' (*note shebang::) header arguments will automatically be made executable unless the `tangle-mode' header argument is also used. The behavior is undefined if multiple code blocks with different values for the `tangle-mode' header argument are tangled to the same file.  File: org, Node: eval, Next: wrap, Prev: tangle-mode, Up: Specific header arguments 14.8.2.23 `:eval' ................. The `:eval' header argument can be used to limit the evaluation of specific code blocks. The `:eval' header argument can be useful for protecting against the evaluation of dangerous code blocks or to ensure that evaluation will require a query regardless of the value of the `org-confirm-babel-evaluate' variable. The possible values of `:eval' and their effects are shown below. `never or no' The code block will not be evaluated under any circumstances. `query' Evaluation of the code block will require a query. `never-export or no-export' The code block will not be evaluated during export but may still be called interactively. `query-export' Evaluation of the code block during export will require a query. If this header argument is not set then evaluation is determined by the value of the `org-confirm-babel-evaluate' variable see *note Code evaluation security::.  File: org, Node: wrap, Next: post, Prev: eval, Up: Specific header arguments 14.8.2.24 `:wrap' ................. The `:wrap' header argument is used to mark the results of source block evaluation. The header argument can be passed a string that will be appended to `#+BEGIN_' and `#+END_', which will then be used to wrap the results. If not string is specified then the results will be wrapped in a `#+BEGIN/END_RESULTS' block.  File: org, Node: post, Next: prologue, Prev: wrap, Up: Specific header arguments 14.8.2.25 `:post' ................. The `:post' header argument is used to post-process the results of a code block execution. When a post argument is given, the results of the code block will temporarily be bound to the `*this*' variable. This variable may then be included in header argument forms such as those used in *note var:: header argument specifications allowing passing of results to other code blocks, or direct execution via Emacs Lisp. The following example illustrates the usage of the `:post' header argument. #+name: attr_wrap #+begin_src sh :var data="" :var width="\\textwidth" :results output echo "#+ATTR_LATEX :width $width" echo "$data" #+end_src #+header: :file /tmp/it.png #+begin_src dot :post attr_wrap(width="5cm", data=*this*) :results drawer digraph{ a -> b; b -> c; c -> a; } #+end_src #+RESULTS: :RESULTS: #+ATTR_LATEX :width 5cm [[file:/tmp/it.png]] :END:  File: org, Node: prologue, Next: epilogue, Prev: post, Up: Specific header arguments 14.8.2.26 `:prologue' ..................... The value of the `prologue' header argument will be prepended to the code block body before execution. For example, `:prologue "reset"' may be used to reset a gnuplot session before execution of a particular code block, or the following configuration may be used to do this for all gnuplot code blocks. Also see *note epilogue::. (add-to-list 'org-babel-default-header-args:gnuplot '((:prologue . "reset")))  File: org, Node: epilogue, Prev: prologue, Up: Specific header arguments 14.8.2.27 `:epilogue' ..................... The value of the `epilogue' header argument will be appended to the code block body before execution. Also see *note prologue::.  File: org, Node: Results of evaluation, Next: Noweb reference syntax, Prev: Header arguments, Up: Working With Source Code 14.9 Results of evaluation ========================== The way in which results are handled depends on whether a session is invoked, as well as on whether `:results value' or `:results output' is used. The following table shows the table possibilities. For a full listing of the possible results header arguments see *note results::. Non-session Session `:results value' value of last value of last expression expression `:results output' contents of STDOUT concatenation of interpreter output Note: With `:results value', the result in both `:session' and non-session is returned to Org mode as a table (a one- or two-dimensional vector of strings or numbers) when appropriate. 14.9.1 Non-session ------------------ 14.9.1.1 `:results value' ......................... This is the default. Internally, the value is obtained by wrapping the code in a function definition in the external language, and evaluating that function. Therefore, code should be written as if it were the body of such a function. In particular, note that Python does not automatically return a value from a function unless a `return' statement is present, and so a `return' statement will usually be required in Python. This is the only one of the four evaluation contexts in which the code is automatically wrapped in a function definition. 14.9.1.2 `:results output' .......................... The code is passed to the interpreter as an external process, and the contents of the standard output stream are returned as text. (In certain languages this also contains the error output stream; this is an area for future work.) 14.9.2 Session -------------- 14.9.2.1 `:results value' ......................... The code is passed to an interpreter running as an interactive Emacs inferior process. Only languages which provide tools for interactive evaluation of code have session support, so some language (e.g., C and ditaa) do not support the `:session' header argument, and in other languages (e.g., Python and Haskell) which have limitations on the code which may be entered into interactive sessions, those limitations apply to the code in code blocks using the `:session' header argument as well. Unless the `:results output' option is supplied (see below) the result returned is the result of the last evaluation performed by the interpreter. (This is obtained in a language-specific manner: the value of the variable `_' in Python and Ruby, and the value of `.Last.value' in R). 14.9.2.2 `:results output' .......................... The code is passed to the interpreter running as an interactive Emacs inferior process. The result returned is the concatenation of the sequence of (text) output from the interactive interpreter. Notice that this is not necessarily the same as what would be sent to `STDOUT' if the same code were passed to a non-interactive interpreter running as an external process. For example, compare the following two blocks: #+BEGIN_SRC python :results output print "hello" 2 print "bye" #+END_SRC #+RESULTS: : hello : bye In non-session mode, the `2' is not printed and does not appear. #+BEGIN_SRC python :results output :session print "hello" 2 print "bye" #+END_SRC #+RESULTS: : hello : 2 : bye But in `:session' mode, the interactive interpreter receives input `2' and prints out its value, `2'. (Indeed, the other print statements are unnecessary here).  File: org, Node: Noweb reference syntax, Next: Key bindings and useful functions, Prev: Results of evaluation, Up: Working With Source Code 14.10 Noweb reference syntax ============================ The "noweb" (see `http://www.cs.tufts.edu/~nr/noweb/') Literate Programming system allows named blocks of code to be referenced by using the familiar Noweb syntax: <> When a code block is tangled or evaluated, whether or not "noweb" references are expanded depends upon the value of the `:noweb' header argument. If `:noweb yes', then a Noweb reference is expanded before evaluation. If `:noweb no', the default, then the reference is not expanded before evaluation. See the *note noweb-ref:: header argument for a more flexible way to resolve noweb references. It is possible to include the _results_ of a code block rather than the body. This is done by appending parenthesis to the code block name which may optionally contain arguments to the code block as shown below. <> Note: the default value, `:noweb no', was chosen to ensure that correct code is not broken in a language, such as Ruby, where `<>' is a syntactically valid construct. If `<>' is not syntactically valid in languages that you use, then please consider setting the default value. Note: if noweb tangling is slow in large Org mode files consider setting the `org-babel-use-quick-and-dirty-noweb-expansion' variable to `t'. This will result in faster noweb reference resolution at the expense of not correctly resolving inherited values of the `:noweb-ref' header argument.  File: org, Node: Key bindings and useful functions, Next: Batch execution, Prev: Noweb reference syntax, Up: Working With Source Code 14.11 Key bindings and useful functions ======================================= Many common Org mode key sequences are re-bound depending on the context. Within a code block, the following key bindings are active: `C-c C-c' `org-babel-execute-src-block' `C-c C-o' `org-babel-open-src-block-result' `C-' `org-babel-load-in-session' `M-' `org-babel-pop-to-session' In an Org mode buffer, the following key bindings are active: `C-c C-v p' or `C-c C-v `org-babel-previous-src-block' C-p' `C-c C-v n' or `C-c C-v `org-babel-next-src-block' C-n' `C-c C-v e' or `C-c C-v `org-babel-execute-maybe' C-e' `C-c C-v o' or `C-c C-v `org-babel-open-src-block-result' C-o' `C-c C-v v' or `C-c C-v `org-babel-expand-src-block' C-v' `C-c C-v u' or `C-c C-v `org-babel-goto-src-block-head' C-u' `C-c C-v g' or `C-c C-v `org-babel-goto-named-src-block' C-g' `C-c C-v r' or `C-c C-v `org-babel-goto-named-result' C-r' `C-c C-v b' or `C-c C-v `org-babel-execute-buffer' C-b' `C-c C-v s' or `C-c C-v `org-babel-execute-subtree' C-s' `C-c C-v d' or `C-c C-v `org-babel-demarcate-block' C-d' `C-c C-v t' or `C-c C-v `org-babel-tangle' C-t' `C-c C-v f' or `C-c C-v `org-babel-tangle-file' C-f' `C-c C-v c' or `C-c C-v `org-babel-check-src-block' C-c' `C-c C-v j' or `C-c C-v `org-babel-insert-header-arg' C-j' `C-c C-v l' or `C-c C-v `org-babel-load-in-session' C-l' `C-c C-v i' or `C-c C-v `org-babel-lob-ingest' C-i' `C-c C-v I' or `C-c C-v `org-babel-view-src-block-info' C-I' `C-c C-v z' or `C-c C-v `org-babel-switch-to-session-with-code' C-z' `C-c C-v a' or `C-c C-v `org-babel-sha1-hash' C-a' `C-c C-v h' or `C-c C-v `org-babel-describe-bindings' C-h' `C-c C-v x' or `C-c C-v `org-babel-do-key-sequence-in-edit-buffer' C-x'  File: org, Node: Batch execution, Prev: Key bindings and useful functions, Up: Working With Source Code 14.12 Batch execution ===================== It is possible to call functions from the command line. This shell script calls `org-babel-tangle' on every one of its arguments. Be sure to adjust the paths to fit your system. #!/bin/sh # -*- mode: shell-script -*- # # tangle files with org-mode # DIR=`pwd` FILES="" # wrap each argument in the code required to call tangle on it for i in $@; do FILES="$FILES \"$i\"" done emacs -Q --batch \ --eval "(progn (add-to-list 'load-path (expand-file-name \"~/src/org/lisp/\")) (add-to-list 'load-path (expand-file-name \"~/src/org/contrib/lisp/\" t)) (require 'org)(require 'org-exp)(require 'ob)(require 'ob-tangle) (mapc (lambda (file) (find-file (expand-file-name file \"$DIR\")) (org-babel-tangle) (kill-buffer)) '($FILES)))" 2>&1 |grep tangled  File: org, Node: Miscellaneous, Next: Hacking, Prev: Working With Source Code, Up: Top 15 Miscellaneous **************** * Menu: * Completion:: M-TAB knows what you need * Easy Templates:: Quick insertion of structural elements * Speed keys:: Electric commands at the beginning of a headline * Code evaluation security:: Org mode files evaluate inline code * Customization:: Adapting Org to your taste * In-buffer settings:: Overview of the #+KEYWORDS * The very busy C-c C-c key:: When in doubt, press C-c C-c * Clean view:: Getting rid of leading stars in the outline * TTY keys:: Using Org on a tty * Interaction:: Other Emacs packages * org-crypt:: Encrypting Org files  File: org, Node: Completion, Next: Easy Templates, Prev: Miscellaneous, Up: Miscellaneous 15.1 Completion =============== Emacs would not be Emacs without completion, and Org mode uses it whenever it makes sense. If you prefer an iswitchb- or ido-like interface for some of the completion prompts, you can specify your preference by setting at most one of the variables `org-completion-use-iswitchb' `org-completion-use-ido'. Org supports in-buffer completion. This type of completion does not make use of the minibuffer. You simply type a few letters into the buffer and use the key to complete text right there. `M-' Complete word at point * At the beginning of a headline, complete TODO keywords. * After `\', complete TeX symbols supported by the exporter. * After `*', complete headlines in the current buffer so that they can be used in search links like `[[*find this headline]]'. * After `:' in a headline, complete tags. The list of tags is taken from the variable `org-tag-alist' (possibly set through the `#+TAGS' in-buffer option, *note Setting tags::), or it is created dynamically from all tags used in the current buffer. * After `:' and not in a headline, complete property keys. The list of keys is constructed dynamically from all keys used in the current buffer. * After `[', complete link abbreviations (*note Link abbreviations::). * After `#+', complete the special keywords like `TYP_TODO' or `OPTIONS' which set file-specific options for Org mode. When the option keyword is already complete, pressing `M-' again will insert example settings for this keyword. * In the line after `#+STARTUP: ', complete startup keywords, i.e., valid keys for this line. * Elsewhere, complete dictionary words using Ispell.  File: org, Node: Easy Templates, Next: Speed keys, Prev: Completion, Up: Miscellaneous 15.2 Easy Templates =================== Org mode supports insertion of empty structural elements (like `#+BEGIN_SRC' and `#+END_SRC' pairs) with just a few key strokes. This is achieved through a native template expansion mechanism. Note that Emacs has several other template mechanisms which could be used in a similar way, for example `yasnippet'. To insert a structural element, type a `<', followed by a template selector and `'. Completion takes effect only when the above keystrokes are typed on a line by itself. The following template selectors are currently supported. `s' `#+BEGIN_SRC ... #+END_SRC' `e' `#+BEGIN_EXAMPLE ... #+END_EXAMPLE' `q' `#+BEGIN_QUOTE ... #+END_QUOTE' `v' `#+BEGIN_VERSE ... #+END_VERSE' `c' `#+BEGIN_CENTER ... #+END_CENTER' `l' `#+BEGIN_LaTeX ... #+END_LaTeX' `L' `#+LaTeX:' `h' `#+BEGIN_HTML ... #+END_HTML' `H' `#+HTML:' `a' `#+BEGIN_ASCII ... #+END_ASCII' `A' `#+ASCII:' `i' `#+INDEX:' line `I' `#+INCLUDE:' line For example, on an empty line, typing "Customization' menu. Many settings can also be activated on a per-file basis, by putting special lines into the buffer (*note In-buffer settings::).  File: org, Node: In-buffer settings, Next: The very busy C-c C-c key, Prev: Customization, Up: Miscellaneous 15.6 Summary of in-buffer settings ================================== Org mode uses special lines in the buffer to define settings on a per-file basis. These lines start with a `#+' followed by a keyword, a colon, and then individual words defining a setting. Several setting words can be in the same line, but you can also have multiple lines for the keyword. While these settings are described throughout the manual, here is a summary. After changing any of those lines in the buffer, press `C-c C-c' with the cursor still in the line to activate the changes immediately. Otherwise they become effective only when the file is visited again in a new Emacs session. `#+ARCHIVE: %s_done::' This line sets the archive location for the agenda file. It applies for all subsequent lines until the next `#+ARCHIVE' line, or the end of the file. The first such line also applies to any entries before it. The corresponding variable is `org-archive-location'. `#+CATEGORY:' This line sets the category for the agenda file. The category applies for all subsequent lines until the next `#+CATEGORY' line, or the end of the file. The first such line also applies to any entries before it. `#+COLUMNS: %25ITEM .....' Set the default format for columns view. This format applies when columns view is invoked in locations where no `COLUMNS' property applies. `#+CONSTANTS: name1=value1 ...' Set file-local values for constants to be used in table formulas. This line sets the local variable `org-table-formula-constants-local'. The global version of this variable is `org-table-formula-constants'. `#+FILETAGS: :tag1:tag2:tag3:' Set tags that can be inherited by any entry in the file, including the top-level entries. `#+DRAWERS: NAME1 .....' Set the file-local set of additional drawers. The corresponding global variable is `org-drawers'. `#+LINK: linkword replace' These lines (several are allowed) specify link abbreviations. *Note Link abbreviations::. The corresponding variable is `org-link-abbrev-alist'. `#+PRIORITIES: highest lowest default' This line sets the limits and the default for the priorities. All three must be either letters A-Z or numbers 0-9. The highest priority must have a lower ASCII number than the lowest priority. `#+PROPERTY: Property_Name Value' This line sets a default inheritance value for entries in the current buffer, most useful for specifying the allowed values of a property. `#+SETUPFILE: file' This line defines a file that holds more in-buffer setup. Normally this is entirely ignored. Only when the buffer is parsed for option-setting lines (i.e., when starting Org mode for a file, when pressing `C-c C-c' in a settings line, or when exporting), then the contents of this file are parsed as if they had been included in the buffer. In particular, the file can be any other Org mode file with internal setup. You can visit the file the cursor is in the line with `C-c ''. `#+STARTUP:' This line sets options to be used at startup of Org mode, when an Org file is being visited. The first set of options deals with the initial visibility of the outline tree. The corresponding variable for global default settings is `org-startup-folded', with a default value `t', which means `overview'. overview top-level headlines only content all headlines showall no folding of any entries showeverything show even drawer contents Dynamic virtual indentation is controlled by the variable `org-startup-indented'(1) indent start with `org-indent-mode' turned on noindent start with `org-indent-mode' turned off Then there are options for aligning tables upon visiting a file. This is useful in files containing narrowed table columns. The corresponding variable is `org-startup-align-all-tables', with a default value `nil'. align align all tables noalign don't align tables on startup When visiting a file, inline images can be automatically displayed. The corresponding variable is `org-startup-with-inline-images', with a default value `nil' to avoid delays when visiting a file. inlineimages show inline images noinlineimages don't show inline images on startup When visiting a file, LaTeX fragments can be converted to images automatically. The variable `org-startup-with-latex-preview' which controls this behavior, is set to `nil' by default to avoid delays on startup. latexpreview preview LaTeX fragments nolatexpreview don't preview LaTeX fragments Logging the closing and reopening of TODO items and clock intervals can be configured using these options (see variables `org-log-done', `org-log-note-clock-out' and `org-log-repeat') logdone record a timestamp when an item is marked DONE lognotedone record timestamp and a note when DONE nologdone don't record when items are marked DONE logrepeat record a time when reinstating a repeating item lognoterepeat record a note when reinstating a repeating item nologrepeat do not record when reinstating repeating item lognoteclock-out record a note when clocking out nolognoteclock-out don't record a note when clocking out logreschedule record a timestamp when scheduling time changes lognotereschedule record a note when scheduling time changes nologreschedule do not record when a scheduling date changes logredeadline record a timestamp when deadline changes lognoteredeadline record a note when deadline changes nologredeadline do not record when a deadline date changes logrefile record a timestamp when refiling lognoterefile record a note when refiling nologrefile do not record when refiling logdrawer store log into drawer nologdrawer store log outside of drawer logstatesreversed reverse the order of states notes nologstatesreversed do not reverse the order of states notes Here are the options for hiding leading stars in outline headings, and for indenting outlines. The corresponding variables are `org-hide-leading-stars' and `org-odd-levels-only', both with a default setting `nil' (meaning `showstars' and `oddeven'). hidestars make all but one of the stars starting a headline invisible. showstars show all stars starting a headline indent virtual indentation according to outline level noindent no virtual indentation according to outline level odd allow only odd outline levels (1,3,...) oddeven allow all outline levels To turn on custom format overlays over timestamps (variables `org-put-time-stamp-overlays' and `org-time-stamp-overlay-formats'), use customtime overlay custom time format The following options influence the table spreadsheet (variable `constants-unit-system'). constcgs `constants.el' should use the c-g-s unit system constSI `constants.el' should use the SI unit system To influence footnote settings, use the following keywords. The corresponding variables are `org-footnote-define-inline', `org-footnote-auto-label', and `org-footnote-auto-adjust'. fninline define footnotes inline fnnoinline define footnotes in separate section fnlocal define footnotes near first reference, but not inline fnprompt prompt for footnote labels fnauto create `[fn:1]'-like labels automatically (default) fnconfirm offer automatic label for editing or confirmation fnplain create `[1]'-like labels automatically fnadjust automatically renumber and sort footnotes nofnadjust do not renumber and sort automatically To hide blocks on startup, use these keywords. The corresponding variable is `org-hide-block-startup'. hideblocks Hide all begin/end blocks on startup nohideblocks Do not hide blocks on startup The display of entities as UTF-8 characters is governed by the variable `org-pretty-entities' and the keywords entitiespretty Show entities as UTF-8 characters where possible entitiesplain Leave entities plain `#+TAGS: TAG1(c1) TAG2(c2)' These lines (several such lines are allowed) specify the valid tags in this file, and (potentially) the corresponding _fast tag selection_ keys. The corresponding variable is `org-tag-alist'. `#+TBLFM:' This line contains the formulas for the table directly above the line. Table can have multiple lines containing `#+TBLFM:'. Note that only the first line of `#+TBLFM:' will be applied when you recalculate the table. For more details see *note Using multiple #+TBLFM lines:: in *note Editing and debugging formulas::. `#+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+DATE:,' `#+OPTIONS:, #+BIND:,' `#+DESCRIPTION:, #+KEYWORDS:,' `#+LaTeX_HEADER:, #+LaTeX_HEADER_EXTRA:,' `#+HTML_HEAD:, #+HTML_HEAD_EXTRA:, #+HTML_LINK_UP:, #+HTML_LINK_HOME:,' `#+SELECT_TAGS:, #+EXCLUDE_TAGS:' These lines provide settings for exporting files. For more details see *note Export settings::. `#+TODO: #+SEQ_TODO: #+TYP_TODO:' These lines set the TODO keywords and their interpretation in the current file. The corresponding variable is `org-todo-keywords'. ---------- Footnotes ---------- (1) Emacs 23 and Org mode 6.29 are required  File: org, Node: The very busy C-c C-c key, Next: Clean view, Prev: In-buffer settings, Up: Miscellaneous 15.7 The very busy C-c C-c key ============================== The key `C-c C-c' has many purposes in Org, which are all mentioned scattered throughout this manual. One specific function of this key is to add _tags_ to a headline (*note Tags::). In many other circumstances it means something like _"Hey Org, look here and update according to what you see here"_. Here is a summary of what this means in different contexts. - If there are highlights in the buffer from the creation of a sparse tree, or from clock display, remove these highlights. - If the cursor is in one of the special `#+KEYWORD' lines, this triggers scanning the buffer for these lines and updating the information. - If the cursor is inside a table, realign the table. This command works even if the automatic table editor has been turned off. - If the cursor is on a `#+TBLFM' line, re-apply the formulas to the entire table. - If the current buffer is a capture buffer, close the note and file it. With a prefix argument, file it, without further interaction, to the default location. - If the cursor is on a `<<>>', update radio targets and corresponding links in this buffer. - If the cursor is in a property line or at the start or end of a property drawer, offer property commands. - If the cursor is at a footnote reference, go to the corresponding definition, and _vice versa_. - If the cursor is on a statistics cookie, update it. - If the cursor is in a plain list item with a checkbox, toggle the status of the checkbox. - If the cursor is on a numbered item in a plain list, renumber the ordered list. - If the cursor is on the `#+BEGIN' line of a dynamic block, the block is updated. - If the cursor is at a timestamp, fix the day name in the timestamp.  File: org, Node: Clean view, Next: TTY keys, Prev: The very busy C-c C-c key, Up: Miscellaneous 15.8 A cleaner outline view =========================== Some people find it noisy and distracting that the Org headlines start with a potentially large number of stars, and that text below the headlines is not indented. While this is no problem when writing a _book-like_ document where the outline headings are really section headings, in a more _list-oriented_ outline, indented structure is a lot cleaner: * Top level headline | * Top level headline ** Second level | * Second level *** 3rd level | * 3rd level some text | some text *** 3rd level | * 3rd level more text | more text * Another top level headline | * Another top level headline If you are using at least Emacs 23.2(1) and version 6.29 of Org, this kind of view can be achieved dynamically at display time using `org-indent-mode'. In this minor mode, all lines are prefixed for display with the necessary amount of space(2). Also headlines are prefixed with additional stars, so that the amount of indentation shifts by two(3) spaces per level. All headline stars but the last one are made invisible using the `org-hide' face(4); see below under `2.' for more information on how this works. You can turn on `org-indent-mode' for all files by customizing the variable `org-startup-indented', or you can turn it on for individual files using #+STARTUP: indent If you want a similar effect in an earlier version of Emacs and/or Org, or if you want the indentation to be hard space characters so that the plain text file looks as similar as possible to the Emacs display, Org supports you in the following way: 1. _Indentation of text below headlines_ You may indent text below each headline to make the left boundary line up with the headline, like *** 3rd level more text, now indented Org supports this with paragraph filling, line wrapping, and structure editing(5), preserving or adapting the indentation as appropriate. 2. _Hiding leading stars_ You can modify the display in such a way that all leading stars become invisible. To do this in a global way, configure the variable `org-hide-leading-stars' or change this on a per-file basis with #+STARTUP: hidestars #+STARTUP: showstars With hidden stars, the tree becomes: * Top level headline * Second level * 3rd level ... The leading stars are not truly replaced by whitespace, they are only fontified with the face `org-hide' that uses the background color as font color. If you are not using either white or black background, you may have to customize this face to get the wanted effect. Another possibility is to set this font such that the extra stars are almost invisible, for example using the color `grey90' on a white background. 3. Things become cleaner still if you skip all the even levels and use only odd levels 1, 3, 5..., effectively adding two stars to go from one outline level to the next(6). In this way we get the outline view shown at the beginning of this section. In order to make the structure editing and export commands handle this convention correctly, configure the variable `org-odd-levels-only', or set this on a per-file basis with one of the following lines: #+STARTUP: odd #+STARTUP: oddeven You can convert an Org file from single-star-per-level to the double-star-per-level convention with `M-x org-convert-to-odd-levels RET' in that file. The reverse operation is `M-x org-convert-to-oddeven-levels'. ---------- Footnotes ---------- (1) Emacs 23.1 can actually crash with `org-indent-mode' (2) `org-indent-mode' also sets the `wrap-prefix' property, such that `visual-line-mode' (or purely setting `word-wrap') wraps long lines (including headlines) correctly indented. (3) See the variable `org-indent-indentation-per-level'. (4) Turning on `org-indent-mode' sets `org-hide-leading-stars' to `t' and `org-adapt-indentation' to `nil'. (5) See also the variable `org-adapt-indentation'. (6) When you need to specify a level for a property search or refile targets, `LEVEL=2' will correspond to 3 stars, etc.  File: org, Node: TTY keys, Next: Interaction, Prev: Clean view, Up: Miscellaneous 15.9 Using Org on a tty ======================= Because Org contains a large number of commands, by default many of Org's core commands are bound to keys that are generally not accessible on a tty, such as the cursor keys (, , , ), and , in particular when used together with modifiers like and/or . To access these commands on a tty when special keys are unavailable, the following alternative bindings can be used. The tty bindings below will likely be more cumbersome; you may find for some of the bindings below that a customized workaround suits you better. For example, changing a timestamp is really only fun with `S-' keys, whereas on a tty you would rather use `C-c .' to re-insert the timestamp. Default Alternative 1 Speed Alternative 2 key `S-' `C-u ' `C' `M-' `C-c C-x l' `l' ` ' `M-S-'`C-c C-x L' `L' `M-' `C-c C-x r' `r' ` ' `M-S-'`C-c C-x R' `R' `M-' `C-c C-x u' ` ' ` ' `M-S-' `C-c C-x U' `U' `M-' `C-c C-x d' ` ' ` ' `M-S-'`C-c C-x D' `D' `S-' `C-c C-x c' ` ' `M-' `C-c C-x m' ` ' ` ' `M-S-' `C-c C-x M' ` ' `S-' `C-c ' ` ' `S-' `C-c ' ` ' `S-' `C-c ' ` ' `S-' `C-c ' ` ' `C-S-'`C-c C-x ` ' ' `C-S-'`C-c C-x ` ' '  File: org, Node: Interaction, Next: org-crypt, Prev: TTY keys, Up: Miscellaneous 15.10 Interaction with other packages ===================================== Org lives in the world of GNU Emacs and interacts in various ways with other code out there. * Menu: * Cooperation:: Packages Org cooperates with * Conflicts:: Packages that lead to conflicts  File: org, Node: Cooperation, Next: Conflicts, Prev: Interaction, Up: Interaction 15.10.1 Packages that Org cooperates with ----------------------------------------- `calc.el' by Dave Gillespie Org uses the Calc package for implementing spreadsheet functionality in its tables (*note The spreadsheet::). Org checks for the availability of Calc by looking for the function `calc-eval' which will have been autoloaded during setup if Calc has been installed properly. As of Emacs 22, Calc is part of the Emacs distribution. Another possibility for interaction between the two packages is using Calc for embedded calculations. *Note Embedded Mode: (calc)Embedded Mode. `constants.el' by Carsten Dominik In a table formula (*note The spreadsheet::), it is possible to use names for natural constants or units. Instead of defining your own constants in the variable `org-table-formula-constants', install the `constants' package which defines a large number of constants and units, and lets you use unit prefixes like `M' for `Mega', etc. You will need version 2.0 of this package, available at `http://www.astro.uva.nl/~dominik/Tools'. Org checks for the function `constants-get', which has to be autoloaded in your setup. See the installation instructions in the file `constants.el'. `cdlatex.el' by Carsten Dominik Org mode can make use of the CDLaTeX package to efficiently enter LaTeX fragments into Org files. See *note CDLaTeX mode::. `imenu.el' by Ake Stenhoff and Lars Lindberg Imenu allows menu access to an index of items in a file. Org mode supports Imenu--all you need to do to get the index is the following: (add-hook 'org-mode-hook (lambda () (imenu-add-to-menubar "Imenu"))) By default the index is two levels deep--you can modify the depth using the option `org-imenu-depth'. `remember.el' by John Wiegley Org used to use this package for capture, but no longer does. `speedbar.el' by Eric M. Ludlam Speedbar is a package that creates a special frame displaying files and index items in files. Org mode supports Speedbar and allows you to drill into Org files directly from the Speedbar. It also allows you to restrict the scope of agenda commands to a file or a subtree by using the command `<' in the Speedbar frame. `table.el' by Takaaki Ota Complex ASCII tables with automatic line wrapping, column- and row-spanning, and alignment can be created using the Emacs table package by Takaaki Ota (`http://sourceforge.net/projects/table', and also part of Emacs 22). Org mode will recognize these tables and export them properly. Because of interference with other Org mode functionality, you unfortunately cannot edit these tables directly in the buffer. Instead, you need to use the command `C-c '' to edit them, similar to source code snippets. `C-c ' (`org-edit-special')' Edit a `table.el' table. Works when the cursor is in a table.el table. `C-c ~ (`org-table-create-with-table.el')' Insert a `table.el' table. If there is already a table at point, this command converts it between the `table.el' format and the Org mode format. See the documentation string of the command `org-convert-table' for the restrictions under which this is possible. `table.el' is part of Emacs since Emacs 22. `footnote.el' by Steven L. Baur Org mode recognizes numerical footnotes as provided by this package. However, Org mode also has its own footnote support (*note Footnotes::), which makes using `footnote.el' unnecessary.  File: org, Node: Conflicts, Prev: Cooperation, Up: Interaction 15.10.2 Packages that lead to conflicts with Org mode ----------------------------------------------------- In Emacs 23, `shift-selection-mode' is on by default, meaning that cursor motions combined with the shift key should start or enlarge regions. This conflicts with the use of `S-' commands in Org to change timestamps, TODO keywords, priorities, and item bullet types if the cursor is at such a location. By default, `S-' commands outside special contexts don't do anything, but you can customize the variable `org-support-shift-select'. Org mode then tries to accommodate shift selection by (i) using it outside of the special contexts where special commands apply, and by (ii) extending an existing active region even if the cursor moves across a special context. `CUA.el' by Kim. F. Storm Key bindings in Org conflict with the `S-' keys used by CUA mode (as well as `pc-select-mode' and `s-region-mode') to select and extend the region. In fact, Emacs 23 has this built-in in the form of `shift-selection-mode', see previous paragraph. If you are using Emacs 23, you probably don't want to use another package for this purpose. However, if you prefer to leave these keys to a different package while working in Org mode, configure the variable `org-replace-disputed-keys'. When set, Org will move the following key bindings in Org files, and in the agenda buffer (but not during date selection). S-UP => M-p S-DOWN => M-n S-LEFT => M-- S-RIGHT => M-+ C-S-LEFT => M-S-- C-S-RIGHT => M-S-+ Yes, these are unfortunately more difficult to remember. If you want to have other replacement keys, look at the variable `org-disputed-keys'. `ecomplete.el' by Lars Magne Ingebrigtsen Ecomplete provides "electric" address completion in address header lines in message buffers. Sadly Orgtbl mode cuts ecompletes power supply: No completion happens when Orgtbl mode is enabled in message buffers while entering text in address header lines. If one wants to use ecomplete one should _not_ follow the advice to automagically turn on Orgtbl mode in message buffers (see *note Orgtbl mode::), but instead--after filling in the message headers--turn on Orgtbl mode manually when needed in the messages body. `filladapt.el' by Kyle Jones Org mode tries to do the right thing when filling paragraphs, list items and other elements. Many users reported they had problems using both `filladapt.el' and Org mode, so a safe thing to do is to disable it like this: (add-hook 'org-mode-hook 'turn-off-filladapt-mode) `yasnippet.el' The way Org mode binds the key (binding to `[tab]' instead of `"\t"') overrules YASnippet's access to this key. The following code fixed this problem: (add-hook 'org-mode-hook (lambda () (org-set-local 'yas/trigger-key [tab]) (define-key yas/keymap [tab] 'yas/next-field-or-maybe-expand))) The latest version of yasnippet doesn't play well with Org mode. If the above code does not fix the conflict, start by defining the following function: (defun yas/org-very-safe-expand () (let ((yas/fallback-behavior 'return-nil)) (yas/expand))) Then, tell Org mode what to do with the new function: (add-hook 'org-mode-hook (lambda () (make-variable-buffer-local 'yas/trigger-key) (setq yas/trigger-key [tab]) (add-to-list 'org-tab-first-hook 'yas/org-very-safe-expand) (define-key yas/keymap [tab] 'yas/next-field))) `windmove.el' by Hovav Shacham This package also uses the `S-' keys, so everything written in the paragraph above about CUA mode also applies here. If you want make the windmove function active in locations where Org mode does not have special functionality on `S-', add this to your configuration: ;; Make windmove work in org-mode: (add-hook 'org-shiftup-final-hook 'windmove-up) (add-hook 'org-shiftleft-final-hook 'windmove-left) (add-hook 'org-shiftdown-final-hook 'windmove-down) (add-hook 'org-shiftright-final-hook 'windmove-right) `viper.el' by Michael Kifer Viper uses `C-c /' and therefore makes this key not access the corresponding Org mode command `org-sparse-tree'. You need to find another key for this command, or override the key in `viper-vi-global-user-map' with (define-key viper-vi-global-user-map "C-c /" 'org-sparse-tree)  File: org, Node: org-crypt, Prev: Interaction, Up: Miscellaneous 15.11 org-crypt.el ================== Org-crypt will encrypt the text of an entry, but not the headline, or properties. Org-crypt uses the Emacs EasyPG library to encrypt and decrypt files. Any text below a headline that has a `:crypt:' tag will be automatically be encrypted when the file is saved. If you want to use a different tag just customize the `org-crypt-tag-matcher' setting. To use org-crypt it is suggested that you have the following in your `.emacs': (require 'org-crypt) (org-crypt-use-before-save-magic) (setq org-tags-exclude-from-inheritance (quote ("crypt"))) (setq org-crypt-key nil) ;; GPG key to use for encryption ;; Either the Key ID or set to nil to use symmetric encryption. (setq auto-save-default nil) ;; Auto-saving does not cooperate with org-crypt.el: so you need ;; to turn it off if you plan to use org-crypt.el quite often. ;; Otherwise, you'll get an (annoying) message each time you ;; start Org. ;; To turn it off only locally, you can insert this: ;; ;; # -*- buffer-auto-save-file-name: nil; -*- Excluding the crypt tag from inheritance prevents already encrypted text being encrypted again.  File: org, Node: Hacking, Next: MobileOrg, Prev: Miscellaneous, Up: Top Appendix A Hacking ****************** This appendix covers some aspects where users can extend the functionality of Org. * Menu: * Hooks:: How to reach into Org's internals * Add-on packages:: Available extensions * Adding hyperlink types:: New custom link types * Adding export back-ends:: How to write new export back-ends * Context-sensitive commands:: How to add functionality to such commands * Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs * Dynamic blocks:: Automatically filled blocks * Special agenda views:: Customized views * Speeding up your agendas:: Tips on how to speed up your agendas * Extracting agenda information:: Post-processing of agenda information * Using the property API:: Writing programs that use entry properties * Using the mapping API:: Mapping over all or selected entries  File: org, Node: Hooks, Next: Add-on packages, Prev: Hacking, Up: Hacking A.1 Hooks ========= Org has a large number of hook variables that can be used to add functionality. This appendix about hacking is going to illustrate the use of some of them. A complete list of all hooks with documentation is maintained by the Worg project and can be found at `http://orgmode.org/worg/org-configs/org-hooks.php'.  File: org, Node: Add-on packages, Next: Adding hyperlink types, Prev: Hooks, Up: Hacking A.2 Add-on packages =================== A large number of add-on packages have been written by various authors. These packages are not part of Emacs, but they are distributed as contributed packages with the separate release available at `http://orgmode.org'. See the `contrib/README' file in the source code directory for a list of contributed files. You may also find some more information on the Worg page: `http://orgmode.org/worg/org-contrib/'.  File: org, Node: Adding hyperlink types, Next: Adding export back-ends, Prev: Add-on packages, Up: Hacking A.3 Adding hyperlink types ========================== Org has a large number of hyperlink types built-in (*note Hyperlinks::). If you would like to add new link types, Org provides an interface for doing so. Let's look at an example file, `org-man.el', that will add support for creating links like `[[man:printf][The printf manpage]]' to show Unix manual pages inside Emacs: ;;; org-man.el - Support for links to manpages in Org (require 'org) (org-add-link-type "man" 'org-man-open) (add-hook 'org-store-link-functions 'org-man-store-link) (defcustom org-man-command 'man "The Emacs command to be used to display a man page." :group 'org-link :type '(choice (const man) (const woman))) (defun org-man-open (path) "Visit the manpage on PATH. PATH should be a topic that can be thrown at the man command." (funcall org-man-command path)) (defun org-man-store-link () "Store a link to a manpage." (when (memq major-mode '(Man-mode woman-mode)) ;; This is a man page, we do make this link (let* ((page (org-man-get-page-name)) (link (concat "man:" page)) (description (format "Manpage for %s" page))) (org-store-link-props :type "man" :link link :description description)))) (defun org-man-get-page-name () "Extract the page name from the buffer name." ;; This works for both `Man-mode' and `woman-mode'. (if (string-match " \\(\\S-+\\)\\*" (buffer-name)) (match-string 1 (buffer-name)) (error "Cannot create link to this man page"))) (provide 'org-man) ;;; org-man.el ends here You would activate this new link type in `.emacs' with (require 'org-man) Let's go through the file and see what it does. 1. It does `(require 'org)' to make sure that `org.el' has been loaded. 2. The next line calls `org-add-link-type' to define a new link type with prefix `man'. The call also contains the name of a function that will be called to follow such a link. 3. The next line adds a function to `org-store-link-functions', in order to allow the command `C-c l' to record a useful link in a buffer displaying a man page. The rest of the file defines the necessary variables and functions. First there is a customization variable that determines which Emacs command should be used to display man pages. There are two options, `man' and `woman'. Then the function to follow a link is defined. It gets the link path as an argument--in this case the link path is just a topic for the manual command. The function calls the value of `org-man-command' to display the man page. Finally the function `org-man-store-link' is defined. When you try to store a link with `C-c l', this function will be called to try to make a link. The function must first decide if it is supposed to create the link for this buffer type; we do this by checking the value of the variable `major-mode'. If not, the function must exit and return the value `nil'. If yes, the link is created by getting the manual topic from the buffer name and prefixing it with the string `man:'. Then it must call the command `org-store-link-props' and set the `:type' and `:link' properties. Optionally you can also set the `:description' property to provide a default for the link description when the link is later inserted into an Org buffer with `C-c C-l'. When it makes sense for your new link type, you may also define a function `org-PREFIX-complete-link' that implements special (e.g., completion) support for inserting such a link with `C-c C-l'. Such a function should not accept any arguments, and return the full link with prefix.  File: org, Node: Adding export back-ends, Next: Context-sensitive commands, Prev: Adding hyperlink types, Up: Hacking A.4 Adding export back-ends =========================== Org 8.0 comes with a completely rewritten export engine which makes it easy to write new export back-ends, either from scratch, or from deriving them from existing ones. Your two entry points are respectively `org-export-define-backend' and `org-export-define-derived-backend'. To grok these functions, you should first have a look at `ox-latex.el' (for how to define a new back-end from scratch) and `ox-beamer.el' (for how to derive a new back-end from an existing one. When creating a new back-end from scratch, the basic idea is to set the name of the back-end (as a symbol) and an an alist of elements and export functions. On top of this, you will need to set additional keywords like `:menu-entry' (to display the back-end in the export dispatcher), `:export-block' (to specify what blocks should not be exported by this back-end), and `:options-alist' (to let the user set export options that are specific to this back-end.) Deriving a new back-end is similar, except that you need to set `:translate-alist' to an alist of export functions that should be used instead of the parent back-end functions. For a complete reference documentation, see the Org Export Reference on Worg (http://orgmode.org/worg/dev/org-export-reference.html).  File: org, Node: Context-sensitive commands, Next: Tables in arbitrary syntax, Prev: Adding export back-ends, Up: Hacking A.5 Context-sensitive commands ============================== Org has several commands that act differently depending on context. The most important example is the `C-c C-c' (*note The very busy C-c C-c key::). Also the `M-cursor' and `M-S-cursor' keys have this property. Add-ons can tap into this functionality by providing a function that detects special context for that add-on and executes functionality appropriate for the context. Here is an example from Dan Davison's `org-R.el' which allows you to evaluate commands based on the `R' programming language (1). For this package, special contexts are lines that start with `#+R:' or `#+RR:'. (defun org-R-apply-maybe () "Detect if this is context for org-R and execute R commands." (if (save-excursion (beginning-of-line 1) (looking-at "#\\+RR?:")) (progn (call-interactively 'org-R-apply) t) ;; to signal that we took action nil)) ;; to signal that we did not (add-hook 'org-ctrl-c-ctrl-c-hook 'org-R-apply-maybe) The function first checks if the cursor is in such a line. If that is the case, `org-R-apply' is called and the function returns `t' to signal that action was taken, and `C-c C-c' will stop looking for other contexts. If the function finds it should do nothing locally, it returns `nil' so that other, similar functions can have a try. ---------- Footnotes ---------- (1) `org-R.el' has been replaced by the Org mode functionality described in *note Working With Source Code:: and is now obsolete.  File: org, Node: Tables in arbitrary syntax, Next: Dynamic blocks, Prev: Context-sensitive commands, Up: Hacking A.6 Tables and lists in arbitrary syntax ======================================== Since Orgtbl mode can be used as a minor mode in arbitrary buffers, a frequent feature request has been to make it work with native tables in specific languages, for example LaTeX. However, this is extremely hard to do in a general way, would lead to a customization nightmare, and would take away much of the simplicity of the Orgtbl mode table editor. This appendix describes a different approach. We keep the Orgtbl mode table in its native format (the source table), and use a custom function to translate the table to the correct syntax, and to install it in the right location (the target table). This puts the burden of writing conversion functions on the user, but it allows for a very flexible system. Bastien added the ability to do the same with lists, in Orgstruct mode. You can use Org's facilities to edit and structure lists by turning `orgstruct-mode' on, then locally exporting such lists in another format (HTML, LaTeX or Texinfo.) * Menu: * Radio tables:: Sending and receiving radio tables * A LaTeX example:: Step by step, almost a tutorial * Translator functions:: Copy and modify * Radio lists:: Sending and receiving lists  File: org, Node: Radio tables, Next: A LaTeX example, Prev: Tables in arbitrary syntax, Up: Tables in arbitrary syntax A.6.1 Radio tables ------------------ To define the location of the target table, you first need to create two lines that are comments in the current mode, but contain magic words `BEGIN/END RECEIVE ORGTBL' for Orgtbl mode to find. Orgtbl mode will insert the translated table between these lines, replacing whatever was there before. For example in C mode where comments are between `/* ... */': /* BEGIN RECEIVE ORGTBL table_name */ /* END RECEIVE ORGTBL table_name */ Just above the source table, we put a special line that tells Orgtbl mode how to translate this table and where to install it. For example: #+ORGTBL: SEND table_name translation_function arguments.... `table_name' is the reference name for the table that is also used in the receiver lines. `translation_function' is the Lisp function that does the translation. Furthermore, the line can contain a list of arguments (alternating key and value) at the end. The arguments will be passed as a property list to the translation function for interpretation. A few standard parameters are already recognized and acted upon before the translation function is called: `:skip N' Skip the first N lines of the table. Hlines do count as separate lines for this parameter! `:skipcols (n1 n2 ...)' List of columns that should be skipped. If the table has a column with calculation marks, that column is automatically discarded as well. Please note that the translator function sees the table _after_ the removal of these columns, the function never knows that there have been additional columns. `:no-escape t' When non-`nil', do not escape special characters `&%#_^' when exporting the table. The default value is `nil'. The one problem remaining is how to keep the source table in the buffer without disturbing the normal workings of the file, for example during compilation of a C file or processing of a LaTeX file. There are a number of different solutions: * The table could be placed in a block comment if that is supported by the language. For example, in C mode you could wrap the table between `/*' and `*/' lines. * Sometimes it is possible to put the table after some kind of END statement, for example `\bye' in TeX and `\end{document}' in LaTeX. * You can just comment the table line-by-line whenever you want to process the file, and uncomment it whenever you need to edit the table. This only sounds tedious--the command `M-x orgtbl-toggle-comment RET' makes this comment-toggling very easy, in particular if you bind it to a key.  File: org, Node: A LaTeX example, Next: Translator functions, Prev: Radio tables, Up: Tables in arbitrary syntax A.6.2 A LaTeX example of radio tables ------------------------------------- The best way to wrap the source table in LaTeX is to use the `comment' environment provided by `comment.sty'. It has to be activated by placing `\usepackage{comment}' into the document header. Orgtbl mode can insert a radio table skeleton(1) with the command `M-x orgtbl-insert-radio-table RET'. You will be prompted for a table name, let's say we use `salesfigures'. You will then get the following template: % BEGIN RECEIVE ORGTBL salesfigures % END RECEIVE ORGTBL salesfigures \begin{comment} #+ORGTBL: SEND salesfigures orgtbl-to-latex | | | \end{comment} The `#+ORGTBL: SEND' line tells Orgtbl mode to use the function `orgtbl-to-latex' to convert the table into LaTeX and to put it into the receiver location with name `salesfigures'. You may now fill in the table--feel free to use the spreadsheet features(2): % BEGIN RECEIVE ORGTBL salesfigures % END RECEIVE ORGTBL salesfigures \begin{comment} #+ORGTBL: SEND salesfigures orgtbl-to-latex | Month | Days | Nr sold | per day | |-------+------+---------+---------| | Jan | 23 | 55 | 2.4 | | Feb | 21 | 16 | 0.8 | | March | 22 | 278 | 12.6 | #+TBLFM: $4=$3/$2;%.1f % $ (optional extra dollar to keep font-lock happy, see footnote) \end{comment} When you are done, press `C-c C-c' in the table to get the converted table inserted between the two marker lines. Now let's assume you want to make the table header by hand, because you want to control how columns are aligned, etc. In this case we make sure that the table translator skips the first 2 lines of the source table, and tell the command to work as a splice, i.e., to not produce header and footer commands of the target table: \begin{tabular}{lrrr} Month & \multicolumn{1}{c}{Days} & Nr.\ sold & per day\\ % BEGIN RECEIVE ORGTBL salesfigures % END RECEIVE ORGTBL salesfigures \end{tabular} % \begin{comment} #+ORGTBL: SEND salesfigures orgtbl-to-latex :splice t :skip 2 | Month | Days | Nr sold | per day | |-------+------+---------+---------| | Jan | 23 | 55 | 2.4 | | Feb | 21 | 16 | 0.8 | | March | 22 | 278 | 12.6 | #+TBLFM: $4=$3/$2;%.1f \end{comment} The LaTeX translator function `orgtbl-to-latex' is already part of Orgtbl mode. It uses a `tabular' environment to typeset the table and marks horizontal lines with `\hline'. Furthermore, it interprets the following parameters (see also *note Translator functions::): `:splice nil/t' When set to t, return only table body lines, don't wrap them into a tabular environment. Default is `nil'. `:fmt fmt' A format to be used to wrap each field, it should contain `%s' for the original field value. For example, to wrap each field value in dollars, you could use `:fmt "$%s$"'. This may also be a property list with column numbers and formats, for example `:fmt (2 "$%s$" 4 "%s\\%%")'. A function of one argument can be used in place of the strings; the function must return a formatted string. `:efmt efmt' Use this format to print numbers with exponentials. The format should have `%s' twice for inserting mantissa and exponent, for example `"%s\\times10^{%s}"'. The default is `"%s\\,(%s)"'. This may also be a property list with column numbers and formats, for example `:efmt (2 "$%s\\times10^{%s}$" 4 "$%s\\cdot10^{%s}$")'. After `efmt' has been applied to a value, `fmt' will also be applied. Similar to `fmt', functions of two arguments can be supplied instead of strings. ---------- Footnotes ---------- (1) By default this works only for LaTeX, HTML, and Texinfo. Configure the variable `orgtbl-radio-table-templates' to install templates for other modes. (2) If the `#+TBLFM' line contains an odd number of dollar characters, this may cause problems with font-lock in LaTeX mode. As shown in the example you can fix this by adding an extra line inside the `comment' environment that is used to balance the dollar expressions. If you are using AUCTeX with the font-latex library, a much better solution is to add the `comment' environment to the variable `LaTeX-verbatim-environments'.  File: org, Node: Translator functions, Next: Radio lists, Prev: A LaTeX example, Up: Tables in arbitrary syntax A.6.3 Translator functions -------------------------- Orgtbl mode has several translator functions built-in: `orgtbl-to-csv' (comma-separated values), `orgtbl-to-tsv' (TAB-separated values) `orgtbl-to-latex', `orgtbl-to-html', and `orgtbl-to-texinfo'. Except for `orgtbl-to-html'(1), these all use a generic translator, `orgtbl-to-generic'. For example, `orgtbl-to-latex' itself is a very short function that computes the column definitions for the `tabular' environment, defines a few field and line separators and then hands processing over to the generic translator. Here is the entire code: (defun orgtbl-to-latex (table params) "Convert the Orgtbl mode TABLE to LaTeX." (let* ((alignment (mapconcat (lambda (x) (if x "r" "l")) org-table-last-alignment "")) (params2 (list :tstart (concat "\\begin{tabular}{" alignment "}") :tend "\\end{tabular}" :lstart "" :lend " \\\\" :sep " & " :efmt "%s\\,(%s)" :hline "\\hline"))) (orgtbl-to-generic table (org-combine-plists params2 params)))) As you can see, the properties passed into the function (variable PARAMS) are combined with the ones newly defined in the function (variable PARAMS2). The ones passed into the function (i.e., the ones set by the `ORGTBL SEND' line) take precedence. So if you would like to use the LaTeX translator, but wanted the line endings to be `\\[2mm]' instead of the default `\\', you could just overrule the default with #+ORGTBL: SEND test orgtbl-to-latex :lend " \\\\[2mm]" For a new language, you can either write your own converter function in analogy with the LaTeX translator, or you can use the generic function directly. For example, if you have a language where a table is started with `!BTBL!', ended with `!ETBL!', and where table lines are started with `!BL!', ended with `!EL!', and where the field separator is a TAB, you could call the generic translator like this (on a single line!): #+ORGTBL: SEND test orgtbl-to-generic :tstart "!BTBL!" :tend "!ETBL!" :lstart "!BL! " :lend " !EL!" :sep "\t" Please check the documentation string of the function `orgtbl-to-generic' for a full list of parameters understood by that function, and remember that you can pass each of them into `orgtbl-to-latex', `orgtbl-to-texinfo', and any other function using the generic function. Of course you can also write a completely new function doing complicated things the generic translator cannot do. A translator function takes two arguments. The first argument is the table, a list of lines, each line either the symbol `hline' or a list of fields. The second argument is the property list containing all parameters specified in the `#+ORGTBL: SEND' line. The function must return a single string containing the formatted table. If you write a generally useful translator, please post it on so that others can benefit from your work. ---------- Footnotes ---------- (1) The HTML translator uses the same code that produces tables during HTML export.  File: org, Node: Radio lists, Prev: Translator functions, Up: Tables in arbitrary syntax A.6.4 Radio lists ----------------- Sending and receiving radio lists works exactly the same way as sending and receiving radio tables (*note Radio tables::). As for radio tables, you can insert radio list templates in HTML, LaTeX and Texinfo modes by calling `org-list-insert-radio-list'. Here are the differences with radio tables: - Orgstruct mode must be active. - Use the `ORGLST' keyword instead of `ORGTBL'. - The available translation functions for radio lists don't take parameters. - `C-c C-c' will work when pressed on the first item of the list. Here is a LaTeX example. Let's say that you have this in your LaTeX file: % BEGIN RECEIVE ORGLST to-buy % END RECEIVE ORGLST to-buy \begin{comment} #+ORGLST: SEND to-buy org-list-to-latex - a new house - a new computer + a new keyboard + a new mouse - a new life \end{comment} Pressing `C-c C-c' on `a new house' and will insert the converted LaTeX list between the two marker lines.  File: org, Node: Dynamic blocks, Next: Special agenda views, Prev: Tables in arbitrary syntax, Up: Hacking A.7 Dynamic blocks ================== Org documents can contain _dynamic blocks_. These are specially marked regions that are updated by some user-written function. A good example for such a block is the clock table inserted by the command `C-c C-x C-r' (*note Clocking work time::). Dynamic blocks are enclosed by a BEGIN-END structure that assigns a name to the block and can also specify parameters for the function producing the content of the block. #+BEGIN: myblock :parameter1 value1 :parameter2 value2 ... #+END: Dynamic blocks are updated with the following commands `C-c C-x C-u (`org-dblock-update')' Update dynamic block at point. `C-u C-c C-x C-u' Update all dynamic blocks in the current file. Updating a dynamic block means to remove all the text between BEGIN and END, parse the BEGIN line for parameters and then call the specific writer function for this block to insert the new content. If you want to use the original content in the writer function, you can use the extra parameter `:content'. For a block with name `myblock', the writer function is `org-dblock-write:myblock' with as only parameter a property list with the parameters given in the begin line. Here is a trivial example of a block that keeps track of when the block update function was last run: #+BEGIN: block-update-time :format "on %m/%d/%Y at %H:%M" #+END: The corresponding block writer function could look like this: (defun org-dblock-write:block-update-time (params) (let ((fmt (or (plist-get params :format) "%d. %m. %Y"))) (insert "Last block update at: " (format-time-string fmt (current-time))))) If you want to make sure that all dynamic blocks are always up-to-date, you could add the function `org-update-all-dblocks' to a hook, for example `before-save-hook'. `org-update-all-dblocks' is written in a way such that it does nothing in buffers that are not in `org-mode'. You can narrow the current buffer to the current dynamic block (like any other block) with `org-narrow-to-block'.  File: org, Node: Special agenda views, Next: Speeding up your agendas, Prev: Dynamic blocks, Up: Hacking A.8 Special agenda views ======================== Org provides a special hook that can be used to narrow down the selection made by these agenda views: `agenda', `agenda*'(1), `todo', `alltodo', `tags', `tags-todo', `tags-tree'. You may specify a function that is used at each match to verify if the match should indeed be part of the agenda view, and if not, how much should be skipped. You can specify a global condition that will be applied to all agenda views, this condition would be stored in the variable `org-agenda-skip-function-global'. More commonly, such a definition is applied only to specific custom searches, using `org-agenda-skip-function'. Let's say you want to produce a list of projects that contain a WAITING tag anywhere in the project tree. Let's further assume that you have marked all tree headings that define a project with the TODO keyword PROJECT. In this case you would run a TODO search for the keyword PROJECT, but skip the match unless there is a WAITING tag anywhere in the subtree belonging to the project line. To achieve this, you must write a function that searches the subtree for the tag. If the tag is found, the function must return `nil' to indicate that this match should not be skipped. If there is no such tag, return the location of the end of the subtree, to indicate that search should continue from there. (defun my-skip-unless-waiting () "Skip trees that are not waiting" (let ((subtree-end (save-excursion (org-end-of-subtree t)))) (if (re-search-forward ":waiting:" subtree-end t) nil ; tag found, do not skip subtree-end))) ; tag not found, continue after end of subtree Now you may use this function in an agenda custom command, for example like this: (org-add-agenda-custom-command '("b" todo "PROJECT" ((org-agenda-skip-function 'my-skip-unless-waiting) (org-agenda-overriding-header "Projects waiting for something: ")))) Note that this also binds `org-agenda-overriding-header' to get a meaningful header in the agenda view. A general way to create custom searches is to base them on a search for entries with a certain level limit. If you want to study all entries with your custom search function, simply do a search for `LEVEL>0'(2), and then use `org-agenda-skip-function' to select the entries you really want to have. You may also put a Lisp form into `org-agenda-skip-function'. In particular, you may use the functions `org-agenda-skip-entry-if' and `org-agenda-skip-subtree-if' in this form, for example: `(org-agenda-skip-entry-if 'scheduled)' Skip current entry if it has been scheduled. `(org-agenda-skip-entry-if 'notscheduled)' Skip current entry if it has not been scheduled. `(org-agenda-skip-entry-if 'deadline)' Skip current entry if it has a deadline. `(org-agenda-skip-entry-if 'scheduled 'deadline)' Skip current entry if it has a deadline, or if it is scheduled. `(org-agenda-skip-entry-if 'todo '("TODO" "WAITING"))' Skip current entry if the TODO keyword is TODO or WAITING. `(org-agenda-skip-entry-if 'todo 'done)' Skip current entry if the TODO keyword marks a DONE state. `(org-agenda-skip-entry-if 'timestamp)' Skip current entry if it has any timestamp, may also be deadline or scheduled. `(org-agenda-skip-entry-if 'regexp "regular expression")' Skip current entry if the regular expression matches in the entry. `(org-agenda-skip-entry-if 'notregexp "regular expression")' Skip current entry unless the regular expression matches. `(org-agenda-skip-subtree-if 'regexp "regular expression")' Same as above, but check and skip the entire subtree. Therefore we could also have written the search for WAITING projects like this, even without defining a special function: (org-add-agenda-custom-command '("b" todo "PROJECT" ((org-agenda-skip-function '(org-agenda-skip-subtree-if 'regexp ":waiting:")) (org-agenda-overriding-header "Projects waiting for something: ")))) ---------- Footnotes ---------- (1) The `agenda*' view is the same than `agenda' except that it only considers _appointments_, i.e., scheduled and deadline items that have a time specification `[h]h:mm' in their time-stamps. (2) Note that, when using `org-odd-levels-only', a level number corresponds to order in the hierarchy, not to the number of stars.  File: org, Node: Speeding up your agendas, Next: Extracting agenda information, Prev: Special agenda views, Up: Hacking A.9 Speeding up your agendas ============================ When your Org files grow in both number and size, agenda commands may start to become slow. Below are some tips on how to speed up the agenda commands. 1. Reduce the number of Org agenda files: this will reduce the slowness caused by accessing a hard drive. 2. Reduce the number of DONE and archived headlines: this way the agenda does not need to skip them. 3. Inhibit the dimming of blocked tasks: (setq org-agenda-dim-blocked-tasks nil) 4. Inhibit agenda files startup options: (setq org-agenda-inhibit-startup nil) 5. Disable tag inheritance in agenda: (setq org-agenda-use-tag-inheritance nil) You can set these options for specific agenda views only. See the docstrings of these variables for details on why they affect the agenda generation, and this dedicated Worg page (http://orgmode.org/worg/agenda-optimization.html) for further explanations.  File: org, Node: Extracting agenda information, Next: Using the property API, Prev: Speeding up your agendas, Up: Hacking A.10 Extracting agenda information ================================== Org provides commands to access agenda information for the command line in Emacs batch mode. This extracted information can be sent directly to a printer, or it can be read by a program that does further processing of the data. The first of these commands is the function `org-batch-agenda', that produces an agenda view and sends it as ASCII text to STDOUT. The command takes a single string as parameter. If the string has length 1, it is used as a key to one of the commands you have configured in `org-agenda-custom-commands', basically any key you can use after `C-c a'. For example, to directly print the current TODO list, you could use emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr If the parameter is a string with 2 or more characters, it is used as a tags/TODO match string. For example, to print your local shopping list (all items with the tag `shop', but excluding the tag `NewYork'), you could use emacs -batch -l ~/.emacs \ -eval '(org-batch-agenda "+shop-NewYork")' | lpr You may also modify parameters on the fly like this: emacs -batch -l ~/.emacs \ -eval '(org-batch-agenda "a" \ org-agenda-span (quote month) \ org-agenda-include-diary nil \ org-agenda-files (quote ("~/org/project.org")))' \ | lpr which will produce a 30-day agenda, fully restricted to the Org file `~/org/projects.org', not even including the diary. If you want to process the agenda data in more sophisticated ways, you can use the command `org-batch-agenda-csv' to get a comma-separated list of values for each agenda item. Each line in the output will contain a number of fields separated by commas. The fields in a line are: category The category of the item head The headline, without TODO keyword, TAGS and PRIORITY type The type of the agenda entry, can be todo selected in TODO match tagsmatch selected in tags match diary imported from diary deadline a deadline scheduled scheduled timestamp appointment, selected by timestamp closed entry was closed on date upcoming-deadline warning about nearing deadline past-scheduled forwarded scheduled item block entry has date block including date todo The TODO keyword, if any tags All tags including inherited ones, separated by colons date The relevant date, like 2007-2-14 time The time, like 15:00-16:50 extra String with extra planning info priority-l The priority letter if any was given priority-n The computed numerical priority Time and date will only be given if a timestamp (or deadline/scheduled) led to the selection of the item. A CSV list like this is very easy to use in a post-processing script. For example, here is a Perl program that gets the TODO list from Emacs/Org and prints all the items, preceded by a checkbox: #!/usr/bin/perl # define the Emacs command to run $cmd = "emacs -batch -l ~/.emacs -eval '(org-batch-agenda-csv \"t\")'"; # run it and capture the output $agenda = qx{$cmd 2>/dev/null}; # loop over all lines foreach $line (split(/\n/,$agenda)) { # get the individual values ($category,$head,$type,$todo,$tags,$date,$time,$extra, $priority_l,$priority_n) = split(/,/,$line); # process and print print "[ ] $head\n"; }  File: org, Node: Using the property API, Next: Using the mapping API, Prev: Extracting agenda information, Up: Hacking A.11 Using the property API =========================== Here is a description of the functions that can be used to work with properties. -- Function: org-entry-properties &optional pom which Get all properties of the entry at point-or-marker POM. This includes the TODO keyword, the tags, time strings for deadline, scheduled, and clocking, and any additional properties defined in the entry. The return value is an alist. Keys may occur multiple times if the property key was used several times. POM may also be `nil', in which case the current entry is used. If WHICH is `nil' or `all', get all properties. If WHICH is `special' or `standard', only get that subclass. -- Function: org-entry-get pom property &optional inherit Get value of `PROPERTY' for entry at point-or-marker `POM'. By default, this only looks at properties defined locally in the entry. If `INHERIT' is non-`nil' and the entry does not have the property, then also check higher levels of the hierarchy. If `INHERIT' is the symbol `selective', use inheritance if and only if the setting of `org-use-property-inheritance' selects `PROPERTY' for inheritance. -- Function: org-entry-delete pom property Delete the property `PROPERTY' from entry at point-or-marker POM. -- Function: org-entry-put pom property value Set `PROPERTY' to `VALUE' for entry at point-or-marker POM. -- Function: org-buffer-property-keys &optional include-specials Get all property keys in the current buffer. -- Function: org-insert-property-drawer Insert a property drawer for the current entry. Also -- Function: org-entry-put-multivalued-property pom property &rest values Set `PROPERTY' at point-or-marker `POM' to `VALUES'. `VALUES' should be a list of strings. They will be concatenated, with spaces as separators. -- Function: org-entry-get-multivalued-property pom property Treat the value of the property `PROPERTY' as a whitespace-separated list of values and return the values as a list of strings. -- Function: org-entry-add-to-multivalued-property pom property value Treat the value of the property `PROPERTY' as a whitespace-separated list of values and make sure that `VALUE' is in this list. -- Function: org-entry-remove-from-multivalued-property pom property value Treat the value of the property `PROPERTY' as a whitespace-separated list of values and make sure that `VALUE' is _not_ in this list. -- Function: org-entry-member-in-multivalued-property pom property value Treat the value of the property `PROPERTY' as a whitespace-separated list of values and check if `VALUE' is in this list. -- User Option: org-property-allowed-value-functions Hook for functions supplying allowed values for a specific property. The functions must take a single argument, the name of the property, and return a flat list of allowed values. If `:ETC' is one of the values, use the values as completion help, but allow also other values to be entered. The functions must return `nil' if they are not responsible for this property.  File: org, Node: Using the mapping API, Prev: Using the property API, Up: Hacking A.12 Using the mapping API ========================== Org has sophisticated mapping capabilities to find all entries satisfying certain criteria. Internally, this functionality is used to produce agenda views, but there is also an API that can be used to execute arbitrary functions for each or selected entries. The main entry point for this API is: -- Function: org-map-entries func &optional match scope &rest skip Call `FUNC' at each headline selected by `MATCH' in `SCOPE'. `FUNC' is a function or a Lisp form. The function will be called without arguments, with the cursor positioned at the beginning of the headline. The return values of all calls to the function will be collected and returned as a list. The call to `FUNC' will be wrapped into a save-excursion form, so `FUNC' does not need to preserve point. After evaluation, the cursor will be moved to the end of the line (presumably of the headline of the processed entry) and search continues from there. Under some circumstances, this may not produce the wanted results. For example, if you have removed (e.g., archived) the current (sub)tree it could mean that the next entry will be skipped entirely. In such cases, you can specify the position from where search should continue by making `FUNC' set the variable `org-map-continue-from' to the desired buffer position. `MATCH' is a tags/property/todo match as it is used in the agenda match view. Only headlines that are matched by this query will be considered during the iteration. When `MATCH' is `nil' or `t', all headlines will be visited by the iteration. `SCOPE' determines the scope of this command. It can be any of: nil the current buffer, respecting the restriction if any tree the subtree started with the entry at point region The entries within the active region, if any file the current buffer, without restriction file-with-archives the current buffer, and any archives associated with it agenda all agenda files agenda-with-archives all agenda files with any archive files associated with them (file1 file2 ...) if this is a list, all files in the list will be scanned The remaining args are treated as settings for the skipping facilities of the scanner. The following items can be given here: archive skip trees with the archive tag comment skip trees with the COMMENT keyword function or Lisp form will be used as value for `org-agenda-skip-function', so whenever the function returns t, FUNC will not be called for that entry and search will continue from the point where the function leaves it The function given to that mapping routine can really do anything you like. It can use the property API (*note Using the property API::) to gather more information about the entry, or in order to change metadata in the entry. Here are a couple of functions that might be handy: -- Function: org-todo &optional arg Change the TODO state of the entry. See the docstring of the functions for the many possible values for the argument `ARG'. -- Function: org-priority &optional action Change the priority of the entry. See the docstring of this function for the possible values for `ACTION'. -- Function: org-toggle-tag tag &optional onoff Toggle the tag `TAG' in the current entry. Setting `ONOFF' to either `on' or `off' will not toggle tag, but ensure that it is either on or off. -- Function: org-promote Promote the current entry. -- Function: org-demote Demote the current entry. Here is a simple example that will turn all entries in the current file with a tag `TOMORROW' into TODO entries with the keyword `UPCOMING'. Entries in comment trees and in archive trees will be ignored. (org-map-entries '(org-todo "UPCOMING") "+TOMORROW" 'file 'archive 'comment) The following example counts the number of entries with TODO keyword `WAITING', in all agenda files. (length (org-map-entries t "/+WAITING" 'agenda))  File: org, Node: MobileOrg, Next: History and Acknowledgments, Prev: Hacking, Up: Top Appendix B MobileOrg ******************** MobileOrg is the name of the mobile companion app for Org mode, currently available for iOS and for Android. MobileOrg offers offline viewing and capture support for an Org mode system rooted on a "real" computer. It does also allow you to record changes to existing entries. The iOS implementation (https://github.com/MobileOrg/) for the iPhone/iPod Touch/iPad series of devices, was started by Richard Moreland and is now in the hands Sean Escriva. Android users should check out MobileOrg Android (http://wiki.github.com/matburt/mobileorg-android/) by Matt Jones. The two implementations are not identical but offer similar features. This appendix describes the support Org has for creating agenda views in a format that can be displayed by MobileOrg, and for integrating notes captured and changes made by MobileOrg into the main system. For changing tags and TODO states in MobileOrg, you should have set up the customization variables `org-todo-keywords' and `org-tag-alist' to cover all important tags and TODO keywords, even if individual files use only part of these. MobileOrg will also offer you states and tags set up with in-buffer settings, but it will understand the logistics of TODO state sets (*note Per-file keywords::) and mutually exclusive tags (*note Setting tags::) only for those set in these variables. * Menu: * Setting up the staging area:: Where to interact with the mobile device * Pushing to MobileOrg:: Uploading Org files and agendas * Pulling from MobileOrg:: Integrating captured and flagged items  File: org, Node: Setting up the staging area, Next: Pushing to MobileOrg, Prev: MobileOrg, Up: MobileOrg B.1 Setting up the staging area =============================== MobileOrg needs to interact with Emacs through a directory on a server. If you are using a public server, you should consider to encrypt the files that are uploaded to the server. This can be done with Org mode 7.02 and with MobileOrg 1.5 (iPhone version), and you need an `openssl' installation on your system. To turn on encryption, set a password in MobileOrg and, on the Emacs side, configure the variable `org-mobile-use-encryption'(1). The easiest way to create that directory is to use a free Dropbox.com (http://dropbox.com) account(2). When MobileOrg first connects to your Dropbox, it will create a directory MobileOrg inside the Dropbox. After the directory has been created, tell Emacs about it: (setq org-mobile-directory "~/Dropbox/MobileOrg") Org mode has commands to put files for MobileOrg into that directory, and to read captured notes from there. ---------- Footnotes ---------- (1) If you can safely store the password in your Emacs setup, you might also want to configure `org-mobile-encryption-password'. Please read the docstring of that variable. Note that encryption will apply only to the contents of the `.org' files. The file names themselves will remain visible. (2) If you cannot use Dropbox, or if your version of MobileOrg does not support it, you can use a webdav server. For more information, check out the documentation of MobileOrg and also this FAQ entry (http://orgmode.org/worg/org-faq.html#mobileorg_webdav).  File: org, Node: Pushing to MobileOrg, Next: Pulling from MobileOrg, Prev: Setting up the staging area, Up: MobileOrg B.2 Pushing to MobileOrg ======================== This operation copies all files currently listed in `org-mobile-files' to the directory `org-mobile-directory'. By default this list contains all agenda files (as listed in `org-agenda-files'), but additional files can be included by customizing `org-mobile-files'. File names will be staged with paths relative to `org-directory', so all files should be inside this directory(1). The push operation also creates a special Org file `agendas.org' with all custom agenda view defined by the user(2). Finally, Org writes the file `index.org', containing links to all other files. MobileOrg first reads this file from the server, and then downloads all agendas and Org files listed in it. To speed up the download, MobileOrg will only read files whose checksums(3) have changed. ---------- Footnotes ---------- (1) Symbolic links in `org-directory' need to have the same name than their targets. (2) While creating the agendas, Org mode will force ID properties on all referenced entries, so that these entries can be uniquely identified if MobileOrg flags them for further action. If you do not want to get these properties in so many entries, you can set the variable `org-mobile-force-id-on-agenda-items' to `nil'. Org mode will then rely on outline paths, in the hope that these will be unique enough. (3) Checksums are stored automatically in the file `checksums.dat'  File: org, Node: Pulling from MobileOrg, Prev: Pushing to MobileOrg, Up: MobileOrg B.3 Pulling from MobileOrg ========================== When MobileOrg synchronizes with the server, it not only pulls the Org files for viewing. It also appends captured entries and pointers to flagged and changed entries to the file `mobileorg.org' on the server. Org has a _pull_ operation that integrates this information into an inbox file and operates on the pointers to flagged entries. Here is how it works: 1. Org moves all entries found in `mobileorg.org'(1) and appends them to the file pointed to by the variable `org-mobile-inbox-for-pull'. Each captured entry and each editing event will be a top-level entry in the inbox file. 2. After moving the entries, Org will attempt to implement the changes made in MobileOrg. Some changes are applied directly and without user interaction. Examples are all changes to tags, TODO state, headline and body text that can be cleanly applied. Entries that have been flagged for further action will receive a tag `:FLAGGED:', so that they can be easily found again. When there is a problem finding an entry or applying the change, the pointer entry will remain in the inbox and will be marked with an error message. You need to later resolve these issues by hand. 3. Org will then generate an agenda view with all flagged entries. The user should then go through these entries and do whatever actions are necessary. If a note has been stored while flagging an entry in MobileOrg, that note will be displayed in the echo area when the cursor is on the corresponding agenda line. `?' Pressing `?' in that special agenda will display the full flagging note in another window and also push it onto the kill ring. So you could use `? z C-y C-c C-c' to store that flagging note as a normal note in the entry. Pressing `?' twice in succession will offer to remove the `:FLAGGED:' tag along with the recorded flagging note (which is stored in a property). In this way you indicate that the intended processing for this flagged entry is finished. If you are not able to process all flagged entries directly, you can always return to this agenda view(2) using `C-c a ?'. ---------- Footnotes ---------- (1) `mobileorg.org' will be empty after this operation. (2) Note, however, that there is a subtle difference. The view created automatically by `M-x org-mobile-pull RET' is guaranteed to search all files that have been addressed by the last pull. This might include a file that is not currently in your list of agenda files. If you later use `C-c a ?' to regenerate the view, only the current agenda files will be searched.  File: org, Node: History and Acknowledgments, Next: GNU Free Documentation License, Prev: MobileOrg, Up: Top Appendix C History and acknowledgments ************************************** C.1 From Carsten ================ Org was born in 2003, out of frustration over the user interface of the Emacs Outline mode. I was trying to organize my notes and projects, and using Emacs seemed to be the natural way to go. However, having to remember eleven different commands with two or three keys per command, only to hide and show parts of the outline tree, that seemed entirely unacceptable to me. Also, when using outlines to take notes, I constantly wanted to restructure the tree, organizing it parallel to my thoughts and plans. _Visibility cycling_ and _structure editing_ were originally implemented in the package `outline-magic.el', but quickly moved to the more general `org.el'. As this environment became comfortable for project planning, the next step was adding _TODO entries_, basic _timestamps_, and _table support_. These areas highlighted the two main goals that Org still has today: to be a new, outline-based, plain text mode with innovative and intuitive editing features, and to incorporate project planning functionality directly into a notes file. Since the first release, literally thousands of emails to me or to have provided a constant stream of bug reports, feedback, new ideas, and sometimes patches and add-on code. Many thanks to everyone who has helped to improve this package. I am trying to keep here a list of the people who had significant influence in shaping one or more aspects of Org. The list may not be complete, if I have forgotten someone, please accept my apologies and let me know. Before I get to this list, a few special mentions are in order: Bastien Guerry Bastien has written a large number of extensions to Org (most of them integrated into the core by now), including the LaTeX exporter and the plain list parser. His support during the early days, when he basically acted as co-maintainer, was central to the success of this project. Bastien also invented Worg, helped establishing the Web presence of Org, and sponsored hosting costs for the orgmode.org website. Eric Schulte and Dan Davison Eric and Dan are jointly responsible for the Org-babel system, which turns Org into a multi-language environment for evaluating code and doing literate programming and reproducible research. John Wiegley John has contributed a number of great ideas and patches directly to Org, including the attachment system (`org-attach.el'), integration with Apple Mail (`org-mac-message.el'), hierarchical dependencies of TODO items, habit tracking (`org-habits.el'), and encryption (`org-crypt.el'). Also, the capture system is really an extended copy of his great `remember.el'. Sebastian Rose Without Sebastian, the HTML/XHTML publishing of Org would be the pitiful work of an ignorant amateur. Sebastian has pushed this part of Org onto a much higher level. He also wrote `org-info.js', a Java script for displaying web pages derived from Org using an Info-like or a folding interface with single-key navigation. See below for the full list of contributions! Again, please let me know what I am missing here! C.2 From Bastien ================ I (Bastien) have been maintaining Org since January 2011. This appendix would not be complete without adding a few more acknowledgements and thanks to Carsten's ones above. I am first grateful to Carsten for his trust while handing me over the maintainership of Org. His unremitting support is what really helped me getting more confident over time, with both the community and the code. When I took over maintainership, I knew I would have to make Org more collaborative than ever, as I would have to rely on people that are more knowledgeable than I am on many parts of the code. Here is a list of the persons I could rely on, they should really be considered co-maintainers, either of the code or the community: Eric Schulte Eric is maintaining the Babel parts of Org. His reactivity here kept me away from worrying about possible bugs here and let me focus on other parts. Nicolas Goaziou Nicolas is maintaining the consistency of the deepest parts of Org. His work on `org-element.el' and `ox.el' has been outstanding, and opened the doors for many new ideas and features. He rewrote many of the old exporters to use the new export engine, and helped with documenting this major change. More importantly (if that's possible), he has been more than reliable during all the work done for Org 8.0, and always very reactive on the mailing list. Achim Gratz Achim rewrote the building process of Org, turning some _ad hoc_ tools into a flexible and conceptually clean process. He patiently coped with the many hiccups that such a change can create for users. Nick Dokos The Org mode mailing list would not be such a nice place without Nick, who patiently helped users so many times. It is impossible to overestimate such a great help, and the list would not be so active without him. I received support from so many users that it is clearly impossible to be fair when shortlisting a few of them, but Org's history would not be complete if the ones above were not mentioned in this manual. C.3 List of contributions ========================= * Russel Adams came up with the idea for drawers. * Suvayu Ali has steadily helped on the mailing list, providing useful feedback on many features and several patches. * Luis Anaya wrote `ox-man.el'. * Thomas Baumann wrote `org-bbdb.el' and `org-mhe.el'. * Michael Brand helped by reporting many bugs and testing many features. He also implemented the distinction between empty fields and 0-value fields in Org's spreadsheets. * Christophe Bataillon created the great unicorn logo that we use on the Org mode website. * Alex Bochannek provided a patch for rounding timestamps. * Jan Böcker wrote `org-docview.el'. * Brad Bozarth showed how to pull RSS feed data into Org mode files. * Tom Breton wrote `org-choose.el'. * Charles Cave's suggestion sparked the implementation of templates for Remember, which are now templates for capture. * Pavel Chalmoviansky influenced the agenda treatment of items with specified time. * Gregory Chernov patched support for Lisp forms into table calculations and improved XEmacs compatibility, in particular by porting `nouline.el' to XEmacs. * Sacha Chua suggested copying some linking code from Planner. * Toby S. Cubitt contributed to the code for clock formats. * Baoqiu Cui contributed the DocBook exporter. It has been deleted from Org 8.0: you can now export to Texinfo and export the `.texi' file to DocBook using `makeinfo'. * Eddward DeVilla proposed and tested checkbox statistics. He also came up with the idea of properties, and that there should be an API for them. * Nick Dokos tracked down several nasty bugs. * Kees Dullemond used to edit projects lists directly in HTML and so inspired some of the early development, including HTML export. He also asked for a way to narrow wide table columns. * Jason Dunsmore has been maintaining the Org-Mode server at Rackspace for several years now. He also sponsored the hosting costs until Rackspace started to host us for free. * Thomas S. Dye contributed documentation on Worg and helped integrating the Org-Babel documentation into the manual. * Christian Egli converted the documentation into Texinfo format, inspired the agenda, patched CSS formatting into the HTML exporter, and wrote `org-taskjuggler.el', which has been rewritten by Nicolas Goaziou as `ox-taskjuggler.el' for Org 8.0. * David Emery provided a patch for custom CSS support in exported HTML agendas. * Sean Escriva took over MobileOrg development on the iPhone platform. * Nic Ferrier contributed mailcap and XOXO support. * Miguel A. Figueroa-Villanueva implemented hierarchical checkboxes. * John Foerch figured out how to make incremental search show context around a match in a hidden outline tree. * Raimar Finken wrote `org-git-line.el'. * Mikael Fornius works as a mailing list moderator. * Austin Frank works as a mailing list moderator. * Eric Fraga drove the development of BEAMER export with ideas and testing. * Barry Gidden did proofreading the manual in preparation for the book publication through Network Theory Ltd. * Niels Giesen had the idea to automatically archive DONE trees. * Nicolas Goaziou rewrote much of the plain list code. He also wrote `org-element.el' and `org-export.el', which was a huge step forward in implementing a clean framework for Org exporters. * Kai Grossjohann pointed out key-binding conflicts with other packages. * Brian Gough of Network Theory Ltd publishes the Org mode manual as a book. * Bernt Hansen has driven much of the support for auto-repeating tasks, task state change logging, and the clocktable. His clear explanations have been critical when we started to adopt the Git version control system. * Manuel Hermenegildo has contributed various ideas, small fixes and patches. * Phil Jackson wrote `org-irc.el'. * Scott Jaderholm proposed footnotes, control over whitespace between folded entries, and column view for properties. * Matt Jones wrote MobileOrg Android. * Tokuya Kameshima wrote `org-wl.el' and `org-mew.el'. * Jonathan Leech-Pepin wrote `ox-texinfo.el'. * Shidai Liu ("Leo") asked for embedded LaTeX and tested it. He also provided frequent feedback and some patches. * Matt Lundin has proposed last-row references for table formulas and named invisible anchors. He has also worked a lot on the FAQ. * David Maus wrote `org-atom.el', maintains the issues file for Org, and is a prolific contributor on the mailing list with competent replies, small fixes and patches. * Jason F. McBrayer suggested agenda export to CSV format. * Max Mikhanosha came up with the idea of refiling and sticky agendas. * Dmitri Minaev sent a patch to set priority limits on a per-file basis. * Stefan Monnier provided a patch to keep the Emacs-Lisp compiler happy. * Richard Moreland wrote MobileOrg for the iPhone. * Rick Moynihan proposed allowing multiple TODO sequences in a file and being able to quickly restrict the agenda to a subtree. * Todd Neal provided patches for links to Info files and Elisp forms. * Greg Newman refreshed the unicorn logo into its current form. * Tim O'Callaghan suggested in-file links, search options for general file links, and TAGS. * Osamu Okano wrote `orgcard2ref.pl', a Perl program to create a text version of the reference card. * Takeshi Okano translated the manual and David O'Toole's tutorial into Japanese. * Oliver Oppitz suggested multi-state TODO items. * Scott Otterson sparked the introduction of descriptive text for links, among other things. * Pete Phillips helped during the development of the TAGS feature, and provided frequent feedback. * Francesco Pizzolante provided patches that helped speeding up the agenda generation. * Martin Pohlack provided the code snippet to bundle character insertion into bundles of 20 for undo. * Rackspace.com is hosting our website for free. Thank you Rackspace! * T.V. Raman reported bugs and suggested improvements. * Matthias Rempe (Oelde) provided ideas, Windows support, and quality control. * Paul Rivier provided the basic implementation of named footnotes. He also acted as mailing list moderator for some time. * Kevin Rogers contributed code to access VM files on remote hosts. * Frank Ruell solved the mystery of the `keymapp nil' bug, a conflict with `allout.el'. * Jason Riedy generalized the send-receive mechanism for Orgtbl tables with extensive patches. * Philip Rooke created the Org reference card, provided lots of feedback, developed and applied standards to the Org documentation. * Christian Schlauer proposed angular brackets around links, among other things. * Christopher Schmidt reworked `orgstruct-mode' so that users can enjoy folding in non-org buffers by using Org headlines in comments. * Paul Sexton wrote `org-ctags.el'. * Linking to VM/BBDB/Gnus was first inspired by Tom Shannon's `organizer-mode.el'. * Ilya Shlyakhter proposed the Archive Sibling, line numbering in literal examples, and remote highlighting for referenced code lines. * Stathis Sideris wrote the `ditaa.jar' ASCII to PNG converter that is now packaged into Org's `contrib' directory. * Daniel Sinder came up with the idea of internal archiving by locking subtrees. * Dale Smith proposed link abbreviations. * James TD Smith has contributed a large number of patches for useful tweaks and features. * Adam Spiers asked for global linking commands, inspired the link extension system, added support for mairix, and proposed the mapping API. * Ulf Stegemann created the table to translate special symbols to HTML, LaTeX, UTF-8, Latin-1 and ASCII. * Andy Stewart contributed code to `org-w3m.el', to copy HTML content with links transformation to Org syntax. * David O'Toole wrote `org-publish.el' and drafted the manual chapter about publishing. * Jambunathan K contributed the ODT exporter and rewrote the HTML exporter. * Sebastien Vauban reported many issues with LaTeX and BEAMER export and enabled source code highlighting in Gnus. * Stefan Vollmar organized a video-recorded talk at the Max-Planck-Institute for Neurology. He also inspired the creation of a concept index for HTML export. * Ju"rgen Vollmer contributed code generating the table of contents in HTML output. * Samuel Wales has provided important feedback and bug reports. * Chris Wallace provided a patch implementing the `QUOTE' keyword. * David Wainberg suggested archiving, and improvements to the linking system. * Carsten Wimmer suggested some changes and helped fix a bug in linking to Gnus. * Roland Winkler requested additional key bindings to make Org work on a tty. * Piotr Zielinski wrote `org-mouse.el', proposed agenda blocks and contributed various ideas and code snippets.  File: org, Node: GNU Free Documentation License, Next: Main Index, Prev: History and Acknowledgments, Up: Top Appendix D GNU Free Documentation License ***************************************** Version 1.3, 3 November 2008 Copyright (C) 2000, 2001, 2002, 2007, 2008, 2013 Free Software Foundation, Inc. `http://fsf.org/' Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. The "publisher" means any person or entity that distributes copies of the Document to the public. A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements." 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License. However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See `http://www.gnu.org/copyleft/'. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document. 11. RELICENSING "Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site. "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization. "Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document. An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008. The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing. ADDENDUM: How to use this License for your documents ==================================================== To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (C) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.  File: org, Node: Main Index, Next: Key Index, Prev: GNU Free Documentation License, Up: Top Concept index ************* [index] * Menu: * #+ARCHIVE: Moving subtrees. (line 30) * #+ASCII: ASCII/Latin-1/UTF-8 export. (line 41) * #+ATTR_ASCII: ASCII/Latin-1/UTF-8 export. (line 52) * #+ATTR_BEAMER: Beamer export. (line 124) * #+ATTR_HTML <1>: Images in HTML export. (line 24) * #+ATTR_HTML <2>: Tables in HTML export. (line 12) * #+ATTR_HTML: Links in HTML export. (line 21) * #+ATTR_LATEX: LaTeX specific attributes. (line 6) * #+ATTR_ODT <1>: Customizing tables in ODT export. (line 6) * #+ATTR_ODT <2>: Images in ODT export. (line 30) * #+ATTR_ODT: Tables in ODT export. (line 17) * #+BEAMER: Beamer export. (line 109) * #+BEAMER_COLOR_THEME: Beamer export. (line 89) * #+BEAMER_FONT_THEME: Beamer export. (line 89) * #+BEAMER_INNER_THEME: Beamer export. (line 89) * #+BEAMER_OUTER_THEME: Beamer export. (line 89) * #+BEAMER_THEME: Beamer export. (line 89) * #+BEGIN, clocktable: The clock table. (line 36) * #+BEGIN, columnview: Capturing column view. (line 11) * #+BEGIN:dynamic block: Dynamic blocks. (line 15) * #+BEGIN_ASCII: ASCII/Latin-1/UTF-8 export. (line 41) * #+BEGIN_BEAMER: Beamer export. (line 109) * #+BEGIN_CENTER: Paragraphs. (line 31) * #+BEGIN_COMMENT: Comment lines. (line 6) * #+BEGIN_EXAMPLE: Literal examples. (line 8) * #+BEGIN_HTML: Quoting HTML tags. (line 12) * #+BEGIN_LATEX: Quoting LaTeX code. (line 11) * #+BEGIN_QUOTE: Paragraphs. (line 26) * #+BEGIN_SRC <1>: Structure of code blocks. (line 6) * #+BEGIN_SRC: Literal examples. (line 28) * #+BEGIN_VERSE: Paragraphs. (line 13) * #+BIND: Export settings. (line 188) * #+CALL: Evaluating code blocks. (line 22) * #+CAPTION <1>: Images in HTML export. (line 24) * #+CAPTION <2>: Tables in HTML export. (line 12) * #+CAPTION: Images and tables. (line 6) * #+CATEGORY: Categories. (line 6) * #+COLUMNS: Scope of column definitions. (line 8) * #+CONSTANTS: References. (line 102) * #+DRAWERS: Drawers. (line 6) * #+FILETAGS: Tag inheritance. (line 20) * #+HEADER:: Code block specific header arguments. (line 30) * #+HEADERS:: Code block specific header arguments. (line 30) * #+HTML: Quoting HTML tags. (line 12) * #+HTML_HEAD: CSS support. (line 47) * #+HTML_HEAD_EXTRA: CSS support. (line 47) * #+HTML_INCLUDE_STYLE: CSS support. (line 41) * #+INCLUDE: Include files. (line 7) * #+INFOJS_OPT: JavaScript support. (line 23) * #+LATEX: Quoting LaTeX code. (line 11) * #+LATEX_CLASS: Header and sectioning. (line 22) * #+LATEX_CLASS_OPTIONS: Header and sectioning. (line 22) * #+LATEX_HEADER: Header and sectioning. (line 27) * #+LATEX_HEADER_EXTRA: Header and sectioning. (line 27) * #+LINK: Link abbreviations. (line 49) * #+MACRO: Macro replacement. (line 6) * #+NAME <1>: Structure of code blocks. (line 6) * #+NAME <2>: Images and tables. (line 6) * #+NAME: Internal links. (line 21) * #+NAME, for table: References. (line 123) * #+ODT_STYLES_FILE: Applying custom styles. (line 28) * #+OPTIONS: Headings and sections. (line 14) * #+ORGLST: Radio lists. (line 25) * #+ORGTBL: Radio tables. (line 17) * #+ORGTBL, SEND: A LaTeX example. (line 14) * #+PLOT: Org-Plot. (line 6) * #+PRIORITIES: Priorities. (line 44) * #+PROPERTY: Property syntax. (line 42) * #+RESULTS: Evaluating code blocks. (line 6) * #+SEQ_TODO: Per-file keywords. (line 6) * #+SETUPFILE <1>: In-buffer settings. (line 61) * #+SETUPFILE: Export settings. (line 13) * #+STARTUP: In-buffer settings. (line 74) * #+TAGS: Setting tags. (line 29) * #+TBLFM <1>: In-buffer settings. (line 184) * #+TBLFM <2>: Editing and debugging formulas. (line 99) * #+TBLFM: Field and range formulas. (line 12) * #+TBLFM line, multiple: Editing and debugging formulas. (line 99) * #+TBLFM, switching: Editing and debugging formulas. (line 99) * #+TITLE: Document title. (line 8) * #+TOC: Table of contents. (line 6) * #+TODO: Per-file keywords. (line 6) * #+TYP_TODO: Per-file keywords. (line 6) * abbreviation, links: Link abbreviations. (line 6) * acknowledgments: History and Acknowledgments. (line 6) * action, for publishing: Publishing action. (line 6) * activation: Activation. (line 6) * active region <1>: ODT export commands. (line 9) * active region <2>: Built-in table editor. (line 156) * active region: Structure editing. (line 137) * add-on packages: Add-on packages. (line 6) * add-ons, context-sensitive commands: Context-sensitive commands. (line 6) * agenda: Weekly/daily agenda. (line 6) * agenda dispatcher: Agenda dispatcher. (line 6) * agenda files: Agenda files. (line 6) * agenda files, removing buffers: Agenda commands. (line 521) * agenda views: Agenda Views. (line 6) * agenda views, custom: Custom agenda views. (line 6) * agenda views, exporting <1>: Exporting Agenda Views. (line 6) * agenda views, exporting: Agenda commands. (line 507) * agenda views, main example: Storing searches. (line 9) * agenda views, optimization: Speeding up your agendas. (line 6) * agenda views, user-defined: Special agenda views. (line 6) * agenda*, as an agenda views: Storing searches. (line 9) * agenda, as an agenda views: Storing searches. (line 9) * agenda, column view: Agenda column view. (line 6) * agenda, pipe: Extracting agenda information. (line 6) * agenda, with block views: Block agenda. (line 6) * align, STARTUP keyword: In-buffer settings. (line 94) * alignment in tables: Column width and alignment. (line 6) * anniversaries, from BBDB: Weekly/daily agenda. (line 73) * API, for mapping: Using the mapping API. (line 6) * API, for properties <1>: Using the property API. (line 6) * API, for properties: Property API. (line 6) * appointment <1>: Weekly/daily agenda. (line 107) * appointment: Timestamps. (line 14) * appointment reminders: Weekly/daily agenda. (line 107) * appt.el: Weekly/daily agenda. (line 107) * archive locations: Moving subtrees. (line 20) * archiving: Archiving. (line 6) * ASCII export: ASCII/Latin-1/UTF-8 export. (line 6) * Atom feeds: RSS Feeds. (line 6) * attachments: Attachments. (line 6) * author: Feedback. (line 6) * autoload: Activation. (line 6) * babel, languages: Languages. (line 6) * babel, library of: Library of Babel. (line 6) * backtrace of an error: Feedback. (line 65) * Baur, Steven L.: Cooperation. (line 74) * BBDB links: External links. (line 6) * BBDB, anniversaries: Weekly/daily agenda. (line 73) * Beamer export: Beamer export. (line 6) * block agenda: Block agenda. (line 6) * blocking, of checkboxes: Checkboxes. (line 46) * blocks, folding: Blocks. (line 6) * bold text, markup rules: Emphasis and monospace. (line 6) * Boolean logic, for tag/property searches: Matching tags and properties. (line 34) * bug reports: Feedback. (line 6) * C-c C-c, overview: The very busy C-c C-c key. (line 6) * calc package: The spreadsheet. (line 6) * calc.el: Cooperation. (line 6) * calculations, in tables <1>: The spreadsheet. (line 6) * calculations, in tables: Built-in table editor. (line 156) * calendar commands, from agenda: Agenda commands. (line 456) * calendar integration: Weekly/daily agenda. (line 32) * calendar, for selecting date: The date/time prompt. (line 76) * capture <1>: Capture. (line 6) * capture: Capture - Refile - Archive. (line 6) * capturing, from agenda: Agenda commands. (line 349) * category: Categories. (line 6) * category filtering, in agenda: Filtering/limiting agenda items. (line 17) * category, require for tags/property match: Matching tags and properties. (line 71) * CDLaTeX: CDLaTeX mode. (line 6) * cdlatex.el: Cooperation. (line 29) * checkbox blocking: Checkboxes. (line 46) * checkbox statistics: Checkboxes. (line 30) * checkboxes: Checkboxes. (line 6) * checkboxes and TODO dependencies: TODO dependencies. (line 44) * children, subtree visibility state: Global and local cycling. (line 10) * clean outline view: Clean view. (line 6) * clocking time: Clocking work time. (line 6) * clocktable, dynamic block: The clock table. (line 6) * code block, batch execution: Batch execution. (line 6) * code block, editing: Editing source code. (line 6) * code block, evaluating: Evaluating code blocks. (line 6) * code block, exporting: Exporting code blocks. (line 6) * code block, extracting source code: Extracting source code. (line 6) * code block, header arguments: Header arguments. (line 6) * code block, key bindings: Key bindings and useful functions. (line 6) * code block, languages: Languages. (line 6) * code block, library: Library of Babel. (line 6) * code block, noweb reference: Noweb reference syntax. (line 6) * code block, results of evaluation: Results of evaluation. (line 6) * code block, structure: Structure of code blocks. (line 6) * code line references, markup rules: Literal examples. (line 6) * code text, markup rules: Emphasis and monospace. (line 6) * column formula: Column formulas. (line 6) * column view, for properties: Defining columns. (line 6) * column view, in agenda: Agenda column view. (line 6) * column, of field coordinates: References. (line 86) * commands, in agenda buffer: Agenda commands. (line 6) * comment lines: Comment lines. (line 6) * completion, of dictionary words: Completion. (line 6) * completion, of file names: Handling links. (line 89) * completion, of link abbreviations: Completion. (line 6) * completion, of links: Handling links. (line 66) * completion, of option keywords <1>: Completion. (line 6) * completion, of option keywords: Per-file keywords. (line 24) * completion, of property keys: Completion. (line 6) * completion, of tags <1>: Completion. (line 6) * completion, of tags: Setting tags. (line 11) * completion, of TeX symbols: Completion. (line 6) * completion, of TODO keywords <1>: Completion. (line 6) * completion, of TODO keywords: Workflow states. (line 15) * constants, in calculations: References. (line 102) * constants.el: Cooperation. (line 17) * constcgs, STARTUP keyword: In-buffer settings. (line 154) * constSI, STARTUP keyword: In-buffer settings. (line 154) * content, STARTUP keyword <1>: In-buffer settings. (line 80) * content, STARTUP keyword: Initial visibility. (line 6) * contents, global visibility state: Global and local cycling. (line 22) * context-sensitive commands, hooks: Context-sensitive commands. (line 6) * continuous clocking: Resolving idle time. (line 78) * convert: Configuring a document converter. (line 6) * converter: Configuring a document converter. (line 6) * coordinates, of field: References. (line 86) * copying notes: Refile and copy. (line 6) * copying, of subtrees: Structure editing. (line 6) * Countdown timer: Countdown timer. (line 6) * creating timestamps: Creating timestamps. (line 6) * CSS, for HTML export: CSS support. (line 6) * CUA.el: Conflicts. (line 19) * custom agenda views: Custom agenda views. (line 6) * custom date/time format: Custom time format. (line 6) * custom search strings: Custom searches. (line 6) * customization: Customization. (line 6) * customtime, STARTUP keyword: In-buffer settings. (line 150) * cutting, of subtrees: Structure editing. (line 6) * cycling, in plain lists: Plain lists. (line 69) * cycling, of agenda files: Agenda files. (line 22) * cycling, of TODO states: TODO basics. (line 14) * cycling, visibility: Visibility cycling. (line 6) * daily agenda: Weekly/daily agenda. (line 6) * date format, custom: Custom time format. (line 6) * date range: Timestamps. (line 43) * date stamp: Dates and Times. (line 6) * date stamps: Timestamps. (line 6) * date tree: Using capture. (line 9) * date, reading in minibuffer: The date/time prompt. (line 6) * dates: Dates and Times. (line 6) * Davison, Dan: Working With Source Code. (line 6) * DEADLINE keyword: Deadlines and scheduling. (line 9) * deadlines: Timestamps. (line 6) * debugging, of table formulas: Editing and debugging formulas. (line 132) * demotion, of subtrees: Structure editing. (line 6) * dependencies, of TODO states: TODO dependencies. (line 6) * diary entries, creating from agenda: Agenda commands. (line 461) * diary integration: Weekly/daily agenda. (line 32) * dictionary word completion: Completion. (line 6) * directories, for publishing: Sources and destinations. (line 6) * dispatching agenda commands: Agenda dispatcher. (line 6) * display changing, in agenda: Agenda commands. (line 64) * doc, docx, rtf: Configuring a document converter. (line 6) * document structure: Document Structure. (line 6) * document title, markup rules: Document title. (line 6) * Dominik, Carsten: Cooperation. (line 17) * DONE, final TODO keyword: Per-file keywords. (line 27) * dragging, agenda lines: Agenda commands. (line 354) * drawer, for properties: Property syntax. (line 6) * drawer, for state change recording: Tracking TODO state changes. (line 6) * drawers: Drawers. (line 6) * Duration, computing: Durations and time values. (line 6) * dvipng <1>: Working with LaTeX math snippets. (line 44) * dvipng: Math formatting in HTML export. (line 6) * dynamic blocks: Dynamic blocks. (line 6) * dynamic indentation: Clean view. (line 6) * ecomplete.el: Conflicts. (line 39) * editing tables: Tables. (line 6) * editing, of table formulas: Editing and debugging formulas. (line 6) * edits, catching invisible: Catching invisible edits. (line 6) * effort estimates: Effort estimates. (line 6) * effort filtering, in agenda: Filtering/limiting agenda items. (line 17) * Elisp links: External links. (line 6) * ELPA: Activation. (line 6) * emacsserver: Protocols. (line 6) * embedding images in ODT: Images in ODT export. (line 6) * entitiesplain, STARTUP keyword: In-buffer settings. (line 177) * entitiespretty, STARTUP keyword <1>: In-buffer settings. (line 177) * entitiespretty, STARTUP keyword: Special symbols. (line 31) * evaluate time range: Creating timestamps. (line 62) * even, STARTUP keyword: In-buffer settings. (line 140) * export back-ends, built-in: Other built-in back-ends. (line 6) * Export, back-ends: Export back-ends. (line 6) * Export, dispatcher: The Export Dispatcher. (line 6) * export, OpenDocument: OpenDocument Text export. (line 6) * Export, settings: Export settings. (line 6) * Export, writing back-ends: Adding export back-ends. (line 6) * exporting: Exporting. (line 6) * exporting agenda views <1>: Exporting Agenda Views. (line 13) * exporting agenda views: Agenda commands. (line 507) * exporting, not: Comment lines. (line 6) * extended TODO keywords: TODO extensions. (line 6) * external archiving: Moving subtrees. (line 6) * external links: External links. (line 6) * external links, in HTML export: Links in HTML export. (line 6) * faces, for TODO keywords: Faces for TODO keywords. (line 6) * FAQ: Summary. (line 53) * feedback: Feedback. (line 6) * field coordinates: References. (line 86) * field formula: Field and range formulas. (line 6) * field references: References. (line 15) * file links: External links. (line 6) * file links, searching: Search options. (line 6) * file name completion: Handling links. (line 89) * files for agenda: Agenda files. (line 6) * files, adding to agenda list: Agenda files. (line 15) * files, selecting for publishing: Selecting files. (line 6) * filladapt.el: Conflicts. (line 50) * filtering, by tag, category, top headline and effort, in agenda: Filtering/limiting agenda items. (line 17) * Filters, exporting: Advanced configuration. (line 32) * fnadjust, STARTUP keyword: In-buffer settings. (line 160) * fnauto, STARTUP keyword: In-buffer settings. (line 160) * fnconfirm, STARTUP keyword: In-buffer settings. (line 160) * fninline, STARTUP keyword: In-buffer settings. (line 160) * fnlocal, STARTUP keyword: In-buffer settings. (line 160) * fnplain, STARTUP keyword: In-buffer settings. (line 160) * fnprompt, STARTUP keyword: In-buffer settings. (line 160) * folded, subtree visibility state: Global and local cycling. (line 10) * folding, sparse trees: Sparse trees. (line 6) * following links: Handling links. (line 101) * footnote.el <1>: Cooperation. (line 74) * footnote.el: Footnote markup. (line 6) * footnotes: Footnotes. (line 6) * footnotes, markup rules: Footnote markup. (line 6) * format specifier: Formula syntax for Calc. (line 14) * format, of links: Link format. (line 6) * formatting source code, markup rules: Literal examples. (line 23) * formula debugging: Editing and debugging formulas. (line 132) * formula editing: Editing and debugging formulas. (line 6) * formula syntax, Calc: Formula syntax for Calc. (line 6) * formula, for individual table field: Field and range formulas. (line 6) * formula, for range of fields: Field and range formulas. (line 6) * formula, for table column: Column formulas. (line 6) * formula, in tables: Built-in table editor. (line 156) * Gillespie, Dave: Cooperation. (line 6) * global cycling: Global and local cycling. (line 22) * global key bindings: Activation. (line 6) * global TODO list: Global TODO list. (line 6) * global visibility states: Global and local cycling. (line 22) * Gnus links: External links. (line 6) * graph, in tables: Org-Plot. (line 6) * group tags: Tag groups. (line 6) * group tags, as regular expressions: Matching tags and properties. (line 65) * grouping columns in tables: Column groups. (line 6) * habits: Tracking your habits. (line 6) * hacking: Hacking. (line 6) * header, for LaTeX files: Header and sectioning. (line 6) * headings and sections, markup rules: Headings and sections. (line 6) * headline navigation: Motion. (line 6) * headline tagging: Tags. (line 6) * headline, promotion and demotion: Structure editing. (line 6) * headlines: Headlines. (line 6) * hide text: Visibility cycling. (line 6) * hideblocks, STARTUP keyword <1>: In-buffer settings. (line 172) * hideblocks, STARTUP keyword: Blocks. (line 13) * hidestars, STARTUP keyword: In-buffer settings. (line 140) * hiding leading stars: Clean view. (line 6) * history: History and Acknowledgments. (line 6) * hooks: Hooks. (line 6) * horizontal rules, in ASCII export: ASCII/Latin-1/UTF-8 export. (line 52) * horizontal rules, in LaTeX export: LaTeX specific attributes. (line 209) * horizontal rules, markup rules: Horizontal rules. (line 6) * HTML entities: Special symbols. (line 6) * HTML export: HTML export. (line 6) * HTML export, CSS: CSS support. (line 6) * HTML, and Orgtbl mode: Translator functions. (line 6) * hyperlinks: Hyperlinks. (line 6) * hyperlinks, adding new types: Adding hyperlink types. (line 6) * iCalendar export: iCalendar export. (line 6) * identify, ImageMagick: Images in ODT export. (line 33) * idle, resolve, dangling: Resolving idle time. (line 9) * imagemagick <1>: Working with LaTeX math snippets. (line 44) * imagemagick: Math formatting in HTML export. (line 6) * images, embedding in ODT: Images in ODT export. (line 6) * images, inline in HTML: Images in HTML export. (line 6) * images, inline in LaTeX: LaTeX specific attributes. (line 100) * images, inlining: Handling links. (line 136) * imenu.el: Cooperation. (line 33) * in-buffer settings: In-buffer settings. (line 6) * inactive timestamp: Timestamps. (line 52) * include files, markup rules: Include files. (line 6) * indent, STARTUP keyword: In-buffer settings. (line 86) * index entries, for publishing: Index entries. (line 6) * index, in a publishing project: Generating an index. (line 6) * Info links: External links. (line 6) * inheritance, of properties: Property inheritance. (line 6) * inheritance, of tags: Tag inheritance. (line 6) * inlined images, markup rules: Images and tables. (line 22) * inlineimages, STARTUP keyword <1>: In-buffer settings. (line 101) * inlineimages, STARTUP keyword: Handling links. (line 136) * inlining images: Handling links. (line 136) * inlining images in HTML: Images in HTML export. (line 6) * inlining images in LaTeX: LaTeX specific attributes. (line 100) * inserting links: Handling links. (line 66) * insertion, of templates: Easy Templates. (line 6) * installation: Installation. (line 6) * internal links: Internal links. (line 6) * internal links, in HTML export: Links in HTML export. (line 6) * introduction: Introduction. (line 6) * iPhone: MobileOrg. (line 6) * IRC links: External links. (line 6) * italic text, markup rules: Emphasis and monospace. (line 6) * jumping, to headlines: Motion. (line 6) * key bindings, global: Activation. (line 6) * keyword options: Per-file keywords. (line 6) * LaTeX class: Header and sectioning. (line 6) * LaTeX entities: Special symbols. (line 6) * LaTeX export: LaTeX and PDF export. (line 6) * LaTeX fragments: LaTeX fragments. (line 6) * LaTeX fragments, markup rules: Special symbols. (line 6) * LaTeX fragments, preview: Previewing LaTeX fragments. (line 6) * LaTeX header: Header and sectioning. (line 6) * LaTeX interpretation: Embedded LaTeX. (line 6) * LaTeX sectioning structure: Header and sectioning. (line 6) * LaTeX, and Orgtbl mode: A LaTeX example. (line 6) * latexpreview, STARTUP keyword: In-buffer settings. (line 108) * Latin-1 export: ASCII/Latin-1/UTF-8 export. (line 6) * level, require for tags/property match: Matching tags and properties. (line 71) * LibreOffice <1>: Extending ODT export. (line 11) * LibreOffice: OpenDocument Text export. (line 6) * limits, in agenda: Filtering/limiting agenda items. (line 118) * link abbreviations: Link abbreviations. (line 6) * link abbreviations, completion of: Completion. (line 6) * link completion: Handling links. (line 66) * link format: Link format. (line 6) * links, external: External links. (line 6) * links, finding next/previous: Handling links. (line 156) * links, handling: Handling links. (line 6) * links, in HTML export: Links in HTML export. (line 6) * links, in ODT export: Links in ODT export. (line 6) * links, internal: Internal links. (line 6) * links, publishing: Publishing links. (line 6) * links, radio targets: Radio targets. (line 6) * links, returning to: Handling links. (line 149) * Lisp forms, as table formulas: Formula syntax for Lisp. (line 6) * lists, in other modes: Tables in arbitrary syntax. (line 6) * lists, markup rules: Lists. (line 6) * lists, ordered: Plain lists. (line 6) * lists, plain: Plain lists. (line 6) * literal examples, markup rules: Literal examples. (line 6) * logdone, STARTUP keyword: In-buffer settings. (line 114) * logdrawer, STARTUP keyword: In-buffer settings. (line 114) * logging, of progress: Progress logging. (line 6) * lognoteclock-out, STARTUP keyword: In-buffer settings. (line 114) * lognotedone, STARTUP keyword: In-buffer settings. (line 114) * lognoteredeadline, STARTUP keyword: In-buffer settings. (line 114) * lognoterefile, STARTUP keyword: In-buffer settings. (line 114) * lognoterepeat, STARTUP keyword: In-buffer settings. (line 114) * lognotereschedule, STARTUP keyword: In-buffer settings. (line 114) * logredeadline, STARTUP keyword: In-buffer settings. (line 114) * logrefile, STARTUP keyword: In-buffer settings. (line 114) * logrepeat, STARTUP keyword: In-buffer settings. (line 114) * logreschedule, STARTUP keyword: In-buffer settings. (line 114) * logstatesreversed, STARTUP keyword: In-buffer settings. (line 114) * lookup functions in tables: Lookup functions. (line 6) * Ludlam, Eric M.: Cooperation. (line 45) * macro replacement, during export: Macro replacement. (line 6) * maintainer: Feedback. (line 6) * mapping entries, API: Using the mapping API. (line 6) * mark ring: Handling links. (line 145) * Markdown export: Markdown export. (line 6) * marking characters, tables: Advanced features. (line 39) * match view: Matching tags and properties. (line 6) * matching, of properties: Matching tags and properties. (line 6) * matching, of tags: Matching tags and properties. (line 6) * matching, tags: Tags. (line 6) * math symbols: Special symbols. (line 6) * MathJax: Math formatting in HTML export. (line 6) * MathML: Working with LaTeX math snippets. (line 9) * MH-E links: External links. (line 6) * minor mode for structure editing: Orgstruct mode. (line 6) * minor mode for tables: Orgtbl mode. (line 6) * MobileOrg: MobileOrg. (line 6) * mode, for calc: Formula syntax for Calc. (line 14) * motion commands in agenda: Agenda commands. (line 19) * motion, between headlines: Motion. (line 6) * name, of column or field: References. (line 102) * named references: References. (line 102) * names as TODO keywords: TODO types. (line 6) * narrow columns in tables: Column width and alignment. (line 6) * noalign, STARTUP keyword: In-buffer settings. (line 94) * nofnadjust, STARTUP keyword: In-buffer settings. (line 160) * nofninline, STARTUP keyword: In-buffer settings. (line 160) * nohideblocks, STARTUP keyword <1>: In-buffer settings. (line 172) * nohideblocks, STARTUP keyword: Blocks. (line 13) * noindent, STARTUP keyword: In-buffer settings. (line 86) * noinlineimages, STARTUP keyword <1>: In-buffer settings. (line 101) * noinlineimages, STARTUP keyword: Handling links. (line 136) * nolatexpreview, STARTUP keyword: In-buffer settings. (line 108) * nologdone, STARTUP keyword: In-buffer settings. (line 114) * nologdrawer, STARTUP keyword: In-buffer settings. (line 114) * nolognoteclock-out, STARTUP keyword: In-buffer settings. (line 114) * nologredeadline, STARTUP keyword: In-buffer settings. (line 114) * nologrefile, STARTUP keyword: In-buffer settings. (line 114) * nologrepeat, STARTUP keyword: In-buffer settings. (line 114) * nologreschedule, STARTUP keyword: In-buffer settings. (line 114) * nologstatesreversed, STARTUP keyword: In-buffer settings. (line 114) * occur, command: Sparse trees. (line 6) * occur-tree: Storing searches. (line 9) * odd, STARTUP keyword: In-buffer settings. (line 140) * odd-levels-only outlines: Clean view. (line 6) * ODT: OpenDocument Text export. (line 6) * OpenDocument: OpenDocument Text export. (line 6) * option keyword completion: Completion. (line 6) * options, for custom agenda views: Setting Options. (line 6) * options, for customization: Customization. (line 6) * options, for publishing: Publishing options. (line 6) * ordered lists: Plain lists. (line 6) * Org mode, turning on: Activation. (line 27) * Org syntax: Org syntax. (line 6) * org-agenda, command: Weekly/daily agenda. (line 9) * org-capture-last-stored: Using capture. (line 50) * org-crypt.el: org-crypt. (line 6) * org-decrypt-entry: org-crypt. (line 6) * org-hide-block-startup: In-buffer settings. (line 171) * org-insert-drawer <1>: Property syntax. (line 88) * org-insert-drawer: Drawers. (line 6) * org-list-insert-radio-list: Radio lists. (line 6) * org-pretty-entities: In-buffer settings. (line 176) * org-publish-project-alist: Project alist. (line 6) * Orgstruct mode: Orgstruct mode. (line 6) * Orgtbl mode <1>: Tables in arbitrary syntax. (line 6) * Orgtbl mode: Orgtbl mode. (line 6) * Ota, Takaaki: Cooperation. (line 52) * Outline mode: Outlines. (line 6) * outline tree: Headlines. (line 6) * outlines: Outlines. (line 6) * overview, global visibility state: Global and local cycling. (line 22) * overview, STARTUP keyword <1>: In-buffer settings. (line 80) * overview, STARTUP keyword: Initial visibility. (line 6) * packages, interaction with other: Interaction. (line 6) * paragraphs, markup rules: Paragraphs. (line 6) * pasting, of subtrees: Structure editing. (line 6) * PDF export: LaTeX and PDF export. (line 6) * per-file keywords: Per-file keywords. (line 6) * plain lists: Plain lists. (line 6) * plain lists, in LaTeX export: LaTeX specific attributes. (line 148) * plain text external links: External links. (line 70) * plot tables using Gnuplot: Org-Plot. (line 6) * presentation, of agenda items: Presentation and sorting. (line 6) * print edition: Summary. (line 58) * printing sparse trees: Sparse trees. (line 53) * priorities: Priorities. (line 6) * priorities, of agenda items: Sorting agenda items. (line 6) * progress logging: Progress logging. (line 6) * projects, for publishing: Project alist. (line 6) * promotion, of subtrees: Structure editing. (line 6) * properties: Properties and Columns. (line 6) * properties, API <1>: Using the property API. (line 6) * properties, API: Property API. (line 6) * properties, column view: Defining columns. (line 6) * properties, inheritance: Property inheritance. (line 6) * properties, searching: Property searches. (line 6) * properties, special: Special properties. (line 6) * property EXPORT_FILE_NAME: ODT export commands. (line 10) * property syntax: Property syntax. (line 6) * property, +: Property syntax. (line 50) * property, _ALL: Property syntax. (line 42) * property, ALT_TITLE: Table of contents. (line 31) * property, ARCHIVE <1>: Moving subtrees. (line 32) * property, ARCHIVE: Property inheritance. (line 34) * property, ATTACH_DIR: Attachments. (line 71) * property, ATTACH_DIR_INHERIT: Attachments. (line 76) * property, BEAMER_ACT: Beamer export. (line 63) * property, BEAMER_COL: Beamer export. (line 70) * property, BEAMER_ENV: Beamer export. (line 39) * property, BEAMER_OPT: Beamer export. (line 63) * property, BEAMER_REF: Beamer export. (line 50) * property, CATEGORY <1>: Categories. (line 12) * property, CATEGORY: Property inheritance. (line 30) * property, COLUMNS <1>: In-buffer settings. (line 30) * property, COLUMNS: Property inheritance. (line 22) * property, COOKIE_DATA <1>: Checkboxes. (line 30) * property, COOKIE_DATA: Breaking down tasks. (line 21) * property, CUSTOM_ID <1>: Handling links. (line 21) * property, CUSTOM_ID: Internal links. (line 6) * property, DESCRIPTION: iCalendar export. (line 46) * property, Effort: Effort estimates. (line 6) * property, EXPORT_FILE_NAME: Export settings. (line 181) * property, EXPORT_LATEX_CLASS: Header and sectioning. (line 22) * property, EXPORT_LATEX_CLASS_OPTIONS: Header and sectioning. (line 22) * property, EXPORT_TITLE: Document title. (line 13) * property, ID <1>: iCalendar export. (line 21) * property, ID <2>: Capturing column view. (line 22) * property, ID: Handling links. (line 21) * property, LOCATION: iCalendar export. (line 46) * property, LOG_INTO_DRAWER <1>: Clocking commands. (line 7) * property, LOG_INTO_DRAWER: Tracking TODO state changes. (line 6) * property, LOGGING <1>: Property inheritance. (line 38) * property, LOGGING: Tracking TODO state changes. (line 45) * property, ORDERED <1>: Checkboxes. (line 46) * property, ORDERED: TODO dependencies. (line 6) * property, special, ALLTAGS: Special properties. (line 13) * property, special, BLOCKED: Special properties. (line 13) * property, special, CATEGORY: Special properties. (line 13) * property, special, CLOCKSUM <1>: Agenda column view. (line 28) * property, special, CLOCKSUM: Special properties. (line 13) * property, special, CLOCKSUM_T <1>: Agenda column view. (line 51) * property, special, CLOCKSUM_T: Special properties. (line 13) * property, special, CLOSED: Special properties. (line 13) * property, special, DEADLINE: Special properties. (line 13) * property, special, FILE: Special properties. (line 13) * property, special, ID: Special properties. (line 13) * property, special, ITEM: Special properties. (line 13) * property, special, PRIORITY: Special properties. (line 13) * property, special, SCHEDULED: Special properties. (line 13) * property, special, TAGS: Special properties. (line 13) * property, special, TIMESTAMP: Special properties. (line 13) * property, special, TIMESTAMP_IA: Special properties. (line 13) * property, special, TODO: Special properties. (line 13) * property, SUMMARY: iCalendar export. (line 46) * property, VISIBILITY: Initial visibility. (line 21) * property: CLOCK_MODELINE_TOTAL: Clocking commands. (line 20) * property: LAST_REPEAT: Clocking commands. (line 20) * protocols, for external access: Protocols. (line 6) * publishing: Publishing. (line 6) * query editing, in agenda: Filtering/limiting agenda items. (line 17) * radio lists: Radio lists. (line 6) * radio tables: Radio tables. (line 6) * radio targets: Radio targets. (line 6) * range formula: Field and range formulas. (line 6) * range references: References. (line 63) * ranges, time: Timestamps. (line 6) * recomputing table fields: Updating the table. (line 6) * references: References. (line 6) * references, named: References. (line 102) * references, remote: References. (line 123) * references, to a different table: References. (line 123) * references, to fields: References. (line 15) * references, to ranges: References. (line 63) * refiling notes: Refile and copy. (line 6) * region, active <1>: ODT export commands. (line 9) * region, active <2>: Built-in table editor. (line 156) * region, active: Structure editing. (line 137) * regular expressions, with tags search: Matching tags and properties. (line 61) * relative timer: Relative timer. (line 6) * remember.el: Cooperation. (line 42) * reminders: Weekly/daily agenda. (line 107) * remote editing, bulk, from agenda: Agenda commands. (line 365) * remote editing, from agenda: Agenda commands. (line 228) * remote editing, undo: Agenda commands. (line 229) * remote references: References. (line 123) * repeated tasks: Repeated tasks. (line 6) * report, of clocked time: The clock table. (line 6) * resolve idle time: Resolving idle time. (line 9) * revealing context: Global and local cycling. (line 34) * RMAIL links: External links. (line 6) * Rose, Sebastian: JavaScript support. (line 6) * row, of field coordinates: References. (line 86) * RSS feeds: RSS Feeds. (line 6) * rsync: Uploading files. (line 6) * SCHEDULED keyword: Deadlines and scheduling. (line 29) * scheduling: Timestamps. (line 6) * Schulte, Eric: Working With Source Code. (line 6) * Scripts, for agenda processing: Extracting agenda information. (line 6) * search option in file links: Search options. (line 6) * search strings, custom: Custom searches. (line 6) * search view: Search view. (line 6) * searching for tags: Tag searches. (line 6) * searching, for text: Search view. (line 6) * searching, of properties: Property searches. (line 6) * sectioning structure, for LaTeX export: Header and sectioning. (line 6) * setting tags: Setting tags. (line 6) * SHELL links: External links. (line 6) * shift-selection-mode <1>: Conflicts. (line 6) * shift-selection-mode: Plain lists. (line 94) * show all, command: Global and local cycling. (line 33) * show all, global visibility state: Global and local cycling. (line 22) * show branches, command: Global and local cycling. (line 43) * show children, command: Global and local cycling. (line 47) * show hidden text: Visibility cycling. (line 6) * showall, STARTUP keyword <1>: In-buffer settings. (line 80) * showall, STARTUP keyword: Initial visibility. (line 6) * showeverything, STARTUP keyword <1>: In-buffer settings. (line 80) * showeverything, STARTUP keyword: Initial visibility. (line 6) * showstars, STARTUP keyword: In-buffer settings. (line 140) * sitemap, of published pages: Sitemap. (line 6) * sorting, of agenda items: Sorting agenda items. (line 6) * sorting, of plain list: Plain lists. (line 154) * sorting, of subtrees: Structure editing. (line 6) * source blocks, in LaTeX export: LaTeX specific attributes. (line 159) * source code, batch execution: Batch execution. (line 6) * source code, block header arguments: Header arguments. (line 6) * source code, block structure: Structure of code blocks. (line 6) * source code, editing: Editing source code. (line 6) * source code, evaluating: Evaluating code blocks. (line 6) * source code, exporting: Exporting code blocks. (line 6) * source code, extracting: Extracting source code. (line 6) * source code, inline: Structure of code blocks. (line 16) * source code, language: Structure of code blocks. (line 37) * source code, languages: Languages. (line 6) * source code, library: Library of Babel. (line 6) * source code, noweb reference: Noweb reference syntax. (line 6) * source code, results of evaluation: Results of evaluation. (line 6) * source code, switches: Structure of code blocks. (line 41) * source code, working with: Working With Source Code. (line 6) * sparse tree, for deadlines: Inserting deadline/schedule. (line 32) * sparse tree, for TODO: TODO basics. (line 42) * sparse tree, tag based: Tags. (line 6) * sparse trees: Sparse trees. (line 6) * Special blocks: Special blocks. (line 6) * special blocks, in LaTeX export: LaTeX specific attributes. (line 180) * special keywords: In-buffer settings. (line 6) * special symbols: Special symbols. (line 6) * speed keys: Speed keys. (line 6) * speedbar.el: Cooperation. (line 45) * spreadsheet capabilities: The spreadsheet. (line 6) * square brackets, around links: External links. (line 70) * statistics, for checkboxes: Checkboxes. (line 30) * statistics, for TODO items: Breaking down tasks. (line 6) * storing links: Handling links. (line 10) * Storm, Kim. F.: Conflicts. (line 19) * strike-through text, markup rules: Emphasis and monospace. (line 6) * structure editing: Structure editing. (line 6) * structure of document: Document Structure. (line 6) * styles, custom <1>: Working with OpenDocument style files. (line 6) * styles, custom: Applying custom styles. (line 6) * sublevels, inclusion into tags match: Tag inheritance. (line 6) * sublevels, inclusion into TODO list: Global TODO list. (line 35) * subscript: Subscripts and superscripts. (line 6) * subtree cycling: Global and local cycling. (line 10) * subtree visibility states: Global and local cycling. (line 10) * subtree, cut and paste: Structure editing. (line 6) * subtree, subtree visibility state: Global and local cycling. (line 10) * subtrees, cut and paste: Structure editing. (line 6) * summary: Summary. (line 6) * superscript: Subscripts and superscripts. (line 6) * syntax, noweb: Noweb reference syntax. (line 6) * syntax, of formulas: Formula syntax for Calc. (line 6) * table editor, built-in: Built-in table editor. (line 6) * table editor, table.el: Cooperation. (line 52) * table lookup functions: Lookup functions. (line 6) * table of contents, markup rules: Table of contents. (line 6) * table.el: Cooperation. (line 49) * tables: Tables. (line 6) * tables, in HTML: Tables in HTML export. (line 6) * tables, in LaTeX export: LaTeX specific attributes. (line 12) * tables, in ODT export <1>: Customizing tables in ODT export. (line 6) * tables, in ODT export: Tables in ODT export. (line 6) * tables, in other modes: Tables in arbitrary syntax. (line 6) * tables, markup rules: Images and tables. (line 6) * tag completion: Completion. (line 6) * tag filtering, in agenda: Filtering/limiting agenda items. (line 17) * tag inheritance: Tag inheritance. (line 6) * tag searches: Tag searches. (line 6) * tags: Tags. (line 6) * tags view: Matching tags and properties. (line 6) * tags, as an agenda view: Storing searches. (line 9) * tags, groups: Tag groups. (line 6) * tags, setting: Setting tags. (line 6) * tags-todo: Storing searches. (line 9) * tags-tree: Storing searches. (line 9) * tangling: Extracting source code. (line 6) * targets, for links: Internal links. (line 6) * targets, radio: Radio targets. (line 6) * tasks, breaking down: Breaking down tasks. (line 6) * tasks, repeated: Repeated tasks. (line 6) * template insertion: Easy Templates. (line 6) * template, custom <1>: Working with OpenDocument style files. (line 6) * template, custom: Applying custom styles. (line 6) * templates, for Capture: Capture templates. (line 6) * TeX interpretation: Embedded LaTeX. (line 6) * TeX macros: Special symbols. (line 6) * TeX symbol completion: Completion. (line 6) * text areas, in HTML: Text areas in HTML export. (line 6) * text search: Search view. (line 6) * thanks: History and Acknowledgments. (line 6) * time clocking: Clocking work time. (line 6) * time format, custom: Custom time format. (line 6) * time grid: Time-of-day specifications. (line 26) * Time, computing: Durations and time values. (line 6) * time, reading in minibuffer: The date/time prompt. (line 6) * time-of-day specification: Time-of-day specifications. (line 6) * time-sorted view: Timeline. (line 6) * timeline, single file: Timeline. (line 6) * timerange: Timestamps. (line 43) * times: Dates and Times. (line 6) * timestamp <1>: Timestamps. (line 14) * timestamp: Dates and Times. (line 6) * timestamp, inactive: Timestamps. (line 52) * timestamp, with repeater interval: Timestamps. (line 26) * timestamps: Timestamps. (line 6) * timestamps, creating: Creating timestamps. (line 6) * TODO dependencies: TODO dependencies. (line 6) * TODO items: TODO Items. (line 6) * TODO keyword matching: Global TODO list. (line 18) * TODO keyword matching, with tags search: Matching tags and properties. (line 71) * TODO keyword sets: Multiple sets in one file. (line 6) * TODO keywords completion: Completion. (line 6) * TODO list, global: Global TODO list. (line 6) * TODO types: TODO types. (line 6) * TODO workflow: Workflow states. (line 6) * todo, as an agenda view: Storing searches. (line 9) * todo-tree: Storing searches. (line 9) * top headline filtering, in agenda: Filtering/limiting agenda items. (line 17) * transient mark mode <1>: Built-in table editor. (line 156) * transient mark mode: Structure editing. (line 137) * transient-mark-mode: ODT export commands. (line 9) * translator function: Translator functions. (line 6) * trees, sparse: Sparse trees. (line 6) * trees, visibility: Visibility cycling. (line 6) * tty key bindings: TTY keys. (line 6) * types as TODO keywords: TODO types. (line 6) * underlined text, markup rules: Emphasis and monospace. (line 6) * undoing remote-editing events: Agenda commands. (line 229) * unison: Uploading files. (line 6) * unoconv: Extending ODT export. (line 11) * updating, table: Updating the table. (line 6) * URL links: External links. (line 6) * USENET links: External links. (line 6) * UTF-8 export: ASCII/Latin-1/UTF-8 export. (line 6) * variables, for customization: Customization. (line 6) * vectors, in table calculations: Formula syntax for Calc. (line 11) * verbatim text, markup rules: Emphasis and monospace. (line 6) * viper.el: Conflicts. (line 97) * visibility cycling: Visibility cycling. (line 6) * visibility cycling, drawers: Drawers. (line 6) * visibility, initialize: Initial visibility. (line 6) * visible text, printing: Sparse trees. (line 53) * VM links: External links. (line 43) * WANDERLUST links: External links. (line 43) * weekly agenda: Weekly/daily agenda. (line 6) * Wiegley, John: Cooperation. (line 42) * windmove.el: Conflicts. (line 84) * workflow states as TODO keywords: Workflow states. (line 6) * XEmacs: Installation. (line 6) * yasnippet.el: Conflicts. (line 58) * zip: Pre-requisites for ODT export. (line 6)  File: org, Node: Key Index, Next: Command and Function Index, Prev: Main Index, Up: Top Key index ********* [index] * Menu: * $: Agenda commands. (line 263) * %: Agenda commands. (line 382) * ': CDLaTeX mode. (line 43) * *: Agenda commands. (line 367) * +: Agenda commands. (line 285) * ,: Agenda commands. (line 277) * -: Agenda commands. (line 290) * .: Agenda commands. (line 97) * / <1>: Agenda commands. (line 198) * /: Filtering/limiting agenda items. (line 17) * :: Agenda commands. (line 273) * ;: Countdown timer. (line 6) * < <1>: Agenda commands. (line 205) * < <2>: Filtering/limiting agenda items. (line 93) * < <3>: Agenda files. (line 57) * < <4>: The date/time prompt. (line 82) * <: Using column view. (line 70) * <1>: Agenda commands. (line 37) * <2>: The date/time prompt. (line 82) * <3>: Setting tags. (line 116) * <4>: Handling links. (line 122) * : Built-in table editor. (line 65) * <1>: Agenda commands. (line 28) * : Setting tags. (line 115) * <1>: CDLaTeX mode. (line 23) * <2>: Agenda commands. (line 34) * <3>: Setting tags. (line 107) * <4>: Editing and debugging formulas. (line 57) * <5>: Built-in table editor. (line 58) * <6>: Plain lists. (line 68) * <7>: Structure editing. (line 33) * : Global and local cycling. (line 10) * = <1>: Agenda commands. (line 213) * =: Filtering/limiting agenda items. (line 103) * > <1>: Agenda commands. (line 326) * > <2>: Agenda files. (line 61) * > <3>: The date/time prompt. (line 82) * >: Using column view. (line 70) * ?: Pulling from MobileOrg. (line 34) * [ <1>: Agenda commands. (line 121) * [: Filtering/limiting agenda items. (line 83) * \ <1>: Agenda commands. (line 202) * \: Filtering/limiting agenda items. (line 76) * ]: Filtering/limiting agenda items. (line 83) * ^ <1>: CDLaTeX mode. (line 33) * ^ <2>: Agenda commands. (line 209) * ^: Filtering/limiting agenda items. (line 99) * _: CDLaTeX mode. (line 33) * `: CDLaTeX mode. (line 39) * a: Agenda commands. (line 251) * A: Agenda commands. (line 64) * a: Using column view. (line 59) * B: Agenda commands. (line 385) * b: Agenda commands. (line 94) * C: Agenda commands. (line 489) * c: Agenda commands. (line 456) * C-#: Advanced features. (line 10) * C-': Agenda files. (line 22) * C-,: Agenda files. (line 22) * C-0 C-c C-w: Refile and copy. (line 47) * C-: Structure editing. (line 19) * C-_: Agenda commands. (line 229) * C-c !: Creating timestamps. (line 15) * C-c #: Checkboxes. (line 84) * C-c $: Moving subtrees. (line 9) * C-c %: Handling links. (line 142) * C-c &: Handling links. (line 146) * C-c ' <1>: Cooperation. (line 61) * C-c ' <2>: Editing source code. (line 6) * C-c ' <3>: Include files. (line 37) * C-c ' <4>: Literal examples. (line 70) * C-c ': Editing and debugging formulas. (line 36) * C-c * <1>: Updating the table. (line 13) * C-c * <2>: Plain lists. (line 139) * C-c *: Structure editing. (line 126) * C-c +: Built-in table editor. (line 156) * C-c ,: Priorities. (line 24) * C-c - <1>: Built-in table editor. (line 101) * C-c -: Plain lists. (line 127) * C-c .: Creating timestamps. (line 10) * C-c / <1>: Conflicts. (line 97) * C-c /: Sparse trees. (line 15) * C-c / a: Inserting deadline/schedule. (line 39) * C-c / b: Inserting deadline/schedule. (line 36) * C-c / d: Inserting deadline/schedule. (line 29) * C-c / m <1>: Property searches. (line 10) * C-c / m: Tag searches. (line 9) * C-c / p: Property searches. (line 29) * C-c / r: Sparse trees. (line 17) * C-c / t: TODO basics. (line 39) * C-c ;: Comment lines. (line 12) * C-c <: Creating timestamps. (line 29) * C-c : Built-in table editor. (line 105) * C-c : Global and local cycling. (line 47) * C-c = <1>: Editing and debugging formulas. (line 13) * C-c =: Column formulas. (line 32) * C-c >: Creating timestamps. (line 33) * C-c ?: Editing and debugging formulas. (line 22) * C-c @: Structure editing. (line 63) * C-c [: Agenda files. (line 15) * C-c \ <1>: Property searches. (line 10) * C-c \: Tag searches. (line 9) * C-c ]: Agenda files. (line 19) * C-c ^ <1>: Built-in table editor. (line 109) * C-c ^ <2>: Plain lists. (line 154) * C-c ^: Structure editing. (line 105) * C-c `: Built-in table editor. (line 174) * C-c a: Conventions. (line 35) * C-c a !: Stuck projects. (line 14) * C-c a #: Stuck projects. (line 13) * C-c a ?: Pulling from MobileOrg. (line 44) * C-c a a: Weekly/daily agenda. (line 9) * C-c a C: Storing searches. (line 9) * C-c a e: Exporting Agenda Views. (line 64) * C-c a L: Timeline. (line 10) * C-c a M: Matching tags and properties. (line 17) * C-c a m: Matching tags and properties. (line 12) * C-c a M: Property searches. (line 16) * C-c a m: Property searches. (line 12) * C-c a M: Tag searches. (line 17) * C-c a m: Tag searches. (line 13) * C-c a s: Search view. (line 9) * C-c a T: Global TODO list. (line 15) * C-c a t <1>: Global TODO list. (line 9) * C-c a t: TODO basics. (line 50) * C-c c <1>: Using capture. (line 6) * C-c c: Conventions. (line 35) * C-c c C: Capture templates. (line 10) * C-c C-*: Plain lists. (line 144) * C-c C-a <1>: Agenda commands. (line 298) * C-c C-a: Attachments. (line 26) * C-c C-a a: Attachments. (line 31) * C-c C-a c: Attachments. (line 37) * C-c C-a D: Attachments. (line 66) * C-c C-a d: Attachments. (line 63) * C-c C-a F: Attachments. (line 60) * C-c C-a f: Attachments. (line 57) * C-c C-a i: Attachments. (line 75) * C-c C-a l: Attachments. (line 37) * C-c C-a m: Attachments. (line 37) * C-c C-a n: Attachments. (line 41) * C-c C-a O: Attachments. (line 54) * C-c C-a o: Attachments. (line 48) * C-c C-a s: Attachments. (line 70) * C-c C-a z: Attachments. (line 44) * C-c C-b <1>: Beamer export. (line 142) * C-c C-b: Motion. (line 15) * C-c C-c <1>: Cooperation. (line 52) * C-c C-c <2>: The very busy C-c C-c key. (line 6) * C-c C-c <3>: Key bindings and useful functions. (line 11) * C-c C-c <4>: Evaluating code blocks. (line 19) * C-c C-c <5>: Previewing LaTeX fragments. (line 15) * C-c C-c <6>: Using capture. (line 15) * C-c C-c <7>: The clock table. (line 16) * C-c C-c <8>: Clocking commands. (line 51) * C-c C-c <9>: Creating timestamps. (line 26) * C-c C-c <10>: Capturing column view. (line 51) * C-c C-c <11>: Using column view. (line 52) * C-c C-c <12>: Property syntax. (line 90) * C-c C-c <13>: Setting tags. (line 20) * C-c C-c <14>: Checkboxes. (line 52) * C-c C-c <15>: Editing and debugging formulas. (line 47) * C-c C-c <16>: Built-in table editor. (line 57) * C-c C-c <17>: Footnotes. (line 86) * C-c C-c: Plain lists. (line 122) * C-c C-c c: Property syntax. (line 108) * C-c C-c D: Property syntax. (line 105) * C-c C-c d: Property syntax. (line 102) * C-c C-c s: Property syntax. (line 94) * C-c C-d <1>: Agenda commands. (line 305) * C-c C-d: Inserting deadline/schedule. (line 9) * C-c C-e: The Export Dispatcher. (line 11) * C-c C-e c a: iCalendar export. (line 34) * C-c C-e c c: iCalendar export. (line 39) * C-c C-e c f: iCalendar export. (line 32) * C-c C-e C-v: Sparse trees. (line 53) * C-c C-e h H: HTML Export commands. (line 10) * C-c C-e h h: HTML Export commands. (line 6) * C-c C-e l B: Beamer export. (line 16) * C-c C-e l b: Beamer export. (line 13) * C-c C-e l L: LaTeX export commands. (line 9) * C-c C-e l l: LaTeX export commands. (line 6) * C-c C-e l p: LaTeX export commands. (line 12) * C-c C-e l P: Beamer export. (line 19) * C-c C-e m M: Markdown export. (line 19) * C-c C-e m m: Markdown export. (line 16) * C-c C-e o o: ODT export commands. (line 9) * C-c C-e P a: Triggering publication. (line 16) * C-c C-e P f: Triggering publication. (line 13) * C-c C-e P p: Triggering publication. (line 10) * C-c C-e P x: Triggering publication. (line 8) * C-c C-e t A/L/U: ASCII/Latin-1/UTF-8 export. (line 22) * C-c C-e t a/l/u: ASCII/Latin-1/UTF-8 export. (line 18) * C-c C-f: Motion. (line 12) * C-c C-j: Motion. (line 21) * C-c C-k <1>: Using capture. (line 31) * C-c C-k: Global and local cycling. (line 43) * C-c C-l: Handling links. (line 65) * C-c C-n: Motion. (line 8) * C-c C-o <1>: Key bindings and useful functions. (line 11) * C-c C-o <2>: Agenda commands. (line 56) * C-c C-o <3>: Creating timestamps. (line 38) * C-c C-o <4>: Handling links. (line 101) * C-c C-o: Footnotes. (line 90) * C-c C-p: Motion. (line 9) * C-c C-q <1>: Setting tags. (line 10) * C-c C-q: Editing and debugging formulas. (line 50) * C-c C-r <1>: Editing and debugging formulas. (line 53) * C-c C-r: Global and local cycling. (line 34) * C-c C-s <1>: Agenda commands. (line 301) * C-c C-s: Inserting deadline/schedule. (line 17) * C-c C-t <1>: Clocking commands. (line 67) * C-c C-t: TODO basics. (line 13) * C-c C-u: Motion. (line 18) * C-c C-v a: Key bindings and useful functions. (line 54) * C-c C-v b: Key bindings and useful functions. (line 32) * C-c C-v c: Key bindings and useful functions. (line 42) * C-c C-v C-a: Key bindings and useful functions. (line 54) * C-c C-v C-b: Key bindings and useful functions. (line 32) * C-c C-v C-c: Key bindings and useful functions. (line 42) * C-c C-v C-d: Key bindings and useful functions. (line 36) * C-c C-v C-e: Key bindings and useful functions. (line 20) * C-c C-v C-f: Key bindings and useful functions. (line 40) * C-c C-v C-g: Key bindings and useful functions. (line 28) * C-c C-v C-h: Key bindings and useful functions. (line 56) * C-c C-v C-I: Key bindings and useful functions. (line 50) * C-c C-v C-i: Key bindings and useful functions. (line 48) * C-c C-v C-j: Key bindings and useful functions. (line 44) * C-c C-v C-l: Key bindings and useful functions. (line 46) * C-c C-v C-n: Key bindings and useful functions. (line 18) * C-c C-v C-o: Key bindings and useful functions. (line 22) * C-c C-v C-p: Key bindings and useful functions. (line 18) * C-c C-v C-r: Key bindings and useful functions. (line 30) * C-c C-v C-s: Key bindings and useful functions. (line 34) * C-c C-v C-t: Key bindings and useful functions. (line 38) * C-c C-v C-u: Key bindings and useful functions. (line 26) * C-c C-v C-v: Key bindings and useful functions. (line 24) * C-c C-v C-x: Key bindings and useful functions. (line 58) * C-c C-v C-z: Key bindings and useful functions. (line 52) * C-c C-v d: Key bindings and useful functions. (line 36) * C-c C-v e: Key bindings and useful functions. (line 20) * C-c C-v f: Key bindings and useful functions. (line 40) * C-c C-v g: Key bindings and useful functions. (line 28) * C-c C-v h: Key bindings and useful functions. (line 56) * C-c C-v I: Key bindings and useful functions. (line 50) * C-c C-v i <1>: Key bindings and useful functions. (line 48) * C-c C-v i: Library of Babel. (line 20) * C-c C-v j: Key bindings and useful functions. (line 44) * C-c C-v l: Key bindings and useful functions. (line 46) * C-c C-v n: Key bindings and useful functions. (line 18) * C-c C-v o: Key bindings and useful functions. (line 22) * C-c C-v p: Key bindings and useful functions. (line 18) * C-c C-v r: Key bindings and useful functions. (line 30) * C-c C-v s: Key bindings and useful functions. (line 34) * C-c C-v t <1>: Key bindings and useful functions. (line 38) * C-c C-v t: Extracting source code. (line 26) * C-c C-v u: Key bindings and useful functions. (line 26) * C-c C-v v: Key bindings and useful functions. (line 24) * C-c C-v x: Key bindings and useful functions. (line 58) * C-c C-v z: Key bindings and useful functions. (line 52) * C-c C-w <1>: Agenda commands. (line 248) * C-c C-w <2>: Refile and copy. (line 14) * C-c C-w <3>: Using capture. (line 22) * C-c C-w: Structure editing. (line 101) * C-c C-x ,: Relative timer. (line 21) * C-c C-x -: Relative timer. (line 13) * C-c C-x .: Relative timer. (line 10) * C-c C-x 0: Relative timer. (line 30) * C-c C-x ;: Countdown timer. (line 6) * C-c C-x <: Agenda files. (line 42) * C-c C-x > <1>: Agenda commands. (line 188) * C-c C-x >: Agenda files. (line 49) * C-c C-x \ <1>: Subscripts and superscripts. (line 21) * C-c C-x \: Special symbols. (line 31) * C-c C-x A: Agenda commands. (line 259) * C-c C-x a: Agenda commands. (line 256) * C-c C-x A: Internal archiving. (line 49) * C-c C-x a: Internal archiving. (line 36) * C-c C-x b <1>: Agenda commands. (line 47) * C-c C-x b: Global and local cycling. (line 51) * C-c C-x c: Structure editing. (line 93) * C-c C-x C-a <1>: Agenda commands. (line 251) * C-c C-x C-a: Archiving. (line 11) * C-c C-x C-b: Checkboxes. (line 56) * C-c C-x C-c <1>: Agenda column view. (line 11) * C-c C-x C-c <2>: Agenda commands. (line 177) * C-c C-x C-c: Using column view. (line 9) * C-c C-x C-d: Clocking commands. (line 80) * C-c C-x C-e <1>: Effort estimates. (line 17) * C-c C-x C-e: Clocking commands. (line 48) * C-c C-x C-i: Clocking commands. (line 6) * C-c C-x C-j: Clocking commands. (line 75) * C-c C-x C-k: Inserting deadline/schedule. (line 23) * C-c C-x C-l: Previewing LaTeX fragments. (line 9) * C-c C-x C-n: Handling links. (line 152) * C-c C-x C-o: Clocking commands. (line 34) * C-c C-x C-p: Handling links. (line 152) * C-c C-x C-q: Clocking commands. (line 71) * C-c C-x C-r: The clock table. (line 10) * C-c C-x C-s <1>: Agenda commands. (line 263) * C-c C-x C-s: Moving subtrees. (line 9) * C-c C-x C-t: Custom time format. (line 12) * C-c C-x C-u <1>: Dynamic blocks. (line 21) * C-c C-x C-u <2>: The clock table. (line 16) * C-c C-x C-u: Capturing column view. (line 51) * C-c C-x C-v: Handling links. (line 133) * C-c C-x C-w <1>: Built-in table editor. (line 130) * C-c C-x C-w: Structure editing. (line 67) * C-c C-x C-x: Clocking commands. (line 42) * C-c C-x C-y <1>: Built-in table editor. (line 134) * C-c C-x C-y: Structure editing. (line 75) * C-c C-x d: Drawers. (line 6) * C-c C-x e: Effort estimates. (line 14) * C-c C-x f: Footnotes. (line 51) * C-c C-x G: RSS Feeds. (line 27) * C-c C-x g: RSS Feeds. (line 23) * C-c C-x i: Capturing column view. (line 49) * C-c C-x M-w <1>: Built-in table editor. (line 126) * C-c C-x M-w: Structure editing. (line 71) * C-c C-x o <1>: Checkboxes. (line 76) * C-c C-x o: TODO dependencies. (line 29) * C-c C-x p <1>: Header arguments in Org mode properties. (line 34) * C-c C-x p: Property syntax. (line 81) * C-c C-x q: Tag groups. (line 34) * C-c C-x v: Global and local cycling. (line 57) * C-c C-y <1>: Clocking commands. (line 51) * C-c C-y: Creating timestamps. (line 59) * C-c C-z <1>: Agenda commands. (line 293) * C-c C-z: Drawers. (line 35) * C-c l <1>: Literal examples. (line 78) * C-c l: Handling links. (line 9) * C-c M-w: Refile and copy. (line 12) * C-c { <1>: CDLaTeX mode. (line 21) * C-c {: Editing and debugging formulas. (line 32) * C-c |: Built-in table editor. (line 41) * C-c }: Editing and debugging formulas. (line 26) * C-c ~: Cooperation. (line 63) * C-k: Agenda commands. (line 242) * C-S- <1>: Agenda commands. (line 240) * C-S-: Multiple sets in one file. (line 25) * C-S-: Structure editing. (line 28) * C-S- <1>: Agenda commands. (line 237) * C-S-: Multiple sets in one file. (line 25) * C-S-: Clocking commands. (line 56) * C-TAB: Internal archiving. (line 46) * C-u C-c !: Creating timestamps. (line 19) * C-u C-c *: Updating the table. (line 16) * C-u C-c .: Creating timestamps. (line 19) * C-u C-c = <1>: Editing and debugging formulas. (line 13) * C-u C-c =: Field and range formulas. (line 28) * C-u C-c c: Using capture. (line 43) * C-u C-c C-c: Updating the table. (line 19) * C-u C-c C-l: Handling links. (line 86) * C-u C-c C-t: TODO basics. (line 28) * C-u C-c C-w: Refile and copy. (line 33) * C-u C-c C-x ,: Relative timer. (line 25) * C-u C-c C-x a: Internal archiving. (line 39) * C-u C-c C-x C-s: Moving subtrees. (line 11) * C-u C-c C-x C-u <1>: Dynamic blocks. (line 22) * C-u C-c C-x C-u <2>: The clock table. (line 20) * C-u C-c C-x C-u: Capturing column view. (line 55) * C-u C-u : Initial visibility. (line 25) * C-u C-u C-c *: Updating the table. (line 22) * C-u C-u C-c =: Editing and debugging formulas. (line 16) * C-u C-u C-c c: Using capture. (line 45) * C-u C-u C-c C-c: Updating the table. (line 22) * C-u C-u C-c C-t: Multiple sets in one file. (line 25) * C-u C-u C-c C-w: Refile and copy. (line 36) * C-u C-u C-u : Global and local cycling. (line 33) * C-u C-u C-u C-c C-t: TODO dependencies. (line 34) * C-up: Key bindings and useful functions. (line 12) * C-v: The date/time prompt. (line 82) * C-x C-s <1>: Agenda commands. (line 173) * C-x C-s: Editing and debugging formulas. (line 47) * C-x C-w <1>: Exporting Agenda Views. (line 12) * C-x C-w: Agenda commands. (line 506) * C-x n b: Structure editing. (line 120) * C-x n s: Structure editing. (line 117) * C-x n w: Structure editing. (line 123) * C-y: Structure editing. (line 81) * D: Agenda commands. (line 106) * d: Agenda commands. (line 69) * E: Agenda commands. (line 151) * e: Using column view. (line 46) * f: Agenda commands. (line 88) * F: Agenda commands. (line 40) * g: Agenda commands. (line 170) * G: Agenda commands. (line 159) * g: Using column view. (line 23) * H: Agenda commands. (line 493) * i: Agenda commands. (line 461) * I: Agenda commands. (line 331) * J: Agenda commands. (line 103) * j: Agenda commands. (line 100) * k: Agenda commands. (line 344) * k a: Inserting deadline/schedule. (line 26) * k s: Inserting deadline/schedule. (line 26) * l: Agenda commands. (line 110) * L: Agenda commands. (line 31) * M: Agenda commands. (line 480) * m: Agenda commands. (line 365) * M-*: Agenda commands. (line 379) * M- <1>: Agenda commands. (line 358) * M- <2>: Editing and debugging formulas. (line 77) * M- <3>: Built-in table editor. (line 90) * M-: Plain lists. (line 97) * M- <1>: Built-in table editor. (line 82) * M- <2>: Plain lists. (line 103) * M-: Structure editing. (line 39) * M- <1>: Relative timer. (line 17) * M- <2>: Built-in table editor. (line 141) * M- <3>: Plain lists. (line 79) * M-: Structure editing. (line 6) * M- <1>: Built-in table editor. (line 82) * M- <2>: Plain lists. (line 103) * M-: Structure editing. (line 42) * M- <1>: Completion. (line 16) * M- <2>: Property syntax. (line 78) * M- <3>: Setting tags. (line 6) * M- <4>: Per-file keywords. (line 24) * M-: Editing and debugging formulas. (line 64) * M- <1>: Agenda commands. (line 354) * M- <2>: Editing and debugging formulas. (line 77) * M- <3>: Built-in table editor. (line 90) * M-: Plain lists. (line 97) * M-a: Built-in table editor. (line 70) * M-down: Key bindings and useful functions. (line 13) * M-e: Built-in table editor. (line 74) * M-g M-n: Sparse trees. (line 29) * M-g M-p: Sparse trees. (line 32) * M-g n: Sparse trees. (line 29) * M-g p: Sparse trees. (line 32) * M-h: Structure editing. (line 57) * M-m: Agenda commands. (line 376) * M-S- <1>: Editing and debugging formulas. (line 72) * M-S- <2>: Built-in table editor. (line 97) * M-S-: Structure editing. (line 54) * M-S- <1>: The date/time prompt. (line 82) * M-S- <2>: Built-in table editor. (line 84) * M-S- <3>: Plain lists. (line 108) * M-S-: Structure editing. (line 45) * M-S- <1>: Checkboxes. (line 73) * M-S- <2>: Plain lists. (line 89) * M-S-: Structure editing. (line 24) * M-S- <1>: The date/time prompt. (line 82) * M-S- <2>: Built-in table editor. (line 87) * M-S- <3>: Plain lists. (line 108) * M-S-: Structure editing. (line 48) * M-S- <1>: Editing and debugging formulas. (line 72) * M-S- <2>: Built-in table editor. (line 94) * M-S-: Structure editing. (line 51) * M-v: The date/time prompt. (line 82) * M-x org-iswitchb: Agenda files. (line 26) * mouse-1 <1>: The date/time prompt. (line 82) * mouse-1 <2>: Handling links. (line 124) * mouse-1: Footnotes. (line 90) * mouse-2 <1>: Agenda commands. (line 34) * mouse-2 <2>: Handling links. (line 124) * mouse-2: Footnotes. (line 90) * mouse-3 <1>: Agenda commands. (line 28) * mouse-3: Handling links. (line 129) * n <1>: Agenda commands. (line 19) * n: Using column view. (line 42) * O: Agenda commands. (line 335) * o: Agenda commands. (line 66) * P: Agenda commands. (line 282) * p <1>: Agenda commands. (line 20) * p: Using column view. (line 42) * q <1>: Agenda commands. (line 520) * q: Using column view. (line 26) * r: Agenda commands. (line 163) * R: Agenda commands. (line 132) * r <1>: Global TODO list. (line 23) * r: Using column view. (line 19) * S: Agenda commands. (line 484) * s: Agenda commands. (line 173) * S- <1>: Agenda commands. (line 290) * S- <2>: The date/time prompt. (line 82) * S- <3>: Creating timestamps. (line 47) * S- <4>: Priorities. (line 29) * S- <5>: Editing and debugging formulas. (line 67) * S-: Plain lists. (line 90) * S- <1>: Agenda commands. (line 322) * S- <2>: The clock table. (line 24) * S- <3>: The date/time prompt. (line 82) * S- <4>: Creating timestamps. (line 42) * S- <5>: Using column view. (line 35) * S- <6>: Property syntax. (line 98) * S- <7>: Multiple sets in one file. (line 32) * S- <8>: TODO basics. (line 34) * S- <9>: Editing and debugging formulas. (line 67) * S-: Plain lists. (line 149) * S-: Built-in table editor. (line 159) * S- <1>: Agenda commands. (line 308) * S- <2>: The clock table. (line 24) * S- <3>: The date/time prompt. (line 82) * S- <4>: Creating timestamps. (line 42) * S- <5>: Using column view. (line 35) * S- <6>: Property syntax. (line 98) * S- <7>: Multiple sets in one file. (line 32) * S- <8>: TODO basics. (line 34) * S- <9>: Editing and debugging formulas. (line 67) * S-: Plain lists. (line 149) * S- <1>: Built-in table editor. (line 62) * S-: Global and local cycling. (line 22) * S- <1>: Agenda commands. (line 285) * S- <2>: The date/time prompt. (line 82) * S- <3>: Creating timestamps. (line 47) * S- <4>: Priorities. (line 29) * S-: Editing and debugging formulas. (line 67) * S-M-: Using column view. (line 75) * S-M-: TODO basics. (line 58) * S-M-: Using column view. (line 72) * S-M-: Clocking commands. (line 60) * T: Agenda commands. (line 268) * t: Agenda commands. (line 233) * U: Agenda commands. (line 373) * u: Agenda commands. (line 370) * v: Using column view. (line 55) * v [: Agenda commands. (line 121) * v A: Agenda commands. (line 128) * v a: Agenda commands. (line 125) * v c: Agenda commands. (line 143) * v d: Agenda commands. (line 69) * v E: Agenda commands. (line 151) * v L: Agenda commands. (line 113) * v l: Agenda commands. (line 110) * v m: Agenda commands. (line 74) * v R: Agenda commands. (line 132) * v SPC: Agenda commands. (line 76) * v t: Agenda commands. (line 73) * v w: Agenda commands. (line 72) * v y: Agenda commands. (line 75) * w: Agenda commands. (line 72) * x: Agenda commands. (line 521) * X: Agenda commands. (line 338) * z: Agenda commands. (line 293) * {: Filtering/limiting agenda items. (line 83) * | <1>: Agenda commands. (line 222) * |: Filtering/limiting agenda items. (line 112) * }: Filtering/limiting agenda items. (line 83) * ~: Filtering/limiting agenda items. (line 153)  File: org, Node: Command and Function Index, Next: Variable Index, Prev: Key Index, Up: Top Command and function index ************************** [index] * Menu: * lisp-complete-symbol: Editing and debugging formulas. (line 64) * next-error: Sparse trees. (line 29) * org-agenda <1>: Conventions. (line 35) * org-agenda: Activation. (line 6) * org-agenda-add-note: Agenda commands. (line 293) * org-agenda-archive: Agenda commands. (line 263) * org-agenda-archive-default-with-confirmation: Agenda commands. (line 251) * org-agenda-archive-to-archive-sibling: Agenda commands. (line 259) * org-agenda-archives-mode: Agenda commands. (line 125) * org-agenda-archives-mode 'files: Agenda commands. (line 128) * org-agenda-bulk-action: Agenda commands. (line 385) * org-agenda-bulk-mark: Agenda commands. (line 365) * org-agenda-bulk-mark-all: Agenda commands. (line 367) * org-agenda-bulk-mark-regexp: Agenda commands. (line 382) * org-agenda-bulk-remove-all-marks: Agenda commands. (line 373) * org-agenda-bulk-toggle: Agenda commands. (line 376) * org-agenda-bulk-toggle-all: Agenda commands. (line 379) * org-agenda-bulk-unmark: Agenda commands. (line 370) * org-agenda-capture: Agenda commands. (line 344) * org-agenda-clock-cancel: Agenda commands. (line 338) * org-agenda-clock-goto: Agenda commands. (line 103) * org-agenda-clock-in: Agenda commands. (line 331) * org-agenda-clock-out: Agenda commands. (line 335) * org-agenda-clockreport-mode: Agenda commands. (line 132) * org-agenda-columns <1>: Agenda column view. (line 11) * org-agenda-columns: Agenda commands. (line 177) * org-agenda-convert-date: Agenda commands. (line 489) * org-agenda-date-prompt: Agenda commands. (line 326) * org-agenda-day-view: Agenda commands. (line 69) * org-agenda-deadline: Agenda commands. (line 305) * org-agenda-diary-entry: Agenda commands. (line 461) * org-agenda-do-date-earlier: Agenda commands. (line 322) * org-agenda-do-date-later: Agenda commands. (line 308) * org-agenda-drag-line-backward: Agenda commands. (line 354) * org-agenda-drag-line-forward: Agenda commands. (line 358) * org-agenda-earlier: Agenda commands. (line 94) * org-agenda-entry-text-mode: Agenda commands. (line 151) * org-agenda-exit: Agenda commands. (line 521) * org-agenda-file-to-front: Agenda files. (line 15) * org-agenda-filter-by-category <1>: Agenda commands. (line 205) * org-agenda-filter-by-category: Filtering/limiting agenda items. (line 93) * org-agenda-filter-by-regexp <1>: Agenda commands. (line 213) * org-agenda-filter-by-regexp: Filtering/limiting agenda items. (line 103) * org-agenda-filter-by-tag <1>: Agenda commands. (line 198) * org-agenda-filter-by-tag: Filtering/limiting agenda items. (line 17) * org-agenda-filter-by-tag-refine <1>: Agenda commands. (line 202) * org-agenda-filter-by-tag-refine: Filtering/limiting agenda items. (line 76) * org-agenda-filter-by-top-headline <1>: Agenda commands. (line 209) * org-agenda-filter-by-top-headline: Filtering/limiting agenda items. (line 99) * org-agenda-filter-remove-all <1>: Agenda commands. (line 222) * org-agenda-filter-remove-all: Filtering/limiting agenda items. (line 112) * org-agenda-follow-mode: Agenda commands. (line 40) * org-agenda-fortnight-view: Agenda commands. (line 73) * org-agenda-goto: Agenda commands. (line 34) * org-agenda-goto-calendar: Agenda commands. (line 456) * org-agenda-goto-date: Agenda commands. (line 100) * org-agenda-goto-today: Agenda commands. (line 97) * org-agenda-holidays: Agenda commands. (line 493) * org-agenda-kill: Agenda commands. (line 242) * org-agenda-later: Agenda commands. (line 88) * org-agenda-limit-interactively: Filtering/limiting agenda items. (line 153) * org-agenda-list: Weekly/daily agenda. (line 9) * org-agenda-list-stuck-projects: Stuck projects. (line 13) * org-agenda-log-mode: Agenda commands. (line 110) * org-agenda-manipulate-query-add: Agenda commands. (line 121) * org-agenda-month-view: Agenda commands. (line 74) * org-agenda-next-line: Agenda commands. (line 19) * org-agenda-open-link: Agenda commands. (line 56) * org-agenda-phases-of-moon: Agenda commands. (line 480) * org-agenda-previous-line: Agenda commands. (line 20) * org-agenda-priority-down: Agenda commands. (line 290) * org-agenda-priority-up: Agenda commands. (line 285) * org-agenda-quit: Agenda commands. (line 520) * org-agenda-recenter: Agenda commands. (line 31) * org-agenda-redo: Agenda commands. (line 163) * org-agenda-refile: Agenda commands. (line 248) * org-agenda-remove-restriction-lock <1>: Agenda commands. (line 188) * org-agenda-remove-restriction-lock: Agenda files. (line 49) * org-agenda-reset-view: Agenda commands. (line 76) * org-agenda-schedule: Agenda commands. (line 301) * org-agenda-set-restriction-lock: Agenda files. (line 42) * org-agenda-set-tags: Agenda commands. (line 273) * org-agenda-show-and-scroll-up: Agenda commands. (line 28) * org-agenda-show-priority: Agenda commands. (line 282) * org-agenda-show-tags: Agenda commands. (line 268) * org-agenda-sunrise-sunset: Agenda commands. (line 484) * org-agenda-switch-to: Agenda commands. (line 37) * org-agenda-todo: Agenda commands. (line 233) * org-agenda-todo-nextset: Agenda commands. (line 237) * org-agenda-todo-previousset: Agenda commands. (line 240) * org-agenda-toggle-archive-tag: Agenda commands. (line 256) * org-agenda-toggle-diary: Agenda commands. (line 106) * org-agenda-toggle-time-grid: Agenda commands. (line 159) * org-agenda-tree-to-indirect-buffer: Agenda commands. (line 47) * org-agenda-undo: Agenda commands. (line 229) * org-agenda-week-view: Agenda commands. (line 72) * org-agenda-write <1>: Exporting Agenda Views. (line 12) * org-agenda-write: Agenda commands. (line 506) * org-agenda-year-view: Agenda commands. (line 75) * org-archive-subtree: Moving subtrees. (line 9) * org-archive-subtree-default: Archiving. (line 11) * org-archive-to-archive-sibling: Internal archiving. (line 49) * org-ascii-export-as-ascii: ASCII/Latin-1/UTF-8 export. (line 22) * org-ascii-export-to-ascii: ASCII/Latin-1/UTF-8 export. (line 18) * org-attach <1>: Agenda commands. (line 298) * org-attach: Attachments. (line 26) * org-attach-attach: Attachments. (line 31) * org-attach-delete-all: Attachments. (line 66) * org-attach-delete-one: Attachments. (line 63) * org-attach-new: Attachments. (line 41) * org-attach-open: Attachments. (line 48) * org-attach-open-in-emacs: Attachments. (line 54) * org-attach-reveal: Attachments. (line 57) * org-attach-reveal-in-emacs: Attachments. (line 60) * org-attach-set-directory: Attachments. (line 70) * org-attach-set-inherit: Attachments. (line 75) * org-attach-sync: Attachments. (line 44) * org-backward-same-level: Motion. (line 15) * org-beamer-export-as-latex: Beamer export. (line 16) * org-beamer-export-to-latex: Beamer export. (line 13) * org-beamer-export-to-pdf: Beamer export. (line 19) * org-beamer-select-environment: Beamer export. (line 142) * org-buffer-property-keys: Using the property API. (line 35) * org-calendar-goto-agenda: Agenda commands. (line 457) * org-capture <1>: Using capture. (line 6) * org-capture <2>: Conventions. (line 35) * org-capture: Activation. (line 6) * org-capture-finalize: Using capture. (line 15) * org-capture-kill: Using capture. (line 31) * org-capture-refile: Using capture. (line 22) * org-check-after-date: Inserting deadline/schedule. (line 39) * org-check-before-date: Inserting deadline/schedule. (line 36) * org-check-deadlines: Inserting deadline/schedule. (line 29) * org-clock-cancel: Clocking commands. (line 71) * org-clock-display: Clocking commands. (line 80) * org-clock-goto: Clocking commands. (line 75) * org-clock-in: Clocking commands. (line 6) * org-clock-in-last: Clocking commands. (line 42) * org-clock-modify-effort-estimate <1>: Effort estimates. (line 17) * org-clock-modify-effort-estimate: Clocking commands. (line 48) * org-clock-out: Clocking commands. (line 34) * org-clock-report: The clock table. (line 10) * org-clock-timestamps-up/down: Clocking commands. (line 56) * org-clocktable-try-shift: The clock table. (line 24) * org-clone-subtree-with-time-shift: Structure editing. (line 93) * org-columns: Using column view. (line 9) * org-columns-delete: Using column view. (line 75) * org-columns-edit-allowed: Using column view. (line 59) * org-columns-edit-value: Using column view. (line 46) * org-columns-narrow: Using column view. (line 70) * org-columns-new: Using column view. (line 72) * org-columns-next-allowed-value: Using column view. (line 42) * org-columns-previous-allowed-value: Using column view. (line 42) * org-columns-quit: Using column view. (line 26) * org-columns-redo: Using column view. (line 19) * org-columns-set-tags-or-toggle: Using column view. (line 52) * org-columns-show-value: Using column view. (line 55) * org-columns-widen: Using column view. (line 70) * org-compute-property-at-point: Property syntax. (line 108) * org-copy: Refile and copy. (line 12) * org-copy-subtree: Structure editing. (line 71) * org-copy-visible: Global and local cycling. (line 57) * org-cut-subtree: Structure editing. (line 67) * org-cycle <1>: Plain lists. (line 68) * org-cycle <2>: Structure editing. (line 33) * org-cycle: Global and local cycling. (line 10) * org-cycle-agenda-files: Agenda files. (line 22) * org-date-from-calendar: Creating timestamps. (line 29) * org-dblock-update <1>: Dynamic blocks. (line 21) * org-dblock-update <2>: The clock table. (line 16) * org-dblock-update: Capturing column view. (line 51) * org-deadline: Inserting deadline/schedule. (line 9) * org-delete-property: Property syntax. (line 102) * org-delete-property-globally: Property syntax. (line 105) * org-demote: Using the mapping API. (line 83) * org-demote-subtree: Structure editing. (line 48) * org-do-demote: Structure editing. (line 42) * org-do-promote: Structure editing. (line 39) * org-edit-special: Cooperation. (line 61) * org-entry-add-to-multivalued-property: Using the property API. (line 52) * org-entry-delete: Using the property API. (line 29) * org-entry-get: Using the property API. (line 20) * org-entry-get-multivalued-property: Using the property API. (line 47) * org-entry-member-in-multivalued-property: Using the property API. (line 64) * org-entry-properties: Using the property API. (line 10) * org-entry-put: Using the property API. (line 32) * org-entry-put-multivalued-property: Using the property API. (line 42) * org-entry-remove-from-multivalued-property: Using the property API. (line 58) * org-evaluate-time-range <1>: Clocking commands. (line 51) * org-evaluate-time-range: Creating timestamps. (line 59) * org-export-dispatch: The Export Dispatcher. (line 11) * org-feed-goto-inbox: RSS Feeds. (line 27) * org-feed-update-all: RSS Feeds. (line 23) * org-force-cycle-archived: Internal archiving. (line 46) * org-forward-same-level: Motion. (line 12) * org-global-cycle: Global and local cycling. (line 22) * org-goto: Motion. (line 21) * org-goto-calendar: Creating timestamps. (line 33) * org-html-export-as-html: HTML Export commands. (line 10) * org-html-export-to-html: HTML Export commands. (line 6) * org-icalendar-combine-agenda-files: iCalendar export. (line 39) * org-icalendar-export-agenda-files: iCalendar export. (line 34) * org-icalendar-export-to-ics: iCalendar export. (line 32) * org-insert-columns-dblock: Capturing column view. (line 49) * org-insert-heading <1>: Relative timer. (line 17) * org-insert-heading <2>: Plain lists. (line 79) * org-insert-heading: Structure editing. (line 6) * org-insert-heading-respect-content: Structure editing. (line 19) * org-insert-link: Handling links. (line 65) * org-insert-property-drawer: Using the property API. (line 18) * org-insert-todo-heading <1>: Checkboxes. (line 73) * org-insert-todo-heading <2>: TODO basics. (line 58) * org-insert-todo-heading: Structure editing. (line 24) * org-insert-todo-heading-respect-content: Structure editing. (line 28) * org-iswitchb: Activation. (line 6) * org-latex-export-as-latex: LaTeX export commands. (line 9) * org-latex-export-to-latex: LaTeX export commands. (line 6) * org-latex-export-to-pdf: LaTeX export commands. (line 12) * org-lookup-all: Lookup functions. (line 22) * org-lookup-first: Lookup functions. (line 8) * org-lookup-last: Lookup functions. (line 18) * org-map-entries: Using the mapping API. (line 13) * org-mark-element: Structure editing. (line 57) * org-mark-entry-for-agenda-action: Inserting deadline/schedule. (line 23) * org-mark-ring-goto: Handling links. (line 146) * org-mark-ring-push: Handling links. (line 142) * org-mark-subtree: Structure editing. (line 63) * org-match-sparse-tree <1>: Property searches. (line 10) * org-match-sparse-tree: Tag searches. (line 9) * org-md-export-as-markdown: Markdown export. (line 19) * org-md-export-to-markdown: Markdown export. (line 16) * org-move-subtree-down: Structure editing. (line 54) * org-move-subtree-up: Structure editing. (line 51) * org-narrow-to-block: Structure editing. (line 120) * org-narrow-to-subtree: Structure editing. (line 117) * org-next-link: Handling links. (line 152) * org-occur: Sparse trees. (line 17) * org-odt-export-to-odt: ODT export commands. (line 9) * org-open-at-point <1>: Creating timestamps. (line 38) * org-open-at-point: Handling links. (line 101) * org-paste-subtree: Structure editing. (line 75) * org-previous-link: Handling links. (line 152) * org-priority <1>: Using the mapping API. (line 71) * org-priority: Priorities. (line 24) * org-priority-down: Priorities. (line 29) * org-priority-up: Priorities. (line 29) * org-promote: Using the mapping API. (line 80) * org-promote-subtree: Structure editing. (line 45) * org-property-action: Property syntax. (line 90) * org-property-next-allowed-value: Property syntax. (line 98) * org-property-previous-allowed-value: Property syntax. (line 98) * org-publish: Triggering publication. (line 8) * org-publish-all: Triggering publication. (line 16) * org-publish-current-file: Triggering publication. (line 13) * org-publish-current-project: Triggering publication. (line 10) * org-refile <1>: Refile and copy. (line 14) * org-refile: Structure editing. (line 101) * org-refile-cache-clear: Refile and copy. (line 47) * org-refile-goto-last-stored: Refile and copy. (line 36) * org-remove-file: Agenda files. (line 19) * org-reveal: Global and local cycling. (line 34) * org-save-all-org-buffers: Agenda commands. (line 173) * org-schedule: Inserting deadline/schedule. (line 17) * org-search-view: Search view. (line 9) * org-set-effort: Effort estimates. (line 14) * org-set-property: Property syntax. (line 81) * org-set-startup-visibility: Initial visibility. (line 25) * org-set-tags-command: Setting tags. (line 10) * org-show-todo-tree: TODO basics. (line 39) * org-sort: Structure editing. (line 105) * org-sparse-tree: Sparse trees. (line 15) * org-speedbar-set-agenda-restriction: Agenda files. (line 57) * org-store-agenda-views: Exporting Agenda Views. (line 64) * org-store-link <1>: Handling links. (line 9) * org-store-link: Activation. (line 6) * org-table-align: Built-in table editor. (line 57) * org-table-beginning-of-field: Built-in table editor. (line 70) * org-table-copy-down: Built-in table editor. (line 159) * org-table-copy-region: Built-in table editor. (line 126) * org-table-create-or-convert-from-region: Built-in table editor. (line 41) * org-table-create-with-table.el: Cooperation. (line 63) * org-table-cut-region: Built-in table editor. (line 130) * org-table-delete-column: Built-in table editor. (line 84) * org-table-edit-field: Built-in table editor. (line 174) * org-table-edit-formulas: Editing and debugging formulas. (line 36) * org-table-end-of-field: Built-in table editor. (line 74) * org-table-eval-formula <1>: Editing and debugging formulas. (line 13) * org-table-eval-formula <2>: Column formulas. (line 32) * org-table-eval-formula: Field and range formulas. (line 28) * org-table-export: Built-in table editor. (line 199) * org-table-fedit-abort: Editing and debugging formulas. (line 50) * org-table-fedit-finish: Editing and debugging formulas. (line 47) * org-table-fedit-line-down: Editing and debugging formulas. (line 72) * org-table-fedit-line-up: Editing and debugging formulas. (line 72) * org-table-fedit-lisp-indent: Editing and debugging formulas. (line 57) * org-table-fedit-ref-down: Editing and debugging formulas. (line 67) * org-table-fedit-ref-left: Editing and debugging formulas. (line 67) * org-table-fedit-ref-right: Editing and debugging formulas. (line 67) * org-table-fedit-ref-up: Editing and debugging formulas. (line 67) * org-table-fedit-scroll-down: Editing and debugging formulas. (line 77) * org-table-fedit-scroll-up: Editing and debugging formulas. (line 77) * org-table-fedit-toggle-ref-type: Editing and debugging formulas. (line 53) * org-table-field-info: Editing and debugging formulas. (line 22) * org-table-hline-and-move: Built-in table editor. (line 105) * org-table-insert-column: Built-in table editor. (line 87) * org-table-insert-hline: Built-in table editor. (line 101) * org-table-insert-row: Built-in table editor. (line 97) * org-table-iterate: Updating the table. (line 22) * org-table-iterate-buffer-tables: Updating the table. (line 33) * org-table-kill-row: Built-in table editor. (line 94) * org-table-move-column-left: Built-in table editor. (line 82) * org-table-move-column-right: Built-in table editor. (line 82) * org-table-move-row-down: Built-in table editor. (line 90) * org-table-move-row-up: Built-in table editor. (line 90) * org-table-next-field: Built-in table editor. (line 58) * org-table-next-row: Built-in table editor. (line 65) * org-table-paste-rectangle: Built-in table editor. (line 134) * org-table-previous-field: Built-in table editor. (line 62) * org-table-recalculate: Updating the table. (line 13) * org-table-recalculate-buffer-tables: Updating the table. (line 30) * org-table-rotate-recalc-marks: Advanced features. (line 10) * org-table-sort-lines: Built-in table editor. (line 109) * org-table-sum: Built-in table editor. (line 156) * org-table-toggle-coordinate-overlays: Editing and debugging formulas. (line 26) * org-table-toggle-formula-debugger: Editing and debugging formulas. (line 32) * org-table-wrap-region: Built-in table editor. (line 141) * org-tags-view <1>: Matching tags and properties. (line 12) * org-tags-view <2>: Property searches. (line 12) * org-tags-view: Tag searches. (line 13) * org-time-stamp: Creating timestamps. (line 10) * org-time-stamp-inactive: Creating timestamps. (line 15) * org-timeline: Timeline. (line 10) * org-timer: Relative timer. (line 10) * org-timer-item: Relative timer. (line 13) * org-timer-start: Relative timer. (line 30) * org-timestamp-down-day: Creating timestamps. (line 42) * org-timestamp-down-down: Creating timestamps. (line 47) * org-timestamp-up: Creating timestamps. (line 47) * org-timestamp-up-day: Creating timestamps. (line 42) * org-timestamp-up/down: Clocking commands. (line 60) * org-todo <1>: Using the mapping API. (line 67) * org-todo <2>: Clocking commands. (line 67) * org-todo: TODO basics. (line 13) * org-todo-list <1>: Global TODO list. (line 9) * org-todo-list: TODO basics. (line 50) * org-toggle-archive-tag: Internal archiving. (line 36) * org-toggle-checkbox: Checkboxes. (line 52) * org-toggle-heading: Structure editing. (line 126) * org-toggle-inline-images: Handling links. (line 133) * org-toggle-ordered-property <1>: Checkboxes. (line 76) * org-toggle-ordered-property: TODO dependencies. (line 29) * org-toggle-tag: Using the mapping API. (line 75) * org-toggle-time-stamp-overlays: Custom time format. (line 12) * org-tree-to-indirect-buffer: Global and local cycling. (line 51) * org-update-all-dblocks: Capturing column view. (line 55) * org-update-statistics-cookies: Checkboxes. (line 84) * org-yank: Structure editing. (line 81) * outline-next-visible-heading: Motion. (line 8) * outline-previous-visible-heading: Motion. (line 9) * outline-up-heading: Motion. (line 18) * pcomplete: Property syntax. (line 78) * previous-error: Sparse trees. (line 32) * show-all: Global and local cycling. (line 33) * show-branches: Global and local cycling. (line 43) * show-children: Global and local cycling. (line 47) * widen: Structure editing. (line 123)  File: org, Node: Variable Index, Prev: Command and Function Index, Up: Top Variable index ************** This is not a complete index of variables and faces, only the ones that are mentioned in the manual. For a more complete list, use `M-x org-customize ' and then click yourself through the tree. [index] * Menu: * cdlatex-simplify-sub-super-scripts: CDLaTeX mode. (line 33) * constants-unit-system <1>: In-buffer settings. (line 153) * constants-unit-system: References. (line 109) * htmlize-output-type: Exporting Agenda Views. (line 20) * LaTeX-verbatim-environments: A LaTeX example. (line 21) * org-adapt-indentation: Clean view. (line 46) * org-agenda-add-entry-text-maxlines: Exporting Agenda Views. (line 20) * org-agenda-bulk-custom-functions: Agenda commands. (line 365) * org-agenda-category-filter-preset <1>: Agenda commands. (line 206) * org-agenda-category-filter-preset: Filtering/limiting agenda items. (line 94) * org-agenda-clock-consistency-checks: Agenda commands. (line 146) * org-agenda-columns-add-appointments-to-effort-sum: Effort estimates. (line 41) * org-agenda-confirm-kill: Agenda commands. (line 245) * org-agenda-custom-commands <1>: Extracting agenda information. (line 6) * org-agenda-custom-commands <2>: Setting Options. (line 6) * org-agenda-custom-commands <3>: Storing searches. (line 9) * org-agenda-custom-commands: Sparse trees. (line 37) * org-agenda-custom-commands-contexts: Setting Options. (line 62) * org-agenda-diary-file: Agenda commands. (line 464) * org-agenda-dim-blocked-tasks <1>: Speeding up your agendas. (line 16) * org-agenda-dim-blocked-tasks: TODO dependencies. (line 39) * org-agenda-entry-text-maxlines: Agenda commands. (line 154) * org-agenda-exporter-settings <1>: Exporting Agenda Views. (line 13) * org-agenda-exporter-settings: Agenda commands. (line 507) * org-agenda-files <1>: iCalendar export. (line 37) * org-agenda-files <2>: Sorting agenda items. (line 8) * org-agenda-files: Agenda files. (line 6) * org-agenda-inhibit-startup <1>: Speeding up your agendas. (line 19) * org-agenda-inhibit-startup: Initial visibility. (line 6) * org-agenda-log-mode-items: Agenda commands. (line 113) * org-agenda-max-effort: Filtering/limiting agenda items. (line 118) * org-agenda-max-entries: Filtering/limiting agenda items. (line 118) * org-agenda-max-tags: Filtering/limiting agenda items. (line 118) * org-agenda-max-todos: Filtering/limiting agenda items. (line 118) * org-agenda-ndays: Weekly/daily agenda. (line 15) * org-agenda-overriding-header: Special agenda views. (line 45) * org-agenda-prefix-format: Presentation and sorting. (line 6) * org-agenda-regexp-filter-preset <1>: Agenda commands. (line 214) * org-agenda-regexp-filter-preset: Filtering/limiting agenda items. (line 104) * org-agenda-restore-windows-after-quit: Agenda Views. (line 40) * org-agenda-show-inherited-tags <1>: Speeding up your agendas. (line 22) * org-agenda-show-inherited-tags: Agenda commands. (line 271) * org-agenda-skip-archived-trees: Internal archiving. (line 21) * org-agenda-skip-deadline-prewarning-if-scheduled: Deadlines and scheduling. (line 12) * org-agenda-skip-function <1>: Using the mapping API. (line 52) * org-agenda-skip-function: Special agenda views. (line 6) * org-agenda-skip-function-global: Special agenda views. (line 6) * org-agenda-skip-scheduled-delay-if-deadline: Deadlines and scheduling. (line 40) * org-agenda-skip-scheduled-if-deadline-is-shown: Repeated tasks. (line 62) * org-agenda-skip-scheduled-if-done: Deadlines and scheduling. (line 32) * org-agenda-sorting-strategy: Sorting agenda items. (line 27) * org-agenda-span <1>: Agenda commands. (line 77) * org-agenda-span: Weekly/daily agenda. (line 15) * org-agenda-start-day: Weekly/daily agenda. (line 15) * org-agenda-start-on-weekday: Weekly/daily agenda. (line 15) * org-agenda-start-with-clockreport-mode: Agenda commands. (line 135) * org-agenda-start-with-entry-text-mode: Agenda commands. (line 154) * org-agenda-start-with-follow-mode: Agenda commands. (line 43) * org-agenda-sticky: Agenda dispatcher. (line 53) * org-agenda-tag-filter-preset <1>: Agenda commands. (line 199) * org-agenda-tag-filter-preset: Filtering/limiting agenda items. (line 18) * org-agenda-tags-column: Presentation and sorting. (line 6) * org-agenda-tags-todo-honor-ignore-options: Matching tags and properties. (line 20) * org-agenda-text-search-extra-files <1>: Search view. (line 24) * org-agenda-text-search-extra-files: Agenda dispatcher. (line 32) * org-agenda-time-grid <1>: Agenda commands. (line 162) * org-agenda-time-grid: Time-of-day specifications. (line 41) * org-agenda-todo-ignore-deadlines: Global TODO list. (line 38) * org-agenda-todo-ignore-scheduled: Global TODO list. (line 38) * org-agenda-todo-ignore-timestamp: Global TODO list. (line 38) * org-agenda-todo-ignore-with-date: Global TODO list. (line 38) * org-agenda-todo-list-sublevels <1>: Global TODO list. (line 47) * org-agenda-todo-list-sublevels: Breaking down tasks. (line 6) * org-agenda-use-tag-inheritance <1>: Speeding up your agendas. (line 22) * org-agenda-use-tag-inheritance: Tag inheritance. (line 32) * org-agenda-use-time-grid <1>: Agenda commands. (line 162) * org-agenda-use-time-grid: Time-of-day specifications. (line 41) * org-agenda-window-setup: Agenda Views. (line 40) * org-archive-default-command <1>: Agenda commands. (line 254) * org-archive-default-command: Archiving. (line 12) * org-archive-location <1>: In-buffer settings. (line 16) * org-archive-location: Moving subtrees. (line 10) * org-archive-save-context-info: Moving subtrees. (line 36) * org-ascii-links-to-notes: ASCII/Latin-1/UTF-8 export. (line 11) * org-attach-directory: Attachments. (line 6) * org-attach-method: Attachments. (line 32) * org-babel-default-header-args <1>: Header arguments in Org mode properties. (line 34) * org-babel-default-header-args: System-wide header arguments. (line 6) * org-beamer-environments-default: Beamer export. (line 44) * org-beamer-environments-extra: Beamer export. (line 44) * org-beamer-frame-level: Beamer export. (line 35) * org-calc-default-modes: Formula syntax for Calc. (line 14) * org-capture-bookmark: Using capture. (line 50) * org-capture-templates-contexts: Templates in contexts. (line 6) * org-capture-use-agenda-date: Agenda commands. (line 349) * org-catch-invisible-edits: Catching invisible edits. (line 6) * org-checkbox-hierarchical-statistics: Checkboxes. (line 30) * org-clock-continuously <1>: Resolving idle time. (line 78) * org-clock-continuously: Clocking commands. (line 7) * org-clock-idle-time: Resolving idle time. (line 14) * org-clock-into-drawer: Clocking commands. (line 7) * org-clock-modeline-total: Clocking commands. (line 20) * org-clock-report-include-clocking-task: Agenda commands. (line 135) * org-clock-x11idle-program-name: Resolving idle time. (line 9) * org-clocktable-defaults: The clock table. (line 38) * org-closed-keep-when-no-todo: Closing items. (line 11) * org-coderef-label-format: Literal examples. (line 58) * org-columns-default-format <1>: Agenda column view. (line 18) * org-columns-default-format <2>: Agenda commands. (line 180) * org-columns-default-format <3>: Effort estimates. (line 31) * org-columns-default-format: Using column view. (line 10) * org-columns-skip-archived-trees: Internal archiving. (line 31) * org-confirm-babel-evaluate: Code evaluation security. (line 34) * org-confirm-elisp-link-function: Code evaluation security. (line 56) * org-confirm-shell-link-function: Code evaluation security. (line 53) * org-create-file-search-functions: Custom searches. (line 12) * org-ctrl-c-ctrl-c-hook: Context-sensitive commands. (line 6) * org-ctrl-k-protect-subtree: Headlines. (line 6) * org-cycle-emulate-tab: Global and local cycling. (line 16) * org-cycle-global-at-bob: Global and local cycling. (line 16) * org-cycle-include-plain-lists: Plain lists. (line 69) * org-cycle-open-archived-trees: Internal archiving. (line 11) * org-cycle-separator-lines: Headlines. (line 22) * org-deadline-warning-days <1>: Inserting deadline/schedule. (line 32) * org-deadline-warning-days: Deadlines and scheduling. (line 12) * org-default-notes-file <1>: Template elements. (line 49) * org-default-notes-file: Setting up capture. (line 9) * org-default-priority <1>: In-buffer settings. (line 54) * org-default-priority: Priorities. (line 38) * org-display-custom-times <1>: Publishing options. (line 12) * org-display-custom-times: Custom time format. (line 6) * org-display-internal-link-with-indirect-buffer: Handling links. (line 132) * org-disputed-keys: Conflicts. (line 34) * org-done (face): Faces for TODO keywords. (line 6) * org-drawers <1>: In-buffer settings. (line 45) * org-drawers: Drawers. (line 6) * org-edit-src-auto-save-idle-delay: Editing source code. (line 6) * org-edit-src-turn-on-auto-save: Editing source code. (line 6) * org-effort-property: Effort estimates. (line 6) * org-emphasis-alist: Emphasis and monospace. (line 6) * org-emphasis-regexp-components: Emphasis and monospace. (line 6) * org-enable-table-editor: Built-in table editor. (line 30) * org-enforce-todo-dependencies: TODO dependencies. (line 6) * org-entities: Special symbols. (line 15) * org-execute-file-search-functions: Custom searches. (line 12) * org-export-allow-bind-keywords: Export settings. (line 188) * org-export-async-init-file: The Export Dispatcher. (line 25) * org-export-backends <1>: Other built-in back-ends. (line 6) * org-export-backends: Export back-ends. (line 10) * org-export-before-parsing-hook: Advanced configuration. (line 9) * org-export-before-processing-hook: Advanced configuration. (line 9) * org-export-copy-to-kill-ring: The Export Dispatcher. (line 55) * org-export-creator-string <1>: HTML preamble and postamble. (line 6) * org-export-creator-string: Export settings. (line 28) * org-export-date-timestamp-format: Export settings. (line 32) * org-export-default-language <1>: Publishing options. (line 12) * org-export-default-language: Export settings. (line 48) * org-export-dispatch-use-expert-ui: The Export Dispatcher. (line 6) * org-export-exclude-tags: Publishing options. (line 12) * org-export-headline-levels <1>: Publishing options. (line 12) * org-export-headline-levels <2>: Export settings. (line 129) * org-export-headline-levels: Headings and sections. (line 6) * org-export-in-background: The Export Dispatcher. (line 35) * org-export-initial-scope: The Export Dispatcher. (line 45) * org-export-preserve-breaks <1>: Publishing options. (line 12) * org-export-preserve-breaks: Export settings. (line 91) * org-export-publishing-directory: Publishing options. (line 12) * org-export-select-tags <1>: Publishing options. (line 12) * org-export-select-tags: Export settings. (line 54) * org-export-time-stamp-file <1>: HTML preamble and postamble. (line 6) * org-export-time-stamp-file: Export settings. (line 167) * org-export-with-archived-trees <1>: Publishing options. (line 12) * org-export-with-archived-trees <2>: Export settings. (line 99) * org-export-with-archived-trees: Internal archiving. (line 27) * org-export-with-author <1>: Publishing options. (line 12) * org-export-with-author: Export settings. (line 104) * org-export-with-clocks: Export settings. (line 108) * org-export-with-creator <1>: Publishing options. (line 12) * org-export-with-creator: Export settings. (line 111) * org-export-with-drawers <1>: Publishing options. (line 12) * org-export-with-drawers <2>: Export settings. (line 115) * org-export-with-drawers: Drawers. (line 38) * org-export-with-email <1>: Publishing options. (line 12) * org-export-with-email: Export settings. (line 122) * org-export-with-emphasize: Publishing options. (line 12) * org-export-with-entities: Export settings. (line 119) * org-export-with-fixed-width <1>: Publishing options. (line 12) * org-export-with-fixed-width: Export settings. (line 84) * org-export-with-footnotes <1>: Publishing options. (line 12) * org-export-with-footnotes: Export settings. (line 126) * org-export-with-inlinetasks: Export settings. (line 134) * org-export-with-latex <1>: Publishing options. (line 12) * org-export-with-latex <2>: Export settings. (line 163) * org-export-with-latex: LaTeX fragments. (line 39) * org-export-with-planning <1>: Publishing options. (line 12) * org-export-with-planning: Export settings. (line 142) * org-export-with-priority <1>: Publishing options. (line 12) * org-export-with-priority: Export settings. (line 147) * org-export-with-section-numbers <1>: Publishing options. (line 12) * org-export-with-section-numbers: Export settings. (line 137) * org-export-with-smart-quotes: Export settings. (line 74) * org-export-with-special-strings <1>: Publishing options. (line 12) * org-export-with-special-strings: Export settings. (line 80) * org-export-with-statistics-cookies: Export settings. (line 150) * org-export-with-sub-superscripts <1>: Publishing options. (line 12) * org-export-with-sub-superscripts: Export settings. (line 94) * org-export-with-tables <1>: Publishing options. (line 12) * org-export-with-tables: Export settings. (line 179) * org-export-with-tags <1>: Publishing options. (line 12) * org-export-with-tags: Export settings. (line 154) * org-export-with-tasks <1>: Publishing options. (line 12) * org-export-with-tasks: Export settings. (line 158) * org-export-with-timestamps <1>: Publishing options. (line 12) * org-export-with-timestamps: Export settings. (line 87) * org-export-with-toc <1>: Publishing options. (line 12) * org-export-with-toc <2>: Export settings. (line 171) * org-export-with-toc: Table of contents. (line 6) * org-export-with-todo-keywords <1>: Publishing options. (line 12) * org-export-with-todo-keywords: Export settings. (line 175) * org-fast-tag-selection-include-todo: Fast access to TODO states. (line 16) * org-fast-tag-selection-single-key: Setting tags. (line 144) * org-file-apps <1>: Attachments. (line 49) * org-file-apps: Handling links. (line 104) * org-fontify-emphasized-text: Emphasis and monospace. (line 6) * org-footnote-auto-adjust <1>: In-buffer settings. (line 158) * org-footnote-auto-adjust: Footnotes. (line 58) * org-footnote-auto-label <1>: In-buffer settings. (line 158) * org-footnote-auto-label: Footnotes. (line 44) * org-footnote-define-inline <1>: In-buffer settings. (line 158) * org-footnote-define-inline: Footnotes. (line 58) * org-footnote-section: Footnotes. (line 58) * org-format-latex-header: LaTeX fragments. (line 6) * org-format-latex-options: Previewing LaTeX fragments. (line 20) * org-from-is-user-regexp: Template expansion. (line 49) * org-global-properties <1>: Effort estimates. (line 31) * org-global-properties: Property syntax. (line 73) * org-goto-auto-isearch: Motion. (line 26) * org-goto-interface: Motion. (line 37) * org-group-tags: Tag groups. (line 34) * org-hide (face): Clean view. (line 66) * org-hide-block-startup: Blocks. (line 6) * org-hide-leading-stars <1>: Clean view. (line 50) * org-hide-leading-stars: In-buffer settings. (line 137) * org-hierarchical-todo-statistics: Breaking down tasks. (line 25) * org-highest-priority <1>: In-buffer settings. (line 54) * org-highest-priority: Priorities. (line 38) * org-html-doctype <1>: Publishing options. (line 39) * org-html-doctype: HTML doctypes. (line 6) * org-html-doctype-alist: HTML doctypes. (line 6) * org-html-extension: Publishing options. (line 39) * org-html-head <1>: Publishing options. (line 39) * org-html-head: CSS support. (line 41) * org-html-head-extra <1>: Publishing options. (line 39) * org-html-head-extra: CSS support. (line 41) * org-html-head-include-default-style <1>: Publishing options. (line 39) * org-html-head-include-default-style: CSS support. (line 41) * org-html-head-include-scripts: Publishing options. (line 39) * org-html-html5-elements: HTML doctypes. (line 39) * org-html-html5-fancy: HTML doctypes. (line 39) * org-html-infojs-options: JavaScript support. (line 54) * org-html-inline-images <1>: Publishing options. (line 39) * org-html-inline-images: Images in HTML export. (line 6) * org-html-link-home: Publishing options. (line 39) * org-html-link-org-files-as-html: Publishing options. (line 39) * org-html-link-up: Publishing options. (line 39) * org-html-postamble <1>: Publishing options. (line 39) * org-html-postamble: HTML preamble and postamble. (line 6) * org-html-postamble-format: HTML preamble and postamble. (line 6) * org-html-preamble <1>: Publishing options. (line 39) * org-html-preamble: HTML preamble and postamble. (line 6) * org-html-preamble-format: HTML preamble and postamble. (line 6) * org-html-style-default: CSS support. (line 41) * org-html-table-default-attributes <1>: Publishing options. (line 39) * org-html-table-default-attributes: Tables in HTML export. (line 6) * org-html-table-row-tags: Tables in HTML export. (line 15) * org-html-tag-class-prefix: CSS support. (line 6) * org-html-todo-kwd-class-prefix: CSS support. (line 6) * org-html-use-infojs: JavaScript support. (line 54) * org-html-validation-link: HTML preamble and postamble. (line 6) * org-html-xml-declaration: Publishing options. (line 39) * org-icalendar-alarm-time: iCalendar export. (line 6) * org-icalendar-categories: iCalendar export. (line 6) * org-icalendar-combined-agenda-file: iCalendar export. (line 42) * org-icalendar-include-body: iCalendar export. (line 46) * org-icalendar-include-todo: iCalendar export. (line 6) * org-icalendar-store-UID: iCalendar export. (line 21) * org-icalendar-use-deadline: iCalendar export. (line 6) * org-icalendar-use-scheduled: iCalendar export. (line 6) * org-id-link-to-org-use-id: Handling links. (line 21) * org-imenu-depth: Cooperation. (line 38) * org-insert-mode-line-in-empty-file: Activation. (line 33) * org-irc-link-to-logs: Handling links. (line 45) * org-keep-stored-link-after-insertion: Handling links. (line 66) * org-latex-classes: Header and sectioning. (line 13) * org-latex-create-formula-image-program: Previewing LaTeX fragments. (line 6) * org-latex-default-class: Header and sectioning. (line 13) * org-latex-default-packages-alist: Header and sectioning. (line 13) * org-latex-default-table-environment: LaTeX specific attributes. (line 26) * org-latex-default-table-mode: LaTeX specific attributes. (line 17) * org-latex-packages-alist: Header and sectioning. (line 13) * org-latex-tables-booktabs: LaTeX specific attributes. (line 60) * org-latex-tables-centered: LaTeX specific attributes. (line 60) * org-latex-to-mathml-convert-command: Working with LaTeX math snippets. (line 20) * org-latex-to-mathml-jar-file: Working with LaTeX math snippets. (line 20) * org-link-abbrev-alist <1>: In-buffer settings. (line 49) * org-link-abbrev-alist: Link abbreviations. (line 12) * org-link-frame-setup: Handling links. (line 104) * org-list-allow-alphabetical: Plain lists. (line 14) * org-list-automatic-rules <1>: Checkboxes. (line 6) * org-list-automatic-rules: Plain lists. (line 62) * org-list-demote-modify-bullet: Plain lists. (line 56) * org-list-empty-line-terminates-plain-lists: Plain lists. (line 30) * org-list-indent-offset: Plain lists. (line 56) * org-list-use-circular-motion: Plain lists. (line 94) * org-log-done <1>: In-buffer settings. (line 112) * org-log-done <2>: Agenda commands. (line 113) * org-log-done: Tracking TODO state changes. (line 29) * org-log-into-drawer <1>: Agenda commands. (line 296) * org-log-into-drawer: Tracking TODO state changes. (line 6) * org-log-note-clock-out <1>: In-buffer settings. (line 112) * org-log-note-clock-out: Clocking commands. (line 37) * org-log-refile: Refile and copy. (line 17) * org-log-repeat <1>: In-buffer settings. (line 112) * org-log-repeat: Repeated tasks. (line 34) * org-log-states-order-reversed: Tracking TODO state changes. (line 6) * org-lowest-priority <1>: In-buffer settings. (line 54) * org-lowest-priority: Priorities. (line 38) * org-M-RET-may-split-line <1>: Plain lists. (line 82) * org-M-RET-may-split-line: Structure editing. (line 7) * org-md-headline-style: Markdown export. (line 30) * org-odd-levels-only <1>: Special agenda views. (line 48) * org-odd-levels-only <2>: Clean view. (line 74) * org-odd-levels-only <3>: In-buffer settings. (line 137) * org-odd-levels-only: Matching tags and properties. (line 71) * org-odt-category-map-alist: Labels and captions in ODT export. (line 25) * org-odt-convert: Extending ODT export. (line 39) * org-odt-convert-capabilities: Configuring a document converter. (line 20) * org-odt-convert-process: Configuring a document converter. (line 30) * org-odt-convert-processes: Configuring a document converter. (line 13) * org-odt-create-custom-styles-for-srcblocks: Literal examples in ODT export. (line 17) * org-odt-fontify-srcblocks: Literal examples in ODT export. (line 13) * org-odt-pixels-per-inch: Images in ODT export. (line 33) * org-odt-preferred-output-format <1>: Extending ODT export. (line 22) * org-odt-preferred-output-format: ODT export commands. (line 12) * org-odt-schema-dir: Validating OpenDocument XML. (line 16) * org-odt-styles-file: Applying custom styles. (line 28) * org-odt-table-styles: Customizing tables in ODT export. (line 16) * org-outline-path-complete-in-steps: Refile and copy. (line 17) * org-overriding-columns-format: Agenda column view. (line 18) * org-plain-list-ordered-item-terminator: Plain lists. (line 14) * org-popup-calendar-for-date-prompt: The date/time prompt. (line 76) * org-priority-faces: Priorities. (line 13) * org-priority-start-cycle-with-default: Priorities. (line 33) * org-property-allowed-value-functions: Using the property API. (line 69) * org-publish-project-alist <1>: Publishing options. (line 57) * org-publish-project-alist: Project alist. (line 6) * org-publish-use-timestamps-flag: Triggering publication. (line 21) * org-put-time-stamp-overlays: In-buffer settings. (line 148) * org-read-date-display-live: The date/time prompt. (line 90) * org-read-date-force-compatible-dates: The date/time prompt. (line 61) * org-read-date-prefer-future: The date/time prompt. (line 6) * org-refile-allow-creating-parent-nodes: Refile and copy. (line 17) * org-refile-keep: Refile and copy. (line 17) * org-refile-targets: Refile and copy. (line 17) * org-refile-use-cache: Refile and copy. (line 17) * org-refile-use-outline-path: Refile and copy. (line 17) * org-remove-highlights-with-change <1>: Clocking commands. (line 83) * org-remove-highlights-with-change: Sparse trees. (line 20) * org-replace-disputed-keys: Conflicts. (line 19) * org-return-follows-link: Handling links. (line 123) * org-reverse-note-order: Refile and copy. (line 17) * org-scheduled-delay-days: Deadlines and scheduling. (line 40) * org-show-entry-below: Sparse trees. (line 6) * org-show-following-heading: Sparse trees. (line 6) * org-show-hierarchy-above: Sparse trees. (line 6) * org-show-siblings: Sparse trees. (line 6) * org-sort-agenda-noeffort-is-high: Filtering/limiting agenda items. (line 36) * org-sparse-tree-open-archived-trees: Internal archiving. (line 17) * org-special-ctrl-a/e: Headlines. (line 6) * org-special-ctrl-k: Headlines. (line 6) * org-speed-commands-user: Speed keys. (line 6) * org-startup-align-all-tables <1>: In-buffer settings. (line 91) * org-startup-align-all-tables: Column width and alignment. (line 33) * org-startup-folded <1>: Speeding up your agendas. (line 19) * org-startup-folded <2>: In-buffer settings. (line 80) * org-startup-folded: Initial visibility. (line 6) * org-startup-indented: In-buffer settings. (line 86) * org-startup-with-inline-images <1>: In-buffer settings. (line 98) * org-startup-with-inline-images: Handling links. (line 136) * org-startup-with-latex-preview <1>: In-buffer settings. (line 105) * org-startup-with-latex-preview: Previewing LaTeX fragments. (line 25) * org-store-link-functions: Adding hyperlink types. (line 65) * org-stuck-projects: Stuck projects. (line 17) * org-support-shift-select <1>: Conflicts. (line 6) * org-support-shift-select: Plain lists. (line 94) * org-table-auto-blank-field: Built-in table editor. (line 30) * org-table-copy-increment: Built-in table editor. (line 162) * org-table-duration-custom-format: Durations and time values. (line 6) * org-table-export-default-format: Built-in table editor. (line 199) * org-table-formula: In-buffer settings. (line 35) * org-table-formula-constants <1>: Cooperation. (line 17) * org-table-formula-constants <2>: In-buffer settings. (line 35) * org-table-formula-constants: References. (line 102) * org-table-use-standard-references <1>: Editing and debugging formulas. (line 6) * org-table-use-standard-references: References. (line 17) * org-tag-alist <1>: In-buffer settings. (line 182) * org-tag-alist: Setting tags. (line 23) * org-tag-faces: Tags. (line 10) * org-tag-persistent-alist: Setting tags. (line 38) * org-tags-column: Setting tags. (line 11) * org-tags-exclude-from-inheritance: Tag inheritance. (line 22) * org-tags-match-list-sublevels <1>: Matching tags and properties. (line 20) * org-tags-match-list-sublevels <2>: Property searches. (line 19) * org-tags-match-list-sublevels <3>: Tag searches. (line 20) * org-tags-match-list-sublevels: Tag inheritance. (line 26) * org-time-stamp-custom-formats: Custom time format. (line 6) * org-time-stamp-overlay-formats: In-buffer settings. (line 148) * org-time-stamp-rounding-minutes: Creating timestamps. (line 23) * org-todo (face): Faces for TODO keywords. (line 6) * org-todo-keyword-faces: Faces for TODO keywords. (line 6) * org-todo-keywords <1>: In-buffer settings. (line 205) * org-todo-keywords <2>: Global TODO list. (line 18) * org-todo-keywords <3>: TODO extensions. (line 6) * org-todo-keywords: TODO basics. (line 42) * org-todo-repeat-to-state: Repeated tasks. (line 19) * org-todo-state-tags-triggers: TODO basics. (line 63) * org-track-ordered-property-with-tag <1>: Checkboxes. (line 79) * org-track-ordered-property-with-tag: TODO dependencies. (line 30) * org-treat-insert-todo-heading-as-state-change: Structure editing. (line 27) * org-treat-S-cursor-todo-selection-as-state-change: TODO basics. (line 35) * org-use-fast-todo-selection: TODO basics. (line 14) * org-use-property-inheritance <1>: Using the property API. (line 18) * org-use-property-inheritance <2>: Header arguments in Org mode properties. (line 19) * org-use-property-inheritance <3>: iCalendar export. (line 46) * org-use-property-inheritance: Property inheritance. (line 6) * org-use-speed-commands: Speed keys. (line 6) * org-use-sub-superscripts: Subscripts and superscripts. (line 15) * org-use-tag-inheritance: Tag inheritance. (line 22) * org-yank-adjusted-subtrees: Structure editing. (line 84) * org-yank-folded-subtrees: Structure editing. (line 84) * orgstruct-heading-prefix-regexp: Orgstruct mode. (line 26) * parse-time-months: The date/time prompt. (line 57) * parse-time-weekdays: The date/time prompt. (line 57) * ps-landscape-mode: Exporting Agenda Views. (line 20) * ps-number-of-columns: Exporting Agenda Views. (line 20) * user-full-name: Export settings. (line 25) * user-mail-address <1>: Publishing options. (line 12) * user-mail-address: Export settings. (line 40)  Tag Table: Node: Top882 Node: Introduction23489 Node: Summary23930 Node: Installation26984 Node: Activation29533 Ref: Activation-Footnote-131363 Node: Feedback31485 Ref: Feedback-Footnote-135088 Node: Conventions35215 Ref: Conventions-Footnote-137226 Node: Document Structure37318 Node: Outlines38309 Node: Headlines38965 Ref: Headlines-Footnote-139969 Ref: Headlines-Footnote-240145 Node: Visibility cycling40216 Node: Global and local cycling40595 Ref: Global and local cycling-Footnote-143296 Ref: Global and local cycling-Footnote-243354 Ref: Global and local cycling-Footnote-343404 Node: Initial visibility43674 Ref: Initial visibility-Footnote-144925 Node: Catching invisible edits45106 Node: Motion45571 Node: Structure editing46906 Ref: Structure editing-Footnote-153714 Node: Sparse trees53814 Ref: Sparse trees-Footnote-156309 Ref: Sparse trees-Footnote-256515 Ref: Sparse trees-Footnote-356586 Node: Plain lists56701 Ref: Plain lists-Footnote-164115 Ref: Plain lists-Footnote-264469 Ref: Plain lists-Footnote-364565 Ref: Plain lists-Footnote-464812 Ref: Plain lists-Footnote-564983 Ref: Plain lists-Footnote-665046 Ref: Plain lists-Footnote-765222 Ref: Plain lists-Footnote-865322 Ref: Plain lists-Footnote-965424 Node: Drawers65490 Ref: Drawers-Footnote-167325 Node: Blocks67430 Node: Footnotes67989 Ref: Footnotes-Footnote-172371 Ref: Footnotes-Footnote-272468 Node: Orgstruct mode72545 Node: Org syntax74175 Node: Tables75079 Node: Built-in table editor75720 Ref: Built-in table editor-Footnote-185210 Node: Column width and alignment85310 Ref: Column width and alignment-Footnote-187870 Ref: Column width and alignment-Footnote-287916 Node: Column groups88013 Node: Orgtbl mode89557 Node: The spreadsheet90366 Node: References91826 Ref: References-Footnote-197934 Ref: References-Footnote-298156 Ref: References-Footnote-398425 Ref: References-Footnote-498528 Node: Formula syntax for Calc98818 Ref: Formula syntax for Calc-Footnote-1103804 Node: Formula syntax for Lisp104128 Node: Durations and time values105864 Node: Field and range formulas106943 Node: Column formulas109354 Node: Lookup functions111443 Node: Editing and debugging formulas113366 Ref: Using multiple #+TBLFM lines117625 Node: Updating the table118838 Node: Advanced features120194 Ref: Advanced features-Footnote-1124675 Node: Org-Plot124781 Node: Hyperlinks127623 Node: Link format128380 Node: Internal links129658 Ref: Internal links-Footnote-1131950 Ref: Internal links-Footnote-2132190 Node: Radio targets132328 Node: External links133018 Ref: External links-Footnote-1137084 Node: Handling links137474 Ref: Handling links-Footnote-1145379 Ref: Handling links-Footnote-2145538 Ref: Handling links-Footnote-3145713 Ref: Handling links-Footnote-4146009 Ref: Handling links-Footnote-5146255 Ref: Handling links-Footnote-6146332 Ref: Handling links-Footnote-7146404 Node: Using links outside Org146488 Node: Link abbreviations146973 Node: Search options149653 Ref: Search options-Footnote-1151535 Node: Custom searches151616 Node: TODO Items152626 Ref: TODO Items-Footnote-1153734 Node: TODO basics153848 Node: TODO extensions156713 Node: Workflow states157743 Ref: Workflow states-Footnote-1159068 Node: TODO types159161 Ref: TODO types-Footnote-1160759 Node: Multiple sets in one file160841 Node: Fast access to TODO states162706 Ref: Fast access to TODO states-Footnote-1163579 Ref: Fast access to TODO states-Footnote-2163663 Node: Per-file keywords163956 Ref: Per-file keywords-Footnote-1165352 Node: Faces for TODO keywords165553 Node: TODO dependencies166594 Node: Progress logging168757 Node: Closing items169469 Ref: Closing items-Footnote-1170699 Ref: Closing items-Footnote-2170768 Node: Tracking TODO state changes170842 Ref: Tracking TODO state changes-Footnote-1173878 Ref: Tracking TODO state changes-Footnote-2173933 Ref: Tracking TODO state changes-Footnote-3174073 Node: Tracking your habits174361 Node: Priorities178595 Ref: Priorities-Footnote-1180585 Node: Breaking down tasks180654 Ref: Breaking down tasks-Footnote-1182633 Node: Checkboxes182729 Ref: Checkboxes-Footnote-1187255 Ref: Checkboxes-Footnote-2187379 Ref: Checkboxes-Footnote-3187553 Node: Tags187667 Node: Tag inheritance188735 Ref: Tag inheritance-Footnote-1190559 Ref: Tag inheritance-Footnote-2190659 Node: Setting tags190785 Ref: Setting tags-Footnote-1197089 Node: Tag groups197172 Node: Tag searches198621 Node: Properties and Columns199913 Node: Property syntax201349 Node: Special properties205573 Node: Property searches207407 Node: Property inheritance208842 Node: Column view210658 Node: Defining columns211893 Node: Scope of column definitions212291 Node: Column attributes213221 Ref: Column attributes-Footnote-1217916 Node: Using column view218049 Node: Capturing column view220911 Ref: Capturing column view-Footnote-1223907 Node: Property API224043 Node: Dates and Times224397 Node: Timestamps225376 Ref: Timestamps-Footnote-1227819 Ref: Timestamps-Footnote-2228005 Ref: Timestamps-Footnote-3228136 Node: Creating timestamps228905 Node: The date/time prompt231729 Ref: The date/time prompt-Footnote-1236255 Ref: The date/time prompt-Footnote-2236418 Ref: The date/time prompt-Footnote-3236524 Node: Custom time format236618 Node: Deadlines and scheduling238340 Ref: Deadlines and scheduling-Footnote-1241722 Node: Inserting deadline/schedule241877 Ref: Inserting deadline/schedule-Footnote-1244189 Ref: Inserting deadline/schedule-Footnote-2244341 Ref: Inserting deadline/schedule-Footnote-3244449 Node: Repeated tasks244557 Ref: Repeated tasks-Footnote-1248304 Ref: Repeated tasks-Footnote-2248553 Node: Clocking work time248752 Ref: Clocking work time-Footnote-1249937 Ref: Clocking work time-Footnote-2250081 Node: Clocking commands250219 Ref: Clocking commands-Footnote-1255192 Ref: Clocking commands-Footnote-2255299 Ref: Clocking commands-Footnote-3255349 Ref: Clocking commands-Footnote-4255407 Node: The clock table255485 Ref: The clock table-Footnote-1262743 Ref: The clock table-Footnote-2262837 Node: Resolving idle time262962 Ref: Resolving idle time-Footnote-1266809 Node: Effort estimates267277 Ref: Effort estimates-Footnote-1270041 Ref: Effort estimates-Footnote-2270129 Node: Relative timer270236 Node: Countdown timer272083 Node: Capture - Refile - Archive272575 Node: Capture273565 Node: Setting up capture274668 Ref: Setting up capture-Footnote-1275093 Node: Using capture275159 Node: Capture templates277566 Node: Template elements279527 Ref: Template elements-Footnote-1285191 Node: Template expansion285366 Ref: Template expansion-Footnote-1289356 Ref: Template expansion-Footnote-2289443 Ref: Template expansion-Footnote-3289625 Node: Templates in contexts289723 Node: Attachments290545 Ref: Attachments-Footnote-1293927 Node: RSS Feeds294077 Node: Protocols295667 Node: Refile and copy296382 Ref: Refile and copy-Footnote-1298804 Node: Archiving298900 Node: Moving subtrees299600 Ref: Moving subtrees-Footnote-1301457 Node: Internal archiving301901 Node: Agenda Views304531 Node: Agenda files306722 Ref: Agenda files-Footnote-1309546 Ref: Agenda files-Footnote-2309695 Node: Agenda dispatcher309888 Ref: Agenda dispatcher-Footnote-1312703 Ref: Agenda dispatcher-Footnote-2312797 Node: Built-in agenda views312899 Node: Weekly/daily agenda313548 Ref: Weekly/daily agenda-Footnote-1318856 Ref: Weekly/daily agenda-Footnote-2319083 Node: Global TODO list319258 Node: Matching tags and properties321786 Ref: Matching tags and properties-Footnote-1329113 Node: Timeline329193 Node: Search view329885 Node: Stuck projects331178 Ref: Stuck projects-Footnote-1333238 Node: Presentation and sorting333268 Node: Categories334225 Ref: Categories-Footnote-1335026 Node: Time-of-day specifications335463 Node: Sorting agenda items337432 Node: Filtering/limiting agenda items339001 Ref: Filtering/limiting agenda items-Footnote-1346272 Ref: Filtering/limiting agenda items-Footnote-2346687 Node: Agenda commands346755 Ref: Agenda commands-Footnote-1368082 Ref: Agenda commands-Footnote-2368163 Ref: Agenda commands-Footnote-3368282 Ref: Agenda commands-Footnote-4368382 Node: Custom agenda views368465 Node: Storing searches369106 Ref: Storing searches-Footnote-1372075 Ref: Storing searches-Footnote-2372192 Node: Block agenda372440 Node: Setting Options373678 Node: Exporting Agenda Views377312 Ref: Exporting Agenda Views-Footnote-1382213 Ref: Exporting Agenda Views-Footnote-2382271 Ref: Exporting Agenda Views-Footnote-3382427 Ref: Exporting Agenda Views-Footnote-4382614 Node: Agenda column view382696 Node: Markup385770 Node: Structural markup elements386799 Node: Document title387469 Node: Headings and sections388046 Node: Table of contents388716 Node: Lists390200 Node: Paragraphs390491 Node: Footnote markup391641 Node: Emphasis and monospace391978 Node: Horizontal rules392835 Node: Comment lines393092 Node: Images and tables393600 Node: Literal examples395317 Ref: Literal examples-Footnote-1399196 Ref: Literal examples-Footnote-2399526 Ref: Literal examples-Footnote-3399698 Ref: Literal examples-Footnote-4399877 Ref: Literal examples-Footnote-5400127 Node: Include files400221 Node: Index entries401899 Node: Macro replacement402361 Ref: Macro replacement-Footnote-1403185 Node: Embedded LaTeX403415 Ref: Embedded LaTeX-Footnote-1404379 Node: Special symbols404569 Ref: Special symbols-Footnote-1406191 Node: Subscripts and superscripts406346 Node: LaTeX fragments407451 Ref: LaTeX fragments-Footnote-1409676 Ref: LaTeX fragments-Footnote-2409849 Ref: LaTeX fragments-Footnote-3410218 Node: Previewing LaTeX fragments410426 Ref: Previewing LaTeX fragments-Footnote-1411657 Node: CDLaTeX mode411764 Ref: CDLaTeX mode-Footnote-1414259 Node: Special blocks414407 Node: Exporting415111 Node: The Export Dispatcher416982 Ref: The Export Dispatcher-Footnote-1419350 Node: Export back-ends419613 Node: Export settings420500 Ref: Export settings-Footnote-1427239 Ref: Export settings-Footnote-2427341 Ref: Export settings-Footnote-3427436 Ref: Export settings-Footnote-4427479 Node: ASCII/Latin-1/UTF-8 export427665 Node: Beamer export429696 Ref: Beamer export-Footnote-1437098 Ref: Beamer export-Footnote-2437261 Node: HTML export437379 Node: HTML Export commands438464 Node: HTML doctypes439014 Node: HTML preamble and postamble441242 Node: Quoting HTML tags442290 Node: Links in HTML export442920 Node: Tables in HTML export444053 Node: Images in HTML export444771 Ref: Images in HTML export-Footnote-1446061 Node: Math formatting in HTML export446116 Ref: Math formatting in HTML export-Footnote-1447605 Node: Text areas in HTML export447740 Node: CSS support448520 Ref: CSS support-Footnote-1451584 Ref: CSS support-Footnote-2451756 Node: JavaScript support451998 Node: LaTeX and PDF export455379 Ref: LaTeX and PDF export-Footnote-1456513 Node: LaTeX export commands456836 Node: Header and sectioning457531 Ref: Header and sectioning-Footnote-1459143 Ref: Header and sectioning-Footnote-2459255 Node: Quoting LaTeX code459418 Node: LaTeX specific attributes460013 Ref: LaTeX specific attributes-Footnote-1467944 Ref: LaTeX specific attributes-Footnote-2468022 Ref: LaTeX specific attributes-Footnote-3468096 Node: Markdown export468250 Ref: Markdown export-Footnote-1469554 Node: OpenDocument Text export469640 Ref: OpenDocument Text export-Footnote-1470779 Ref: OpenDocument Text export-Footnote-2470809 Node: Pre-requisites for ODT export470953 Node: ODT export commands471312 Ref: x-export-to-odt471541 Ref: ODT export commands-Footnote-1472540 Ref: ODT export commands-Footnote-2472600 Node: Extending ODT export472651 Ref: x-export-to-other-formats473646 Ref: x-convert-to-other-formats474174 Node: Applying custom styles474631 Node: Links in ODT export476789 Node: Tables in ODT export477434 Ref: Tables in ODT export-Footnote-1479568 Node: Images in ODT export479661 Ref: Images in ODT export-Footnote-1482390 Node: Math formatting in ODT export482623 Node: Working with LaTeX math snippets483085 Ref: Working with LaTeX math snippets-Footnote-1485195 Node: Working with MathML or OpenDocument formula files485270 Node: Labels and captions in ODT export485842 Node: Literal examples in ODT export487297 Ref: Literal examples in ODT export-Footnote-1488198 Node: Advanced topics in ODT export488309 Node: Configuring a document converter489063 Ref: x-odt-converter-capabilities489893 Node: Working with OpenDocument style files490474 Ref: x-factory-styles490970 Ref: x-orgodtstyles-xml491202 Ref: x-orgodtcontenttemplate-xml491529 Ref: x-overriding-factory-styles492185 Ref: x-org-odt-styles-file492459 Ref: x-org-odt-content-template-file493340 Node: Creating one-off styles493481 Node: Customizing tables in ODT export495702 Ref: Customizing tables in ODT export-Footnote-1500847 Ref: Customizing tables in ODT export-Footnote-2500951 Ref: Customizing tables in ODT export-Footnote-3501039 Node: Validating OpenDocument XML501354 Ref: Validating OpenDocument XML-Footnote-1502373 Node: iCalendar export502425 Ref: iCalendar export-Footnote-1505167 Ref: iCalendar export-Footnote-2505257 Ref: iCalendar export-Footnote-3505357 Node: Other built-in back-ends505494 Node: Export in foreign buffers506188 Node: Advanced configuration507178 Node: Publishing513282 Node: Configuration514150 Node: Project alist514932 Node: Sources and destinations516095 Node: Selecting files517613 Node: Publishing action518614 Ref: Publishing action-Footnote-1520443 Node: Publishing options520600 Node: Publishing links523509 Node: Sitemap524476 Node: Generating an index527695 Node: Uploading files528282 Node: Sample configuration530046 Node: Simple example530535 Node: Complex example531211 Node: Triggering publication533262 Node: Working With Source Code534258 Node: Structure of code blocks535950 Ref: Structure of code blocks-Footnote-1537816 Node: Editing source code537910 Node: Exporting code blocks539689 Node: Extracting source code541797 Node: Evaluating code blocks544033 Ref: Evaluating code blocks-Footnote-1547387 Ref: Evaluating code blocks-Footnote-2547684 Node: Library of Babel547810 Node: Languages548787 Node: Header arguments551103 Node: Using header arguments551588 Node: System-wide header arguments552643 Node: Language-specific header arguments553481 Node: Header arguments in Org mode properties553990 Ref: Header arguments in Org mode properties-Footnote-1555719 Node: Language-specific header arguments in Org mode properties555992 Node: Code block specific header arguments557008 Node: Header arguments in function calls558854 Node: Specific header arguments559603 Node: var562232 Node: results569057 Node: file573910 Node: file-desc574822 Node: dir575287 Node: exports578221 Node: tangle578875 Node: mkdirp579686 Node: comments580017 Node: padline581150 Node: no-expand581682 Node: session582174 Node: noweb582621 Node: noweb-ref584798 Ref: noweb-ref-Footnote-1586264 Node: noweb-sep586393 Node: cache586687 Node: sep588419 Node: hlines588991 Node: colnames590493 Node: rownames591796 Node: shebang592971 Node: tangle-mode593374 Node: eval594125 Node: wrap595163 Node: post595603 Node: prologue596719 Node: epilogue597291 Node: Results of evaluation597546 Node: Noweb reference syntax601314 Node: Key bindings and useful functions602965 Node: Batch execution605707 Node: Miscellaneous606741 Node: Completion607570 Node: Easy Templates609546 Node: Speed keys610955 Node: Code evaluation security611782 Node: Customization614496 Node: In-buffer settings615091 Ref: In-buffer settings-Footnote-1625244 Node: The very busy C-c C-c key625292 Node: Clean view627276 Ref: Clean view-Footnote-1631261 Ref: Clean view-Footnote-2631322 Ref: Clean view-Footnote-3631506 Ref: Clean view-Footnote-4631567 Ref: Clean view-Footnote-5631679 Ref: Clean view-Footnote-6631734 Node: TTY keys631859 Node: Interaction633625 Node: Cooperation634019 Node: Conflicts637817 Node: org-crypt642786 Node: Hacking644097 Node: Hooks645085 Node: Add-on packages645501 Node: Adding hyperlink types646055 Node: Adding export back-ends649975 Node: Context-sensitive commands651420 Ref: Context-sensitive commands-Footnote-1652997 Node: Tables in arbitrary syntax653131 Node: Radio tables654543 Node: A LaTeX example657304 Ref: A LaTeX example-Footnote-1661233 Ref: A LaTeX example-Footnote-2661390 Node: Translator functions661825 Ref: Translator functions-Footnote-1665049 Node: Radio lists665137 Node: Dynamic blocks666266 Node: Special agenda views668479 Ref: x-agenda-skip-entry-regexp671942 Ref: Special agenda views-Footnote-1672745 Ref: Special agenda views-Footnote-2672942 Node: Speeding up your agendas673077 Node: Extracting agenda information674180 Node: Using the property API678258 Node: Using the mapping API681634 Node: MobileOrg686056 Node: Setting up the staging area687755 Ref: Setting up the staging area-Footnote-1688854 Ref: Setting up the staging area-Footnote-2689155 Node: Pushing to MobileOrg689417 Ref: Pushing to MobileOrg-Footnote-1690417 Ref: Pushing to MobileOrg-Footnote-2690506 Ref: Pushing to MobileOrg-Footnote-3690922 Node: Pulling from MobileOrg690993 Ref: Pulling from MobileOrg-Footnote-1693414 Ref: Pulling from MobileOrg-Footnote-2693474 Node: History and Acknowledgments693849 Node: GNU Free Documentation License708805 Node: Main Index733989 Node: Key Index808849 Node: Command and Function Index860333 Node: Variable Index894093  End Tag Table org-mode-doc-8.2.4/doc/library-of-babel.org0000644000175000017500000004640312260050771016503 0ustar sebseb#+title: The Library of Babel #+author: Org-mode People #+STARTUP: hideblocks * Introduction The Library of Babel is an extensible collection of ready-made and easily-shortcut-callable source-code blocks for handling common tasks. Org-babel comes pre-populated with the source-code blocks located in this file. It is possible to add source-code blocks from any org-mode file to the library by calling =(org-babel-lob-ingest "path/to/file.org")=. This file is included in worg mainly less for viewing through the web interface, and more for contribution through the worg git repository. If you have code snippets that you think others may find useful please add them to this file and [[file:~/src/worg/worg-git.org::contribute-to-worg][contribute them]] to worg. The raw Org-mode text of this file can be downloaded at [[repofile:contrib/babel/library-of-babel.org][library-of-babel.org]] * Simple A collection of simple utility functions: #+name: echo #+begin_src emacs-lisp :var input="echo'd" input #+end_src * File I/O ** Reading and writing files Read the contents of the file at =file=. The =:results vector= and =:results scalar= header arguments can be used to read the contents of file as either a table or a string. #+name: read #+begin_src emacs-lisp :var file="" :var format="" (if (string= format "csv") (with-temp-buffer (org-table-import (expand-file-name file) nil) (org-table-to-lisp)) (with-temp-buffer (insert-file-contents (expand-file-name file)) (buffer-string))) #+end_src Write =data= to a file at =file=. If =data= is a list, then write it as a table in traditional Org-mode table syntax. #+name: write #+begin_src emacs-lisp :var data="" :var file="" :var ext='() (flet ((echo (r) (if (stringp r) r (format "%S" r)))) (with-temp-file file (case (and (listp data) (or ext (intern (file-name-extension file)))) ('tsv (insert (orgtbl-to-tsv data '(:fmt echo)))) ('csv (insert (orgtbl-to-csv data '(:fmt echo)))) (t (org-babel-insert-result data))))) nil #+end_src ** Remote files *** json Read local or remote file in [[http://www.json.org/][json]] format into emacs-lisp objects. #+name: json #+begin_src emacs-lisp :var file='() :var url='() (require 'json) (cond (file (with-temp-filebuffer file (goto-char (point-min)) (json-read))) (url (require 'w3m) (with-temp-buffer (w3m-retrieve url) (goto-char (point-min)) (json-read)))) #+end_src *** Google docs The following code blocks make use of the [[http://code.google.com/p/googlecl/][googlecl]] Google command line tool. This tool provides functionality for accessing Google services from the command line, and the following code blocks use /googlecl/ for reading from and writing to Google docs with Org-mode code blocks. **** Read a document from Google docs The =google= command seems to be throwing "Moved Temporarily" errors when trying to download textual documents, but this is working fine for spreadsheets. #+name: gdoc-read #+begin_src emacs-lisp :var title="example" :var format="csv" (let* ((file (concat title "." format)) (cmd (format "google docs get --format %S --title %S" format title))) (message cmd) (message (shell-command-to-string cmd)) (prog1 (if (string= format "csv") (with-temp-buffer (org-table-import (shell-quote-argument file) '(4)) (org-table-to-lisp)) (with-temp-buffer (insert-file-contents (shell-quote-argument file)) (buffer-string))) (delete-file file))) #+end_src For example, a line like the following can be used to read the contents of a spreadsheet named =num-cells= into a table. : #+call: gdoc-read(title="num-cells"") A line like the following can be used to read the contents of a document as a string. : #+call: gdoc-read(title="loremi", :format "txt") **** Write a document to a Google docs Write =data= to a google document named =title=. If =data= is tabular it will be saved to a spreadsheet, otherwise it will be saved as a normal document. #+name: gdoc-write #+begin_src emacs-lisp :var title="babel-upload" :var data=fibs(n=10) :results silent (let* ((format (if (listp data) "csv" "txt")) (tmp-file (make-temp-file "org-babel-google-doc" nil (concat "." format))) (cmd (format "google docs upload --title %S %S" title tmp-file))) (with-temp-file tmp-file (insert (if (listp data) (orgtbl-to-csv data '(:fmt (lambda (el) (if (stringp el) el (format "%S" el))))) (if (stringp data) data (format "%S" data))))) (message cmd) (prog1 (shell-command-to-string cmd) (delete-file tmp-file))) #+end_src example usage : #+name: fibs : #+begin_src emacs-lisp :var n=8 : (flet ((fib (m) (if (< m 2) 1 (+ (fib (- m 1)) (fib (- m 2)))))) : (mapcar (lambda (el) (list el (fib el))) (number-sequence 0 (- n 1)))) : #+end_src : : #+call: gdoc-write(title="fibs", data=fibs(n=10)) * Plotting code ** R Plot column 2 (y axis) against column 1 (x axis). Columns 3 and beyond, if present, are ignored. #+name: R-plot #+begin_src R :var data=R-plot-example-data plot(data) #+end_src #+tblname: R-plot-example-data | 1 | 2 | | 2 | 4 | | 3 | 9 | | 4 | 16 | | 5 | 25 | #+call: R-plot(data=R-plot-example-data) #+resname: R-plot(data=R-plot-example-data) : nil ** Gnuplot * Org reference ** Headline references #+name: headline #+begin_src emacs-lisp :var headline=top :var file='() (save-excursion (when file (get-file-buffer file)) (org-open-link-from-string (org-make-link-string headline)) (save-restriction (org-narrow-to-subtree) (buffer-string))) #+end_src #+call: headline(headline="headline references") * Tables ** LaTeX Table Export *** booktabs This source block can be used to wrap a table in the latex =booktabs= environment. The source block adds a =toprule= and =bottomrule= (so don't use =hline= at the top or bottom of the table). The =hline= after the header is replaced with a =midrule=. Note that this function bypasses the Org-mode LaTeX exporter and calls =orgtbl-to-generic= to create the output table. This means that the entries in the table are not translated from Org-mode to LaTeX. It takes the following arguments -- all but the first two are optional. | arg | description | |-------+--------------------------------------------| | table | a reference to the table | | align | alignment string | | env | optional environment, default to "tabular" | | width | optional width specification string | #+name: booktabs #+begin_src emacs-lisp :var table='((:head) hline (:body)) :var align='() :var env="tabular" :var width='() :noweb yes :results latex (flet ((to-tab (tab) (orgtbl-to-generic (mapcar (lambda (lis) (if (listp lis) (mapcar (lambda (el) (if (stringp el) el (format "%S" el))) lis) lis)) tab) (list :lend " \\\\" :sep " & " :hline "\\hline")))) (org-fill-template " \\begin{%env}%width%align \\toprule %table \\bottomrule \\end{%env}\n" (list (cons "env" (or env "table")) (cons "width" (if width (format "{%s}" width) "")) (cons "align" (if align (format "{%s}" align) "")) (cons "table" ;; only use \midrule if it looks like there are column headers (if (equal 'hline (second table)) (concat (to-tab (list (first table))) "\n\\midrule\n" (to-tab (cddr table))) (to-tab table)))))) #+end_src *** longtable This block can be used to wrap a table in the latex =longtable= environment, it takes the following arguments -- all but the first two are optional. | arg | description | |-----------+-------------------------------------------------------------| | table | a reference to the table | | align | optional alignment string | | width | optional width specification string | | hline | the string to use as hline separator, defaults to "\\hline" | | head | optional "head" string | | firsthead | optional "firsthead" string | | foot | optional "foot" string | | lastfoot | optional "lastfoot" string | #+name: longtable #+begin_src emacs-lisp :var table='((:table)) :var align='() :var width='() :var hline="\\hline" :var firsthead='() :var head='() :var foot='() :var lastfoot='() :noweb yes :results latex (org-fill-template " \\begin{longtable}%width%align %firsthead %head %foot %lastfoot %table \\end{longtable}\n" (list (cons "width" (if width (format "{%s}" width) "")) (cons "align" (if align (format "{%s}" align) "")) (cons "firsthead" (if firsthead (concat firsthead "\n\\endfirsthead\n") "")) (cons "head" (if head (concat head "\n\\endhead\n") "")) (cons "foot" (if foot (concat foot "\n\\endfoot\n") "")) (cons "lastfoot" (if lastfoot (concat lastfoot "\n\\endlastfoot\n") "")) (cons "table" (orgtbl-to-generic (mapcar (lambda (lis) (if (listp lis) (mapcar (lambda (el) (if (stringp el) el (format "%S" el))) lis) lis)) table) (list :lend " \\\\" :sep " & " :hline hline))))) #+end_src *** booktabs-notes This source block builds on [[booktabs]]. It accepts two additional arguments, both of which are optional. #+tblname: arguments | arg | description | |--------+------------------------------------------------------| | notes | an org-mode table with footnotes | | lspace | if non-nil, insert =addlinespace= after =bottomrule= | An example footnote to the =arguments= table specifies the column span. Note the use of LaTeX, rather than Org-mode, markup. #+tblname: arguments-notes | \multicolumn{2}{l}{This is a footnote to the \emph{arguments} table.} | #+name: booktabs-notes #+begin_src emacs-lisp :var table='((:head) hline (:body)) :var notes='() :var align='() :var env="tabular" :var width='() :var lspace='() :noweb yes :results latex (flet ((to-tab (tab) (orgtbl-to-generic (mapcar (lambda (lis) (if (listp lis) (mapcar (lambda (el) (if (stringp el) el (format "%S" el))) lis) lis)) tab) (list :lend " \\\\" :sep " & " :hline "\\hline")))) (org-fill-template " \\begin{%env}%width%align \\toprule %table \\bottomrule%spacer %notes \\end{%env}\n" (list (cons "env" (or env "table")) (cons "width" (if width (format "{%s}" width) "")) (cons "align" (if align (format "{%s}" align) "")) (cons "spacer" (if lspace "\\addlinespace" "")) (cons "table" ;; only use \midrule if it looks like there are column headers (if (equal 'hline (second table)) (concat (to-tab (list (first table))) "\n\\midrule\n" (to-tab (cddr table))) (to-tab table))) (cons "notes" (if notes (to-tab notes) "")) ))) #+end_src ** Elegant lisp for transposing a matrix #+tblname: transpose-example | 1 | 2 | 3 | | 4 | 5 | 6 | #+name: transpose #+begin_src emacs-lisp :var table=transpose-example (apply #'mapcar* #'list table) #+end_src #+resname: | 1 | 4 | | 2 | 5 | | 3 | 6 | ** Convert every element of a table to a string #+tblname: hetero-table | 1 | 2 | 3 | | a | b | c | #+name: all-to-string #+begin_src emacs-lisp :var tbl='() (defun all-to-string (tbl) (if (listp tbl) (mapcar #'all-to-string tbl) (if (stringp tbl) tbl (format "%s" tbl)))) (all-to-string tbl) #+end_src #+begin_src emacs-lisp :var tbl=hetero-table (mapcar (lambda (row) (mapcar (lambda (cell) (stringp cell)) row)) tbl) #+end_src #+name: | nil | nil | nil | | t | t | t | #+begin_src emacs-lisp :var tbl=all-to-string(hetero-table) (mapcar (lambda (row) (mapcar (lambda (cell) (stringp cell)) row)) tbl) #+end_src #+name: | t | t | t | | t | t | t | * Misc ** File-specific Version Control logging :PROPERTIES: :AUTHOR: Luke Crook :END: This function will attempt to retrieve the entire commit log for the file associated with the current buffer and insert this log into the export. The function uses the Emacs VC commands to interface to the local version control system, but has only been tested to work with Git. 'limit' is currently unsupported. #+name: vc-log #+headers: :var limit=-1 #+headers: :var buf=(buffer-name (current-buffer)) #+begin_src emacs-lisp ;; Most of this code is copied from vc.el vc-print-log (require 'vc) (when (vc-find-backend-function (vc-backend (buffer-file-name (get-buffer buf))) 'print-log) (let ((limit -1) (vc-fileset nil) (backend nil) (files nil)) (with-current-buffer (get-buffer buf) (setq vc-fileset (vc-deduce-fileset t)) ; FIXME: Why t? --Stef (setq backend (car vc-fileset)) (setq files (cadr vc-fileset))) (with-temp-buffer (let ((status (vc-call-backend backend 'print-log files (current-buffer)))) (when (and (processp status) ; Make sure status is a process (= 0 (process-exit-status status))) ; which has not terminated (while (not (eq 'exit (process-status status))) (sit-for 1 t))) (buffer-string))))) #+end_src ** Trivial python code blocks #+name: python-identity #+begin_src python :var a=1 a #+end_src #+name: python-add #+begin_src python :var a=1 :var b=2 a + b #+end_src ** Arithmetic #+name: lob-add #+begin_src emacs-lisp :var a=0 :var b=0 (+ a b) #+end_src #+name: lob-minus #+begin_src emacs-lisp :var a=0 :var b=0 (- a b) #+end_src #+name: lob-times #+begin_src emacs-lisp :var a=0 :var b=0 (* a b) #+end_src #+name: lob-div #+begin_src emacs-lisp :var a=0 :var b=0 (/ a b) #+end_src * GANTT Charts The =elispgantt= source block was sent to the mailing list by Eric Fraga. It was modified slightly by Tom Dye. #+name: elispgantt #+begin_src emacs-lisp :var table=gantttest (let ((dates "") (entries (nthcdr 2 table)) (milestones "") (nmilestones 0) (ntasks 0) (projecttime 0) (tasks "") (xlength 1)) (message "Initial: %s\n" table) (message "Entries: %s\n" entries) (while entries (let ((entry (first entries))) (if (listp entry) (let ((id (first entry)) (type (nth 1 entry)) (label (nth 2 entry)) (task (nth 3 entry)) (dependencies (nth 4 entry)) (start (nth 5 entry)) (duration (nth 6 entry)) (end (nth 7 entry)) (alignment (nth 8 entry))) (if (> start projecttime) (setq projecttime start)) (if (string= type "task") (let ((end (+ start duration)) (textposition (+ start (/ duration 2))) (flush "")) (if (string= alignment "left") (progn (setq textposition start) (setq flush "[left]")) (if (string= alignment "right") (progn (setq textposition end) (setq flush "[right]")))) (setq tasks (format "%s \\gantttask{%s}{%s}{%d}{%d}{%d}{%s}\n" tasks label task start end textposition flush)) (setq ntasks (+ 1 ntasks)) (if (> end projecttime) (setq projecttime end))) (if (string= type "milestone") (progn (setq milestones (format "%s \\ganttmilestone{$\\begin{array}{c}\\mbox{%s}\\\\ \\mbox{%s}\\end{array}$}{%d}\n" milestones label task start)) (setq nmilestones (+ 1 nmilestones))) (if (string= type "date") (setq dates (format "%s \\ganttdateline{%s}{%d}\n" dates label start)) (message "Ignoring entry with type %s\n" type))))) (message "Ignoring non-list entry %s\n" entry)) ; end if list entry (setq entries (cdr entries)))) ; end while entries left (format "\\pgfdeclarelayer{background} \\pgfdeclarelayer{foreground} \\pgfsetlayers{background,foreground} \\renewcommand{\\ganttprojecttime}{%d} \\renewcommand{\\ganttntasks}{%d} \\noindent \\begin{tikzpicture}[y=-0.75cm,x=0.75\\textwidth] \\begin{pgfonlayer}{background} \\draw[very thin, red!10!white] (0,1+\\ganttntasks) grid [ystep=0.75cm,xstep=1/\\ganttprojecttime] (1,0); \\draw[\\ganttdatelinecolour] (0,0) -- (1,0); \\draw[\\ganttdatelinecolour] (0,1+\\ganttntasks) -- (1,1+\\ganttntasks); \\end{pgfonlayer} %s %s %s \\end{tikzpicture}" projecttime ntasks tasks milestones dates)) #+end_src * Available languages :PROPERTIES: :AUTHOR: Bastien :END: ** From Org's core | Language | Identifier | Language | Identifier | |------------+------------+----------------+------------| | Asymptote | asymptote | Awk | awk | | Emacs Calc | calc | C | C | | C++ | C++ | Clojure | clojure | | CSS | css | ditaa | ditaa | | Graphviz | dot | Emacs Lisp | emacs-lisp | | gnuplot | gnuplot | Haskell | haskell | | Javascript | js | LaTeX | latex | | Ledger | ledger | Lisp | lisp | | Lilypond | lilypond | MATLAB | matlab | | Mscgen | mscgen | Objective Caml | ocaml | | Octave | octave | Org-mode | org | | | | Perl | perl | | Plantuml | plantuml | Python | python | | R | R | Ruby | ruby | | Sass | sass | Scheme | scheme | | GNU Screen | screen | shell | sh | | SQL | sql | SQLite | sqlite | ** From Org's contrib/babel/langs - ob-oz.el, by Torsten Anders and Eric Schulte - ob-fomus.el, by Torsten Anders org-mode-doc-8.2.4/doc/org.pdf0000644000175000017500000665016012260050771014152 0ustar sebseb%PDF-1.4 % 1 0 obj << /Length 587 /Filter /FlateDecode >> stream xmTM@+z&?tBL$d4*.<_fW_wիrc;`GUOV&ʮ[v6W7TvbuYt/N.5=S> stream xmTM@+z&?tBL0d4*.<̿~UfW_uvc;Z̫MfG} I]/ޭmޯo⣩0^'^x]fkn{EK{*ʇupg6;ލ$4;gZ8, M[TPRJGeWxmE7 "/7j;{Yʋ"1tm|oirI ɑc׺>[TқEnn#bBSEV嶭mzsg)gR133w xAb;aGL6K&0+}&"?(Ҧa/ c,!-f3*Ix {asIC%hS7}H=ŤIY(jŧ Z4{SO5Z ekxvKǬ@2a> stream xmSn0+$z"aKU^CvF^p=!94gB˥0pދ s#P~k@hZ+vQڦ(A,Rf5Ħq8>K_X NH3$Ǟ{<0*5c~Pʯ5W42^!0^#rqxƘE3x z)cgl1BҰ?Xq!NAWA*d1)iȧΰО 9璆NVfkVaUJ?%͚5ػbTW=ј52f&p2pjV^cHMcVYxLS7E=1j g endstream endobj 6 0 obj << /Length 432 /Filter /FlateDecode >> stream x}Rn0}W [j'vl[J BlJ%xTUb{ΜX"RJɍҤ>%bXwJfa}JKr2[UH&xTOKIu j2=@g۱mrU%?#[l' CCO3a=.",y!U4~hƎh.%< ~"m)`eP\"CT(JSr9=?Qa>vzwR 7E0Q◛Z*,t~Xc{;˲txS1-gih]sʅv&A ÙiEWc:QvPP+z5Zpkl7wjW?1so}\lM\ogK7Fn/4 endstream endobj 5 0 obj << /Type /Page /Contents 6 0 R /Resources 4 0 R /MediaBox [0 0 612 792] /Parent 9 0 R >> endobj 4 0 obj << /Font << /F72 7 0 R /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 12 0 obj << /Length 770 /Filter /FlateDecode >> stream xmUn0 }W} ԪdɗlO,C݀zu[i:va;͂HQI"ȃ)txH12TR|ZM>N{%qDWb@ >S L'quK;R63.:'kfa3kɒk݋Dd&$kL9? zG@ɔKM_wOmۇ% I43)UⰘHq{!r=[j.w^_,"0W7NwbD(́OnrIyVTTR>s*My,߈xgd!Ӊۯ َS% W@i0JK 'O44@Pnhrouzvnvl DAHg2yTS/` F{v7{31y=έdtR'%X/K4iEk;R׋;<rr/ > endobj 10 0 obj << /Font << /F51 8 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 57 0 obj << /Length 2427 /Filter /FlateDecode >> stream xM6:J!2J*dv/=p$ ˔4%QNhj6<Dz*k,>Ѝ,f*Iɋj"3Ͼ}AOK_捠32+f&hAJ.s>oϋW:QEWҿ,89T%WmXJw7vyWw.I%/?$r],)ebN_U苝ޯ?"x?? uNV_AcdOFCμzd|&yNbBH.&t b~.h;WH!a}14?>L)ȲlqD ߨrg8|F"\X+q Х qvABq Ҝ2CWmg1#<+&T!ƞ0 >`Ah?Tߕ;swzQ|rEP)" :!9.#xFHxAhDTʒ( EhiW~ oE>uZb6Ģ,I.!zD&F$Fĥ,BY2!bCuVy>_)>@'(~= /ϛLwט6)X!Y^ GbAKcCDr LjShRH9!Y\7&Cq_G=-)Yv}Ɯ2J@l< z $c)E[jf]lCp)HF/ جccfXD:mb\7mӝ6?f~{4SS⟽X6Wm> " hC(թ[QxQLJG[nY]?Ӧ{5QEF w, e`(r(AJ*<,ltx NNLN>!0sZ"J9$9@ˮ{/TsI~3=eITn&rI_.-F4b|0F 1L J}%[bl]p.jt.M!F7N DctR\O<2ton< G,ƪ4|0t DcR4!h҂v_n_KEN+(S-gb 8%s`Tj9s$)/meOY*h~4}0#*j FT˜J/X_>t,0p"ǜ‹;`0Yk#Zh\Fĵz-#4d~o+j yO@u&p>BC=r('`PϨzkum4 ],F! #1 9"BA{qugCpiuL%%?ۖ'f@)@,@+E<أȀVL}%RN߼bA1楱1 j3MjyO]Фn:єND'oF6/vqb%5]r &X1bδ³+ R(MlǦ햮/v׸B{Ϋ#fkBҬYgk!ar ( ]{phݨgCKmsݘnHN/%f(%9,A%D/7BJn}0NUd͘ƚXP5X%LYx _ۏL8==7̓!2.A1j "TA%aA$!:j}L䟲]BaJcArTcZÌm?eq67ޮ"g>}eIcxA#x^K?Jxبߜ/lũxcƗUSj`1```A,$mM2deoN@p߫3JL[1(A11,XE1P- -s"-/fcB7DEeF|G0&0Ff0p-Friv}ž~0L !H\2ȼa7 -c: Tj9<"b|*If?ɚƐ1P-ǐ1q HjX)s9eGؐF(9(BE<֐"p0^<h1͸1GV[jvTΔ^;붙W+}gxÑfb& 4$=fq;`H8P]߭f_tSWmRYKtL ŐN1d0!{:@3J$uwy-iw]仂/HahLc CU_9cG endstream endobj 56 0 obj << /Type /Page /Contents 57 0 R /Resources 55 0 R /MediaBox [0 0 612 792] /Parent 9 0 R /Annots [ 14 0 R 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R 24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R 37 0 R 38 0 R 39 0 R 40 0 R 41 0 R 42 0 R 43 0 R 44 0 R 45 0 R 46 0 R 47 0 R 48 0 R 49 0 R 50 0 R 51 0 R 52 0 R ] >> endobj 14 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [441.93 643.088 450 653.051] /A << /S /GoTo /D (1) >> >> endobj 15 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 624.529 450 634.105] /A << /S /GoTo /D (1) >> >> endobj 16 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 613.499 450 621.075] /A << /S /GoTo /D (2) >> >> endobj 17 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 600.349 450 607.803] /A << /S /GoTo /D (3) >> >> endobj 18 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 587.198 450 594.774] /A << /S /GoTo /D (3) >> >> endobj 19 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 571.926 450 581.623] /A << /S /GoTo /D (5) >> >> endobj 20 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [441.93 544.956 450 554.8] /A << /S /GoTo /D (6) >> >> endobj 21 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 528.518 450 536.094] /A << /S /GoTo /D (6) >> >> endobj 22 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 515.367 450 522.943] /A << /S /GoTo /D (6) >> >> endobj 23 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 500.096 450 509.792] /A << /S /GoTo /D (6) >> >> endobj 24 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 486.945 450 496.642] /A << /S /GoTo /D (6) >> >> endobj 25 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 473.794 450 483.491] /A << /S /GoTo /D (8) >> >> endobj 26 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 460.643 450 470.34] /A << /S /GoTo /D (8) >> >> endobj 27 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 449.614 450 457.069] /A << /S /GoTo /D (8) >> >> endobj 28 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.545 434.342 450 444.039] /A << /S /GoTo /D (9) >> >> endobj 29 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 421.191 450 430.767] /A << /S /GoTo /D (11) >> >> endobj 30 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 410.162 450 417.738] /A << /S /GoTo /D (12) >> >> endobj 31 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 397.011 450 404.466] /A << /S /GoTo /D (15) >> >> endobj 32 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 383.861 450 391.436] /A << /S /GoTo /D (16) >> >> endobj 33 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 370.71 450 378.164] /A << /S /GoTo /D (16) >> >> endobj 34 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 355.438 450 365.135] /A << /S /GoTo /D (18) >> >> endobj 35 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 342.287 450 351.863] /A << /S /GoTo /D (18) >> >> endobj 36 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.861 315.318 450 325.28] /A << /S /GoTo /D (19) >> >> endobj 37 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 298.879 450 306.455] /A << /S /GoTo /D (19) >> >> endobj 38 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 283.607 450 293.304] /A << /S /GoTo /D (22) >> >> endobj 39 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 270.457 450 280.154] /A << /S /GoTo /D (23) >> >> endobj 40 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 257.306 450 267.003] /A << /S /GoTo /D (23) >> >> endobj 41 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 244.155 450 253.852] /A << /S /GoTo /D (24) >> >> endobj 42 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 233.126 450 240.702] /A << /S /GoTo /D (24) >> >> endobj 43 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 217.854 450 227.551] /A << /S /GoTo /D (26) >> >> endobj 44 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 204.703 450 214.4] /A << /S /GoTo /D (28) >> >> endobj 45 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 193.674 450 201.25] /A << /S /GoTo /D (28) >> >> endobj 46 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 178.402 450 188.099] /A << /S /GoTo /D (29) >> >> endobj 47 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 167.372 450 174.948] /A << /S /GoTo /D (30) >> >> endobj 48 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 152.101 450 161.798] /A << /S /GoTo /D (30) >> >> endobj 49 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 138.95 450 148.647] /A << /S /GoTo /D (31) >> >> endobj 50 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 125.799 450 135.496] /A << /S /GoTo /D (33) >> >> endobj 51 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 114.77 450 122.346] /A << /S /GoTo /D (33) >> >> endobj 52 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 99.498 450 109.195] /A << /S /GoTo /D (35) >> >> endobj 58 0 obj << /D [56 0 R /XYZ 90 720 null] >> endobj 55 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F97 59 0 R /F59 60 0 R >> /ProcSet [ /PDF /Text ] >> endobj 130 0 obj << /Length 2652 /Filter /FlateDecode >> stream xMs8:c⋜&3n%=΁GrIT>">ډ [i}@Ya㳺!X-½w?ۀs/Egg+V:\b9ϼm/•TY!Ghr%RVut! #9/gWۛvak6𣼐TJ>6Ë{/x䍴^iƶ.spADY#S*13] ڡ-bCc t^,뇄*W{H_"Z`'@JߛYYͻv 5LqyO #&Ɲ3.LqY@w5jae _Ͳ uj%vu$L!mU)!EjT)}ń/yiLR';5Ɯ3-L19@sV`Nj홓?ҒvusUE9%oV9`l#$l@ U2lf;۵3^^%'R\r>1h7΅MnڋkX<ŠrA)FF$T@ P *sl}#yrҭGW .oVwL\qM!La46P0"x8z4BMޥ,@0x "k,+U3QAFel5o2<7<+a܏f;&GIbi!FV1f.\Ȱz[MWl=/w`*w@f* )kfx`KLj9`߹k~̑Y}O`2=,z^a8!S8@NT1H-NHCH"ǎ۷mhjW[MeNis7hy`s9P<'`~w v JY7y`LnqAUR˓"k5 Hsӵ=_~uid^a{ ~0#k@UZ+`` G &볪O jEq\L繀F4LM=#Aj `~ǠAղ +ې̐*0l}vX~ޔ`眛쓮ʒt)9b)#FI^J( Vv=kG&3Nh e~ޚ o!%$Q `ô#p\zB`EPk1pR$S@P*F d)**m7W[W$ꪟ.e=!yYGX ΓU0R+$#5rfwQR<Γb\GZH*Oݔ0$T%] Vr?}8G bБZ:RxB[C תyUSf1 ZkPÌwOUK2Q0MOxмSY`iР*@3i@4hoX +G <QΒ)@Fy`9.D)p:U1pH-NOIo1I2 p1:0I RF髀?5wqJd-{g7US78^#דB1B endstream endobj 129 0 obj << /Type /Page /Contents 130 0 R /Resources 128 0 R /MediaBox [0 0 612 792] /Parent 9 0 R /Annots [ 53 0 R 54 0 R 84 0 R 85 0 R 86 0 R 87 0 R 88 0 R 89 0 R 90 0 R 91 0 R 92 0 R 93 0 R 94 0 R 95 0 R 96 0 R 97 0 R 98 0 R 99 0 R 100 0 R 101 0 R 102 0 R 103 0 R 104 0 R 105 0 R 106 0 R 107 0 R 108 0 R 109 0 R 110 0 R 111 0 R 112 0 R 113 0 R 114 0 R 115 0 R 116 0 R 117 0 R 118 0 R 119 0 R 120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R ] >> endobj 53 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.861 707.248 450 720] /A << /S /GoTo /D (37) >> >> endobj 54 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 693.599 450 701.175] /A << /S /GoTo /D (37) >> >> endobj 84 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 680.448 450 688.024] /A << /S /GoTo /D (37) >> >> endobj 85 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 665.176 450 674.873] /A << /S /GoTo /D (38) >> >> endobj 86 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 654.147 450 661.723] /A << /S /GoTo /D (38) >> >> endobj 87 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 638.875 450 648.572] /A << /S /GoTo /D (40) >> >> endobj 88 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 625.724 450 635.421] /A << /S /GoTo /D (42) >> >> endobj 89 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 614.695 450 622.271] /A << /S /GoTo /D (43) >> >> endobj 90 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 599.423 450 609.12] /A << /S /GoTo /D (43) >> >> endobj 91 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 588.394 450 595.969] /A << /S /GoTo /D (44) >> >> endobj 92 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.861 559.303 450 569.265] /A << /S /GoTo /D (45) >> >> endobj 93 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 540.743 450 550.44] /A << /S /GoTo /D (45) >> >> endobj 94 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 527.592 450 537.289] /A << /S /GoTo /D (46) >> >> endobj 95 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 514.442 450 524.139] /A << /S /GoTo /D (46) >> >> endobj 96 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 501.291 450 510.988] /A << /S /GoTo /D (47) >> >> endobj 97 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 488.14 450 497.837] /A << /S /GoTo /D (47) >> >> endobj 98 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 477.111 450 484.565] /A << /S /GoTo /D (48) >> >> endobj 99 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 461.839 450 471.536] /A << /S /GoTo /D (48) >> >> endobj 100 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 448.688 450 458.385] /A << /S /GoTo /D (49) >> >> endobj 101 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 435.538 450 445.235] /A << /S /GoTo /D (49) >> >> endobj 102 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 422.387 450 432.084] /A << /S /GoTo /D (51) >> >> endobj 103 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 409.236 450 418.933] /A << /S /GoTo /D (51) >> >> endobj 104 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 396.086 450 405.783] /A << /S /GoTo /D (51) >> >> endobj 105 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 382.935 450 392.632] /A << /S /GoTo /D (52) >> >> endobj 106 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 371.905 450 379.36] /A << /S /GoTo /D (54) >> >> endobj 107 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 356.634 450 366.331] /A << /S /GoTo /D (55) >> >> endobj 108 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 345.604 450 353.18] /A << /S /GoTo /D (55) >> >> endobj 109 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.861 313.724 450 326.356] /A << /S /GoTo /D (58) >> >> endobj 110 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 297.954 450 307.651] /A << /S /GoTo /D (58) >> >> endobj 111 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 284.803 450 294.379] /A << /S /GoTo /D (58) >> >> endobj 112 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 271.652 450 281.228] /A << /S /GoTo /D (61) >> >> endobj 113 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 258.502 450 268.199] /A << /S /GoTo /D (61) >> >> endobj 114 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.861 228.742 450 241.495] /A << /S /GoTo /D (62) >> >> endobj 115 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 212.972 450 222.548] /A << /S /GoTo /D (62) >> >> endobj 116 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 199.822 450 209.519] /A << /S /GoTo /D (64) >> >> endobj 117 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 186.671 450 196.368] /A << /S /GoTo /D (64) >> >> endobj 118 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 173.52 450 183.217] /A << /S /GoTo /D (65) >> >> endobj 119 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 162.491 450 170.067] /A << /S /GoTo /D (66) >> >> endobj 120 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 147.219 450 156.916] /A << /S /GoTo /D (66) >> >> endobj 121 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 134.068 450 143.765] /A << /S /GoTo /D (66) >> >> endobj 122 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 123.039 450 130.615] /A << /S /GoTo /D (66) >> >> endobj 123 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 107.767 450 117.464] /A << /S /GoTo /D (68) >> >> endobj 124 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 94.616 450 104.313] /A << /S /GoTo /D (69) >> >> endobj 125 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 81.466 450 91.162] /A << /S /GoTo /D (70) >> >> endobj 131 0 obj << /D [129 0 R /XYZ 90 720 null] >> endobj 128 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F97 59 0 R /F59 60 0 R >> /ProcSet [ /PDF /Text ] >> endobj 203 0 obj << /Length 2782 /Filter /FlateDecode >> stream xMsFf%eHo0y H\͢ U )r& ԎJcͮ%kƷf%;y|3ͣ|UC B|TswMH4#7~ST>:vbcLN!m2 PŐIj$wrp k71BU :رC'Ёv"U 6LRt|5fYn6msRV3ߎ^!8e>4D@3?7'U`+561mRÇÅ&^rM^%yDQeDUD=.q,QM]ݑcʧ+TBƴrDWN)uyaa&1SAue b%\֒IUU`̗,e٘O{{4~ou~2CIW=-,10S`L̊n@U 1W nw7ֈU7||چb7R9!P֡<|l /hytHbpMZp)ie[~wݾ{ǯvb=~y6棉u20C\YGdHh> pkZ!&_53|QJ]vQz$8K N %@#2ABq- ɷMNvvsj1 +]qcS+j$MJ3# R$e~; )hIL>6)Hb0 @lE:@ Z`4aQ8b<$<A@W~Gm=>aSMcT1N:֤Pm]cǶ{O/?vn!jf+U"jg7LD1%3BtUQ"KNs-+Dƙ@T1Z:CwJEU{ս}_4ޮ8Z\ʟ; )~U| b$lM!ݴE> endobj 126 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.861 710.037 450 720] /A << /S /GoTo /D (71) >> >> endobj 127 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 691.478 450 701.175] /A << /S /GoTo /D (71) >> >> endobj 156 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 678.327 450 687.903] /A << /S /GoTo /D (72) >> >> endobj 157 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 664.57 450 675.479] /A << /S /GoTo /D (73) >> >> endobj 158 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 654.147 450 661.723] /A << /S /GoTo /D (75) >> >> endobj 159 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 638.875 450 648.572] /A << /S /GoTo /D (75) >> >> endobj 160 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 625.724 450 635.421] /A << /S /GoTo /D (76) >> >> endobj 161 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 612.574 450 622.271] /A << /S /GoTo /D (77) >> >> endobj 162 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 599.423 450 609.12] /A << /S /GoTo /D (78) >> >> endobj 163 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 586.272 450 595.969] /A << /S /GoTo /D (79) >> >> endobj 164 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 575.243 450 582.819] /A << /S /GoTo /D (80) >> >> endobj 165 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 559.971 450 569.668] /A << /S /GoTo /D (83) >> >> endobj 166 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 548.942 450 556.517] /A << /S /GoTo /D (84) >> >> endobj 167 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 533.67 450 543.367] /A << /S /GoTo /D (85) >> >> endobj 168 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 522.64 450 530.216] /A << /S /GoTo /D (86) >> >> endobj 169 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.861 490.76 450 503.512] /A << /S /GoTo /D (87) >> >> endobj 170 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 474.99 450 484.565] /A << /S /GoTo /D (87) >> >> endobj 171 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 461.839 450 471.415] /A << /S /GoTo /D (87) >> >> endobj 172 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 448.688 450 458.264] /A << /S /GoTo /D (87) >> >> endobj 173 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 435.538 450 445.235] /A << /S /GoTo /D (88) >> >> endobj 174 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 422.387 450 432.084] /A << /S /GoTo /D (89) >> >> endobj 175 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 409.236 450 418.933] /A << /S /GoTo /D (91) >> >> endobj 176 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 396.086 450 405.783] /A << /S /GoTo /D (92) >> >> endobj 177 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 385.056 450 392.632] /A << /S /GoTo /D (92) >> >> endobj 178 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 371.905 450 379.481] /A << /S /GoTo /D (94) >> >> endobj 179 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 358.755 450 366.331] /A << /S /GoTo /D (94) >> >> endobj 180 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 343.483 450 353.18] /A << /S /GoTo /D (94) >> >> endobj 181 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 330.332 450 340.029] /A << /S /GoTo /D (95) >> >> endobj 182 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 317.182 450 326.878] /A << /S /GoTo /D (96) >> >> endobj 183 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 304.031 450 313.728] /A << /S /GoTo /D (96) >> >> endobj 184 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.861 274.272 450 287.024] /A << /S /GoTo /D (98) >> >> endobj 185 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 258.502 450 268.199] /A << /S /GoTo /D (98) >> >> endobj 186 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [439.091 245.351 450 255.048] /A << /S /GoTo /D (99) >> >> endobj 187 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 232.2 450 241.897] /A << /S /GoTo /D (100) >> >> endobj 188 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 218.443 450 229.353] /A << /S /GoTo /D (100) >> >> endobj 189 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 205.899 450 215.596] /A << /S /GoTo /D (102) >> >> endobj 190 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 192.748 450 202.445] /A << /S /GoTo /D (103) >> >> endobj 191 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 179.597 450 189.294] /A << /S /GoTo /D (105) >> >> endobj 192 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 168.568 450 176.144] /A << /S /GoTo /D (106) >> >> endobj 193 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 153.296 450 162.993] /A << /S /GoTo /D (106) >> >> endobj 194 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 140.145 450 149.842] /A << /S /GoTo /D (107) >> >> endobj 195 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 126.995 450 136.571] /A << /S /GoTo /D (107) >> >> endobj 196 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 113.844 450 123.541] /A << /S /GoTo /D (107) >> >> endobj 197 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 100.693 450 110.39] /A << /S /GoTo /D (108) >> >> endobj 198 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 86.937 450 97.846] /A << /S /GoTo /D (109) >> >> endobj 204 0 obj << /D [202 0 R /XYZ 90 720 null] >> endobj 201 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F97 59 0 R /F59 60 0 R >> /ProcSet [ /PDF /Text ] >> endobj 283 0 obj << /Length 2894 /Filter /FlateDecode >> stream xr9~ ɃX s;'Ğ9ȲŰH*xyARlK[b 1$2Q4B-lګ0EϦO~{؈Qf黑bp}ƋNr8EEQi~*GFE=hjr(]ͷ3!x.ռ^_Lt}446o 7sTwً!y~ioAqgQpƝ[0vCZD& }-bJWi CaݭǾEi5](RMH踦/B' FI4N, 1OQRQazXvf6˃ÌS+[ڿX Bb<ᖟgWə!͇$ H('kGN!)qg{X 8`$\:v;׻ze8֛[E̍2qΈn5Ce`äY#YCT̏F4o[zkׇ#Fň<b[ђEH\ii,-n=$~ Cxf#Fb ېe `  DGb51Ix/ffJ&K5bޤ Q+͋b6l|9|)|kR໮[3-r6sAnf^]S.س(8ӰǷ.Y#Y#t.wh6vM{5|j\j.+E'p׶E(vوe6p1F͉T³f &u |:iLJfGky*T|_)#*cD%&s%*Bkæ>-4OYWʨ UU,D*橒aGtyj5m/$UerScζ2B0]BΛcY;TcgD)e;屛wm*[ŴfOp}ݹDu@ xH"U7sFof=鮯ڙbpU;3` LL,*a띡3š|Dt5kWdRҖm, aЪ,. Ώ 7>pPF [xTPl&/+pAqF#!ep1RcޭArevY\Rio۸2a^@xe`]̈e!Q1o~evOW: XQ7nh2]UV92XC0kk$ yX$TGC6_cl~.6/9Zs.Em x~@YX kBfYd!P1Ϛ4d̚EnZ%wamj2] n΄`f1"Y6TD%I+[/=jZC(odqQ1DvB, Qw$vc0o^ }O0J~{vBF- #;!RD!x8g!p+$Fnbnw~~9acΪS\(I'>,*4aU\Cu]RiSΗ2B0Ubn‰e!P1ϕRDW\m yhEO{XTt1"Y0T&(?} ooZC髳m eA` 8$bYT5*uMo3yW.Q1evL, QyG1?dB(i(?hȘ1.eXb s5LA)][ϡDB6a!C q@ @\ss[R/lbik"~`c# @#hBd`J EI]E`(te=XsS?(g q%HS\TTG`t@\?YP k l,D*qHDՙCߐ3i\ xB@b%hݥʲxp3 kۧ4VcY_T?:WK-Z3 O=}2 C0aBa$ ay '>mY ],/4ЂLTfrLN09LFż+O7%9i>9ٰ9$$iv3 0abYPTJ?Kgog'n]u ӏ,#1c$&p$FIhN 2|>ʪI27wdj])*"L%6i *d]6^}^=)CIa898oRYL^XF}izb W7 endstream endobj 282 0 obj << /Type /Page /Contents 283 0 R /Resources 281 0 R /MediaBox [0 0 612 792] /Parent 9 0 R /Annots [ 199 0 R 200 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R 246 0 R 247 0 R 248 0 R 249 0 R 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R 279 0 R ] >> endobj 199 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 707.916 450 717.613] /A << /S /GoTo /D (111) >> >> endobj 200 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 694.765 450 704.462] /A << /S /GoTo /D (120) >> >> endobj 236 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 681.615 450 691.312] /A << /S /GoTo /D (120) >> >> endobj 237 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 668.464 450 678.161] /A << /S /GoTo /D (121) >> >> endobj 238 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 655.313 450 665.01] /A << /S /GoTo /D (121) >> >> endobj 239 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 642.163 450 651.86] /A << /S /GoTo /D (123) >> >> endobj 240 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 629.012 450 638.709] /A << /S /GoTo /D (125) >> >> endobj 241 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 599.253 450 612.005] /A << /S /GoTo /D (127) >> >> endobj 242 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 583.483 450 593.18] /A << /S /GoTo /D (127) >> >> endobj 243 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 570.332 450 580.029] /A << /S /GoTo /D (129) >> >> endobj 244 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 557.181 450 566.878] /A << /S /GoTo /D (129) >> >> endobj 245 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 546.152 450 553.728] /A << /S /GoTo /D (131) >> >> endobj 246 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 533.001 450 540.577] /A << /S /GoTo /D (132) >> >> endobj 247 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 517.729 450 527.426] /A << /S /GoTo /D (132) >> >> endobj 248 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 504.351 450 514.276] /A << /S /GoTo /D (132) >> >> endobj 249 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 491.428 450 501.125] /A << /S /GoTo /D (132) >> >> endobj 250 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 478.277 450 487.974] /A << /S /GoTo /D (133) >> >> endobj 251 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 464.899 450 474.824] /A << /S /GoTo /D (133) >> >> endobj 252 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 451.749 450 461.673] /A << /S /GoTo /D (134) >> >> endobj 253 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 438.598 450 448.522] /A << /S /GoTo /D (134) >> >> endobj 254 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 425.675 450 435.372] /A << /S /GoTo /D (135) >> >> endobj 255 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 395.915 450 408.668] /A << /S /GoTo /D (136) >> >> endobj 256 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 380.145 450 389.842] /A << /S /GoTo /D (136) >> >> endobj 257 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 366.995 450 376.692] /A << /S /GoTo /D (137) >> >> endobj 258 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 353.844 450 363.42] /A << /S /GoTo /D (137) >> >> endobj 259 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 340.087 450 350.996] /A << /S /GoTo /D (140) >> >> endobj 260 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 327.543 450 337.118] /A << /S /GoTo /D (141) >> >> endobj 261 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 314.392 450 323.968] /A << /S /GoTo /D (144) >> >> endobj 262 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 301.241 450 310.938] /A << /S /GoTo /D (144) >> >> endobj 263 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 288.091 450 297.788] /A << /S /GoTo /D (144) >> >> endobj 264 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 274.94 450 284.637] /A << /S /GoTo /D (145) >> >> endobj 265 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 261.789 450 271.365] /A << /S /GoTo /D (145) >> >> endobj 266 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 248.639 450 258.336] /A << /S /GoTo /D (146) >> >> endobj 267 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 237.609 450 245.185] /A << /S /GoTo /D (146) >> >> endobj 268 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 222.337 450 231.913] /A << /S /GoTo /D (146) >> >> endobj 269 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 209.187 450 218.883] /A << /S /GoTo /D (147) >> >> endobj 270 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 196.036 450 205.612] /A << /S /GoTo /D (147) >> >> endobj 271 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 182.885 450 192.461] /A << /S /GoTo /D (147) >> >> endobj 272 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 169.734 450 179.431] /A << /S /GoTo /D (149) >> >> endobj 273 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 156.357 450 166.281] /A << /S /GoTo /D (150) >> >> endobj 274 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 143.206 450 153.13] /A << /S /GoTo /D (150) >> >> endobj 275 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 130.282 450 139.979] /A << /S /GoTo /D (150) >> >> endobj 276 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 116.904 450 126.829] /A << /S /GoTo /D (151) >> >> endobj 277 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 103.754 450 113.678] /A << /S /GoTo /D (151) >> >> endobj 278 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 90.83 450 100.527] /A << /S /GoTo /D (155) >> >> endobj 279 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 77.68 450 87.255] /A << /S /GoTo /D (155) >> >> endobj 284 0 obj << /D [282 0 R /XYZ 90 720 null] >> endobj 281 0 obj << /Font << /F51 8 0 R /F59 60 0 R /F72 7 0 R /F97 59 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 357 0 obj << /Length 2666 /Filter /FlateDecode >> stream x]s+xI]p.Tq;Dm3"a 5I ]I˒"gl >KݳeLqNJQ̖W5:`D՟Htv~SI`>/gF9c'R(2F)HIقfY6]fl9oᅘbRڝ-X1o~Zd Ar:|-~;/ 9J9\ '#C6vO8"oIY${qBRԙ> pan6vĜ "J?|&!F#C( s~(8QZ?UMs}ìxz7a29"IG#P1)8ICGT}Ϸҷc_gt~]Cw!U EX&Zg1_- DT̡Վ_j:j^g_YoGJnyo & !alq:|4|>eBP1Wk[mWk>˛nfk=y]=:;Lv1wDw;P1׸9%&CH1-ޔCӯq:;t ҬO1pQ.s5 .bU,bp*c;[-vU7}>a7ٝ.몯Z`̗N1hQh, s8yhA~04j W J8`BEcb4`-@-,T̺%/) "[. j/]ntE~$ӳg{Ql#FM%9<42FۦJZ0| 4w`tG s9E`˜m_uV=S/J9DU cX q$5! 9#!`7Q b33=vQ1M1lHO!M25[aCL+rvk96ƁzHmv;h09,(od=1>LL s%TTwP6޾_n ͺ54 RQNhDqx),p`љ2l, P19j+LvFV]\gj7v?Zh}dZmQBxMz` oqo E,^QI 7hf}UkˬtH3JG>%q%q1D[\}<˥nz5r]Y&˧pBmRcY5*fG,BqYvv; )n:7 esUwӵZkCl+C M`aVa 1DCD0mn,EsXsSNoo滦(}M d!Vc%+{N㼫+^nE3o/LUR|4>|~ G|-Z(÷燭7֢0xbL}ˎbfs31($@b9f,#`a`ݬx;a'öPvlqp 4H#1Qr|( Dh&H)LdpՒtZUե-×xaסK %T>3U0U phһޜ˛f/l C seY>%m#FP0 .R1_̝=:m}ʚf`TtÌ O5!`J+^Ыa:T(G N3L{Ё&dXIwBT.$J}ai ,xsn(`RoYI=qw,'JD `bA[pO( yH ab, "//1#b25!{aJv!wx*uϫ*XS}b7Ůk[/>R_BobTм& SX)Gj[ GǓ|Uf5ψG IOxƦ* sp? :HbuPj;R^1YNdɟ)篵8fQYcV}P*$KRt0 i0A 28ݽlcnn d!b-${}p]Opߋ:.kR{85bf "&wBY3Т L!o?c2gXXذ^ '_l +TYcVMP*3 ىۺ 6+AV kԦYcֈhd!kbTQ@غog)&K2\GL<1Do2 e!bvUeC ݺViI{&3L1EP1k2ZRdn|8l]>S~q??A0eb#JiǭϽo߆g1,DF m X˦(@9XRUl>>ZȌ=ȯr_3 0E0&T\O$G'tH]. We]35&ik"jD(\- endstream endobj 356 0 obj << /Type /Page /Contents 357 0 R /Resources 355 0 R /MediaBox [0 0 612 792] /Parent 360 0 R /Annots [ 280 0 R 310 0 R 311 0 R 312 0 R 313 0 R 314 0 R 315 0 R 316 0 R 317 0 R 318 0 R 319 0 R 320 0 R 321 0 R 322 0 R 323 0 R 324 0 R 325 0 R 326 0 R 327 0 R 328 0 R 329 0 R 330 0 R 331 0 R 332 0 R 333 0 R 334 0 R 335 0 R 336 0 R 337 0 R 338 0 R 339 0 R 340 0 R 341 0 R 342 0 R 343 0 R 344 0 R 345 0 R 346 0 R 347 0 R 348 0 R 349 0 R ] >> endobj 280 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 707.916 450 717.613] /A << /S /GoTo /D (155) >> >> endobj 310 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 694.765 450 704.462] /A << /S /GoTo /D (155) >> >> endobj 311 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 681.615 450 691.312] /A << /S /GoTo /D (156) >> >> endobj 312 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 668.464 450 678.161] /A << /S /GoTo /D (156) >> >> endobj 313 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 655.313 450 665.01] /A << /S /GoTo /D (156) >> >> endobj 314 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 642.163 450 651.86] /A << /S /GoTo /D (156) >> >> endobj 315 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 629.012 450 638.709] /A << /S /GoTo /D (157) >> >> endobj 316 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 615.861 450 625.558] /A << /S /GoTo /D (157) >> >> endobj 317 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 602.711 450 612.408] /A << /S /GoTo /D (157) >> >> endobj 318 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 589.56 450 599.257] /A << /S /GoTo /D (157) >> >> endobj 319 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 576.409 450 585.985] /A << /S /GoTo /D (158) >> >> endobj 320 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 563.259 450 572.956] /A << /S /GoTo /D (159) >> >> endobj 321 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 549.881 450 559.805] /A << /S /GoTo /D (159) >> >> endobj 322 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 525.928 450 532.958] /A << /S /GoTo /D (160) >> >> endobj 323 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 510.656 450 520.353] /A << /S /GoTo /D (160) >> >> endobj 324 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 497.505 450 507.202] /A << /S /GoTo /D (161) >> >> endobj 325 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 484.355 450 494.052] /A << /S /GoTo /D (161) >> >> endobj 326 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 471.204 450 480.901] /A << /S /GoTo /D (161) >> >> endobj 327 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 458.053 450 467.75] /A << /S /GoTo /D (162) >> >> endobj 328 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 444.903 450 454.599] /A << /S /GoTo /D (163) >> >> endobj 329 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 431.752 450 441.449] /A << /S /GoTo /D (164) >> >> endobj 330 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 418.601 450 428.298] /A << /S /GoTo /D (166) >> >> endobj 331 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 405.45 450 415.147] /A << /S /GoTo /D (166) >> >> endobj 332 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 394.421 450 401.997] /A << /S /GoTo /D (167) >> >> endobj 333 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 379.149 450 388.846] /A << /S /GoTo /D (167) >> >> endobj 334 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 365.998 450 375.695] /A << /S /GoTo /D (168) >> >> endobj 335 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 336.239 450 348.991] /A << /S /GoTo /D (171) >> >> endobj 336 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 320.469 450 330.166] /A << /S /GoTo /D (171) >> >> endobj 337 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 307.015 450 317.015] /A << /S /GoTo /D (171) >> >> endobj 338 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 296.289 450 303.865] /A << /S /GoTo /D (171) >> >> endobj 339 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 281.017 450 290.714] /A << /S /GoTo /D (172) >> >> endobj 340 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 267.866 450 277.563] /A << /S /GoTo /D (172) >> >> endobj 341 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 254.716 450 264.413] /A << /S /GoTo /D (173) >> >> endobj 342 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 241.565 450 251.262] /A << /S /GoTo /D (174) >> >> endobj 343 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 228.414 450 237.99] /A << /S /GoTo /D (174) >> >> endobj 344 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 215.264 450 224.961] /A << /S /GoTo /D (175) >> >> endobj 345 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 202.113 450 211.81] /A << /S /GoTo /D (175) >> >> endobj 346 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 188.962 450 198.659] /A << /S /GoTo /D (176) >> >> endobj 347 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 175.812 450 185.509] /A << /S /GoTo /D (176) >> >> endobj 348 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 162.661 450 172.358] /A << /S /GoTo /D (176) >> >> endobj 349 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 149.51 450 159.207] /A << /S /GoTo /D (177) >> >> endobj 358 0 obj << /D [356 0 R /XYZ 90 720 null] >> endobj 355 0 obj << /Font << /F51 8 0 R /F59 60 0 R /F3 285 0 R /F72 7 0 R /F97 59 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 427 0 obj << /Length 2553 /Filter /FlateDecode >> stream xs۸{ 僰/13i;=tAi[[G fלĶ_c)\33R2l g _o߽gaq|vdw7?/o~~BT_Y3ToG7 1\]-8z+j!\~ tw/ n3OtkmK:qJhfcLj (.MϢu~޳⳰o祥N28iiu<I9W]/0P,L9=m~L (.4| â 05a |>?Mq`VOhs0MuR1)kqEM DEMa%MriX?$TOl8p b"?N(Q*eEXi?8!a*::o90)θ4K'::u6E: CE:ʿHGt>\v|8-G>L\3a AQ)SZ^b1HdX$ *Ajoij8gOŦsП:_܊/"âޔї}-7w]W͂;εLs1q.9AQ K`ơƏXbz>Ty ʱF 02aבIE ȐaLk69dT<-3)딤bJ lbJȰ8JiŔ@I|>B֏%EФ:dB!22,k M ^k)/i"aiغ5:H*i> endobj 350 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 707.248 450 720] /A << /S /GoTo /D (178) >> >> endobj 351 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 693.599 450 701.175] /A << /S /GoTo /D (178) >> >> endobj 352 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 678.327 450 688.024] /A << /S /GoTo /D (179) >> >> endobj 353 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 665.176 450 674.873] /A << /S /GoTo /D (179) >> >> endobj 354 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 652.026 450 661.723] /A << /S /GoTo /D (180) >> >> endobj 380 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 638.875 450 648.572] /A << /S /GoTo /D (181) >> >> endobj 381 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 625.724 450 635.421] /A << /S /GoTo /D (182) >> >> endobj 382 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 612.574 450 622.149] /A << /S /GoTo /D (183) >> >> endobj 383 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 599.423 450 609.12] /A << /S /GoTo /D (183) >> >> endobj 384 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 586.272 450 595.969] /A << /S /GoTo /D (184) >> >> endobj 385 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 573.122 450 582.819] /A << /S /GoTo /D (186) >> >> endobj 386 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 562.092 450 569.122] /A << /S /GoTo /D (186) >> >> endobj 387 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 548.942 450 555.972] /A << /S /GoTo /D (190) >> >> endobj 388 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 535.791 450 542.821] /A << /S /GoTo /D (192) >> >> endobj 389 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 522.64 450 529.67] /A << /S /GoTo /D (192) >> >> endobj 390 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 509.489 450 517.065] /A << /S /GoTo /D (193) >> >> endobj 391 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 493.915 450 503.369] /A << /S /GoTo /D (194) >> >> endobj 392 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 480.764 450 490.218] /A << /S /GoTo /D (194) >> >> endobj 393 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 467.613 450 477.068] /A << /S /GoTo /D (194) >> >> endobj 394 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 456.887 450 463.917] /A << /S /GoTo /D (194) >> >> endobj 395 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 441.312 450 450.766] /A << /S /GoTo /D (195) >> >> endobj 396 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 428.161 450 437.616] /A << /S /GoTo /D (195) >> >> endobj 397 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 417.435 450 424.465] /A << /S /GoTo /D (195) >> >> endobj 398 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 404.284 450 411.314] /A << /S /GoTo /D (195) >> >> endobj 399 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 391.133 450 398.164] /A << /S /GoTo /D (196) >> >> endobj 400 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 375.558 450 385.013] /A << /S /GoTo /D (197) >> >> endobj 401 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 364.832 450 371.862] /A << /S /GoTo /D (197) >> >> endobj 402 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 349.257 450 358.712] /A << /S /GoTo /D (197) >> >> endobj 403 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 338.531 450 345.561] /A << /S /GoTo /D (198) >> >> endobj 404 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 325.38 450 332.41] /A << /S /GoTo /D (199) >> >> endobj 405 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 312.229 450 319.26] /A << /S /GoTo /D (199) >> >> endobj 406 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 296.654 450 306.109] /A << /S /GoTo /D (200) >> >> endobj 407 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 283.504 450 292.958] /A << /S /GoTo /D (200) >> >> endobj 408 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 272.777 450 279.807] /A << /S /GoTo /D (200) >> >> endobj 409 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 257.202 450 266.657] /A << /S /GoTo /D (200) >> >> endobj 410 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 244.052 450 253.506] /A << /S /GoTo /D (201) >> >> endobj 411 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 230.901 450 240.355] /A << /S /GoTo /D (201) >> >> endobj 412 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 217.75 450 227.205] /A << /S /GoTo /D (201) >> >> endobj 413 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 207.024 450 214.6] /A << /S /GoTo /D (201) >> >> endobj 414 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 193.873 450 201.328] /A << /S /GoTo /D (202) >> >> endobj 415 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 180.722 450 187.753] /A << /S /GoTo /D (202) >> >> endobj 416 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 165.147 450 174.602] /A << /S /GoTo /D (202) >> >> endobj 417 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 154.421 450 161.876] /A << /S /GoTo /D (202) >> >> endobj 418 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 141.27 450 148.301] /A << /S /GoTo /D (202) >> >> endobj 419 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 125.695 450 135.15] /A << /S /GoTo /D (202) >> >> endobj 420 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 112.848 450 122.545] /A << /S /GoTo /D (203) >> >> endobj 421 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 99.697 450 109.394] /A << /S /GoTo /D (204) >> >> endobj 422 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 88.668 450 96.243] /A << /S /GoTo /D (204) >> >> endobj 428 0 obj << /D [426 0 R /XYZ 90 720 null] >> endobj 425 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F97 59 0 R /F59 60 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 492 0 obj << /Length 2698 /Filter /FlateDecode >> stream xrF~ .;}evb3eORjY@$D*<4طCӾȱLCdNdTxR0*^NX{A /~x-Ȅ`TL.'B>'%sq5={߶]ū Qҿ# :!1QlRB1BEbQwjӏ? N"?W>}o ~STڛS ii-+21[@?r۔Z=FrE0 I^1$|_4Cݢ. Ċ~zKTw|:Y|Zښ4\p -6ť- B+*fѢ*C+7f׺Z]2 kX C #QVkeݬiXЩ@6ETb!ǐy%,Vw7林糹B?\ GWэ A}z!hbh)54g ;6VavU$i`0mƎ y!vbQUJ[/;ENaE J'~>33$#lM el,[@375\?u#9C zӇv՜ *]쾞w1M`I~8h(tSc(@w(^l!')ˉ)(_FmV ?dƉ.n_Vom42Z7T.8f4l@6dtTKyM?4Z'$ɰE̪c8bX4>}~.8lRJP6_Tl4]ofa+8.O]@s1РxGP6ڞT*g23ywW|VqBg*+wc['2Kf5c6I+64 k ٹ#_7)votW}D-o380Ԥ #fP6d\BY"JS]]̘#ix!@-$[ڛ4\p-hw- b+*f2KgvqZegMn#zzh;]~89mHHِFA| 14CŔ,A&'!yPփj&9rƏ}6Ċj4Vll ˊ S2e蕞G{f}о.ˡ]%´[6 ȆY2(G zW_.ݍhe;sT%= @7c.8tR a3nm j ڠxMȊSEv$(# " Ȇ<)DE $6)PU`5bBHökPOac$G8'qu|eO7kupB;93%!#NwYJb ^ כnV跔햫0͜ aԻ eCD,&DŽÄm_Ri6b{r1z,l(Q!,^fݏ]lV˅V,BP}5qcQb.8tR* !qr bޥ,^M]no^8]љJې a{5 a1{k+^=>j[?]~ĸ4?VBOǀR`!`bYA1l^= ۝wvz^/l)ە!ucCGBِQ1k?nQnn~mK~)KvNiظ6IʼSP6MT`C+yc2Ehe}8/yɱ8%i$^@p )B/bI;^;*[]fܟUWOlVHڳb#`R]!v://tbyiW ~Ubg> endobj 423 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 710.037 450 720] /A << /S /GoTo /D (206) >> >> endobj 424 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 691.478 450 701.175] /A << /S /GoTo /D (206) >> >> endobj 451 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 678.327 450 688.024] /A << /S /GoTo /D (206) >> >> endobj 452 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 665.176 450 674.873] /A << /S /GoTo /D (207) >> >> endobj 453 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 652.026 450 661.723] /A << /S /GoTo /D (207) >> >> endobj 454 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 640.996 450 648.451] /A << /S /GoTo /D (208) >> >> endobj 455 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 625.724 450 635.421] /A << /S /GoTo /D (208) >> >> endobj 456 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 612.574 450 622.271] /A << /S /GoTo /D (212) >> >> endobj 457 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 601.544 450 609.12] /A << /S /GoTo /D (213) >> >> endobj 458 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 586.272 450 595.848] /A << /S /GoTo /D (214) >> >> endobj 459 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 573.122 450 582.819] /A << /S /GoTo /D (215) >> >> endobj 460 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 559.971 450 569.668] /A << /S /GoTo /D (215) >> >> endobj 461 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 546.82 450 556.517] /A << /S /GoTo /D (216) >> >> endobj 462 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 533.67 450 543.367] /A << /S /GoTo /D (218) >> >> endobj 463 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 503.91 450 516.663] /A << /S /GoTo /D (219) >> >> endobj 464 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 490.262 450 497.837] /A << /S /GoTo /D (219) >> >> endobj 465 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 474.99 450 484.687] /A << /S /GoTo /D (219) >> >> endobj 466 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 461.839 450 471.536] /A << /S /GoTo /D (219) >> >> endobj 467 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 448.688 450 458.385] /A << /S /GoTo /D (221) >> >> endobj 468 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 437.659 450 445.235] /A << /S /GoTo /D (221) >> >> endobj 469 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 422.387 450 432.084] /A << /S /GoTo /D (222) >> >> endobj 470 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 411.357 450 418.933] /A << /S /GoTo /D (222) >> >> endobj 471 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 395.858 450 405.783] /A << /S /GoTo /D (223) >> >> endobj 472 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 385.056 450 392.632] /A << /S /GoTo /D (224) >> >> endobj 473 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 371.905 450 379.481] /A << /S /GoTo /D (225) >> >> endobj 474 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 356.634 450 366.331] /A << /S /GoTo /D (226) >> >> endobj 475 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 343.483 450 353.18] /A << /S /GoTo /D (227) >> >> endobj 476 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 330.332 450 340.029] /A << /S /GoTo /D (229) >> >> endobj 477 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 317.182 450 326.878] /A << /S /GoTo /D (229) >> >> endobj 478 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 304.031 450 313.728] /A << /S /GoTo /D (231) >> >> endobj 479 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 290.88 450 300.577] /A << /S /GoTo /D (232) >> >> endobj 480 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 261.121 450 273.873] /A << /S /GoTo /D (234) >> >> endobj 481 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 245.351 450 255.048] /A << /S /GoTo /D (234) >> >> endobj 482 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 232.2 450 241.897] /A << /S /GoTo /D (234) >> >> endobj 483 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 219.05 450 228.746] /A << /S /GoTo /D (235) >> >> endobj 484 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 176.14 450 185.385] /A << /S /GoTo /D (236) >> >> endobj 485 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 159.701 450 167.156] /A << /S /GoTo /D (236) >> >> endobj 486 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 146.551 450 154.005] /A << /S /GoTo /D (237) >> >> endobj 487 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.636 133.4 450 140.976] /A << /S /GoTo /D (237) >> >> endobj 488 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 88.369 450 97.614] /A << /S /GoTo /D (242) >> >> endobj 493 0 obj << /D [491 0 R /XYZ 90 720 null] >> endobj 490 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F97 59 0 R /F59 60 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 524 0 obj << /Length 379 /Filter /FlateDecode >> stream x;O0 3kĂJJ4E ͣNTB(C/f 95"&mS(S\&|! ɆH)RJ~eYI,8b-7Bss jҗ}q-gYN?|a? ȸu9L#P8~ؖ!PRm32;VA'Hnd-kmb̢J6@s*̷RWh{@= O<J#@q(m(f!݊-c]낕zyWl 40ԗTӂC9yC%:c:z4B,\B#flNA{' eSp焪lk#J endstream endobj 523 0 obj << /Type /Page /Contents 524 0 R /Resources 522 0 R /MediaBox [0 0 612 792] /Parent 360 0 R /Annots [ 489 0 R 519 0 R 520 0 R 521 0 R ] >> endobj 489 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 707.248 450 720] /A << /S /GoTo /D (250) >> >> endobj 519 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 674.869 450 687.621] /A << /S /GoTo /D (258) >> >> endobj 520 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 645.28 450 655.243] /A << /S /GoTo /D (264) >> >> endobj 521 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.791 612.902 450 622.864] /A << /S /GoTo /D (268) >> >> endobj 525 0 obj << /D [523 0 R /XYZ 90 720 null] >> endobj 522 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F97 59 0 R >> /ProcSet [ /PDF /Text ] >> endobj 530 0 obj << /S /GoTo /D (Introduction) >> endobj 533 0 obj (Introduction) endobj 534 0 obj << /S /GoTo /D (Summary) >> endobj 537 0 obj (Summary) endobj 538 0 obj << /S /GoTo /D (Installation) >> endobj 541 0 obj (Installation) endobj 542 0 obj << /S /GoTo /D (Activation) >> endobj 545 0 obj (Activation) endobj 546 0 obj << /S /GoTo /D (Feedback) >> endobj 549 0 obj (Feedback) endobj 550 0 obj << /S /GoTo /D (Conventions) >> endobj 553 0 obj (Typesetting conventions used in this manual) endobj 554 0 obj << /S /GoTo /D (Document Structure) >> endobj 557 0 obj (Document structure) endobj 558 0 obj << /S /GoTo /D (Outlines) >> endobj 561 0 obj (Outlines) endobj 562 0 obj << /S /GoTo /D (Headlines) >> endobj 565 0 obj (Headlines) endobj 566 0 obj << /S /GoTo /D (Visibility cycling) >> endobj 569 0 obj (Visibility cycling) endobj 570 0 obj << /S /GoTo /D (Global and local cycling) >> endobj 573 0 obj (Global and local cycling) endobj 574 0 obj << /S /GoTo /D (Initial visibility) >> endobj 577 0 obj (Initial visibility) endobj 578 0 obj << /S /GoTo /D (Catching invisible edits) >> endobj 581 0 obj (Catching invisible edits) endobj 582 0 obj << /S /GoTo /D (Motion) >> endobj 585 0 obj (Motion) endobj 586 0 obj << /S /GoTo /D (Structure editing) >> endobj 589 0 obj (Structure editing) endobj 590 0 obj << /S /GoTo /D (Sparse trees) >> endobj 593 0 obj (Sparse trees) endobj 594 0 obj << /S /GoTo /D (Plain lists) >> endobj 597 0 obj (Plain lists) endobj 598 0 obj << /S /GoTo /D (Drawers) >> endobj 601 0 obj (Drawers) endobj 602 0 obj << /S /GoTo /D (Blocks) >> endobj 605 0 obj (Blocks) endobj 606 0 obj << /S /GoTo /D (Footnotes) >> endobj 609 0 obj (Footnotes) endobj 610 0 obj << /S /GoTo /D (Orgstruct mode) >> endobj 613 0 obj (The Orgstruct minor mode) endobj 614 0 obj << /S /GoTo /D (Org syntax) >> endobj 617 0 obj (Org syntax) endobj 618 0 obj << /S /GoTo /D (Tables) >> endobj 621 0 obj (Tables) endobj 622 0 obj << /S /GoTo /D (Built-in table editor) >> endobj 625 0 obj (The built-in table editor) endobj 626 0 obj << /S /GoTo /D (Column width and alignment) >> endobj 629 0 obj (Column width and alignment) endobj 630 0 obj << /S /GoTo /D (Column groups) >> endobj 633 0 obj (Column groups) endobj 634 0 obj << /S /GoTo /D (Orgtbl mode) >> endobj 637 0 obj (The Orgtbl minor mode) endobj 638 0 obj << /S /GoTo /D (The spreadsheet) >> endobj 641 0 obj (The spreadsheet) endobj 642 0 obj << /S /GoTo /D (References) >> endobj 645 0 obj (References) endobj 646 0 obj << /S /GoTo /D (Formula syntax for Calc) >> endobj 649 0 obj (Formula syntax for Calc) endobj 650 0 obj << /S /GoTo /D (Formula syntax for Lisp) >> endobj 653 0 obj (Emacs Lisp forms as formulas) endobj 654 0 obj << /S /GoTo /D (Durations and time values) >> endobj 657 0 obj (Durations and time values) endobj 658 0 obj << /S /GoTo /D (Field and range formulas) >> endobj 661 0 obj (Field and range formulas) endobj 662 0 obj << /S /GoTo /D (Column formulas) >> endobj 665 0 obj (Column formulas) endobj 666 0 obj << /S /GoTo /D (Lookup functions) >> endobj 669 0 obj (Lookup functions) endobj 670 0 obj << /S /GoTo /D (Editing and debugging formulas) >> endobj 673 0 obj (Editing and debugging formulas) endobj 674 0 obj << /S /GoTo /D (Updating the table) >> endobj 677 0 obj (Updating the table) endobj 678 0 obj << /S /GoTo /D (Advanced features) >> endobj 681 0 obj (Advanced features) endobj 682 0 obj << /S /GoTo /D (Org-Plot) >> endobj 685 0 obj (Org-Plot) endobj 686 0 obj << /S /GoTo /D (Hyperlinks) >> endobj 689 0 obj (Hyperlinks) endobj 690 0 obj << /S /GoTo /D (Link format) >> endobj 693 0 obj (Link format) endobj 694 0 obj << /S /GoTo /D (Internal links) >> endobj 697 0 obj (Internal links) endobj 698 0 obj << /S /GoTo /D (Radio targets) >> endobj 701 0 obj (Radio targets) endobj 702 0 obj << /S /GoTo /D (External links) >> endobj 705 0 obj (External links) endobj 706 0 obj << /S /GoTo /D (Handling links) >> endobj 709 0 obj (Handling links) endobj 710 0 obj << /S /GoTo /D (Using links outside Org) >> endobj 713 0 obj (Using links outside Org) endobj 714 0 obj << /S /GoTo /D (Link abbreviations) >> endobj 717 0 obj (Link abbreviations) endobj 718 0 obj << /S /GoTo /D (Search options) >> endobj 721 0 obj (Search options in file links) endobj 722 0 obj << /S /GoTo /D (Custom searches) >> endobj 725 0 obj (Custom Searches) endobj 726 0 obj << /S /GoTo /D (TODO Items) >> endobj 729 0 obj (TODO items) endobj 730 0 obj << /S /GoTo /D (TODO basics) >> endobj 733 0 obj (Basic TODO functionality) endobj 734 0 obj << /S /GoTo /D (TODO extensions) >> endobj 737 0 obj (Extended use of TODO keywords) endobj 738 0 obj << /S /GoTo /D (Workflow states) >> endobj 741 0 obj (TODO keywords as workflow states) endobj 742 0 obj << /S /GoTo /D (TODO types) >> endobj 745 0 obj (TODO keywords as types) endobj 746 0 obj << /S /GoTo /D (Multiple sets in one file) >> endobj 749 0 obj (Multiple keyword sets in one file) endobj 750 0 obj << /S /GoTo /D (Fast access to TODO states) >> endobj 753 0 obj (Fast access to TODO states) endobj 754 0 obj << /S /GoTo /D (Per-file keywords) >> endobj 757 0 obj (Setting up keywords for individual files) endobj 758 0 obj << /S /GoTo /D (Faces for TODO keywords) >> endobj 761 0 obj (Faces for TODO keywords) endobj 762 0 obj << /S /GoTo /D (TODO dependencies) >> endobj 765 0 obj (TODO dependencies) endobj 766 0 obj << /S /GoTo /D (Progress logging) >> endobj 769 0 obj (Progress logging) endobj 770 0 obj << /S /GoTo /D (Closing items) >> endobj 773 0 obj (Closing items) endobj 774 0 obj << /S /GoTo /D (Tracking TODO state changes) >> endobj 777 0 obj (Tracking TODO state changes) endobj 778 0 obj << /S /GoTo /D (Tracking your habits) >> endobj 781 0 obj (Tracking your habits) endobj 782 0 obj << /S /GoTo /D (Priorities) >> endobj 785 0 obj (Priorities) endobj 786 0 obj << /S /GoTo /D (Breaking down tasks) >> endobj 789 0 obj (Breaking tasks down into subtasks) endobj 790 0 obj << /S /GoTo /D (Checkboxes) >> endobj 793 0 obj (Checkboxes) endobj 794 0 obj << /S /GoTo /D (Tags) >> endobj 797 0 obj (Tags) endobj 798 0 obj << /S /GoTo /D (Tag inheritance) >> endobj 801 0 obj (Tag inheritance) endobj 802 0 obj << /S /GoTo /D (Setting tags) >> endobj 805 0 obj (Setting tags) endobj 806 0 obj << /S /GoTo /D (Tag groups) >> endobj 809 0 obj (Tag groups) endobj 810 0 obj << /S /GoTo /D (Tag searches) >> endobj 813 0 obj (Tag searches) endobj 814 0 obj << /S /GoTo /D (Properties and Columns) >> endobj 817 0 obj (Properties and columns) endobj 818 0 obj << /S /GoTo /D (Property syntax) >> endobj 821 0 obj (Property syntax) endobj 822 0 obj << /S /GoTo /D (Special properties) >> endobj 825 0 obj (Special properties) endobj 826 0 obj << /S /GoTo /D (Property searches) >> endobj 829 0 obj (Property searches) endobj 830 0 obj << /S /GoTo /D (Property inheritance) >> endobj 833 0 obj (Property Inheritance) endobj 834 0 obj << /S /GoTo /D (Column view) >> endobj 837 0 obj (Column view) endobj 838 0 obj << /S /GoTo /D (Defining columns) >> endobj 841 0 obj (Defining columns) endobj 842 0 obj << /S /GoTo /D (Scope of column definitions) >> endobj 845 0 obj (Scope of column definitions) endobj 846 0 obj << /S /GoTo /D (Column attributes) >> endobj 849 0 obj (Column attributes) endobj 850 0 obj << /S /GoTo /D (Using column view) >> endobj 853 0 obj (Using column view) endobj 854 0 obj << /S /GoTo /D (Capturing column view) >> endobj 857 0 obj (Capturing column view) endobj 858 0 obj << /S /GoTo /D (Property API) >> endobj 861 0 obj (The Property API) endobj 862 0 obj << /S /GoTo /D (Dates and Times) >> endobj 865 0 obj (Dates and times) endobj 866 0 obj << /S /GoTo /D (Timestamps) >> endobj 869 0 obj (Timestamps, deadlines, and scheduling) endobj 870 0 obj << /S /GoTo /D (Creating timestamps) >> endobj 873 0 obj (Creating timestamps) endobj 874 0 obj << /S /GoTo /D (The date/time prompt) >> endobj 877 0 obj (The date/time prompt) endobj 878 0 obj << /S /GoTo /D (Custom time format) >> endobj 881 0 obj (Custom time format) endobj 882 0 obj << /S /GoTo /D (Deadlines and scheduling) >> endobj 885 0 obj (Deadlines and scheduling) endobj 886 0 obj << /S /GoTo /D (Inserting deadline/schedule) >> endobj 889 0 obj (Inserting deadlines or schedules) endobj 890 0 obj << /S /GoTo /D (Repeated tasks) >> endobj 893 0 obj (Repeated tasks) endobj 894 0 obj << /S /GoTo /D (Clocking work time) >> endobj 897 0 obj (Clocking work time) endobj 898 0 obj << /S /GoTo /D (Clocking commands) >> endobj 901 0 obj (Clocking commands) endobj 902 0 obj << /S /GoTo /D (The clock table) >> endobj 905 0 obj (The clock table) endobj 906 0 obj << /S /GoTo /D (Resolving idle time) >> endobj 909 0 obj (Resolving idle time and continuous clocking) endobj 910 0 obj << /S /GoTo /D (Effort estimates) >> endobj 913 0 obj (Effort estimates) endobj 914 0 obj << /S /GoTo /D (Relative timer) >> endobj 917 0 obj (Taking notes with a relative timer) endobj 918 0 obj << /S /GoTo /D (Countdown timer) >> endobj 921 0 obj (Countdown timer) endobj 922 0 obj << /S /GoTo /D (Capture - Refile - Archive) >> endobj 925 0 obj (Capture - Refile - Archive) endobj 926 0 obj << /S /GoTo /D (Capture) >> endobj 929 0 obj (Capture) endobj 930 0 obj << /S /GoTo /D (Setting up capture) >> endobj 933 0 obj (Setting up capture) endobj 934 0 obj << /S /GoTo /D (Using capture) >> endobj 937 0 obj (Using capture) endobj 938 0 obj << /S /GoTo /D (Capture templates) >> endobj 941 0 obj (Capture templates) endobj 942 0 obj << /S /GoTo /D (Template elements) >> endobj 945 0 obj (Template elements) endobj 946 0 obj << /S /GoTo /D (Template expansion) >> endobj 949 0 obj (Template expansion) endobj 950 0 obj << /S /GoTo /D (Templates in contexts) >> endobj 953 0 obj (Templates in contexts) endobj 954 0 obj << /S /GoTo /D (Attachments) >> endobj 957 0 obj (Attachments) endobj 958 0 obj << /S /GoTo /D (RSS Feeds) >> endobj 961 0 obj (RSS feeds) endobj 962 0 obj << /S /GoTo /D (Protocols) >> endobj 965 0 obj (Protocols for external access) endobj 966 0 obj << /S /GoTo /D (Refile and copy) >> endobj 969 0 obj (Refile and copy) endobj 970 0 obj << /S /GoTo /D (Archiving) >> endobj 973 0 obj (Archiving) endobj 974 0 obj << /S /GoTo /D (Moving subtrees) >> endobj 977 0 obj (Moving a tree to the archive file) endobj 978 0 obj << /S /GoTo /D (Internal archiving) >> endobj 981 0 obj (Internal archiving) endobj 982 0 obj << /S /GoTo /D (Agenda Views) >> endobj 985 0 obj (Agenda views) endobj 986 0 obj << /S /GoTo /D (Agenda files) >> endobj 989 0 obj (Agenda files) endobj 990 0 obj << /S /GoTo /D (Agenda dispatcher) >> endobj 993 0 obj (The agenda dispatcher) endobj 994 0 obj << /S /GoTo /D (Built-in agenda views) >> endobj 997 0 obj (The built-in agenda views) endobj 998 0 obj << /S /GoTo /D (Weekly/daily agenda) >> endobj 1001 0 obj (The weekly/daily agenda) endobj 1002 0 obj << /S /GoTo /D (Global TODO list) >> endobj 1005 0 obj (The global TODO list) endobj 1006 0 obj << /S /GoTo /D (Matching tags and properties) >> endobj 1009 0 obj (Matching tags and properties) endobj 1010 0 obj << /S /GoTo /D (Timeline) >> endobj 1013 0 obj (Timeline for a single file) endobj 1014 0 obj << /S /GoTo /D (Search view) >> endobj 1017 0 obj (Search view) endobj 1018 0 obj << /S /GoTo /D (Stuck projects) >> endobj 1021 0 obj (Stuck projects) endobj 1022 0 obj << /S /GoTo /D (Presentation and sorting) >> endobj 1025 0 obj (Presentation and sorting) endobj 1026 0 obj << /S /GoTo /D (Categories) >> endobj 1029 0 obj (Categories) endobj 1030 0 obj << /S /GoTo /D (Time-of-day specifications) >> endobj 1033 0 obj (Time-of-day specifications) endobj 1034 0 obj << /S /GoTo /D (Sorting agenda items) >> endobj 1037 0 obj (Sorting agenda items) endobj 1038 0 obj << /S /GoTo /D (Filtering/limiting agenda items) >> endobj 1041 0 obj (Filtering/limiting agenda items) endobj 1042 0 obj << /S /GoTo /D (Agenda commands) >> endobj 1045 0 obj (Commands in the agenda buffer) endobj 1046 0 obj << /S /GoTo /D (Custom agenda views) >> endobj 1049 0 obj (Custom agenda views) endobj 1050 0 obj << /S /GoTo /D (Storing searches) >> endobj 1053 0 obj (Storing searches) endobj 1054 0 obj << /S /GoTo /D (Block agenda) >> endobj 1057 0 obj (Block agenda) endobj 1058 0 obj << /S /GoTo /D (Setting Options) >> endobj 1061 0 obj (Setting options for custom commands) endobj 1062 0 obj << /S /GoTo /D (Exporting Agenda Views) >> endobj 1065 0 obj (Exporting Agenda Views) endobj 1066 0 obj << /S /GoTo /D (Agenda column view) >> endobj 1069 0 obj (Using column view in the agenda) endobj 1070 0 obj << /S /GoTo /D (Markup) >> endobj 1073 0 obj (Markup for rich export) endobj 1074 0 obj << /S /GoTo /D (Structural markup elements) >> endobj 1077 0 obj (Structural markup elements) endobj 1078 0 obj << /S /GoTo /D (Images and tables) >> endobj 1081 0 obj (Images and Tables) endobj 1082 0 obj << /S /GoTo /D (Literal examples) >> endobj 1085 0 obj (Literal examples) endobj 1086 0 obj << /S /GoTo /D (Include files) >> endobj 1089 0 obj (Include files) endobj 1090 0 obj << /S /GoTo /D (Index entries) >> endobj 1093 0 obj (Index entries) endobj 1094 0 obj << /S /GoTo /D (Macro replacement) >> endobj 1097 0 obj (Macro replacement) endobj 1098 0 obj << /S /GoTo /D (Embedded LaTeX{}) >> endobj 1101 0 obj (Embedded LaTeX{}) endobj 1102 0 obj << /S /GoTo /D (Special symbols) >> endobj 1105 0 obj (Special symbols) endobj 1106 0 obj << /S /GoTo /D (Subscripts and superscripts) >> endobj 1109 0 obj (Subscripts and superscripts) endobj 1110 0 obj << /S /GoTo /D (LaTeX{} fragments) >> endobj 1113 0 obj (LaTeX{} fragments) endobj 1114 0 obj << /S /GoTo /D (Previewing LaTeX{} fragments) >> endobj 1117 0 obj (Previewing LaTeX{} fragments) endobj 1118 0 obj << /S /GoTo /D (CDLaTeX mode) >> endobj 1121 0 obj (Using CDLaTeX{} to enter math) endobj 1122 0 obj << /S /GoTo /D (Special blocks) >> endobj 1125 0 obj (Special blocks) endobj 1126 0 obj << /S /GoTo /D (Exporting) >> endobj 1129 0 obj (Exporting) endobj 1130 0 obj << /S /GoTo /D (The Export Dispatcher) >> endobj 1133 0 obj (The Export Dispatcher) endobj 1134 0 obj << /S /GoTo /D (Export back-ends) >> endobj 1137 0 obj (Export back-ends) endobj 1138 0 obj << /S /GoTo /D (Export settings) >> endobj 1141 0 obj (Export settings) endobj 1142 0 obj << /S /GoTo /D (ASCII/Latin-1/UTF-8 export) >> endobj 1145 0 obj (ASCII/Latin-1/UTF-8 export) endobj 1146 0 obj << /S /GoTo /D (Beamer export) >> endobj 1149 0 obj (Beamer export) endobj 1150 0 obj << /S /GoTo /D (HTML export) >> endobj 1153 0 obj (HTML export) endobj 1154 0 obj << /S /GoTo /D (HTML Export commands) >> endobj 1157 0 obj (HTML export commands) endobj 1158 0 obj << /S /GoTo /D (HTML doctypes) >> endobj 1161 0 obj (HTML doctypes) endobj 1162 0 obj << /S /GoTo /D (HTML preamble and postamble) >> endobj 1165 0 obj (HTML preamble and postamble) endobj 1166 0 obj << /S /GoTo /D (Quoting HTML tags) >> endobj 1169 0 obj (Quoting HTML tags) endobj 1170 0 obj << /S /GoTo /D (Links in HTML export) >> endobj 1173 0 obj (Links in HTML export) endobj 1174 0 obj << /S /GoTo /D (Tables in HTML export) >> endobj 1177 0 obj (Tables) endobj 1178 0 obj << /S /GoTo /D (Images in HTML export) >> endobj 1181 0 obj (Images in HTML export) endobj 1182 0 obj << /S /GoTo /D (Math formatting in HTML export) >> endobj 1185 0 obj (Math formatting in HTML export) endobj 1186 0 obj << /S /GoTo /D (Text areas in HTML export) >> endobj 1189 0 obj (Text areas in HTML export) endobj 1190 0 obj << /S /GoTo /D (CSS support) >> endobj 1193 0 obj (CSS support) endobj 1194 0 obj << /S /GoTo /D (JavaScript support) >> endobj 1197 0 obj (JavaScript supported display of web pages) endobj 1198 0 obj << /S /GoTo /D (LaTeX{} and PDF export) >> endobj 1201 0 obj (LaTeX{} and PDF export) endobj 1202 0 obj << /S /GoTo /D (LaTeX{} export commands) >> endobj 1205 0 obj (LaTeX{} export commands) endobj 1206 0 obj << /S /GoTo /D (Header and sectioning) >> endobj 1209 0 obj (Header and sectioning structure) endobj 1210 0 obj << /S /GoTo /D (Quoting LaTeX{} code) >> endobj 1213 0 obj (Quoting LaTeX{} code) endobj 1214 0 obj << /S /GoTo /D (LaTeX{} specific attributes) >> endobj 1217 0 obj (LaTeX{} specific attributes) endobj 1218 0 obj << /S /GoTo /D (Markdown export) >> endobj 1221 0 obj (Markdown export) endobj 1222 0 obj << /S /GoTo /D (OpenDocument Text export) >> endobj 1225 0 obj (OpenDocument Text export) endobj 1226 0 obj << /S /GoTo /D (Pre-requisites for ODT export) >> endobj 1229 0 obj (Pre-requisites for ODT export) endobj 1230 0 obj << /S /GoTo /D (ODT export commands) >> endobj 1233 0 obj (ODT export commands) endobj 1234 0 obj << /S /GoTo /D (Extending ODT export) >> endobj 1237 0 obj (Extending ODT export) endobj 1238 0 obj << /S /GoTo /D (156) >> endobj 1240 0 obj (Automatically exporting to other formats) endobj 1241 0 obj << /S /GoTo /D (156) >> endobj 1243 0 obj (Converting between document formats) endobj 1244 0 obj << /S /GoTo /D (Applying custom styles) >> endobj 1247 0 obj (Applying custom styles) endobj 1248 0 obj << /S /GoTo /D (157) >> endobj 1250 0 obj (Applying custom styles: the easy way) endobj 1251 0 obj << /S /GoTo /D (157) >> endobj 1253 0 obj (Using third-party styles and templates) endobj 1254 0 obj << /S /GoTo /D (Links in ODT export) >> endobj 1257 0 obj (Links in ODT export) endobj 1258 0 obj << /S /GoTo /D (Tables in ODT export) >> endobj 1261 0 obj (Tables in ODT export) endobj 1262 0 obj << /S /GoTo /D (Images in ODT export) >> endobj 1265 0 obj (Images in ODT export) endobj 1266 0 obj << /S /GoTo /D (Math formatting in ODT export) >> endobj 1269 0 obj (Math formatting in ODT export) endobj 1270 0 obj << /S /GoTo /D (Working with LaTeX{} math snippets) >> endobj 1273 0 obj (Working with LaTeX{} math snippets) endobj 1274 0 obj << /S /GoTo /D (Working with MathML or OpenDocument formula files) >> endobj 1277 0 obj (Working with MathML or OpenDocument formula files) endobj 1278 0 obj << /S /GoTo /D (Labels and captions in ODT export) >> endobj 1281 0 obj (Labels and captions in ODT export) endobj 1282 0 obj << /S /GoTo /D (Literal examples in ODT export) >> endobj 1285 0 obj (Literal examples in ODT export) endobj 1286 0 obj << /S /GoTo /D (Advanced topics in ODT export) >> endobj 1289 0 obj (Advanced topics in ODT export) endobj 1290 0 obj << /S /GoTo /D (Configuring a document converter) >> endobj 1293 0 obj (Configuring a document converter) endobj 1294 0 obj << /S /GoTo /D (Working with OpenDocument style files) >> endobj 1297 0 obj (Working with OpenDocument style files) endobj 1298 0 obj << /S /GoTo /D (Creating one-off styles) >> endobj 1301 0 obj (Creating one-off styles) endobj 1302 0 obj << /S /GoTo /D (Customizing tables in ODT export) >> endobj 1305 0 obj (Customizing tables in ODT export) endobj 1306 0 obj << /S /GoTo /D (Validating OpenDocument XML) >> endobj 1309 0 obj (Validating OpenDocument XML) endobj 1310 0 obj << /S /GoTo /D (iCalendar export) >> endobj 1313 0 obj (iCalendar export) endobj 1314 0 obj << /S /GoTo /D (Other built-in back-ends) >> endobj 1317 0 obj (Other built-in back-ends) endobj 1318 0 obj << /S /GoTo /D (Export in foreign buffers) >> endobj 1321 0 obj (Export in foreign buffers) endobj 1322 0 obj << /S /GoTo /D (Advanced configuration) >> endobj 1325 0 obj (Advanced configuration) endobj 1326 0 obj << /S /GoTo /D (Publishing) >> endobj 1329 0 obj (Publishing) endobj 1330 0 obj << /S /GoTo /D (Configuration) >> endobj 1333 0 obj (Configuration) endobj 1334 0 obj << /S /GoTo /D (Project alist) >> endobj 1337 0 obj (The variable org-publish-project-alist) endobj 1338 0 obj << /S /GoTo /D (Sources and destinations) >> endobj 1341 0 obj (Sources and destinations for files) endobj 1342 0 obj << /S /GoTo /D (Selecting files) >> endobj 1345 0 obj (Selecting files) endobj 1346 0 obj << /S /GoTo /D (Publishing action) >> endobj 1349 0 obj (Publishing action) endobj 1350 0 obj << /S /GoTo /D (Publishing options) >> endobj 1353 0 obj (Options for the exporters) endobj 1354 0 obj << /S /GoTo /D (Publishing links) >> endobj 1357 0 obj (Links between published files) endobj 1358 0 obj << /S /GoTo /D (Sitemap) >> endobj 1361 0 obj (Generating a sitemap) endobj 1362 0 obj << /S /GoTo /D (Generating an index) >> endobj 1365 0 obj (Generating an index) endobj 1366 0 obj << /S /GoTo /D (Uploading files) >> endobj 1369 0 obj (Uploading files) endobj 1370 0 obj << /S /GoTo /D (Sample configuration) >> endobj 1373 0 obj (Sample configuration) endobj 1374 0 obj << /S /GoTo /D (Simple example) >> endobj 1377 0 obj (Example: simple publishing configuration) endobj 1378 0 obj << /S /GoTo /D (Complex example) >> endobj 1381 0 obj (Example: complex publishing configuration) endobj 1382 0 obj << /S /GoTo /D (Triggering publication) >> endobj 1385 0 obj (Triggering publication) endobj 1386 0 obj << /S /GoTo /D (Working With Source Code) >> endobj 1389 0 obj (Working with source code) endobj 1390 0 obj << /S /GoTo /D (Structure of code blocks) >> endobj 1393 0 obj (Structure of code blocks) endobj 1394 0 obj << /S /GoTo /D (Editing source code) >> endobj 1397 0 obj (Editing source code) endobj 1398 0 obj << /S /GoTo /D (Exporting code blocks) >> endobj 1401 0 obj (Exporting code blocks) endobj 1402 0 obj << /S /GoTo /D (Extracting source code) >> endobj 1405 0 obj (Extracting source code) endobj 1406 0 obj << /S /GoTo /D (Evaluating code blocks) >> endobj 1409 0 obj (Evaluating code blocks) endobj 1410 0 obj << /S /GoTo /D (Library of Babel) >> endobj 1413 0 obj (Library of Babel) endobj 1414 0 obj << /S /GoTo /D (Languages) >> endobj 1417 0 obj (Languages) endobj 1418 0 obj << /S /GoTo /D (Header arguments) >> endobj 1421 0 obj (Header arguments) endobj 1422 0 obj << /S /GoTo /D (Using header arguments) >> endobj 1425 0 obj (Using header arguments) endobj 1426 0 obj << /S /GoTo /D (Specific header arguments) >> endobj 1429 0 obj (Specific header arguments) endobj 1430 0 obj << /S /GoTo /D (var) >> endobj 1433 0 obj (:var) endobj 1434 0 obj << /S /GoTo /D (results) >> endobj 1437 0 obj (:results) endobj 1438 0 obj << /S /GoTo /D (file) >> endobj 1441 0 obj (:file) endobj 1442 0 obj << /S /GoTo /D (file-desc) >> endobj 1445 0 obj (:file-desc) endobj 1446 0 obj << /S /GoTo /D (dir) >> endobj 1449 0 obj (:dir and remote execution) endobj 1450 0 obj << /S /GoTo /D (exports) >> endobj 1453 0 obj (:exports) endobj 1454 0 obj << /S /GoTo /D (tangle) >> endobj 1457 0 obj (:tangle) endobj 1458 0 obj << /S /GoTo /D (mkdirp) >> endobj 1461 0 obj (:mkdirp) endobj 1462 0 obj << /S /GoTo /D (comments) >> endobj 1465 0 obj (:comments) endobj 1466 0 obj << /S /GoTo /D (padline) >> endobj 1469 0 obj (:padline) endobj 1470 0 obj << /S /GoTo /D (no-expand) >> endobj 1473 0 obj (:no-expand) endobj 1474 0 obj << /S /GoTo /D (session) >> endobj 1477 0 obj (:session) endobj 1478 0 obj << /S /GoTo /D (noweb) >> endobj 1481 0 obj (:noweb) endobj 1482 0 obj << /S /GoTo /D (noweb-ref) >> endobj 1485 0 obj (:noweb-ref) endobj 1486 0 obj << /S /GoTo /D (noweb-sep) >> endobj 1489 0 obj (:noweb-sep) endobj 1490 0 obj << /S /GoTo /D (cache) >> endobj 1493 0 obj (:cache) endobj 1494 0 obj << /S /GoTo /D (sep) >> endobj 1497 0 obj (:sep) endobj 1498 0 obj << /S /GoTo /D (hlines) >> endobj 1501 0 obj (:hlines) endobj 1502 0 obj << /S /GoTo /D (colnames) >> endobj 1505 0 obj (:colnames) endobj 1506 0 obj << /S /GoTo /D (rownames) >> endobj 1509 0 obj (:rownames) endobj 1510 0 obj << /S /GoTo /D (shebang) >> endobj 1513 0 obj (:shebang) endobj 1514 0 obj << /S /GoTo /D (tangle-mode) >> endobj 1517 0 obj (:tangle-mode) endobj 1518 0 obj << /S /GoTo /D (eval) >> endobj 1521 0 obj (:eval) endobj 1522 0 obj << /S /GoTo /D (wrap) >> endobj 1525 0 obj (:wrap) endobj 1526 0 obj << /S /GoTo /D (post) >> endobj 1529 0 obj (:post) endobj 1530 0 obj << /S /GoTo /D (prologue) >> endobj 1533 0 obj (:prologue) endobj 1534 0 obj << /S /GoTo /D (epilogue) >> endobj 1537 0 obj (:epilogue) endobj 1538 0 obj << /S /GoTo /D (Results of evaluation) >> endobj 1541 0 obj (Results of evaluation) endobj 1542 0 obj << /S /GoTo /D (202) >> endobj 1544 0 obj (Non-session) endobj 1545 0 obj << /S /GoTo /D (202) >> endobj 1547 0 obj (:results value) endobj 1548 0 obj << /S /GoTo /D (202) >> endobj 1550 0 obj (:results output) endobj 1551 0 obj << /S /GoTo /D (202) >> endobj 1553 0 obj (Session) endobj 1554 0 obj << /S /GoTo /D (202) >> endobj 1556 0 obj (:results value) endobj 1557 0 obj << /S /GoTo /D (202) >> endobj 1559 0 obj (:results output) endobj 1560 0 obj << /S /GoTo /D (Noweb reference syntax) >> endobj 1563 0 obj (Noweb reference syntax) endobj 1564 0 obj << /S /GoTo /D (Key bindings and useful functions) >> endobj 1567 0 obj (Key bindings and useful functions) endobj 1568 0 obj << /S /GoTo /D (Batch execution) >> endobj 1571 0 obj (Batch execution) endobj 1572 0 obj << /S /GoTo /D (Miscellaneous) >> endobj 1575 0 obj (Miscellaneous) endobj 1576 0 obj << /S /GoTo /D (Completion) >> endobj 1579 0 obj (Completion) endobj 1580 0 obj << /S /GoTo /D (Easy Templates) >> endobj 1583 0 obj (Easy Templates) endobj 1584 0 obj << /S /GoTo /D (Speed keys) >> endobj 1587 0 obj (Speed keys) endobj 1588 0 obj << /S /GoTo /D (Code evaluation security) >> endobj 1591 0 obj (Code evaluation and security issues) endobj 1592 0 obj << /S /GoTo /D (Customization) >> endobj 1595 0 obj (Customization) endobj 1596 0 obj << /S /GoTo /D (In-buffer settings) >> endobj 1599 0 obj (Summary of in-buffer settings) endobj 1600 0 obj << /S /GoTo /D (The very busy C-c C-c key) >> endobj 1603 0 obj (The very busy C-c C-c key) endobj 1604 0 obj << /S /GoTo /D (Clean view) >> endobj 1607 0 obj (A cleaner outline view) endobj 1608 0 obj << /S /GoTo /D (TTY keys) >> endobj 1611 0 obj (Using Org on a tty) endobj 1612 0 obj << /S /GoTo /D (Interaction) >> endobj 1615 0 obj (Interaction with other packages) endobj 1616 0 obj << /S /GoTo /D (Cooperation) >> endobj 1619 0 obj (Packages that Org cooperates with) endobj 1620 0 obj << /S /GoTo /D (Conflicts) >> endobj 1623 0 obj (Packages that lead to conflicts with Org mode) endobj 1624 0 obj << /S /GoTo /D (org-crypt) >> endobj 1627 0 obj (org-crypt.el) endobj 1628 0 obj << /S /GoTo /D (Hacking) >> endobj 1631 0 obj (Hacking) endobj 1632 0 obj << /S /GoTo /D (Hooks) >> endobj 1635 0 obj (Hooks) endobj 1636 0 obj << /S /GoTo /D (Add-on packages) >> endobj 1639 0 obj (Add-on packages) endobj 1640 0 obj << /S /GoTo /D (Adding hyperlink types) >> endobj 1643 0 obj (Adding hyperlink types) endobj 1644 0 obj << /S /GoTo /D (Adding export back-ends) >> endobj 1647 0 obj (Adding export back-ends) endobj 1648 0 obj << /S /GoTo /D (Context-sensitive commands) >> endobj 1651 0 obj (Context-sensitive commands) endobj 1652 0 obj << /S /GoTo /D (Tables in arbitrary syntax) >> endobj 1655 0 obj (Tables and lists in arbitrary syntax) endobj 1656 0 obj << /S /GoTo /D (Radio tables) >> endobj 1659 0 obj (Radio tables) endobj 1660 0 obj << /S /GoTo /D (A LaTeX{} example) >> endobj 1663 0 obj (A LaTeX{} example of radio tables) endobj 1664 0 obj << /S /GoTo /D (Translator functions) >> endobj 1667 0 obj (Translator functions) endobj 1668 0 obj << /S /GoTo /D (Radio lists) >> endobj 1671 0 obj (Radio lists) endobj 1672 0 obj << /S /GoTo /D (Dynamic blocks) >> endobj 1675 0 obj (Dynamic blocks) endobj 1676 0 obj << /S /GoTo /D (Special agenda views) >> endobj 1679 0 obj (Special agenda views) endobj 1680 0 obj << /S /GoTo /D (Speeding up your agendas) >> endobj 1683 0 obj (Speeding up your agendas) endobj 1684 0 obj << /S /GoTo /D (Extracting agenda information) >> endobj 1687 0 obj (Extracting agenda information) endobj 1688 0 obj << /S /GoTo /D (Using the property API) >> endobj 1691 0 obj (Using the property API) endobj 1692 0 obj << /S /GoTo /D (Using the mapping API) >> endobj 1695 0 obj (Using the mapping API) endobj 1696 0 obj << /S /GoTo /D (MobileOrg) >> endobj 1699 0 obj (MobileOrg) endobj 1700 0 obj << /S /GoTo /D (Setting up the staging area) >> endobj 1703 0 obj (Setting up the staging area) endobj 1704 0 obj << /S /GoTo /D (Pushing to MobileOrg) >> endobj 1707 0 obj (Pushing to MobileOrg) endobj 1708 0 obj << /S /GoTo /D (Pulling from MobileOrg) >> endobj 1711 0 obj (Pulling from MobileOrg) endobj 1712 0 obj << /S /GoTo /D (History and Acknowledgments) >> endobj 1715 0 obj (History and acknowledgments) endobj 1716 0 obj << /S /GoTo /D (236) >> endobj 1718 0 obj (From Carsten) endobj 1719 0 obj << /S /GoTo /D (237) >> endobj 1721 0 obj (From Bastien) endobj 1722 0 obj << /S /GoTo /D (237) >> endobj 1724 0 obj (List of contributions) endobj 1725 0 obj << /S /GoTo /D (GNU Free Documentation License) >> endobj 1728 0 obj (GNU Free Documentation License) endobj 1729 0 obj << /S /GoTo /D (Main Index) >> endobj 1732 0 obj (Concept index) endobj 1733 0 obj << /S /GoTo /D (Key Index) >> endobj 1736 0 obj (Key index) endobj 1737 0 obj << /S /GoTo /D (Command and Function Index) >> endobj 1740 0 obj (Command and function index) endobj 1741 0 obj << /S /GoTo /D (Variable Index) >> endobj 1744 0 obj (Variable index) endobj 1749 0 obj << /Length 2843 /Filter /FlateDecode >> stream xڽג]_7UK9M`˥-}Ur,Aw.T.>4o<ۤaQ)@?m=7rؗ;o4n _mwQ;m9Cnw,b0m;?xJGWEF̗I>sO 0#7σafvUwKM ?w@q=71=?>%h޷|Fi}2kA7gʰ 9!n}e;!P8vA j.pDHA6C%UHHCf DSmwf40n]PrEϕ:jO=CA5Rm`kG?}W- G50cyT#HmCmIcZdvD ֹz^8|O$tS*]k6.yۓn*hN.Oz&ZĐ((O $YADg"lWe;]VL|\Tp5ti>{QW'~#>I/Q~ح`KuCRTg^VlMŏh^,d[j% ܅L%fKAt:AL7BzDw5\LS~P".d 9rDE92#BFզP '>ɚ%VYHkyy>$tؓlm@.5F!λZ j/`|ՒgΟŞ"|! H V ץgZ~=8F=TCx8?rփ,-H2DZS NW초!t/'G q 8Qf8 C}㯕U7AmbcF>}iK;y $exaKYx7/F?|a| {|8fRޭ;];9Tg8:UωdiX$0~Eɼ 5zW r !T {ӵM7\B ]B`h&UA1"4y9)"[[[p (=QW2έM?:U !{ԗ!J1dIyMPz!x{;*Ij~1_+n7c~UrIsl dq#RU7V,!3%Q>2pqY5e pdH};vX)aPE}1Gě4r uئtEb(R9[Uȃ }'6BʬkЭ[d9jb2Êr"/eӰmj;R,0!m]Gy uRT e@F5]#Jf"/܈Zq#Eۆ UQ̇0rn:gKt6+rtT N5}S2WnVh4񢗔[b(0 НyN fnrOPyR,~nR7O=PQ3os~"7 Ce ofrg,? Qw.=DR*[GQ0f;W 0WʖA0ޔ^:R!:`SJ1so6AO㇞a;$a'Mu`ta$, 3ld?c%C=]Jf\)A4GrVp,U@(E,<Ǟ}nS?4Uey:LŴOQ +.0ʞb\sUh=)xa~J+{[`#; KCplNRB$?_ 'Zg$J>2ٸ`o(ZuSrF %Z_pᄆb˼XD-  Hk%f$jC)0uْO*xr=zlLeDvL0GV;s-|/ZbȎ<ϓ0 ԽoJg\p\bߺi%JĎ#;DOf% /(\Ai `u]nm E9~ALj8+GXHFoqNuck`~eJ#S7ʳHRi\jdץfi0 L6S>җFq U3::7 D WSf ;d\9PrBPrf;TD#E@q\rMP< FG8aG5w6db"> endobj 1745 0 obj << /Type /Annot /Border [0 0 0] /Rect [152.182 115.235 255.272 125.235] /Subtype /Link /A << /S /URI /URI (http://orgmode.org) >> >> endobj 1746 0 obj << /Type /Annot /Border [0 0 0] /Rect [337.031 99.398 522 109.095] /Subtype /Link /A << /S /URI /URI (http://www.network-theory.co.uk/org/manual/) >> >> endobj 1751 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 88.369 110.152 95.944] /Subtype /Link /A << /S /URI /URI (http://www.network-theory.co.uk/org/manual/) >> >> endobj 61 0 obj << /D [1748 0 R /XYZ 90 720 null] >> endobj 531 0 obj << /D [1748 0 R /XYZ 90 720 null] >> endobj 535 0 obj << /D [1748 0 R /XYZ 90 660.224 null] >> endobj 1747 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F3 285 0 R /F60 13 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1757 0 obj << /Length 2377 /Filter /FlateDecode >> stream xڵXm~ dQ"z"MAɒ!ɷq?w3([(X9o|fbŸX* j{xw)|ӻwJDa.VO/Oqڏk_J}hQ ]U;$|Ɠt׃-g zƹyPYpe1,zb6gǺ^=wEW>X >ۚ(b#PZ {N6Q0x_?=hmBGfp) # lid~K[OI G& _24E2vC( Zּޠ&nh{!DD^\2dC 󌷩=u4"Gmm` p%T FM6ʃ(\e%Ā0)G 6C4XV+onA4% 86 v1B!!> 4i&]b>WSCa_ DQAF3\vD+K POn#]1Pcѻׇ{r#b x3.YYRchC 䆛7B˖ @!CLWEΏ&en=&Э5D{8V14T4(r;Nmv~'P DSd8`}qQ8%VF&AŜ ԸSqV(bD>9 ˥;Bra,ӍvO }rSZӁ_l,*%sa^ߎ.YUl;=JS P̊Ě+Zha" d]^ %-Lw R3[:7 mN %(YGFO1úhː?7 +nTHpJȝ.fט^YvcޘZ,0_AZJ elGc]4l#\\wT T6=)OM=)*dF^F8>;ڬC=YU8CZV]No6;\%&^ η  endstream endobj 1756 0 obj << /Type /Page /Contents 1757 0 R /Resources 1755 0 R /MediaBox [0 0 612 792] /Parent 360 0 R /Annots [ 1752 0 R 1753 0 R 1754 0 R ] >> endobj 1752 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 450.719 166.242 460.295] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/elpa.html) >> >> endobj 1753 0 obj << /Type /Annot /Border [0 0 0] /Rect [297.722 406.726 362.366 416.423] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/) >> >> endobj 1754 0 obj << /Type /Annot /Border [0 0 0] /Rect [130.606 77.082 156.091 86.658] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/dev/org-build-system.html) >> >> endobj 62 0 obj << /D [1756 0 R /XYZ 90 720 null] >> endobj 539 0 obj << /D [1756 0 R /XYZ 90 720 null] >> endobj 1755 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F60 13 0 R /F53 1758 0 R /F58 1759 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1764 0 obj << /Length 2925 /Filter /FlateDecode >> stream xڝYY~T0/K6z$ 83),ǧ"5wc5u~UUEf,gG!l';vϯ\HdQ&W7S׻!?Eց|/ZA6~wö/V@?_yz<*lG|%j%&VW!!*y[:#p2R>;Eqo;&RB].)*x?[Cic! "v C9,E91Cnpdaax]qU/@9sC;pG3Ж-<^12I2YBZ'IEV%)wHh?Xmn藥'+zw;􇲣QUQaبELQ;gAL$SaIދ%¡2V$LާFz7aUv=XHL]|O`c\ EG^t @j9W{T EBi1Ê^\”M}V%"di`?== ܽ*YSD8KV6c]&Y]S'Pq2 cU7~trb,C;s.j.&I Oц9 HW`'=,hk|_tWj 6Î&"}~0^ G -9͉F*meU6uBl"8 XEBi{qIBjY% +`"?ljrw9N@N4R2dHX~4?`wmLYa!h_HfRdN\#H`[i -1o\-ҌEKb0Y@#._"gu&J{,XDzT~A6K'$JXk ݡ*=+'ʂo]/Tmfy_51CGO ( zj lp q튃iR]O<\QPC PMUanC](ƷzWno\؇'a|mO7b@+[E4}C H;Joʇ.m Ot:%GvFp{A=54r9r悚wB$$jRM(e0Ѫ *Z;Xx~|y 6qfVdDZ;ȟ^> = JB) =堟i3)"!9b!IAα 8Q0$Iv7캘ڜH| c֣y.:xs7_߽y%?4ňB#\]2%/μF`$j{_x42q֏yCӈ $LΏLCPL^u[[,b\t6MgemO aq<MY-fMx4y4>xf-Dxr ֣ >7:cn8zYecα0^J䦐LpN/vtĻ UgW?%*،6sVSb)qt:)TXM_޿\l(cw}%48:|x.7 fۡh#yKDu$ol:3P6 nFHy5qr DsMDYr3_&pI%c/ _wIzP9fys0GǼЎ> 4q=lnN2Jpyh u=r1_AmI:cqw=fcn|vK#!FO[S1} ŷ04'=z&. lv/z8]7ދ]fSkއC>?CqJzw:6ޝF.wi$4cTo= D.&ƊGn Ƞ}YCA^avG*DUWs']v6 8T&(c+vkgnIp]Jtگq0a/C4<9i|;ziD N 8pԸ2+:[ȐXKB=`UioБ2Cf:>9"w|&YvL#g vpRґ 5I 9VÎ¥6N3` Dz Fv:bYUq,oïȻwz\fIfFTx>M,16#[X==8? M6Mt.%~D *`-*~8Ѽ`jABJODX{&ZxKǠ` pq 3R'8/u.7iޱO_<YLp?G̿{ /S><%iάH}qQ+[17(q\hx5t OLF bE0ԔXbɔѓ"D *L=};4 kkZ(+NԾB0rs2oȲKS,amrÉd=DQqhr$=uy,cLɒi!sLH 1qHsZ&~- endstream endobj 1763 0 obj << /Type /Page /Contents 1764 0 R /Resources 1762 0 R /MediaBox [0 0 612 792] /Parent 1768 0 R /Annots [ 1760 0 R 1761 0 R ] >> endobj 1760 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [258.909 582.23 430.485 593.139] /A << /S /GoTo /D (Conflicts) >> >> endobj 1761 0 obj << /Type /Annot /Border [0 0 0] /Rect [233.107 231.709 353.378 241.709] /Subtype /Link /A << /S /URI /URI (mailto:emacs-orgmode@gnu.org) >> >> endobj 63 0 obj << /D [1763 0 R /XYZ 90 720 null] >> endobj 543 0 obj << /D [1763 0 R /XYZ 90 720 null] >> endobj 547 0 obj << /D [1763 0 R /XYZ 90 280.232 null] >> endobj 1762 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F4 1765 0 R /F54 1750 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1771 0 obj << /Length 2307 /Filter /FlateDecode >> stream xڽi"(P 0$g @MAW@[0"G"(/B8Ǜ7>& ݕ]TP&]վ eU$#wW?]eXFwžYvRʋIz?u|s55qE^W4@B :q=5 yv+ӹyt]%k$+dՕju#0R$]֡r'dgG1[i "`xFyOGY`{xa4]t'^ΆW  t L5q{QV?Lw58->R4 tOe̋+d3 8{tQZ?lk5X ?52<䇋iyRϲI4!PX0؁YuVCpA+&G3=3/ܬd9ZTH\y#yK2lv> efij @I/9aVˡj'6y`#A P;} 1M6dSIZ0Zћkh-4DF.Im 9n\7]*8GyN:],9!HHV4~Yl8"`44Y-J߻"aҫ Pg"O @HRތBɕʶ-*zӥyD./5u_ Eȧ@qī8\-m؞p& {='{/sٌ@f7hQ$Odި:1t9KH*KWMk0 %;nih3]S3 ,]cl09ұ 1n L:ZVHaUd2A8"= sRV5[HMqx>8p30&"OzPY<0?-*tA((֮)2Iz⬗| %A셶, Gd43?_o޼acYNRF{(e0*jmmԹs Wa5To4(jVއi4mKZ#J\9~uL $\;pxItP^/UQG}:%Kih>cs1~[%X9S 20L.rXULQ=ggp3UU|y! a8 T3Rɵ@y4Tn9#$ =g4VZ^pI.TCsCQZTXGr2{$ }9L G!F.M zXܳnu- Ei鍇vލt11{+6I%Bax{(,|<a +.6K%I|Rs-˾xrcLV%6Q9/ba9f> endobj 1772 0 obj << /D [1770 0 R /XYZ 90 720 null] >> endobj 1769 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1775 0 obj << /Length 2317 /Filter /FlateDecode >> stream xڭXm۶~B3*5QߜOj\{Q餙"qН_],KOK`I볻U(bV&o|`'7:+("T׵ݚ{/1O=I|p^8=A 򙣾|-rϤK";1 xg=VuMts-LNN^G9GAV>[M]x\2L9N8lJ+ֲ@a5z;]iFg:"x @F0,c&]Gܻ'S5Txx2$u1XDDU pe="Pȹ0Ard{[Gsڮmd德k[U`Kx! a|7@MzZ2Zh mq r=@̓A)27Z@6щTG+=|"`|ȶ& @TfpytaW"%ܷu"#;"yE~(Gx8uj|n31債HumZ!6U&48D!O18SަA]luy:T*ْ¾`LiN޼98+,:ê5X3uWP8BUkq_[Q8EkM~T@3vl{&|N-.%B@:+doU~e\OM"5l6b/B<>j pXĂ&fE*X(RgD@,ds,nӢےØ?n7o@,CCA)CTVT*qsQ?B>觚ʨ6Gh2i&Q:ss h%~u_o?|4d<ZvHtXCS߆k:c hP(+"ʽ-!wO.5 >[5Rʔf`D A6etY]UWB;`0MI}& Q V Sx* WЌ6Xa`->HmO'˭.)BloEE{-Uk5)3{sU'=}[0/H?6vC[ȇTh/)?p 0 X( YfHϝZ g R0 #Td}]}) p ;`%OqnEP #6 夰ڡ3h r*j '0ڌxU-;鱄VYh 6X.qxiLLҷfֈm>v3݄2;٧Wwnp/cw (zl "IR$*o,yAHZ&6 .Zݹ@|08y~hTsD_Fs+PdcDH'1b- Y0Cj| (VtZO z(VwL \;lJ|>Ti⡫3=jqVZ> ,Q=AE[dZqH$'5-Iou(G(FKin guqAy"S#pE$a5rl[a-ݶ`،^抄iX ft@Xח4kYc#x(WOLP8|-k\W@E~-m*\^e<M[oD|"mJ8ApT/£$ 4t4 endstream endobj 1774 0 obj << /Type /Page /Contents 1775 0 R /Resources 1773 0 R /MediaBox [0 0 612 792] /Parent 1768 0 R >> endobj 64 0 obj << /D [1774 0 R /XYZ 90 720 null] >> endobj 551 0 obj << /D [1774 0 R /XYZ 90 656.301 null] >> endobj 1773 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1779 0 obj << /Length 2289 /Filter /FlateDecode >> stream xڝXKs8WHLx[ƻvK&Z-)QKRv<~F7(J+-Uh45"O-tQT\W>]) g]}=S &UZÜz-O,[uKmvK]F#ScX/t?~7ɒia⍴^"*"m^Degt:ln Ud3 š nREz\alɖRFk;!Y;fTeGs nA.gSu<7B;ӭA6m"$ YL 2P·'E\ۧIZfD&z+hMU\kh}n͋^w%]s/ t))3Y9{)q/͓a#5?qALy9jwISl c)vif\n8Kk>ɽٵAo:gݮ}a<w3ns }Oh2oG(__{?yu_nX8tE!&EWTb!ONtxeE P+@Z {@WWefɽeͫG>Xˑ݊2yuیP$OdzZ*hCṾG,1^ڋ=SIf@zgq7bLIݲx{]&W$* _ͯ_&ZNw&KX+eϳ;N: 7J#[>pu4&uav,w׬A.~ rȯ8٫.*LMo50 5GP/hL*gSF:A6GM%O6IZ GV ΢;a4hݳky+]֭: MTCiyJ?tĈnt?FOln<1:g !F'9b/9SBVتukK*<)qBٮkṄVHt)LzS!H.zu^ ¹A$5?d r=#m΋iRd(~&&c@ψ/t ,Pn%h,)Yo7@=J;~ZXBU̹Iav'Ҟ3"_恝۔vnPxsz % ia P=}P5ep%adWK'2"Ch)f'ˀ;ٺ0tׁKӶ4dNH6n*.7Qp@遟[{YE_A0MuH'!2%/R|ڀ|jKk!tQӸ`ai9 R.Dp5 N=H#G:6/E+ %eAIUV]6Qv\5}gTR)d81w@2~M'eb 8WLE<)U@ ]z %q wTY$E MbMToj9rO&V XBBMp/A+‹o[ı-_$L3K-ݣ;>:ya9DG\ 3G=*1pkQ1e,{-' `T RfXfdF +l ^6iuc=FJ)Gm|~kdC(jn?_Pl}OkA@*/jx۫rA Ax kiy $e ld? !I&2j|naVMƫop.ngckXeei'Ԭ(8᭳$U'y`7g*5 _m <-s0̏\MJ;t Z ]ǕǼtdv 9&/Hj}.\XysL&9%@fU@%N6NU+ԟ\JO H>$|(W{jB!aHW|3u$ endstream endobj 1778 0 obj << /Type /Page /Contents 1779 0 R /Resources 1777 0 R /MediaBox [0 0 612 792] /Parent 1768 0 R /Annots [ 1776 0 R ] >> endobj 1776 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [306.267 318.051 472.739 328.96] /A << /S /GoTo /D (Clean view) >> >> endobj 65 0 obj << /D [1778 0 R /XYZ 90 720 null] >> endobj 555 0 obj << /D [1778 0 R /XYZ 90 720 null] >> endobj 559 0 obj << /D [1778 0 R /XYZ 90 624.367 null] >> endobj 563 0 obj << /D [1778 0 R /XYZ 90 506.976 null] >> endobj 567 0 obj << /D [1778 0 R /XYZ 90 234.008 null] >> endobj 571 0 obj << /D [1778 0 R /XYZ 90 205.747 null] >> endobj 1777 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F54 1750 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1785 0 obj << /Length 2432 /Filter /FlateDecode >> stream xڝYYs8~#U%b>LUNRN?H_Oꋄ%0aa,搣Bo7mmG;eMyuE=y+ CњQM'y @Y,eB 4 0%(]3!3dݙ5 % Q0'xEUSgp׃6GenުFVz`YK+Uݙ/inil*zY&{!ge<2 #uW;}Ye%#o]נ0h&ep2'07e[8Ot.w w4~*2";59Yl1|ڜ f2E%{f hJ9OX Z Z:<7ҏa _҈6pE('I|"uq{\ԅ}AK?2>rБ3[F5.wSwYƌ[JcјX[/8pitlHvf~s} ~ެ7퓡{<ߟC` _3"9VF,bK(d0X{.[j--]gcÕ=HdXOk`I2Y)xZkie'/izM4 h*%3oyU[0gw:=hWʖLum &'SkP`2Z(9 z~,`i ;<)$ oLINbk ~xy_zCA:V| 18y5[p?ϴo&i-Ž?/N͐&bZ\gd f^: LLл搵4$##fqѣ=eMӸkr3#%W0$p &,\ l,cq0tyC;3DŽ!9B%% E4r;T2GUB4x0T;e6-{(b!rs<#@Q^Ë.b>.!d|׸SLYNtqH"~y3ZyI`F@/HӉ#-+"O Ix)E+|NTWgE3zV+2 TŝITEh|2 J6L+'6&Np8θ;ԩZuZp}5a6'FɪaH2'ZB>CƍʥAݴL'^dSD)lii2 KŒ^5Cnz^`v4&5VOl;C>"?zW\p~+׫W")@%;"bcNc5Yz|nrij/*RC%ȧ9Ievz#*;p҈-;<ܢޚW0T0r4^EoT\_.<˅5=L'] ̨5a}1]xV6hf3A] #Jķٜ bJ&퓋PYQ0_+l$_P 7j򣓕e@eNnW1rI=.?L*zqfruDLELCm$*-)_4n4)ej y(,5͓7$A)vY~| ;Xӻ4YgV\mz*[6alҚ(@Y]ÜX9oMn6~l m}O> endobj 1780 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [340.99 395.894 504.169 406.803] /A << /S /GoTo /D (Sparse trees) >> >> endobj 1781 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [270.953 382.743 476.357 393.652] /A << /S /GoTo /D (Agenda commands) >> >> endobj 1786 0 obj << /D [1784 0 R /XYZ 90 720 null] >> endobj 1783 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F54 1750 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1790 0 obj << /Length 2423 /Filter /FlateDecode >> stream xڭX۸@?TF#V}KA[7"ZKk"K>=~ádIlb59grxE³/]@p'w/} 7~Jbm>:o˛ۺZ꭫"guosiUmUtvMTtݻow#/R_a0pv-a5s/ BTEW%؉h,/Gbe)7##>W8H-ɗQ[xϞMg=p,P81χ3΂ K5xՖ$p|ds҈ YX]}2<ʢ[ަnYo V3 E1iLjOp )6 X{Fcؓt_W'c8lAVn`/Pӛ"4t` u7]vn\?D\EuI|-pb 6}ާ5e`]Ɂ~GhdYQ,*bʚN],v#/ǼjA/~|+7AHDw_nw~=>P0y(˚a-q]^u3uX_ҲH:Xy":\k $s F@h u2š"p|__:b_6*f6h~ Ag}c41P/\k?qC^e)̛BGq755A{v+bzg7 >9`yflK-'rf2KnQqI7K ]r9H(W)EBj@Bxf[ߓ}4'Xd0x#{ __ @U]3Q8ovY7F~`~` 6ϗOl&,{9k{WG0M"}TҬfPXƃ}{\#%00Ǣ8 -LZ׬󄔇Ȳ !g(,)-)"w{.{z\VcsG3Z-g]EmsгFQBAw/yZA6K%)CA PBmCC0T`J4)J'z<<[)rEVV<"Mm$[7/B&K!%EMB88r.wqܙB<~6F)c9@S:x?5UgH$DwMB& 9Բpfˆ f|߷TW+$>K(i K\ˆL5l٘Ky XgEѭi(w]7\_iڵhSDg^ Bào|) hJ= A 1jwE ùgE~_f&q29,ȸ20Nv $Fl]4o۱/:MYKz2GjGGm%BxoL[6l.}}:7/Ɇ4QAɠik>7Oں-s~=z}G7U,RE'N_Ed~*:Jܒu~2xdV[UWBy%m2MO[-ו q'\"Һt;[mA4m(F ^S~U IjMeճ V^&@}P( n iӉ2_ViJrx.,S;TsEԜ6+8ü2缤n3{Zp]hS`34Ɏ3(xc[_5?O(4O&Iyn}7ӉnBh(HWm.a LqED sRicd:Bؽ?{όFWO Dk!g8̼f-8Ӿx I3$JxGHH7ѹ`TTC13Emzu:ա4Pg@uBz\"l"[+*p?h}Ƹk$ŌsH4Py$tcqfNf endstream endobj 1789 0 obj << /Type /Page /Contents 1790 0 R /Resources 1788 0 R /MediaBox [0 0 612 792] /Parent 1768 0 R /Annots [ 1787 0 R 1791 0 R 1782 0 R ] >> endobj 1787 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [392.376 524.111 522 535.02] /A << /S /GoTo /D (Properties and Columns) >> >> endobj 1791 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 510.96 180.356 521.869] /A << /S /GoTo /D (Properties and Columns) >> >> endobj 1782 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [241.731 76.152 442.51 86.613] /A << /S /GoTo /D (Speeding up your agendas) >> >> endobj 66 0 obj << /D [1789 0 R /XYZ 90 720 null] >> endobj 575 0 obj << /D [1789 0 R /XYZ 90 720 null] >> endobj 579 0 obj << /D [1789 0 R /XYZ 90 445.1 null] >> endobj 583 0 obj << /D [1789 0 R /XYZ 90 361.655 null] >> endobj 1788 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F4 1765 0 R /F52 359 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1795 0 obj << /Length 2372 /Filter /FlateDecode >> stream xڭَ_PIجEGjCZxꪦj X'V&]J%FUʫb6H+6՗]umR::uXv]2 rv̢77~@VnAN/ Fxmu4l}Vc #."~s- c6{Jlo|Eaov5@/>-wS|@Mv==};̖Sd,Jd9:zșPڙaDTDgj|匒FΤ ՁuoN ȡOl ˙Ncsѻf_R{9?(LRHwCEycǺk1Y-D}K$!3_WD\:d$e* R&XM.p,zD[`Lo{|K3,#B6v1J$Ju;y)u?}7hPw4rbY3&kUKL]˃1!pBXyctNfԴ0͙&_LL"DZE< QfIZĘ♂C9 ?-2mHR6\Ċ8wB< ym3|0VM3prŨtz K'"]hkś~(r\F&%MO3ɦX9ԻKLh{V4&R x_?A`䐝l8%ƕ1q9r|+x_O)%eb U5L#!Qg@Q4M^L; +Fc_,Ǖӛuu>KId1=ZfyS/4,`ɥxgY30.G\~# - -4N\Eh =S3~LDIs).)Cy /T;؆ ANl IHE>|6M}@3g] t!{=yprp2jO]4ϥ5GZ-:WJ;8Bu!NrJ%,90jjBOuj]5LV O(+3B$O}S!Jr6Rg"E3ept99 H[$c=9DMǴIKm\V$]IxQ>SIH+Ȟb'qr ټ>\X-Ss-kW$oq<um"%#Mݤ5? f*8% (|/TV] E(`]Χ)v#m"Hg* X96a)LH\;ܮ8A=w+FM.Ut WgB/? p4dw F@}#YpTy @sPW43(!+ϗm=}/FIBmDWC<-72h/U 4YO^KOYg H)+2,lp)sE:PdĆ_Ջ#)Υn/zɻ 'rX?'rS"Gꅵ6y\>[b'8K[U%.{G 0 S'ڎ G}gG1ok8H8=ttz>vxT{Ԅ^F nS[ ~WYHj*2B>޴tNB˂2pE.Dg?:Rl@;vNj;k_HolmO kWZ|cx߯JyIZO"#@Dc4L9Yju~>{1iteDRɗjƔtX AY}~+wɠ-V%$!g\s)kk{W71EIpÑpX[/9j=&-ݡ9TY`Ƈ1v?V ? endstream endobj 1794 0 obj << /Type /Page /Contents 1795 0 R /Resources 1793 0 R /MediaBox [0 0 612 792] /Parent 1797 0 R /Annots [ 1792 0 R 1796 0 R ] >> endobj 1792 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [410.451 467.42 522 478.329] /A << /S /GoTo /D (Plain lists) >> >> endobj 1796 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 454.269 185.089 465.178] /A << /S /GoTo /D (Plain lists) >> >> endobj 67 0 obj << /D [1794 0 R /XYZ 90 720 null] >> endobj 587 0 obj << /D [1794 0 R /XYZ 90 532.717 null] >> endobj 1793 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R /F4 1765 0 R /F54 1750 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1800 0 obj << /Length 2170 /Filter /FlateDecode >> stream xڭrܶ_p;&C A)ik'$)ErxbIs Ҍx!,Qd*(WY}% իŅ,~M⪼ջ<ǩv~EW*;_j›wk+L1ii`C*-'ݿL,3"cv3vT"R{ TFb*҄7~eSe7eɅ/@| < Ї*/_Q+̑U7!^BV-h-q?zB$b8b >#d.C|[ Of5t%$_(6iɪ"V^$Z?|mi͟/7eb7R-]=:էG +{feqg ,D#o~!-'uRw[+1$8%Z)iҖMMWO7Pa%FpWMVVC* gjS^ϏAa=ray/Hw4q^:R򧔟OUـ<]4 ˝}f9 cVlb#5xlj!u]*&x{a8ǫ}Ϝ׏ wKPWkwuVe iLo򺳞Ĵ̳>.aԺ7hL|&mFISM3,'rxChr icqr^4Z].z-;?)ncqUkn\h/[ѹ$3b>_4P wr ީЫ*0unR{(Lz-5v~=p.`Ys%S+&m5ԅbPgfuϪˇy@^3uN~Qͦ`d2٣[LJglHJQ"[= /F)$x=3V|^ lsNAPi~R MKhncnWT~p (WQ%f XOu߁Z& u%-oƞYQNa̴2LkPԣa-V J ޲m:ԾuTwܞf墌fvoi@~pAS߮:;n)J Rr qGK+h5W$71Nck%5I6E2JI~?/MJ]9qH#JfL ,|4^)VpS&id` |.CS*e+E>7>Qrcpa޴Y$JodbgΏFlCY:4XHtcy&eVT c^,eJ"=QK`te Ļ;?EۭR<Ȑ[1[wlH;~XZ-<#ҙ:?:MrAZȳ?-ˎ³#|4 }&wE75A5>6D 2r&a_)cfe̗"|omf.Jh›D|!M&"Ӳ!WEԧR{+)y=:HP/IwG0&q71g2&7AKL"H[n͵V!ls~kV!]w5Tb`1sh endstream endobj 1799 0 obj << /Type /Page /Contents 1800 0 R /Resources 1798 0 R /MediaBox [0 0 612 792] /Parent 1797 0 R >> endobj 1801 0 obj << /D [1799 0 R /XYZ 90 720 null] >> endobj 1798 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1806 0 obj << /Length 2814 /Filter /FlateDecode >> stream xڥY[۸~ϯ\Tn6@ml =VGg}υ%[ɴ(rxC~jOlx'ITb?Z!31c<^tz2}MS5}mricH(\pY&my 23I$R>p4|}UG'5u%wn+"o%']5wCoLxc8'9ևX^mQDeYx)4aRdL2!f=mxY;](t9ԍY;F<@=c4!Zlg\0[pk`jӛ+|ӠqX#NIDi0LHfQ1i oY}N4( D3J偐$JܙQ0˳~rh*խXULQ( gdkz*[H IQ!& Mul"J G$eYV~4lixM.h4=vS^+tK4q9-t%ISz9mTp4.xKmi[ ǺP h͂dg*3Gnݴ~.ǭS{ Ny@QȖ,!vNÑPW˱f9hOW QͿlaX$u>\1 D i[i:e}:c '>[?Xhٸ rjlLvAu}$Hpw]_tb+T~/pm(?1vonp8"<^ ݊`K潠a0Qv .N9mZ9RW2@*V&E _k}BqRJ2=l8P)4<"'nԍ7/%SCĤDe PDTdB~YTX۵*&5IZ3@W'T S%Ph:&@p[I." &]˅vwJR ),Ş).$]t7oULFr*WjpWP3y}qpn4ǒT\EE@9-rpý|ݻ/_ -]SQU7:0r|/V}7 jA7B"`o!8 Xt|]thxɥY;]Ul;"ÃdQ';RE,G*R9> endobj 1802 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [383.576 635.494 522 646.403] /A << /S /GoTo /D (Refile and copy) >> >> endobj 1807 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 622.95 183.964 632.101] /A << /S /GoTo /D (Refile and copy) >> >> endobj 1803 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [111.879 228.268 243.182 239.178] /A << /S /GoTo /D (Tables) >> >> endobj 68 0 obj << /D [1805 0 R /XYZ 90 720 null] >> endobj 591 0 obj << /D [1805 0 R /XYZ 90 215.588 null] >> endobj 1804 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1813 0 obj << /Length 3073 /Filter /FlateDecode >> stream xڭَ6_jv-Y+ul  gY$c {Zߧ.RRa7Y,źeڔ&O4f{x 3%|2.z7'q]o>yU$I INW΃UJ.16RW>{}Iݬ0Jnx`9vb(.5P'Swm8tʎ8B]-J"})t841$bk ]kP6Id[K2UDxPH]#L(^(G!bݪ`82i:iU$ZG HoK"ς t~98 '}/py,Bf ŶeСo{btW;^Bãm % `7G5Nh_M-].ɾZ wMܴ)1DabhFbbG YZ Y ǁe$xb.c֌zA`U'X|56IQkS,l$͆_+ |kD;4Pk=1`0/#o#oHAGvU'"Ar㞧 ]4̐B?H,=ptBB{,8۝ږ5#cz.@Fu51Vs7eS/&8ݷXy.f|2<bЯhSL²>(+ n?bЋÌ|S`̦LayHN\|^ƧМVeOz_-,TǺ c?rf*br_FƘ&E)vU?p Y䪫n;ؑx,)Jכ9$䶷/#SSj sd`кxwhcgv #Ny=҉ޘDeSn(I% g+U%IvK@чmEK9b||!&7fK*[)(ʤV쉒a3\#@*bEVeVu85 C)Y !)5cdR:)wυLR9r 3YGMM)ͥ4'k.[\Md \< 8j\\jRW fTLKIZ8qܒWs"ʒ̡C<9Ǯ\M@CM`^ П*~`Lw؀{<_HTPџWnax[09X ;H%.2 '|c9^o`X,9\pdp3<tI P'FяN1 GIU @^m/XjaP->Dfflb*O4x@ 7>"':e{OJ.2e HϨpUOWJ!ǕJ*5]Q\ *ɓ2xa'04"4bͅHkȇ E^wkL'7K8ŀ0H%>[)^z<0SE %N}5ض5>T /D&u,tmu؀4h~XճJoǤ\lֽ)Ӹ>A95: ~v 6ڶuƒtdoIz _>P[׵L BɽUIA6P\a1Z̃ Y'ҫRH_On8C^IG.I.+72f+%˘BH i#*_po|IlBY ˾tgϠwİ*X{+buq`Fڌ'˧߯1B~ΐWoI4s5#pۏr+d)-rpsמ%1lՄʢ}>8j`1xyx:ڧԖRI$%X׶vY Goxٴҥ*jEK5O&.}ّh7\0ZMEgPHv_ED_M+!NTg&8 {V2}$mC9Ec-{:ͯF3 j^H c QewE\.R1hਸQ`]^W5#b|Ά:nEX¡ÎsȒ(uڥz[ǦXFjb YRB(E'G^S5A%ӲY.xe .< :+C~N/= xC|'T1T50n :ОԷ[;b"sL\0r[=r gm+JԀ<4cYCxGdj=]ũhn> endobj 1808 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [422.232 432.239 522 443.148] /A << /S /GoTo /D (Agenda dispatcher) >> >> endobj 1814 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 419.089 184.939 429.998] /A << /S /GoTo /D (Agenda dispatcher) >> >> endobj 1809 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [357.927 226.53 514.727 237.439] /A << /S /GoTo /D (Checkboxes) >> >> endobj 1810 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [358.316 213.38 517.758 224.289] /A << /S /GoTo /D (Exporting) >> >> endobj 69 0 obj << /D [1812 0 R /XYZ 90 720 null] >> endobj 595 0 obj << /D [1812 0 R /XYZ 90 275.355 null] >> endobj 1811 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F4 1765 0 R /F72 7 0 R /F60 13 0 R /F54 1750 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1818 0 obj << /Length 3444 /Filter /FlateDecode >> stream xڭْ]_?݌Ⱥh  _v>3Pc 40#X8@; iu#G )ցj<+ vx{JWM&qY3 _g,:$iy.E?;QIW`K^\C7/ V!.fLw<~+Ȓ63(S0CssL.fsSO]f7Z˥<骾rʑAvQ CBzmj/EFòb"Af9 .Yc@J৮m/i_ 93S-ɑ?c]jVnKzW!bwB *tC_U83{]HB)=M/;yPU)SJy ie{{^<ݞ89HTK+) lTU; hK/90pҁ S#H|nj%ѥ3o?jJz鵫@"jA:>svv4yw:r@uF"F"fAx>GÐ`?d5&~ͤo(J]^eƖ˲ri \0 ZJ\(QrVP)גqχWЩKV:շo/Y40Δ`M 3[\L=/\BR*x(ӵm#MYb0Λgw<@wA.‹l =s͈H>P沠w[i41+ g.4t*|yAB곂ݭ@!KFX]^+TԴ#!eMEmBω!L͑xMYwf[pq-@8lCEk|G6"148\X&lKU]8c-)lƅiy ޵h lyn[B$s!)Hcyv3 )4.G1_[.B݉oZ])w'Ь]J1Zbm[`xcҁm!"̽4 =YK#ðYX <y& CȲ|æ/pmm#!<%' jp!YJT=+Ǯqb@JB(|G۔D>cf2ퟛ8:l㌉#4k,-}i H%+7R~Z1)q(?H_zdA[sNųr,pVFcHDcM!!\F /u8 Sy^J/O&e^Ѱw_V0лP>o ]Z,-&EMYvMˇ=pm+%ľ:@]bˁЅJ)9JI3lG!\܆ 9u%2Sڀܰ*؍/!p݂̮):#?W9)*1ܥʼnylE%R4l.4 K)~J:=mH6CB7j&a=zzDTVk `%@ƽ o9p|t2UQ*xV^Q@{S-fC1(D '@&+~NY  CBK HEu`:8챣:m}UY}' 6z#o>nSt:}g } N}tG jsGCq굎o&&bR=cԙ3zo[bȂǎ>_)q<5Imc>y#@́m;1IAd endstream endobj 1817 0 obj << /Type /Page /Contents 1818 0 R /Resources 1816 0 R /MediaBox [0 0 612 792] /Parent 1797 0 R /Annots [ 1815 0 R ] >> endobj 1815 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [325.556 299.11 485.041 310.29] /A << /S /GoTo /D (Exporting) >> >> endobj 1819 0 obj << /D [1817 0 R /XYZ 90 720 null] >> endobj 1816 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F54 1750 0 R /F4 1765 0 R /F52 359 0 R /F53 1758 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R /F38 1820 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1826 0 obj << /Length 2924 /Filter /FlateDecode >> stream xڝYY8~" F >1=7 .)po^%L}yv! wYF,3%#ǫg/&jFo[\WOCqm8}M+G>ʽ9qa!ҙRt= DwE:PfqQkO gzM=8JfYr ~*ݭuGany`!{ݵO qnybZz{H{e*}:44q:It>|8P .~j T c꡸i,N4亭/u5MCrcї-hi_|G*nIQ ?nGylb,Zh2k*[o'Ml[TMʬ_h4tNMبxB{k u˿?2QM9CG`h+Z-P/ʔvdckʎE T7X$S2˗}d-,PQ.dye->IMp*̃\enk8Ja1\FgAntE`qݖ*4ݪnG{[%jyPi5o5H6"&JxrB.W=H GɁ CT<%NO/u7sAZCjC=^#F|%G/wk59) E[w /gP{ em!L6`'tS7rԻ)H'Lu^z'v֡+,H)$I"}&Fy`{vcB6c VCsv8H,A$6vpHJ08W!wQ6xf=Yחً8ǥ~ #E62x$Ì2P˼ rKz-TEAƒOWCwsP:w`.厓$0Zė9)Fbc(q`uX icdqُuUQ&i҄# їDNBd%z$é-4 y"%e\bi* ZĚBBrJ䝏<Y{#y_ջ40YZ|**̱g>+9hՖf (3}A„\2;W=nJy-Ezd9/RR գ\>M!-6Lb}MpKcL_;p~Gu] 3RajZιd'nO5D.0F]O$R(UM@H:u~ j`djnt79Uy ͺs Yg Đ\bωtq-. fRI{O?iQXQG[ҍR(n7px0Nat.t`BEq[Ըkdl7[S̝-#8Үb7<: O#5B}vIyp.}`#]A3|FGrsn\4c7>l} = E](CMf;O!p 2 u9C1J۹dbt~FU苘OYq;3~R4}; g5> ﱢ2;qfw\,sܤ SZq=䘲$83\C.N*B62W3D'*IS_`BPNxC?Y-"j!u$P ԧţOq!E3Yrv'ɞ J $[4Fs'sZotޢ&DQTZ-^XQ=Xeݗ$@ƱBGD6֠! ^-*ϊ> endobj 1821 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [170.403 482.28 355.923 493.189] /A << /S /GoTo /D (Structure editing) >> >> endobj 1822 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [337.752 422.475 498.116 433.384] /A << /S /GoTo /D (Checkboxes) >> >> endobj 1827 0 obj << /D [1825 0 R /XYZ 90 720 null] >> endobj 1824 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1836 0 obj << /Length 3009 /Filter /FlateDecode >> stream xڭYYo~_1@̱\Ko때؀wK75Ù!CIʯO]cD 飺jŸZe*1&l_2Wo~JAfjuۮ>z/ڵoڷ6򮛵ow^+X`^뙲?0m^ DZ -R<77Nmq xQhͼPƦ^PNy(6xpk +˃$B 4 a`?!^K$m˦f f>[>x|/\5Ifsɟ^zAKf$3LeRe/^nxĵS<L3S0aH٧& A8@ƕ[:p̀"'P b; :u)-$sMOtD{QP.qlY9fp[9my iY~[Vy?U:5Psx5,ēǶZ&nc^qac@k<t8Պ!|̱2Ml|K5sn 7e$vcA'kv[h`Tid#;sD0薬! |#t)VlWC*ZB/Xo'uH=a@6d:HM2)vT/}̥"aG5V\g[yYbRKYLr@(-]2u,]$ T K;8Hҡ@!Qn 'g6Q988 &TH91pގo3 xs,R# tew˖XHm2D|-.t cϡ:aqR>Hp$Y%p606 %2=$ArnQy_vK[eҙnPxɨ@#E3vk Z ;ޔ9F|ಎ5#\fݎ.sc"I,z޶0Յ 5Jݠ,LQ)Lz=e!wڴ3oLhgۮ#pgti56Iw=0XE|(':t682Q2@^CH8^֞< 3DŽm;9]AIcH,I05!DexYg] 㗽ZO@ >Tձ<} u&lߜ6G%$PmOIJ4Pe}y/|s4T~v`Яn_/r~ ϱ!ީ憠n20,rHh rG N헮&r!81+/&16ǏT ixO$ʪPF)(^PiZP}s <߸sƝ/XVBNks菵9}=&Frh((ҟw$tbv--)H4{NdAejz<|镂.; D!QOѩ90n 7y]p"]5ba++Cpu[,cɷIQ+^8JxUc#"|4ðXe::6Ʀ8BؘpIuAE~n(4m8?a+^CYYp37TD# věbL&O?- ^":"V†8f~W BL&r F">KlH1k$[ 03) C|- %gd,8sWJGF0;N}!Wk GH59~ϢO1b~󞻷won k endstream endobj 1835 0 obj << /Type /Page /Contents 1836 0 R /Resources 1834 0 R /MediaBox [0 0 612 792] /Parent 1837 0 R /Annots [ 1823 0 R 1828 0 R 1829 0 R 1830 0 R ] >> endobj 1823 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [276.022 681.407 437.092 692.316] /A << /S /GoTo /D (Checkboxes) >> >> endobj 1828 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [215.945 512.499 392.837 523.408] /A << /S /GoTo /D (Structure editing) >> >> endobj 1829 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [147.6 467.498 305.47 478.407] /A << /S /GoTo /D (Checkboxes) >> >> endobj 1830 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [212.008 125.313 394.066 136.222] /A << /S /GoTo /D (Visibility cycling) >> >> endobj 70 0 obj << /D [1835 0 R /XYZ 90 720 null] >> endobj 599 0 obj << /D [1835 0 R /XYZ 90 355.543 null] >> endobj 1834 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1843 0 obj << /Length 2997 /Filter /FlateDecode >> stream xڵYܶb~2"Eحg$ @uwO8Ï N 73\OnRHuO/|><nzwH_~*7t}mV8%{Mv/w6ԏP ©n¼s뢀1taMЬ.PHd @sLS x;gG{ZL& RlbyǵiT*Y yyV5HYfԮzÅnzbBgfAf}氋Y6y_65 @(6RL+ZIok3{GA8 qx95j:"_(gUI( Da, bTǵshT+u:M ͂W#K f^,}FsˠX$ݛA'H>}ãY[hl'O ЉDZ(Qv[,67gb:=Sиc+x,U,dx׷\Cc J( b{x]6fVԉ4dz0xsED3tx9,}ID ?=e:w Ӱxb 5آҪic8kev_"f˚N j+zbQA::R.p$)(6Rk3#{V-_THm Ҁ֥Ju):e-0x K6˪.YwfECumN4Yy56D mbjW؃ٓL\J:R@$7:݄y-,\8wc kVod4 |RO O%'32/Îcz>W5H.k)stN}wՎ=߄or v~v`:X/\TRfX3,-hE0!igH<30$x94Ua>fC}!&Y [ud[_{^l1kΙ0Wem`"_xg5PG Ch .qNz_@zo`mXGr`ӬPMƇ0;.ܹW:!oT3ӫUw(YG¦إS,E80D_O_>@Pb[W!r]7seyGK7ҧ|n v⤧n Vs (p3_G$*ƭ\TIY7!~{fr5Eu=,Vj$y,5 -/LZ@Mh3w6 *Ѱ%}D~0?|*p0]ymGR'(d.xf4 U\=p2%Cȯҡoo/$kZ' kW/,qNYYuTXZϽ,:H* z|xn$:ꧧ ur"t!4X}ڕܥxS}D;aV+ę8;dK .-=(PaqJp-+gCRaRƒ"fd}UI0 At&3w?Vӹ$q Dv@.CRk5uίeGwST`T 'sS%h*H+,pﶉFk5 ܛ=%bX `pwoG_hP5 &3f8QɳPw<׈b v`G^s7Fs pީS7`=/YŁ]gCo4_33PdBtA(|yA9x.,ɑ\4.́aK 4wTB5\e+`8;v8g:qr9jJRohgSl:*TӼk4j`pQ J7?mqN1t/qA bv_4^]DOA#y68l6vmq*m^9ގd._I.coS R7H"i· 9E7 iј һӈ, w6 uRd]mL#_r/ R@=E jkQri'nZ{*Yqcn֋tr}xH 'X(#ŴeNe XRJp+Ƚ5:ɟV%Bq9AH(CD%tmReHu%*zA1%\Q!è Zz9ݶ4,Ud#hsIq{iJ*7+f endstream endobj 1842 0 obj << /Type /Page /Contents 1843 0 R /Resources 1841 0 R /MediaBox [0 0 612 792] /Parent 1837 0 R /Annots [ 1831 0 R 1844 0 R 1832 0 R 1845 0 R 1833 0 R 1846 0 R 1838 0 R 1839 0 R 1840 0 R ] >> endobj 1831 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [393.969 681.407 522 692.316] /A << /S /GoTo /D (Properties and Columns) >> >> endobj 1844 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 668.257 180.963 679.166] /A << /S /GoTo /D (Properties and Columns) >> >> endobj 1832 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [460.05 668.257 522 679.166] /A << /S /GoTo /D (Tracking TODO state changes) >> >> endobj 1845 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 655.106 285.638 666.015] /A << /S /GoTo /D (Tracking TODO state changes) >> >> endobj 1833 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [394.376 655.106 522 666.015] /A << /S /GoTo /D (Clocking work time) >> >> endobj 1846 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 641.955 157.481 652.864] /A << /S /GoTo /D (Clocking work time) >> >> endobj 1838 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [112.329 501.15 309.177 512.059] /A << /S /GoTo /D (Literal examples) >> >> endobj 1839 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 487.999 292.816 498.908] /A << /S /GoTo /D (Clocking work time) >> >> endobj 1840 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 201.887 287.749 212.796] /A << /S /GoTo /D (Embedded LaTeX{}) >> >> endobj 71 0 obj << /D [1842 0 R /XYZ 90 720 null] >> endobj 603 0 obj << /D [1842 0 R /XYZ 90 549.975 null] >> endobj 607 0 obj << /D [1842 0 R /XYZ 90 421.556 null] >> endobj 1841 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R /F54 1750 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1849 0 obj << /Length 2478 /Filter /FlateDecode >> stream xڭYKsܸWLU.HͱUawR* F5ԒʯO7ACJUʍ?)&S**tٝ N(oȍQ! ?$c8n*vjmgn༕y0~λXgR2~绿ߏ$q xnH*M~>4My2F?:؛CTC6_IPH&DCl'*C{󻐚LzSjv070NXP7G^\-mb=bqb0ٶ3H<[<3fgP0P!I_P@Ñu<|ڂP='3 ŋG,ʲgߕ͸GްgSqIj- g:S ]:eM&"PQHU@MfŊ$˯d Mžޔ=C?#iPW:Z<*t8g0xIfV*ܘX6ڲH`< kM|&IPvU^u,v%(c 2JTn'pB'VCOڮ3A;jVʴ#߿H."to(y~J}Dug y62cnӢA\j/'ݛjv4I1rLqj zǃ}ܣ?;1\^=qwcӗ2% +`('8.'D(#h;..-"*?ΧGCW~< # оpC'xx"HhЬ;\x3:"/{zM[Hș[,r?/JmBf*>t-;VGz ]܊ٍԄUc7iTd*GK78k@֡Bt8O50SU8J<ǺYqW=1 XQRH}0?xA3]{ s92HGo 7@X?x~xS:dq~w23O,B& .#8O %1Py r6h7|'!@{#Jy|2KxZu<{'l~.=` NS`mɣ|~5 AC]J2 Xk@'z, Mc*1yGaw8k Ys8C]EA\@ gɅD%e<:vWA)!Lt2LЕ ><߷Irk'rU-n W |D QuQ&T-PEB2/&.bs Z &.2a6 fZdlC1NmY$85+M֤.]3 vNo>.'ezZ'B_Ip(v=PK]u1፼(9MU5u ظc2{̫Lkz* 5±fOK_=sP "^׮mFT%*P_J7=Ny7'JmkZzI_> endobj 1850 0 obj << /D [1848 0 R /XYZ 90 720 null] >> endobj 1847 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1854 0 obj << /Length 2324 /Filter /FlateDecode >> stream xڥَ}+YԭSu`#F-%S*$n@dX~P<2)U!d#?|]*" ʰc}8O>QUG_xQxQ o$a4S5N$_?|83F1ްGqEnV$b7 8iyΏ\#^D#V޽2@[ Dĺ ⧹zDyBƫ^CژZƭ 9H;#XALkLT5/4}MHm3:kqAyy>V8)jQ0\lDڍ_AFMi@^B0*u@3~5`u)FYi.D{^;\b vA gPmȼGk8L/@K!΃N; aV$@nj׆G7{*ʮ/V9l6A;}n`N/֧G"G*(zFO_!D6zb`t2=A|:+kuS;޳l^dwkQjx߃ya:a5DV|=9d`$gO( "T%w: b?:V4ۊUȻ\:cojICvYv2rۥOL[:R?. =U^ NZ&ɽbfE8`9#}/%B4o"%퀫ts:ŵ%i[q"O}E AvjEHH=̽tbwHr6@$c`e$y-Det4~Z1o.a87M(rR!)fqל(uw~ٸVU#[=N낍`=LXoC2MBcfQֈ<S.1*K[vRK"+Ԇ߭8]QP)H  3kv^{l49:.e;,ς<ܪh6MGU1x-U5.VRnLIbhMc;սo۪>\=@YmԜo"K䣟nk R+[wddmlq-=D!JZjy7ckS,]]5.E=mwش ${̠8fԹy񍺠y,\$bqj 0PC6'kn$Q YnRab|F3׍D): ?p6"w"2\+Os.1L Tj`blU3G;w=w~כ~Dl=Zj_L8"74JX$o3R~횽]% WvzHy;N )sEGaVlj2p7ׯK nתnFTs>nTmUH\m3WDxit W\l%F-B}C qA @ 0(2Ĝl 9s6GpQG+)-] .;)a{1hKcUQBms"D6bpMK.kO ] :@%8U4wb@ϰ[Fp(  +̫¢Yqg(\k[2;(]ן%i Rm:櫛-x*+ϭ|iϞS;Kb*c endstream endobj 1853 0 obj << /Type /Page /Contents 1854 0 R /Resources 1852 0 R /MediaBox [0 0 612 792] /Parent 1837 0 R /Annots [ 1851 0 R 1855 0 R ] >> endobj 1851 0 obj << /Type /Annot /Border [0 0 0] /Rect [489.677 380.345 522 390.042] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/dev/org-syntax.html) >> >> endobj 1855 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 367.194 129.639 376.891] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/dev/org-syntax.html) >> >> endobj 72 0 obj << /D [1853 0 R /XYZ 90 720 null] >> endobj 611 0 obj << /D [1853 0 R /XYZ 90 720 null] >> endobj 615 0 obj << /D [1853 0 R /XYZ 90 414.807 null] >> endobj 1852 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F58 1759 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1859 0 obj << /Length 2833 /Filter /FlateDecode >> stream xڕksH{~_N[XB3#; E]]WD+I8闞I?x;W.늺 \#H ԫ.{* \ڢz`t{{r!pp+Ox#Eޕ7 ٛ+w.lLX#oB& қ4$1(;@}PvpTzM ǀG2Eǿkx{NaSs=Of5[E-GzEigg 9 ?4^ՕOGFGbXty fGvH5nG D -yMgtSxO CflA6ŷ&ӷNqe[mj5./h9 14RD R ʊ5"eqY tfQwm3/k(ީx8ec-ky<+cEz[i q`3 B޹U r0W~=ή|ftґY$JH;H9"m'A眹^=(\jrߕC `DAr 8SΣ'\/|"c+(u_ [nX`ә$ȲW'^_kL'fP &dz3b`02qLtTU,z2Q~pH??yH Ta9FGAA{!@o_0V^NXalׅXdspq_5I'i =w XT\$W,BnnP12;0A2ėsbJp&aF7sJUkqps?<`I±H:ez``$T Tri&PrVP 2åc w_#(db#;G|A,TNy]*pb' 'G[r"9DQ|åKW#H}FZ葙~^>\Q<85gf/'B$89#f%2 $ޠ/#l0h"Њ*.7fnVAR9>M0;VHƳ(t&aCj7vp.iL],>_I k'5O<4F>*3GWtSO5C'CQt3gL{K% ,Zrp;2ũh TɄ* Y5\b JgdӖ$4D;/V:_s++zxvݐ?cdE<՗9Tae lQ `j܉UmQD+*~;)~I[xF^9wOOySd8m&bTH|'9Jy 4Hz3BV 6Kx+|w.fGeAaѕ`Wށ2e9Ǔ\پR$)V/0`]Ta*-T<?U_1dtE?'N*役tXt+9A؎UͿ}MEn%(QfMŦ&!:gȷ^ Q]HƔL/Q>ȴ:z!I:$÷!OsWީ=I6 Bdbp_kUsl06$&!Ntɤ}+*x/8Ƨ7_8YQeǟZYy$l_δ[  *= dzq_80IW+cz Xuo01ԜW]C^'gݢ;+Ea = %6(ޫb)@fW.LB+}~x~// %_ endstream endobj 1858 0 obj << /Type /Page /Contents 1859 0 R /Resources 1857 0 R /MediaBox [0 0 612 792] /Parent 1837 0 R /Annots [ 1856 0 R ] >> endobj 1856 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [267.182 638.855 499.445 649.764] /A << /F (calc.pdf) /S /GoToR /D (Top) >> >> endobj 73 0 obj << /D [1858 0 R /XYZ 90 720 null] >> endobj 619 0 obj << /D [1858 0 R /XYZ 90 720 null] >> endobj 623 0 obj << /D [1858 0 R /XYZ 90 626.247 null] >> endobj 1857 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F55 1860 0 R /F4 1765 0 R /F58 1759 0 R /F54 1750 0 R /F53 1758 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1863 0 obj << /Length 1581 /Filter /FlateDecode >> stream xڝXm6 ~"Z6 u톻 DcӴ#Eo@CID>IQYg"Z7|õ@4ެn^;v|X?]rhj<ϳLZ-#a%y'}u~_g1qn;&=A|RW aKzF 6#(dn ڲaEa|'$=cƒ\n Be(KvKrFϬuci/ 8FuWeIHԾ'Z:-#ϲpb~hClʇ'6 -L*"c=s 5X|V"cr;)g<7c~*O^܍ĤHIh-i~5 iR{@V_Wxk RHʢŖʊ2 Nlh"a. ⮫ WKu#SgM=|z%Jm:)Xtya>P`gd'+7?-~?[r3(cUeIΏ[,u.~N˻8ZIJrq& Dd _c Pϫy oe,;+gӖYjfEU͵?tmѧᬞXMڤA ('}h&,:gA@*ct i.l0tf>C^ ].Մ®%%z l'pm1&Ŭ~lG~0tM8T)G:%`9t='\@t^GwW=Ym{9\bAq#-YO4JkBN#s2@TviޱtŮ45;ʥ=Bˍr%zaGL8/> אPZzO#Z/Hθ"[ZRfF<FFU_y(g B(8w oHQ-僲JN$A繂[')] -loSmS"uࠠk5UKkƦ)uwKIk*߼Cq{})Iu]H@׌)5^%XzLe/>b ofb]dITo27:;$UҠ)!Qʊ*((,k=lh1ܨN/:2촀ڂXrZ-:ѥRG U?PQ&546j^nd'gVӬ{ xh/K_GQ,:΃C Z:d,EDhM]ySZd@ShSps'h*̴@".f7m>6XHXӗCm endstream endobj 1862 0 obj << /Type /Page /Contents 1863 0 R /Resources 1861 0 R /MediaBox [0 0 612 792] /Parent 1837 0 R >> endobj 1864 0 obj << /D [1862 0 R /XYZ 90 720 null] >> endobj 1861 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F53 1758 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1869 0 obj << /Length 2602 /Filter /FlateDecode >> stream xڥYYo~ l^y* k`)g+9 9+>u5/qluß$ Lw/wJZ.03_S{ϗx,~wy0 s]6=8@>?W9 r|4J'^|Sm7T&ΰ Rsc;cԡ*~٥s=#I숶#m>ѲEu2v 4N6%3]ȭsU詈|`!{$(y:/NjkUzN (Ǹij3(ù(EӀ9Tm w:3KʍUyR^d0(nў_܎6yv&О!B1Og!o:,v]{ZplGFzAMQ5S:tۼ+=r'h+~.Y)qʻs+>wi@cNUY -D˞{Qܮ6};w8NX*޴ gy |qK?mt {GݹkIP{TtmWurmoy{[k=܂_(ހe62/0&i!l~fܩR~uC~{F ᵩF{ ZNL`yAzcr+dž[?~Az0~0x7 e8N$]dzCUo3 (E `r>ɖUjhRMC˙)&F%ok6bB=qq4s@n٦v0Fv@ hLreJ}#7pxȟKTg*+=@BF50 $@ͅS2T`#M WC!m z7Y/cۇr.?Y? ;I/Y`)l< wz)\д C(Ǟ] $i,GFNBf>,nZ ՐIV1HVɽ h | TI!m|(w[ʬW:q0+3/8{EDBD >K6AAI"L (΅ß(@1l| I&aVrPُ`Q;W阃#@jߺ`lYA ((<]npg<_:Gu} *Oy)Ã{1YŶ-"Jbz$aTЮMu!D^|o%,P!?Q j8a \i^o8"6?2HZd 7)$g]/5mNz0qlOtu&#X#%h?(vN9y)jC^[01@]F H](v^T܉b[Tb5l4br %*v(W6xEnI-*):zf%|QEs ofvPBg%9^ Q M1 XȈӑ؎ L)\ 7s̾VMiS1W0ܦ,MFܖb_`eD A;T}YvAyY uΘ7^ru8KH0撯eueVQWZ[Ă`}d^ƼM֋0ѡȀt Oт~}=K?->(^S}:4tʟ)oh ,5yR8 C"N#KsYV tP$;tS HS0T!Պ ,&l 2ߖXLOg>&3=y $c\1`ɽ'&/h^ p94yZ 9+=?"]9$Nle#Lg#4\ʿΗXH"ƧGZ,<42&Ht"@KCAʟ[SH|"B?QD\ endstream endobj 1868 0 obj << /Type /Page /Contents 1869 0 R /Resources 1867 0 R /MediaBox [0 0 612 792] /Parent 1872 0 R /Annots [ 1865 0 R 1871 0 R 1866 0 R ] >> endobj 1865 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [395.029 212.914 522 223.823] /A << /S /GoTo /D (Conflicts) >> >> endobj 1871 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 199.763 189.418 210.672] /A << /S /GoTo /D (Conflicts) >> >> endobj 1866 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [229.954 142.229 479.768 153.138] /A << /S /GoTo /D (Column width and alignment) >> >> endobj 1870 0 obj << /D [1868 0 R /XYZ 90 720 null] >> endobj 1867 0 obj << /Font << /F51 8 0 R /F53 1758 0 R /F58 1759 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1876 0 obj << /Length 2878 /Filter /FlateDecode >> stream xڥYܸ b}%`p" =# /_c⽴ha$(ԪM&7An$'JF>03O~| V,kft$K pӨ=δgp,Xo^gC:6+T-Bр0iz`6:B'o u5eF>zpEa'@5bW1x+XT<IQcLs؎B褸\`ޑt/d/s`AMF$3=O1SĞdydBNP$0ryC;IG|9v${[[wVU1Ty5>>dp{cQdAꎡ2 1yD2; h`yU-+%u۶$< `JA ` o`kO.g\\.?8ؕ=)EDg}Az|IȈz)WO]ȗ\cA2fym l;ޡN5v#%vo9k.hUDPe^7AXdjP"VFT W*+:X٤ 4L dg,!\ 5L\z[NHxBj;U5^k7q*HPy+%vdVAyPhqփE·U$LMZ( TdD`$^4p9Lb(Kъyl02iK{uKP piw2)0VY2YNt-:h|-_?[Ƈĺ<G\  q n5GcO*zXZ9vY(kE_6*8m*H&nDHܦWI@ڶ}iel $dH2]>*o_3+e W(ĂJ#)o.o3G)_gŸ'vzC~>#ЗѸIWTT/4IbG'BiFGNm2f s sԛ T(sY`h<dֻn@}0cHse -7^fP,pw(ZYFc jD- ZZEt:g[꿇^@R׷Xt@OO$i'VEآ~f ʩe6&D8{&Rzr' Wde+񜙣L^` :`{e`>@!h<#~:#9.' P\'*E@r`Aů_!2ȟ ֯kq1ro荟N X<m\dFtߊhIDG 62}B/_?Ua?Yne'&3Ro7#=Y|uKEϭwbǫeu YޫB@]P alyڞ(k[ < T& 1E-~rװY:npW{;иq-oU"oys}CM7>d'3}pl6BoZ~jaZ7=3A3jav;x endstream endobj 1875 0 obj << /Type /Page /Contents 1876 0 R /Resources 1874 0 R /MediaBox [0 0 612 792] /Parent 1872 0 R /Annots [ 1873 0 R 1877 0 R ] >> endobj 1873 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [401.752 435.384 522 446.293] /A << /S /GoTo /D (Translator functions) >> >> endobj 1877 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 422.233 242.509 433.142] /A << /S /GoTo /D (Translator functions) >> >> endobj 74 0 obj << /D [1875 0 R /XYZ 90 720 null] >> endobj 627 0 obj << /D [1875 0 R /XYZ 90 350.292 null] >> endobj 1874 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F54 1750 0 R /F72 7 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1880 0 obj << /Length 2751 /Filter /FlateDecode >> stream xk[4|pv*qEأH;_y-Ex>R,cvwv3VU"īȓѫGJZ، ^m=>P+幉v?b[}p^S7cg^y ^~f; ؄q6MW7~+N97E0xceɭ097 ?z K[+d>[s^ʟ_=erz*t6cZBpx|A  S{1 56z^x!t9EtNЌXWe)ԃ|ǻ_`t;&EJ$HH) ghg{(ZdDlDʣU~c3Pf" ]jznh!⻼!ѭVjh AG-PPA;Pwt1ul!/bD *p繿&r{)͹K9]ZTZuB+hUiXHjAVuQgȷmV q!m oa@W͔bG Bܨ  e|ڢAIB|\]Nv$͇o,.|89ndu!ǖb4,rEp`#齘4 SWˁq=3U\n.m!Qq E;&pEva'K"'"C]q Sfb7GZ5+EkžV2wD ck0K;;yvZBPx4J0xԐt?_bTy~_ XV=uqNq#%rݲZ"$2~44}igH/`QiW@; (^K$h?eS*3bgޫMqytāk@F m<J9}G?S$P}Q^b5ErQ"W[9oqCm~a?1M"0h]O+Ma6 =#]Top&/ʯ)VSh[2;MztM>mq ZQWIϲ3SNyv7Ů{VQ ?g}|eAy4ߊ[B ;B†|™*oyF)Q:@ 8cډGR₊ag607x44"g +2p_clHFP 8ĽDj\|IDDc;^CiѷM\@s3BH Bv߰D[Dܶ(#в>= yd&.!<(ƹB0 >,#Z-S$#\BӤ%so++ٔ#A%ߛ]a d 8d鳮xkH#Ѥ҈ZmMm2JI؎A?5Qjc 3| ?(Q6sD-3v~uxu"YYAO8DAElO(vPÞ(D] &!+Q|N\QbV(0C{.?h)?tʦg֪_Yq0]Xy͂sD Dlz= ]%^Y(9e9e,m.4sQ҃XVV$P#d2M>ʘ~To9GoaxuC@Gn|(W\5$>G*$ A^a 3 Dy#oSz\.= aA۸ާ ysL3Ja%`C8VQ )x=gFݢP?l߽u-= OfN endstream endobj 1879 0 obj << /Type /Page /Contents 1880 0 R /Resources 1878 0 R /MediaBox [0 0 612 792] /Parent 1872 0 R >> endobj 75 0 obj << /D [1879 0 R /XYZ 90 720 null] >> endobj 631 0 obj << /D [1879 0 R /XYZ 90 489.885 null] >> endobj 635 0 obj << /D [1879 0 R /XYZ 90 174.378 null] >> endobj 1878 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F4 1765 0 R /F72 7 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1884 0 obj << /Length 3528 /Filter /FlateDecode >> stream xڭZ[o~_1 Dz"%1(RAnhd6HTa5Y{ne,exyx.߹z?zM$|;e+--,V/wzcc7[/7DPuW$I䫫.zۨm4sWwdz1!W<̩:W&ͭ҉e(m?\F;T}_WC[VSù;n[n\#D.Te᳾ʓ ;]u &&z='Q*i&]]42R |QWb-RVj olpjVt K/^"K\muT_xGwy'c'L,&'ƫ `T}&8lgS8un \\LlR/x>U<{44E_q8ȂD?`/yc#ϯ_w͹2P*~_USq z$ec$IetXn zPULI+/Z29Nlbi h\lHT톺=2p|Rlt@-+&^7c.oX=św؊X'@M !qD9Ԁ.d(1MsVXl*ÇXs/kPwbܿГep>+y`3>;$"NnF8 *#ذmj۞IRt3O-Na FMrH4bxDn8xvS?2-4NVM)u`z;-*G#6E}MxW0U#,| ٕtp\-hեp'`hj$1M W8>z^A}Wo!cȐxQwvWٜ?!où).XIvrC4ܺe+NM]Bk+aB=Qʬ`ޛVn ZfЉ;ypD}w‰G%Bewˆ篻AFW ɲ-䌚Z ,9:ٟb ,?*Vuȅ @ײ=WjLdӘ %8•7XY0:J$Z#vpxc) >5=I dzb ȧE3n!v.uگ[V.:1.>IT̞Xo~$O|ˠ!quNb([(4X*$p{![Aa#**#2;{#. Ş+)rEb.úă@ca-PV`dvm8NLpr/q9"7t'n<P4I ./xY]aQ@y2AEdRcvat0U'œbA1 3sd8u pðlFZ胄ahpqrD=9`9^4E- pO]]5sRJaШ:kBy 8 1- سX9W7rqͨ8S˞Ø𴼊 Dw![|쑿IqjlHQS&[/wd40TݗDřX&@2@DD{X>Ŭ ı'S&1urڡ*?)$]x (Fe骨䆸ϳ3TD<$'SH~tIwհ 2Ȋfxg*ͺVXu" z$ qh@iA9e^8QtbOSUt(o֐Ʃ̌׵k[hE8<^+QDe.ViT:#^5#[}vP~_+Lk.VJՀ闳/kGn1!,3ghyF,xz3AtVNۅbV1S6A F3 iþr\B}F, Xj!8{F>8iL- NG鰃~"I4u)G/l3V#8Yk78pF_?Ѩ-`b}ltNO7(ƎIR CHQP3L) XG2?~Doql ̮y(oćW9SYÌ&&qrȸv\o k'Uۜ#,Vv!$،uY as/5l3WSzPp((g%2DZR}տr^W+(ѝx5h}} K ZO ZӃA7[,O/$>~jq/بn^@,s a -Kv,t;}1`Zy/raM9C6)5;R@_s_< x1[,9k)s;cRCs};w/Zri:BxuʷG*\HjCVxLr}\T6&˙4*{@ώ]=zo"k}@ ]GXeHjحQ /8EwV2!i2a^GCRǻÂ%ƒ3Ip0 LQM?K3fL,,!UT6?w֫,gͪxeuQ]jFX;xyռvb-:O+; CϘg4!^k)a|V` o9G0=OY2~K~lIEWnd-_qw\6J.*n]F͕s~ZSSr`'4zSp #P҃#ss-UeWnȚgO§>F}RlYP++pP]l,]ͅ2軀.rw3NXlh/9M,=cN<~Qty0RX0R,1xYSγ7EŶ؁VpqX=Hɏ+AN_XưSbLUQ> k endstream endobj 1883 0 obj << /Type /Page /Contents 1884 0 R /Resources 1882 0 R /MediaBox [0 0 612 792] /Parent 1872 0 R /Annots [ 1881 0 R ] >> endobj 1881 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [107.636 625.183 345.424 636.092] /A << /S /GoTo /D (Tables in arbitrary syntax) >> >> endobj 76 0 obj << /D [1883 0 R /XYZ 90 720 null] >> endobj 639 0 obj << /D [1883 0 R /XYZ 90 612.278 null] >> endobj 643 0 obj << /D [1883 0 R /XYZ 90 476.161 null] >> endobj 1882 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F3 285 0 R /F72 7 0 R /F54 1750 0 R /F58 1759 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1888 0 obj << /Length 2806 /Filter /FlateDecode >> stream xڥZm۸_a\ܞy"EQ! 6 4/EM歹%$f}g8$Ei嬁"FWt|G@̣ F%NM_5*E.ĘL[樍BYveiw BA\T [sQ^r!P3!LN=zÕd*Ϧ Sj{tE Pid|&nU.H3R4> `ubq  oA9-K `FAqT5mˁNT^gmSo"cDrv!Y>wij*jmyp[6 A#{DG@F <:[xmYo!s~ǏKžĆdm]?ѝ};qv@яKȡLdiDcE4IzE$]3YJc{$Q~Q ">Ǽ3mV5QrjuRЩ$w'-p`jLrd굸@y eNb.LM\;ޖm'Eъ4wZ򈰃ۧKLZISo]Gܔ}]9JFBM+ݴv<9DaUysIO4g;*h8~Q(wgArbNLf{ܙe`A$#?kPR40ǔvVr;`Р5 R=̾{z[)@ш(dL ݶmat{VYw%x vi%+;;2< `u$0l(U|'`!6<q~F5Q,6G0 uNA+—@0A) #h8om8L)nkyIX z-[mzI=:Okr &*-dwl}֗ O1H~7Fȓ#`JI 9!tf]m0&=D?lBl>v°r1V[3NGH^ a숹mn*w1Rz]KLLuo ]5-7Կ*[R+~)Yb&_t2zmиy̝ВhV8yϷ<ۀKgA!&iw؄}H/@{(U,΋V?ew]{E}iNAnn6/bcqo$E Won|+.\vJUKJ1}t@x(,2rÃQnxcqv_N> endobj 1885 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [460.333 261.044 522 270.741] /A << /S /GoTo /D (Formula syntax for Calc) >> >> endobj 1890 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 247.287 254.818 258.197] /A << /S /GoTo /D (Formula syntax for Calc) >> >> endobj 1889 0 obj << /D [1887 0 R /XYZ 90 720 null] >> endobj 1886 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F54 1750 0 R /F72 7 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1896 0 obj << /Length 3500 /Filter /FlateDecode >> stream xڭiܶŢ mUDRupخHFO'X+mu~Kjm( xh8ͧ6SDƸoOo(a7Qx$n_'w鹵vgq̣fNz[^ͰW'A n"Q&}Wyk{-3v^Ω"74Cp1H_@yJأ}珔7[nuxεm1Yx&Puɪ; sZPlڔq8'fg!޸ BLoK\9ǢMg!pYW񎗈eV65(p{Tqע&U}t' ע_}eE ʂyOi<7Cp@'I?Se@Eڵ3@0/yś/nހ :ptDe9ybw.\rECWι0[9ZQK#Sq7&Tdhqe&[ 8%ɹ@^"__1Qr7N-/zy $g D1P%p em+ "lfhys1U<`CvCƀA40[tB(WX7:. zy>Lg8]#LCGteX7藯^|oqm@|}L$~Ê ƹ4E.)KIc:OĮMmeikuEw7A^ QZ1n*n׃Pxnth->'}h.0% '8_U% $) *rkZՀ'y{mAa dH|FGh $婤|ɅPHv&RXD7 klˀ[1V>Nja_|x|qx<?$lXLNYb;4E9t?~@C碶>ցF 1S^Y9{)\ ]VΡ\"&#j<d `(IXIq$ dwc^@KevhX\Dx3wjY.=vdIa+Dzy%_\"pߔ !;3Qd5~ʱCWuu Ō&Sۋ_)x){ sDz>BeMR0nVI C@K̩>mڼD> nNx߉S;)N ɲN&<Xp #|*==|E\bQ1\:!8IԶRxRqGAs?:TE~e RaEEĖrD*"iS1s&)wݯp1X69@/C[6&{fWfEJw a=T<'l,/ǰU'H [>J`P i!ض?"'ΠXGڊT0yapI!^ٝzHip cc$}-#}Btg/횱Ncݽ ]OO}DsJjU֏,Mn]of7ˋ+¥}|v7~ endstream endobj 1895 0 obj << /Type /Page /Contents 1896 0 R /Resources 1894 0 R /MediaBox [0 0 612 792] /Parent 1872 0 R /Annots [ 1891 0 R 1892 0 R 1893 0 R 1897 0 R ] >> endobj 1891 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [186.092 605.634 399.18 616.543] /A << /S /GoTo /D (Properties and Columns) >> >> endobj 1892 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [108.358 526.729 318.602 537.638] /A << /S /GoTo /D (Advanced features) >> >> endobj 1893 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [444.207 320.629 522 331.538] /A << /F (calc.pdf) /S /GoToR /D (Calling Calc from Your Programs) >> >> endobj 1897 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 307.478 384.58 318.387] /A << /F (calc.pdf) /S /GoToR /D (Calling Calc from Your Programs) >> >> endobj 77 0 obj << /D [1895 0 R /XYZ 90 720 null] >> endobj 647 0 obj << /D [1895 0 R /XYZ 90 380.114 null] >> endobj 1894 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F4 1765 0 R /F55 1860 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1902 0 obj << /Length 3046 /Filter /FlateDecode >> stream xڭkoAP֭|uԏց| Qy!yw^#OW|4U#q{\ zXa0ym3yXdYo=:IY68M6X%I@L_Cpw9B#Y~E#ߪP<&`/DbiQ^p,ݧs&5+1*Ed&ybr6ÈyuVN$Ơb_ e^  9\Ut;>:(U쯛M#Qkt/UfNKS E[9Xm"壳 uͦ-Xɺ᱿z7TQ}}Ar@`F4Ue'a@1aGu';v"T%<,#8xc#|uoĉM/4$n'?"7HRepp5uU$ʤbfc3by$( -i);qyB.voLRvۉ.Ȁcò۲9^#_Kvb2ha%h;J0t1B O|uh0('يrlANcclXd@6Be tcg1*L  OaPɶ!< Y~묓Iyu]bZ(aTQ2e,Aw|w1( 'Ӥݽ!b3QWOƎ2XU9EdGrmUa+ pϔnT/T8ANBW7dmzHq_i32z 7a&&cEOǘ\ DpQf<:$#`| ke:HhcHnm-\X19 9UrCYHϋyOÊb(L7)UL KK{!x=5uz`=T[HRC }l>xURk +r7ΚiR:Ab:eހ\3K26֌n6.2kw. P5_PJKNx8%&m@9$F8mYЙZbr.}|8'v- $۪yvIҠR@Op"+j^n2΃S#3~D @jxl_dǪItpD;CGJNr/Fw UUzCO* SNfZDPx~`ӹ,n`z6(V(*9ՏOlnh$=(䤛mw^RK.u:rɄaDӿ(sy ]ٺy*j͈ R39}` ΪScҔ Oیt[.*2&J1x1} ~.vm[84%-OOuϬ%v%N]pJNq2Jv<=q)}Y.-P4Ls|[3)VaۂL̤C3%;:f!ۡKse*|ar@dlq~(̊*(~;K඀\"VGaR\TQ_v"HB t"@]4wu>- $05|A0?sI1}/V34Yxux!5~$ȘZ*,ȢH1/51*Z53G kJXn k&Xaq+v?MޡKŗRFv|=懲*?LA5kT4<᷃U2;L ;i>`GHxy? Bv[gnL] W52&4> endobj 1898 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [360.202 645.156 522 656.065] /A << /S /GoTo /D (Durations and time values) >> >> endobj 1904 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 632.006 222.509 642.915] /A << /S /GoTo /D (Durations and time values) >> >> endobj 1899 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [384.085 265.214 522 276.123] /A << /F (calc.pdf) /S /GoToR /D (Logical Operations) >> >> endobj 1905 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 252.063 227.081 262.973] /A << /F (calc.pdf) /S /GoToR /D (Logical Operations) >> >> endobj 1903 0 obj << /D [1901 0 R /XYZ 90 720 null] >> endobj 1900 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F55 1860 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1909 0 obj << /Length 2519 /Filter /FlateDecode >> stream xڕYo~a8-.=|h. mEP$Jk^Fs?3{r}'r83y+'vUTUyz0-0lg޽ßSq%xaќ{mJHlNM#s_[$H_~xs{7J|e3n*+t, 8Qg϶=І:g-Vt4{ imoQ?ZldR,r7Y"XBȡkOZ?N2<Ҳ3],mbi)h2jvꍈz:/жɕCW[)8-VX$Yo+#{:YDϛBEf*Yf:V؞ 4K$gNyYf ˂9잆H=.{4#QNsUs5`]mJ$MoDKd]WDr}"=5/͇T#fP=S_[%:ngK?q2`:t3wWuL`r a4ӯ)1Ջ}j$䴃4I!0hꚸgƹ>ҐzaAmX7V96>^59O{ 8|Z@f !6Ux~G8 J_Mdžgp" X"dhd/ ڝ0݂B Մ B?1Ac? n1l*zŮE,1z vy6%r7:<CzT_`sD4v=Ue[MXb ٟr'" DYrh#0hwM)!U;<zS%|& ZS=Xpi0SFێ[MJz$ }JO8@@݇gOPz-TaN<KV4)w CÒv'LՐXЁͪE7)UH sca>7V}Ey+ׇ|'V;/#K{r_I{T''sXL@ฎL)weym+%0+Sd}n"%/\Wv^0y˜g)BY9 7셐(rza+Ev@]y@悍-f%bk*2p>hjvŋ5Ppwq !_D0QfWR CA-Q }f/5H̯lܼqNk4_ȋ01 1啑0a!Ǻ3}H}~CEPA;TGzY}Q̮orNLAxq󕿢>mَ4VPD;nbC$i.@Uxi_bܿus֕w(q?\~gc?P6'.#WáF H}-X^HZ|VxP}:c BMxyEWD$[ ʐP` ci4)QϙȜ{r`VY_o}r& c s|K> endobj 78 0 obj << /D [1908 0 R /XYZ 90 720 null] >> endobj 651 0 obj << /D [1908 0 R /XYZ 90 468.016 null] >> endobj 655 0 obj << /D [1908 0 R /XYZ 90 109.66 null] >> endobj 1907 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1915 0 obj << /Length 3129 /Filter /FlateDecode >> stream xڭYY~ׯX k$26,x5!9Z OUW5]AGuwuuWțMߤZd7㫘G?ZjBWo\lv-6ͻCqnne6wMx6Ro~3e 3H5FX(kn J66EvNX`fPÄ18E㇀_c%7^_B9pVk99-A&Fq` :VkV:N'zFr?&{u/o_7z=.]jJYdgmx8]=Qym>&Q\Q#Sit=0Eu;؝#30{|%HBw?w_~-lD5l xZ>S4j󥿓\hJ屰Fτk@3X0j2߄E6XbLFdZtjGǺi5KS'ýYfN &S.mUm Mr{d2x?#Fgff"p(A ^dʨ321;1#uݞ۲>ȿk-Xg E}@\FQڊ8nwoڂ+|"(iR95Āq[!jW\-Dx+y*b>m:S*N!A SْX#)r[u *+k-NqrQa~ؑpZ9-vT&xix)s:Sg43PD ;)tjfЉۂ'FcqAa/$$ |DVAWpؠU) OI7Ytu `Y \_g|HQ.5(?Q=? %IAAKPIW)qJ[kaOm]5 8s mqWt/j:T$>`p"^hL*xi{)ھlK u2=-,'8*VT{5ވ;9z;[ ڿb(O[#8Û[ިwM"MA#.W@*:a+u@]GM|KsKߟ`Dt8+]8,' +F@ă]M"ΣC㞷pX'K}0V!rdgVPм2F\!-SťgǾ/S0] E%Y[̘*s֎sЂ;F ۹0t 2s|6)+6nk]Fr8Rf܅$  `?j1@1(=?]a0S ON]_Pi%"N#Y4P3p2\MK]56M < cI2>XRExL@bX>-OT$ص?.LX.gd04)Zg)Aadhx 8C HmZ S/5>NWwDn .D0Pm!@Pg\:O:~A9Nw9[Agb>X:P‘@7 06e9\&D ;wjXC"iEY9v?$ Dls']߷R"0Uwtw=]u )ᣟo:.Ş!ZUe9OEhV5 { }G("(f_I &BGM ] ŭzL6ԎKY35I.!.`c[S ,_0/ Q.(6qOhBg{W=AY-f([0|ať,_BSAƙIl^6]MCVra6&!FYCV?PV#?3g^n+Q~ljjCF 5aXooAE4hBcW6%1x)1zۨXfȘUq|| 6,BAI"J{s(gF3ŘF Q#N%Ӯ%} {.]h >;'5aoG|Vvi=CD1lih`A7 u 2 @f X Xi^y=x endstream endobj 1914 0 obj << /Type /Page /Contents 1915 0 R /Resources 1913 0 R /MediaBox [0 0 612 792] /Parent 1906 0 R /Annots [ 1910 0 R 1916 0 R 1911 0 R 1912 0 R ] >> endobj 1910 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [343.929 208.302 522 219.211] /A << /S /GoTo /D (Editing and debugging formulas) >> >> endobj 1916 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 195.152 176.758 206.061] /A << /S /GoTo /D (Editing and debugging formulas) >> >> endobj 1911 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [319.085 162.877 514.328 173.786] /A << /S /GoTo /D (Column formulas) >> >> endobj 1912 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [229.176 79.203 435.631 90.112] /A << /S /GoTo /D (Advanced features) >> >> endobj 79 0 obj << /D [1914 0 R /XYZ 90 720 null] >> endobj 659 0 obj << /D [1914 0 R /XYZ 90 524.541 null] >> endobj 1913 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F58 1759 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1919 0 obj << /Length 3061 /Filter /FlateDecode >> stream xڽZ[ۺ~ϯXA+:MR@&hy)PŦBdGpHJٜbrH7W.)Bf{|9'̵0a=jǷݰ,-l%6&i4j-HZJlVZ&է @B%"[k'o6a/#4v7)JZӃ!] .b+ДG?9QZ8t~|gY?ۻ}vW86%jV"(D4)M {/6Y*VͭVp[ ->Vx$ؓ:EbՉ!E{/Iكm kz{Oi_V t9:.qg~YR XF)*im6".ZCM_l{7S*yPFȒҀKM.Cddg6E ЛS1 X@cyNGo/Ċs$5 '4>'/,$#սَͽjm[:<[lV0; R3.YDHK3@qɜ-4+O *݋쇧B}W|nFT`3@t2a  k@+J!uZmR//Q/uw`w2UBYakwEֆ#O3 {Ơ(ɒv Xb>7-\%o h9wGXH8sx18vDE;wvA] 9n28Ze(o~ؼz/ϣʨRͦ{E1ls,䁟t?$d_`^CZ" &ɟO"ʅl\c#\/  6"EJE)*mq )txp6WB'0IŭSA`p`zRX倱' z)sdh& AmC~#Dn=0%a0âYs,&34(:VޏH S֐AmP<& 6,c3@_D]Y]߮m26_fAD$`(%|V#LS_$E]8+|  X1hGQF'ϴD%\^yvK%ENJs=мȧqє"!:wB[cuÉ~\5Rt$[H ڽeJD?^>߿!Y^ܼHVhb53xGuA Hrzʇiht{bތ'sRbu6z^pDkq 58niE`;b~tyZ[Eوi% ?@v.&&8mE-خ-|^bA3b,Ia&>J5: S\(I]O[hڒE@ >ݲ}ي,-EcGؕShaǬC>dXvGL?slvgpئ*^R 1Xe7nU21Yn> ;Y ,WlQoT;nfC~k}P=dM7Ib.g*]Ǻ5J';]"1h%f~:J]IU"\AwY+e 젅s,wA_ *149q41)LxMd`R!,2-W]5Ze 1 `P`Y?iFl7yyyQx 8bRǑ5.7d-#u{$ƜOO)Q^,[]!`Qo[)MU*T3ܕz8fO3(µ/^؝LүXҫΝ{Q[|E?X#E+ ~FaE+HtMz5mg ;@"ҁcu&&OHy/-Y endstream endobj 1918 0 obj << /Type /Page /Contents 1919 0 R /Resources 1917 0 R /MediaBox [0 0 612 792] /Parent 1906 0 R >> endobj 80 0 obj << /D [1918 0 R /XYZ 90 720 null] >> endobj 663 0 obj << /D [1918 0 R /XYZ 90 720 null] >> endobj 667 0 obj << /D [1918 0 R /XYZ 90 355.424 null] >> endobj 1917 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F54 1750 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1925 0 obj << /Length 2781 /Filter /FlateDecode >> stream xڥYێܸ}W"Q,m`ulAFM-X-utxS*`UO].R)\ewk\_XzX܉0\]ܗwyoOeΗRz睯T2>LؓboOcQdوP[ud*Rє>`TpXhf*P9ڪz6<~چmmRo ˰2uٿ<5C:ar)e&m֎ rX/[۝&rh;dj8.;_Fy21ҟڱ&){,L =+0ka2Iպ]7==VuMCT;K]'0z]YX)߀w†A"v >oP~O{Bd~@yKV/,4c=A}޷]u杋˥jе5xgL^q._4Hd&|I>L FlJNGޘ\N{4뀠,Rr(AgiN"lx{>XGՄ?|Co[+EөWP}͋+ GҎ +MXu ƴˀc׎zQCA%=ȫ<]`]'llLpz˻. Qo"񒁭0vKԩI v`?Z)|=F/kՌ7S BCR R?$@ U:Xce){CD7Q]asEJUP#Q*G>#3#TqKs|pá}pEڶgz%yvi=Ţ׸tRt- -C͓?kjg_,^O5–*\HŠ"X}Z4`I\5ޏ &qm=7̫!Ւ1xtBճћ uZvFQ=Ç {k@((}H(.QsJwtram#3g34Qy;j1*]]WfUȊ+eNmq]ϯI3_Q5Evjh8O*;ffm;{hx~!!pIb{~W8^i |:XCWxOJ7l16h˚’8Pl^`Adb4xB[5{XUq?eWN`srb9 '@ٽNQ~ ^FS0p7] %NZKݒhԦ N:<0w O1sxS_!2Ȳ'A8 @{h(UPtj\u. B[c*f\*В@xb{gK<&=j'1Q0''T&}e4X}YPZ/Vެ؄NDdS$AMݎGfQBY`_`^Tk͏`,m`Ѭ]OoLɴßr&ݣ88 ϝ;kUi_v0 mەURopOn] JRyOi䘎 #m| jtuilI.ǂ5e[x,F"Թ$b2ϥ[cR]Q tu<ȥD@~ i 2>_YSAč[tLx 36^m4DzT\RF-SxC2PѭW@=ʡWnnr:lXX9 S`29qz I5`x,._18GoXA9Ѫp}X[Ruh2TPGOu՘&q,Hi) |!d@`OI YF)܊JSI؁D"797Czd,!6Xԛ$ICk<:=o9Z564xHiVbV1:/> L1:^)ʼnx.yH|mEآהbE.˫`oK…<5IJvAxn9"L^CwvR{"TsrrEm3 vMF+&)VP7-HBx] pt#PFy$3cɑlM)^n@K 'i# ͔llr1V_W38Qvk;݄KHo VbҎ,+niBPs}2D?9Q30f$ÕhsY:"fI6l(K7~ʲO|~4죹2KRްލ̼+.e6zi\IɎLFi endstream endobj 1924 0 obj << /Type /Page /Contents 1925 0 R /Resources 1923 0 R /MediaBox [0 0 612 792] /Parent 1906 0 R /Annots [ 1920 0 R 1921 0 R 1922 0 R 1926 0 R ] >> endobj 1920 0 obj << /Type /Annot /Border [0 0 0] /Rect [359.637 613.57 460.97 623.267] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/org-lookups.html) >> >> endobj 1921 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [147.6 474.583 346.94 485.492] /A << /S /GoTo /D (Column formulas) >> >> endobj 1922 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [376.575 474.583 522 485.492] /A << /S /GoTo /D (Field and range formulas) >> >> endobj 1926 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 461.432 234.358 472.341] /A << /S /GoTo /D (Field and range formulas) >> >> endobj 81 0 obj << /D [1924 0 R /XYZ 90 720 null] >> endobj 671 0 obj << /D [1924 0 R /XYZ 90 605.201 null] >> endobj 1923 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1929 0 obj << /Length 1894 /Filter /FlateDecode >> stream xڭXo6@ L^+FW}hfЮSd:"K$7 dQȆ E-'IM"DI:x@wxvpxȉD%r2[처';'tݚz*u4u4NzQ0 O|z |e66RG"RiRhEKDDa-UU_-j.Bf({/7R 1;N:[ĺ~C oPj2YצiƜcqk6̏K$XRpI,B/|, "h, g+C";aR"a1`""y0l HqfpAiyim&HJޅXxoxp|[,h Q,lvqSĻ_B6N5*ҫXWDt4Bjdž6WS%vmv 8H6bLt]ƆCH5]U"3^En! F-<9ƻ#_{#2YZpj&x"zŦkv 4PrY:]a1gE297"\=)%/N;]f5?o?k (xt\sT@pXǭ"G0{v@oM$\:r^X-ioa$[qD-NDsa"hFA0) aT "p@-#,d8 endstream endobj 1928 0 obj << /Type /Page /Contents 1929 0 R /Resources 1927 0 R /MediaBox [0 0 612 792] /Parent 1906 0 R >> endobj 1930 0 obj << /D [1928 0 R /XYZ 90 720 null] >> endobj 1931 0 obj << /D [1928 0 R /XYZ 90 327.909 null] >> endobj 1927 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F102 1932 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1936 0 obj << /Length 2235 /Filter /FlateDecode >> stream xڕXmܶ_@DDH@>$8hZE?8rwk %|@|g8C'\D!&?)M(|S_DLBr+pū_(Bnv}˩ nCu_o8N61=У4KvxJzFx^41In0(V[݈<*jla8= (/N(2wABR?I_ qg-3S'Rsy4<njžXC42?wބJ"ϲM( hM?6IHri2xĉе##7kH̫6DTxhnX[6i* ZdB<7?[$L=jڒ'a=i\&V[1^˷oK̒Y4MfQ, οx$BALZ"g˿Nt"r96̧me3C JM `"4NGߒk; Qiԩ`Xl0!T L՝M?c}My͛߭EǐSR'`K*uPzkH04CS9 ~sY-t@V5U!~܀0<`QB-HRK\ לzZk%"iݖgox"9!9Enu #b136'lm& ~LGCFp^G:46p.r&,tnL(Y͞#ˆ\ڏX3Ö!3ށ.8Eqȿ1 D݋gn"yI03i;.,nQ@ E:#ňr \ ڽos9`p!"-Z{=G <Hn zysO^Pl_9`dɫ! W( endstream endobj 1935 0 obj << /Type /Page /Contents 1936 0 R /Resources 1934 0 R /MediaBox [0 0 612 792] /Parent 1937 0 R /Annots [ 1933 0 R ] >> endobj 1933 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [110.102 447.464 320.276 458.373] /A << /S /GoTo /D (Advanced features) >> >> endobj 82 0 obj << /D [1935 0 R /XYZ 90 720 null] >> endobj 675 0 obj << /D [1935 0 R /XYZ 90 493.798 null] >> endobj 679 0 obj << /D [1935 0 R /XYZ 90 161.492 null] >> endobj 1934 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1940 0 obj << /Length 2449 /Filter /FlateDecode >> stream xڽYoB( qB|A>4MKx:Q y .=hڀyoI Ih!L'ElG?`A8xz8⌝6-VW' mh"gP$X-SUxto/[ g%? R&=F2bBZnS<$nl:쑽mOΫuXήyF6XBhւI[g_}hҎ3v=uMwDofvLNaAG |UyOeN9Hs( dW}/50) l5y٣XՋcz ~h!QmA:.;v*_풧ok7Y/NUE *q";D$c"$:[eF}Od 1_ |y}Sfc'c69Z&ժbw4b ^K^bܷW ЭwW4Up+ȒI_6Eۢ;4JaTʯaݿ׏7a& '$hc.Z8?2.$GaMs.r9//W(Ah DKnԓsYk'}A{{~>>1.z_qjp(@9 b$Jl> gE|Կ-pӝ$F\-`Grv띓opn1CCVZ wEsHb(&g:JT;hxHzsSī^Nl$ƝxQ8&Bdd&4p'=ָ6oetУv@yP0(1713-N10>fYfr*#]Ai]oׅ%;h5nS`7{ZU뀍.ˍB$4ɽgU@jslNxRuVS!YA 5w&%V(ꉶFc8u=س5(6ACb{p:Vt "cQ@sxiw8D Cl"ǻ==CDTWtәm.wiub<*$S%#](Q,#r/kp904av@5[mwh1S|/L T]aUPn/%Nzn̆VmK65޼c~er{%$@oFKW!Lϣ( %29B|XQό?9?uY}Yip)LE)f G!pXQGS'za^*.r7it8-en7E]!#ɍ;:jX `աIjH&\.̍ T!sKLž9ea ø@\`'; n2Xh0nB`P0=nFjzs+&j7IkCvLLyWviW?;ɞ>?ӄ!R rm156}SC Q,S#$ݑM;Uk{^ayK1 $3U-dcbBU C &vb*}AàuлVʓ꽱C"f~<^zDiGbb-"qb[tɠ*6)9V3k(0%鯯= q-Ad rb<4L3W Ĉ'If{\Kɱl(+Ixqձ ~B-də:&G{E#⪤&CasutP)?a ؄~w4iz$дi2oVs ;ڣ^~%cH n q9um}u5%q{*^dA=!̈́N8ʞƶ endstream endobj 1939 0 obj << /Type /Page /Contents 1940 0 R /Resources 1938 0 R /MediaBox [0 0 612 792] /Parent 1937 0 R >> endobj 1941 0 obj << /D [1939 0 R /XYZ 90 720 null] >> endobj 1938 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F53 1758 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1947 0 obj << /Length 2358 /Filter /FlateDecode >> stream xڵY_sܸ ϧ$99Ҋn{}HN'9g.:e]5ZIL>|Jk=cQ   ~E_Jyi\d>SCvgr2CCoFǎZh^HAzYW%/,J|mg47oP2]d) CI/'fu_CGo_LXl^;N<$ׇUěB YL 6D[mcvȋNsMH4 tWPS O ua[S)[Un-72C)ϵH`\}u]\)V)|1!4cX溯©0T="NJHmt;ı8+Oma4Sf`:)Xq<Crv BB?YXO7 31,(p-p.ֆ^Z14>O% wmg뗝a& 9j-4$E$\K ` Qyh0]73UY|C%Hy^q\]aVf% <["[kt5D_ ͉-m3JqAAs 6NiǏw-M2Z\, OƬ3q"È0j% +|UQ Xx&Tx*IUSH$BVOK) f 3pˀTh;+".cc'e{$a BJMGCSV펦4]]/ީx5JfbP N+bTe,D<Բ=5D2$⾇dƒPˊ!2AE9_s4M!C&̶( m>o]m wO|ɲ|sGY:wͰ`TxIC)gf|% ^ӽ#z#}Ͼ>+)My[ӨS"M+8uh [grr;?/v(Lk8cc pRgkb֙?Q3gL;`@BtsUp͇U ;l*ԃ% Ǡv^"q@%PCѵSo)NΙO7MS0K.o14j\ endstream endobj 1946 0 obj << /Type /Page /Contents 1947 0 R /Resources 1945 0 R /MediaBox [0 0 612 792] /Parent 1937 0 R /Annots [ 1942 0 R 1943 0 R 1944 0 R ] >> endobj 1942 0 obj << /Type /Annot /Border [0 0 0] /Rect [250.91 417.208 388.363 427.208] /Subtype /Link /A << /S /URI /URI (http://www.gnuplot.info/) >> >> endobj 1943 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 404.058 307.634 414.058] /Subtype /Link /A << /S /URI /URI (http://xafs.org/BruceRavel/GnuplotMode) >> >> endobj 1944 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 201.58 382.088 211.58] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-tutorials/org-plot.html) >> >> endobj 83 0 obj << /D [1946 0 R /XYZ 90 720 null] >> endobj 683 0 obj << /D [1946 0 R /XYZ 90 465.428 null] >> endobj 1945 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1950 0 obj << /Length 1325 /Filter /FlateDecode >> stream xڝW[o6 ~sZ,˗>݇]Na05Vjc)v:K;h(")^>|d&eQo w ǻ7ox \.}Yn !ofc{uYd)O͞1^0+}P5Yz^Rtz $.3b=U@>okN0T M@8PcQ!Q7XD0$ 9tf$K12ŽisݗiO?{ FY/ʿTP9(TQW5X' :8xRt`ؚũ 3e\H L)3G+cMtU;YFNTpK*ϸ+fN*'x:šO{SS+הݖ{Y``ziwek^j=B҄zA@^ %JLpl-bjY`ſ׆6E;j +TfM]6QiOj $ T *R9ؖz,:e'a(Y$< M1$j;"sDE.GDwG"{tOD˞kZި#]+kR4ߡpUm>+V0s͖͟kn8ܿ/.Lk/5W;aKb`4F$SD: +!gm~Qpfijt`VjBk!j1˛|{dr[@1=p:ncq2BӐ>x ֨z̆^&>ϕQxH wb"~x=Cj O>0bjI*$᳉W~YA~&ZC˶a@8l>0cd|TMCorQ{2-Wx[ Հr\aV{hCi4Oh@)/ endstream endobj 1949 0 obj << /Type /Page /Contents 1950 0 R /Resources 1948 0 R /MediaBox [0 0 612 792] /Parent 1937 0 R >> endobj 1951 0 obj << /D [1949 0 R /XYZ 90 720 null] >> endobj 1948 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1956 0 obj << /Length 3069 /Filter /FlateDecode >> stream xڝY[~Rrxgkm<%Ě"7$exrm6l}Μw_ʼUn鑧mm`3Yl?Dfe<72^OWWc~z~ބaxwSUYN(vdn?CGRL& 8 ]BRDnm-MxW凵:e8fcii6kc/:էR;K;_=V =wΫ{F~<6v箨^OnrWyL5┗m$swQNM[bla[$n\u9=\5k|Ua^:eEO3-v͡.[M4M5k-0)OƮ/?{=l;\'vUoqz{=m!)+P_Ƀ-yrJpt~[zak0e?e)n4+lז7}-Ğd8Q+5_-]kإ7sR.T*;zZ(02H;5uͯ^'U􂾓ћ1PՆff8O Eg+!/;L,ɾ?B7;^Y#&bZ^Yc?^M"ZI1w4>lNV^?ԍb/'yЕ$xMfxD‹ zQ}JCI"/&4 g.swñ?V_e9{d $4`x8T=6\[n+u~z锝2h`f1"'b$?}8: Lび%w_IؗXJqA,U`8?5}a{l(5rC*^-oBUIJ=zwgo a$i JMS3d&ٲPeF"J= t%/(aķEc` / 1賨q3!L~jѐo-6 ;v綳/&+FRX摉c@(@ ĝՠѳg1\6tCYe}1?WFM(Hs}1ssNR%V ,\ (b')_#Ihi,ߟ [԰pY!,?S-5d̶$-E]LT=DJ #=(ZU 0aP,Em!CZ[:/-dհdCs^]OZ3G=TvpI~Dej=d|'.9ƻ#vv\4c.?5έtQ*̹ÂlNb E4%SDyT͓We0_pCI37W $'$ !^gQ[7醌O DRXccvdMm,=CV"(@@AKE}Ry~sQqk za2lD_6;)1`p@3ɰ!坑ìLRk>Du^GIBfj$q"Ҁv^|DwQؕ7m#|0kI!+)H:"FP_؛(doI Dn=`FҶ+kE̜Ae%F+4e L:*[4Ob0r#ޑIJIFP"')Q8Pi^ΣdSI?;m_V>Hs[($H(Ee]D&̬<nRk7 5#H)aZB7Տd;*qCu]q8~Iٮ ՗1ՄH'r< {j:ҪtE=JU59%'0HaiS l%{нf 2lc@-VD^"*X%ЮlLGP-6XGǃMp5;|A}fLI4!1ù5$>^*.C4qM:sg0tc~EG wi v{1~b\^Żp`7|Q .J{x{j=%.ӊ`8pHIja:3~Ia)?"-4.V1nbB௾c}}CwX*eS؆[Ā3a}E`#~rc ntBE0eE'}c?ts#`)e`<)F~䐎ӯ2CCᡥmz3B"ѯv+*JUenSJx @XjtD $H"cb^H,:٢MQg'+eSFoꅧ>?ZZ|7QKvs>mҞ̮:U]rݾ ܷ F4 W%Aʊ*p(:"Ble :K"!wj?]oy ( Z} Sz2H> endobj 1952 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [139.137 272.327 319.464 283.236] /A << /S /GoTo /D (Handling links) >> >> endobj 132 0 obj << /D [1955 0 R /XYZ 90 720 null] >> endobj 687 0 obj << /D [1955 0 R /XYZ 90 720 null] >> endobj 691 0 obj << /D [1955 0 R /XYZ 90 630.898 null] >> endobj 695 0 obj << /D [1955 0 R /XYZ 90 405.135 null] >> endobj 1954 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F58 1759 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1959 0 obj << /Length 2752 /Filter /FlateDecode >> stream xڵkܶ-J2c#.u.( @yZ|w u[%9 %Cr*Zpű(T*'!CD<fuPa.#.v˃>[o8ԳF$,0]]=,I8_˓WӅBb IQ`U\(VDcWW@V.D: <$5́V׈L/j^mcov,65 GS|nY}uƃix|W'PTMDmXD q-^8p"(h'ٛδ?ϻqI]4#=ZT nV{M7|QwCU@IXPȬDM58@aeWʶ`vH4c@O@ &Ifc4AXBc8dPa>*ҽ} %,<I(ujJXmfh 4$(ީ9.ez*kDݐ%swE S ~hrW "NΉT(}`Y&m t]/ukg613߀ :#!cF>%nΩ@U"Y2anK^c52LzBiS3f܁v33ra~\\4HFBf7[n0;2MDSјdm7N8O]r2sn29М#4i 7k:w=M:8d:6aiJiM V7,=YȐ'1GXhz5K,wYQ.0JhX]*Q|NȣT/O]XTc0"eY`K3P$x>JG(uf;ӱ<|8P.LdaQܔ$?.U"Q( S܃;CS.mPR-Ɇ:auZhWu ,Kro\YP(g"x"p xa3#+;nY*+%0; 0d [a$/ H}^IIjƁhºDzw0!عg4ݠ+nƭn<_nmנ"*Āi,x!)h .3hV:º*q3p␳: @*mrpsNbrb6Nu2N'$ 4& |kG_x6^aD[.;ohCﮒ[:c}2Q@O)=;2x2 _.Ycͽ3Y)Bhtpf] (K,dF0x2<^r3t4t2W_1ECiB`)cHܾܗhiN 3ZXdM'XjvͰ4uduTS ÒVSd?٫F= SE:W$;(Ic0k fWc 䥾_11D\', %S j8; +l_T+%΂>J֐1WS !j~!"~\юSȷEΪAm/!v1HA5S k4M{}5x՗7̣bܤ -J:`OzI !N7GOW*4:ɵ.,w5Wl׋%>6{P@CoP_v,jV{i Ƚηs󹥭)Ak_-ˎdD)|ME}cu֏ɕvapQ4Gص.)`qn;_+M!V\;ors/lvVhvZPRB_S'}XKl Ean\>ί{e# Saj([:V/3{;vy<56϶Hb[¶jГ#ĀN|<^=F "O9]QO-/DalL}Lq\ytX O msכzT$n0qbpyLc&ʻ<ބ~ 2!=XJɳo~>͑hHʥϴκWbaxwȥcUuv3'%~ tIN ?U@2϶{l?H8}q(JDep8dJa5mE"yvE\HDap29׿$Jl=GRE^Dۯ}u~IS EN;tȊgǾoo{{~R3'&殦r O&li:ph;N?豪B$y)Pq L!r_ְjNߟ߃KA 8xe<SsSaH4dY"?y_$Q^n8w r.ǽ -6t?2- |PqEϵ`7T@I{5= <|ءG3+ߙL7YiwJAT Ս#i~@Csas0z]< 쉄jRo ^  ̟B wNnrr^5O?ݱ*(.X{ko)χTpv5=\x z= endstream endobj 1958 0 obj << /Type /Page /Contents 1959 0 R /Resources 1957 0 R /MediaBox [0 0 612 792] /Parent 1937 0 R /Annots [ 1953 0 R ] >> endobj 1953 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [123.433 119.9 293.776 130.361] /A << /S /GoTo /D (Images and tables) >> >> endobj 133 0 obj << /D [1958 0 R /XYZ 90 720 null] >> endobj 699 0 obj << /D [1958 0 R /XYZ 90 501.866 null] >> endobj 703 0 obj << /D [1958 0 R /XYZ 90 378.003 null] >> endobj 1957 0 obj << /Font << /F51 8 0 R /F4 1765 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1966 0 obj << /Length 2453 /Filter /FlateDecode >> stream xڥYs8_>ݫhQ|/6;mwMo9Zc]UI (YvTMf" @a>O"{.D8g~ykq~lnȎj5\*\O_eժzf;%7}{W,':K/ n4U/s B!$CNP0 BJ3*nVַŋV6_f7m6SP9GH֫Ltk(oa_vխkqqo]W]rJm8UFT ^@L e8Kc~\Ƨc\ulp{K.ъw4CJ[JVnlZV%ǤµɆy8Q*[Ny xm9%~n!W~c\D#pSDڒ7xkj,2lc@>7PxeB&h~p|3OhbUf Ħ2Z$L1SNN49Il}{M;^Տ.um"i:,>5HŦY!Ʀ!qlh+ĎSx_4xLŧVfY._$iٞM[juW@ bs0r9G4ūX=-VPd2NU04.('Oقfl5$#d'`8d*K շ1l%6֗bzk'@ZEba `Z֪"%q~8cX^ gk6L}A(luh`n)?c^hPL^@RiiӔ O=mLu7@>M!%D|inuQt\m.#"~Ǚ5Te}Ga~3'Re5+OW f7,;^k|?\R kGS\_ F+ *4ss"]:Kqן'5AQe^eJCt{C{zvs H٦i͢ A; %`AŽ޽|r̐k]2@䬔 .Z5eaBvY:%t[Q9<䬮"q. :F4[>jѦryv o\D HFe10Za?>m|5 BJsY-d=}+.ߟNXp*B+O1,fgPK' $N>C<ҏ^"H}<{C*o:l{H25T ɬ&eҬa^RPy{QJem{" a/~w1;)wOkC6n9B;'!i#uz#/8J K=֛ urC$I]khˌJd\nڶ,݇LԡD*4Mȉl2 - QRfƋ xEJqҬޚեYs)'CTyps\mq޵RjS\wnL%V4}@^h Ҕ"iV ~Qz[D0P`hl2]V%`jn E;EHk*S!r<ԚC o`NxdmȘSI*)6)f0 4NE'Zf'O]P0A]d_ )p&9SÃXj[-MMKMkz6k:r:gd)aL3]N7=o Ru!^&dQ}}ݨjK+ix[u5aKm&](HԉN5uUQeE3ҶWM!r$ '.^:l >-˕D418zg endstream endobj 1965 0 obj << /Type /Page /Contents 1966 0 R /Resources 1964 0 R /MediaBox [0 0 612 792] /Parent 1969 0 R /Annots [ 1960 0 R 1961 0 R 1968 0 R 1962 0 R 1963 0 R ] >> endobj 1960 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [111.612 413.886 264.294 424.795] /A << /S /GoTo /D (Installation) >> >> endobj 1961 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [332.729 286.514 522 297.424] /A << /S /GoTo /D (Adding hyperlink types) >> >> endobj 1968 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 273.97 131.818 283.121] /A << /S /GoTo /D (Adding hyperlink types) >> >> endobj 1962 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [255.03 242.555 417.031 253.464] /A << /S /GoTo /D (Link format) >> >> endobj 1963 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 194.087 281.905 204.997] /A << /S /GoTo /D (HTML export) >> >> endobj 1967 0 obj << /D [1965 0 R /XYZ 90 720 null] >> endobj 1964 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1975 0 obj << /Length 3163 /Filter /FlateDecode >> stream xڕYY6~[*&@r`SqO^.GH\S☤< )qrF[z?*UǪjsx'ZF!WO蕎Tzuu3eq]^޵0>_&uhuu8ϒ4O~&|A")3+mUlS#"U:,Uv& ^C-38ء WBi#7Myܶj:\) p++}ô֕qL$bӴS3I0Xn%!:IIvhD%y_/34) PV_ݝM]9Njx)~OwJ@x{!x*Atd u1hAq$-̛N@uLޝnWz[]quЉk z" śt4Fvp(д Q.KⅵZH7ObwWatl}9%6s;mRp-2s?Li) B|Ύ{1ـ pN/&->( Ŏc=>P}Asfcoða$gF^7BdgY``S4=/ (p|Ou;%v3xPw[a%)>@:y# K:4 H[3gD DyW\qTRxkEENEB }-KYt1(_ju- G%j?s4;鵜$;vC.>meLExi4.=iQ 5_d> X[_MQ17wS/+?cdCϨ"_rzi ,'O3ȩgfԜ.E"enΣb䇀+x Cv)+ 8pqKuG/T(S.p4#w~,2.G|YIf;lNpkm( >u! {:}sBF2dx7F-\:is$٬kKpg-kAϐǽ؟fރV<ĂSÃ%½BSny2%iʭ&`XFd)τU] H]r_Y]{ܳPX^\pHT5p=6&r b-> endobj 1970 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [147.6 200.055 316.231 210.964] /A << /S /GoTo /D (Search options) >> >> endobj 1971 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [315.201 147.452 495.594 158.361] /A << /S /GoTo /D (Custom searches) >> >> endobj 1972 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [358.63 134.302 512.328 145.211] /A << /S /GoTo /D (Installation) >> >> endobj 134 0 obj << /D [1974 0 R /XYZ 90 720 null] >> endobj 707 0 obj << /D [1974 0 R /XYZ 90 720 null] >> endobj 1973 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F58 1759 0 R /F52 359 0 R /F54 1750 0 R /F53 1758 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1979 0 obj << /Length 3295 /Filter /FlateDecode >> stream xڍ]s6=BogL @[Ҧ_ӴԽMۙ$U_@N:@`]7V)KW։3j+%rRiRVw!]u*ZGؘf!$Wt/hi60?Tc[6t ֦p}/vǦmyB+f+zg8T5+fZvͷ b.,مר#oR< Px{i?fC= (U@^ЈDYrx,4#kvH׳k`ꇎ}B{ tyۮ6HYc:'^ї?"7_yK 6 xsXu>YO`O-jL,F́k0^Zq<~i~6yj/S5W@K'e8NclӖ.3hq3qaKN;e'z5ޔlD24E]J8%L2KK|%3x0R$V$Cd(C>?PZK2JFDCXNr=T-r,0dB15~ ߿T<(eǹ_;O hHDIcF,Vᡖ"#أc#LӃ&4mЌtGLYV90”K݌(j0~.jDiJfJvChEk5|׻S&^F3̴j)s 4i ;/4OrKqTM`(:W32 S|:=p=3IvH#9+Q)b"/*ʦ gޮ?.j ;Yt`Q[싴3j#E^Ȱ\eV%i_j'_=2/! A4"qJc8+qhCYUMaɗX.xݩש_&Q#1u);;XAW*ѡ2 .f0A&I9ld*ql=FeZؓD PO/ypLI)N▾n A-"6=yn4_0A|<T+/`,V(h[HnOӦ0ŲE(9PTy8?˥2AeE![3d`~: ynO?8RZiCX3N:0/0e)$͒"QdoA4AH!UkONt.| kIL rFQ|) Ь8Z|G3sTo5,yzG9ΟZl"YçVRwALBo%2rMJ% eTwIOy4}9(%F YdLoRW*x*ь)fkv4ᖬVҳ`1SNwfqJ~Ôג .Hs#葞XǹpHt'lqƔ[( ϝQFJܦ ZYg[5E!5q[Pp^ƒ pU#b)íس@nr^n_=Or)_/XQSE>ĀŒLMO}Q2̿Q&O(F|w~ _ɀn}{ƛio&!7o|;9l^s/ \]sS^CaTw aWe9%[e(^ZzVw[~gT$_r!v s)h̷~찚6SN{-R`U8QX^"ۆz#te&RCQ#$Q4^i~ks42SXRp$L˿EJ[= 6ѕ ̝{" ~I@6[ۯW웜)W31K& endstream endobj 1978 0 obj << /Type /Page /Contents 1979 0 R /Resources 1977 0 R /MediaBox [0 0 612 792] /Parent 1969 0 R /Annots [ 1976 0 R 1981 0 R ] >> endobj 1976 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [470.806 485.771 522 496.68] /A << /S /GoTo /D (Link abbreviations) >> >> endobj 1981 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 472.62 284.631 483.529] /A << /S /GoTo /D (Link abbreviations) >> >> endobj 1980 0 obj << /D [1978 0 R /XYZ 90 720 null] >> endobj 1977 0 obj << /Font << /F51 8 0 R /F53 1758 0 R /F58 1759 0 R /F52 359 0 R /F4 1765 0 R /F55 1860 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1984 0 obj << /Length 2688 /Filter /FlateDecode >> stream xڥY[ܶ~HE-E[ڠMR{qfՈS] f:<<׏Pb?)M.eTb=+aG! ?ݿTlDq)6%zsPF߅R@}{*>$t6"O@%wa$/H/$TePfZRAu:Ͷӡ(q3=i N۪tᨿL)CJ%Y𶭆%+㕖''Aז[ҡ@PH,2쪻J}{+d2?ް̐̐Qe~V`WfUR>6;plTuwot7qHQH*JI /nI(/q4=oMYra"A)qX=t@vj6e%H \:?f V3J.`o6lb*s "Ƀål<.iT+Aa0YD:aju%8.3y+qQמz.ڊEcqCSD1%-E0&P+a~:x(:eą+k<&M=6 PS)-LePl[(hP v98pQ@c+G[͆mnSzFp?_VwHK5W0|z}C]JU7e M\aK.BdKl/yHa"8T,A54Xjp\k+!@ 'lCf[9 Qs't7(q,f9þR*ĕE,z 08#ew甜" 2&ɡ" >f4/tpr qn57vC_ 뢹ힹ),_""X( N0k8l,gOqWuy$Wtc*;sьKPWnaqO@ZﰲyD":xL9WT` >oOWW;l "$t! zf?tX3Kc'\i~>_Fe$c.~%6RN7hjJԶ>~vӽaeU8Π,4~ԂnPxWf竖*X8%&k/iYpBVGV)ybߚ*J. c]~0ڲ0:Pi^=OP}-. !-lY P6/pVcT b KϿěa<R͇WU˾L~d^h,SD9]9=xn%W߂滬 `"3-\JͰd NLCwTDi`X+ݕ=: ?J3VD̗VÇ7?tJ#u9m m"[/.b-)iy+~"Z}5G endstream endobj 1983 0 obj << /Type /Page /Contents 1984 0 R /Resources 1982 0 R /MediaBox [0 0 612 792] /Parent 1969 0 R >> endobj 135 0 obj << /D [1983 0 R /XYZ 90 720 null] >> endobj 711 0 obj << /D [1983 0 R /XYZ 90 172.634 null] >> endobj 1982 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F4 1765 0 R /F72 7 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1989 0 obj << /Length 2961 /Filter /FlateDecode >> stream xڥYmo _H;-5z#ȥ .z=J]Zi#iq}!G+EpHC>Ʌ"I,LǣwO$\ pG?\=9{ɅDerqu;fqU,Wut pn۪:hI;aA`)U2"NC!zE޺jVr;ݻw~ "{ y{~{2jڵ[֝n{uvi53@菰oN7;]wwMY'$Pab'_f E byt:͓QUϥ˦p>ۻ^aũۯ:j媦 O Yv g횭Ȝ!~ asѓ ln{]#%Mt嶬TKvlZ91AMm0t,i3Ma+@iNtE!4e/kPA$>.H殳3wK2&.4zL|[u}<M[j}s].ojss3w8l43(4"xш6pA\!1'w,L`zÙU[F)t Cᧁޢ]O#QGs(mj^͡7Dԕ!0mSaԜ[}DiE oH6CkL=u^;'e?dF@{LQOycSh3f@rAtcu%P? gg#FۈXJC|zp.@JwZՐԅqd ݬeTfq{v_)DtdR.f: :YI]N ?5[BۄRjϲl}\"5^ g*Ŵ(}9a/0=>KM~W'#msstiqmBB-y1yCxѱ"Av;fQSq-SYm5h4N ,xQj]qf77⯢ĔEdULNQ (`,䪪taILdMø&r7ܰj{0#?h8&fS8'sFY|4'N;*IEa0?^*`Na4}#`q}mԹ,"9]@M?N&6X|ArE[=βLD(ޮz<󄗍خCMR:gۖ4; 3p i-29W8wS0L! n R{ess9ȏ Q,.l.Dw c&A}hA`:?4}~+ZRmgG bK(Ga05˼ޑ/ -ԖW?k4, M2udNHHm(]= L0o^Gnj~Ծ&*e]YhN*Fx?. L/z&"vdRc0`{ShC[`*,P|`j2uO4. z5B-\5s=F/"r]^4|DPLͰ߰ӟ=zJ.Qwi:y3)qq!?|7{[֤ĉ9.%[|Dx\zؒm0"LhgO.u~TDFBRՠy5M^|k"awK =OʕuwehQt7.Ѻ 8?B6 ?%^lGSg5h(ϸq7 2ߔDa[b`;mz(sS/~_U< {/W !Pw4fTХ J0>Z\,(5-(ŗ Ć)M1$Ј`>`yVs[ғl,{Rpi噇H7ޢ01e`vP X BHXl@1}: Q[f )aʪ9 "`Y*r3P *h}2}E&Ti+jja?l endstream endobj 1988 0 obj << /Type /Page /Contents 1989 0 R /Resources 1987 0 R /MediaBox [0 0 612 792] /Parent 1969 0 R /Annots [ 1985 0 R ] >> endobj 1985 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [217.05 200.196 394.384 211.105] /A << /S /GoTo /D (Completion) >> >> endobj 136 0 obj << /D [1988 0 R /XYZ 90 720 null] >> endobj 715 0 obj << /D [1988 0 R /XYZ 90 656.303 null] >> endobj 719 0 obj << /D [1988 0 R /XYZ 90 149.094 null] >> endobj 1987 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R /F31 1767 0 R /F58 1759 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1994 0 obj << /Length 2628 /Filter /FlateDecode >> stream xڝYo6_a-"F/W&}( hy%~3V8cD 7cy?yR"E^ xw#y!GlkJ)O_n|#~㇉gCYu0N(|v0 8BYS-RZl$LTy /GS6&oa#Hz o2 @HeiIϘSR2h֚vtTDAgRIZ&"($*J h ʖG:ؼ/Vן@ -u᫐/JȈ>tt-PpDDFH`%<@OVdXXJoOR,XgA | ie=8- -x75mi[&gԤw$ՍcҒ;[ȉeH ɑ;^7#ɮ9$z Iv<莨~ a#ͪO$"FlX*⾌"3d[!<'T3SНH6E jQvH@q~"7}OZe"i;b1 +Co-0Ơ5MC55>Lm/Yi,꤂æ~}+*S" Ww[0ёQ4kmM .|ߪxwZ{ y>K mkA!,cu?'~.&Nq(3~B2t闩ŤAc4 F=6ƎF093?N o(1ǞF@:ga,lU΄+r8 }j ]Y4ظ0uIЌ%9mks@0V^inU:I]Dunh J^Z9ϭȩ!1x}9>Rdr)R t E+艈^xqGewYIEH/Oc]5mO P5 B$BR?!^}y\ D9Nc.\N>: E3Ο{za#raN@$9I52r8pLx8uIJSĚ0Iv<X[uAkS9&~Nx,ɘ_w[lI1G^7\q5w~mq!L@PgyO4?&A@l2<b\ew k=B%cxۗu*Hۆ܂C#XZ4T"=uH/ɟ@.;:^Z$f"FVGtJx<lQ5;bf^.44 1y&Ra %ppTlTwlnv޴i|AHw  :!z8}tYpz B=0z@tjp7>P EJAAI2`&jCB0(ۭ-kVcF Th9 BpsJ)W:e>y5MGpKM'P VI EsT>[d̫8#I5x$aI\ c`y+Jޟ`t 130 b4AUKGJg|`.?rQR &)Tk/+c;q<HPCc)xz]6L.0̝d;(;s<8{J{z-S]x2織R;M8}ǓZ,#"絃[bBB!JfGA}'uӾ 4-8pm:CeqBHep4u6wqB>tCۉdwMPdhwBq$RHpyt7 |\-Kh19eU o؇}9>'Nݔ aL]:RLEk39[j @;jO3%'X9͔j [O:7\yeD*Szlb;DgșcsQA?}'4!Ɛ)T4k*9z"mDzT>ۦh쪔0Y@8.@xs,W.-{>3Xݱv_r]ož?j$>Ywű{D_@3uN@ң4@ȕ:hx#E8A"ZJu܋_\*) 4wS:wr9{a܏ ܴ7?7Tminc79@$G}-;,0"{Y_CK> endobj 1986 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [417.816 681.407 522 692.316] /A << /S /GoTo /D (Handling links) >> >> endobj 1995 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 668.257 157.741 679.166] /A << /S /GoTo /D (Handling links) >> >> endobj 1990 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [340.765 505.666 504.44 516.575] /A << /S /GoTo /D (Internal links) >> >> endobj 1991 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [239.987 492.516 422.266 503.425] /A << /S /GoTo /D (HTML export) >> >> endobj 137 0 obj << /D [1993 0 R /XYZ 90 720 null] >> endobj 723 0 obj << /D [1993 0 R /XYZ 90 299.448 null] >> endobj 1992 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2003 0 obj << /Length 2728 /Filter /FlateDecode >> stream xڅY[ܺ ~ϯ`X)P\ zvcJ<2)ERh&D$ u*m(ol4,}e%? W`WpGҰ3u>=u`;ӛa<*RMY}Q AdXCE*-6D,PYCevW0%.֍ I6H"k;#d?Co+QݞÑ?PS,TS*biΖ%AO$lewb=uì|ۃs#fy% i>fN/^a恭Ow8{gD4yz;z }U1ғEGd{V6k'3[\Wk>Of;\D1>)?a` s9c 'e*`eVћ]!(QGZxԏoBz:jnK"m"`: HH.m?eЊ!4Lj U+"@'xi4~Grjn"U'X)n2RaPem 9b^| >H}k,hH6qymND A\13OtsL8uV̀`u:yp;qd*',ɯ᰺By\w!:k' ;Ì?:ij\+{yʯ]}~q0b.e9'ͩ4{\D F~u|n8V;qKBxΛz˜0Z+_:| t!Z%%Wv j}wvm^|͚J8SL"bi4TGQi0eVgbqS^$SvCP}9 %LUƕ)Ηe Ȟ>GFYz_Ӕ9+p+37$NWfr7h knX/8$ʲE`V ! "$M'K?FD֖*,X)v|i?ϷMs7?Rc_լ@v*Fxc #S!gN+~K }ht]}6i)yC✀bZZZ2Y> 5P5-,i >ⓐ{9"\ZSts)Fz bfT2q ǚN'm,]s#\DxȰk,\'e=9/{Y$\ף! {w4Jל20{i:L{ȘW²Pҥ ^```zDczѓ3]l?7 .z\]u(, (,t^̖Y%F4z TXeeÉX/Tmސ~pւewAjTΝyOXY<$NVzlԡ puم&p<bfSAسT I]'%DeJ( UgBBXP5BUj[]qF/-L%(yX 1#tc.h_l եQkߐU4 P3gkotfWfKNb =E) %a)٬}2yM+8Yz94eS_챻'3y_wx.+O`6 +T6V1B7p݁x ~%,#)[x OW AmKҟ%ˆ5\om\Fr)ѷw ~E>nf5$t&+m3v/͛Yp\6OU/W$NMY+>6~!{x,@_kbz|Bq.Ρ #}QX@~ov7N D~o BGym (hY2Ln`)`Yq1)!H'[C3b|/lCL+^+p[&7ukӵ؞ t5k{7˦Ej㻝8R)vjYIc endstream endobj 2002 0 obj << /Type /Page /Contents 2003 0 R /Resources 2001 0 R /MediaBox [0 0 612 792] /Parent 2007 0 R /Annots [ 1996 0 R 2004 0 R 1997 0 R 2005 0 R 1998 0 R 2006 0 R 1999 0 R 2000 0 R ] >> endobj 1996 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [357.818 397.136 522 408.045] /A << /S /GoTo /D (Fast access to TODO states) >> >> endobj 2004 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 383.985 225.049 394.894] /A << /S /GoTo /D (Fast access to TODO states) >> >> endobj 1997 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [351.371 328.188 522 339.097] /A << /S /GoTo /D (Agenda commands) >> >> endobj 2005 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 315.037 189.418 325.946] /A << /S /GoTo /D (Agenda commands) >> >> endobj 1998 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [371.018 197.052 522 207.961] /A << /S /GoTo /D (TODO extensions) >> >> endobj 2006 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 183.901 184.089 194.811] /A << /S /GoTo /D (TODO extensions) >> >> endobj 1999 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [238.111 183.901 410.22 194.811] /A << /S /GoTo /D (Conflicts) >> >> endobj 2000 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [347.446 124.909 514.727 135.818] /A << /S /GoTo /D (Sparse trees) >> >> endobj 138 0 obj << /D [2002 0 R /XYZ 90 720 null] >> endobj 727 0 obj << /D [2002 0 R /XYZ 90 720 null] >> endobj 731 0 obj << /D [2002 0 R /XYZ 90 544.653 null] >> endobj 2001 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F4 1765 0 R /F52 359 0 R /F58 1759 0 R /F54 1750 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2017 0 obj << /Length 3328 /Filter /FlateDecode >> stream xڕn=_!P@rouF"-atH8gnKˆ;V1URcfU,WJF! #n^}֩v+*Qpa[`S8Ȃ5 U^e8+z4w1P1\ǂԱν$?KEKOȺģ߁9M<ڪ}uf4sӃޫKgZ'M] N@瓦tRP[0Qm &MXFȻtSBDJn?@UL'gC_5T"/݅}m{I:^RF&ivf=1EE (y:4ic\VAiAK.%{pKZF܂AђP;pm|KDlr!@2:`)v88c#IUUs8 /RISHnwX܁[)pٜeH[3a2z ^7l%HsS`;S*8 U -C%YpCFuȃ[FlyiHI&";ϚͶ\s'p a=o !j[v ! n-&VS4g8d8 N0[-0p8~ ȣߐ$1 [ Jd ߊuU#y)9d}zh#Hnt\(C1~iSL Kp.$g"--dEw]sAQ *Ci+A%K #Hs~VxjB']v*M1> Y s1(#0W]FXxVGIj'JdfM;^O9—*ƗoNZY/}̤Cw2^H\A' (CΛf#| %srəy^ۆ递gDOfi=Baq1S P.ATEunRxD`8:Cx~QbF9s!@ԛbmx.׌IkJKBwУ_싖--`4ub"8Idi2 ΋*mQO-#+}MќĠ1yJͨXK9ss({oȒ!~|EPHόIg(4UQElUkH#uqP@>`bO?5YqoXtf`X Ѫ.au< xNBjDORxn< PKszv񃝁15FdVk𛳦4`pj9>B}ۜv{?)ycŤwDlj'[g Y{,#ijy xKHރ;CAzZpgM!r'PMp/%5.08p5HHҋ:m2HG.">mw>K{_R*"iI]IjK”36—<QY5,#4=M' Gȋ$B^0<@Þ_sZJ<:*`؋B&0/lA™FJ=7GJvהǗx`@qn*,yI4si'ѸcP. Mݎ5Ct ձ G?"\PP}.y>#99,4Ϯ ajIF _p;)P6˲wWHYlXmluӰirL|u#!NbxX?иd> endobj 2008 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [312.899 569.752 494.243 580.661] /A << /S /GoTo /D (Agenda Views) >> >> endobj 2009 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [170.366 530.3 380.843 541.209] /A << /S /GoTo /D (Agenda commands) >> >> endobj 2010 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [415.907 530.3 522 541.209] /A << /S /GoTo /D (Global TODO list) >> >> endobj 2018 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 517.149 250.54 528.058] /A << /S /GoTo /D (Global TODO list) >> >> endobj 2011 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [162.242 334.465 285.061 345.374] /A << /S /GoTo /D (Tags) >> >> endobj 2012 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [169.66 140.869 344.869 151.779] /A << /S /GoTo /D (Completion) >> >> endobj 2013 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [148.737 127.719 393.854 138.628] /A << /S /GoTo /D (Fast access to TODO states) >> >> endobj 2014 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [460.286 115.174 522 124.871] /A << /S /GoTo /D (Tracking TODO state changes) >> >> endobj 2019 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 101.417 284.546 112.326] /A << /S /GoTo /D (Tracking TODO state changes) >> >> endobj 139 0 obj << /D [2016 0 R /XYZ 90 720 null] >> endobj 735 0 obj << /D [2016 0 R /XYZ 90 439.051 null] >> endobj 739 0 obj << /D [2016 0 R /XYZ 90 325.027 null] >> endobj 2015 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2024 0 obj << /Length 3117 /Filter /FlateDecode >> stream xڭZݏ_!`$w|NӦ6 -<(މ9II*7KQe'@aڝݝo:`6B_:Za1x{8y8q]]_1Ƌͻ}(Mȳۿ.+Ii4 &%)ɬ+$~GED|z787W=?O.;y :"}'LvU9H*Re^u]9&ϲRw7x{JS1yD#"4e]޻ BSՖ{%َI6&#t&%"GK^Oę)Db̀l`'W}.6uJ#ǫfS&6nZiAo1SH{w~X @j %!B!Ӯ>p[oUكJ3\R5@H\|6a+0pqy֖u+פy(B#Gz5ێ9EڞH~Uխ@Ŧz@NOT+K dzwXrc8jwtPW~&K8D a7f: z*|V˗:X/nKSG\dqrLwdxy\ eU&eӾږxVOTܜs۶GdD%i7d04>XH Aƫ 4%I==cXI~vr8cxӦptx޴d6 cYɴ46}' }UZɘ׊;X1V 0AZX3aPWRk6bL.; q|WRB#%~S?"q Rb[DXck@-XfdQ"n4U7JQ,P}YVxjy9ބH%K\7X#^ڶk *o'^{4=2!jC M% L%8Vqrziv}WoU@Քh03CQo٭DZY^ a$MܻoHN,z!Йo@$ ݏbڊ^>7: ѳ^*G< /.Ǜ%#A\х6,\ȎN$iK?Dol3v[}źt3~lBь xF*Ĝ*)@l1;Ovto+ݱb!., RD0?Qzgb-;JLq(15$HLr (;K2톉G_F+{TN`s/T'2`0 qV e>)8H b f͞k/ʍ˫1T+ xB!$ t֒62+ǥH0͜N9  , Sl>cn]t :_P1txY˶*8^rú88TL>)Q]~O<)‹0A69OHA~\ԞVR!'֒Ͷjc2MBwbV@ɔs1 ֺQʙ:,%xRZ-AaevCK=U] 4)uL %aU2n=bHxh dcǔ3e&Gꖲ%b#c2#DB+Ycx""BX6ZMioQ} W;ՊRk 0GK!ytnIfEDCZ&֌QxvŤ—e>1 EA?\[wuÿ7?~>w~w(8a7_,ORs,G\' nowq;Г 4/ ]-UuOjQƵhԵeBۂGYd Ӫsb7n/yx(إT)Xzvz8ŭLrn G=Wc"j[džd%TܨbR>ŵq(8x&ZMR8# :z%)8\% {7џ;ʠ_!!a#?9<%DA^zҗf C '2y;5;Jz0A/8d[~ǢֱImm$:#u_ҟe-AYeӶRs̏ͱ^Z'ҠuIT8sQ(TNvZωѩ[0\SP}࡜+ CD4&\=j 0*x=-7mnk;װy,; ?|_o'JZ6Hcsºlo |C&Pn`}hCD۬V{*==kKH a(H/k;A"=rɠZJ{$3~`0ΈM%'ž_wpp|9L< ʒ?F֏t(9^QMCR`;Zw;iܺ=M.g~thh4|c? p퇦{%d$Kp\]\L>@ዦ1 r+> endobj 2020 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [394.223 120.776 522 131.686] /A << /S /GoTo /D (Conflicts) >> >> endobj 2025 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 107.626 189.418 118.535] /A << /S /GoTo /D (Conflicts) >> >> endobj 140 0 obj << /D [2023 0 R /XYZ 90 720 null] >> endobj 743 0 obj << /D [2023 0 R /XYZ 90 720 null] >> endobj 747 0 obj << /D [2023 0 R /XYZ 90 428.296 null] >> endobj 2022 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F52 359 0 R /F58 1759 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2029 0 obj << /Length 3057 /Filter /FlateDecode >> stream x]sܶݿ?(_N,N˱.m3Nw<G #GB" 2Xn$;l=0g'֑|qI/v݉$QNO~Y~|G8BX߾K< h22+/  Scbq&(}f_er^$X CpR8Xe(Ez=w"Vie)gIϩxp9ݛmjv&mMwEEbwͺRH;+(}-2E," YK"W+$ /D^Zq&8vXry  eݓ5dl0Ja8]&MuO02༾.h[[F$r޾/6| kаș^ݯK~GlqrAEJwap';F \~UC{oٶEgu ,BJUtM8-t?` ̴4sz9 IsV@*:~߬.d,2"É@ѧVPԫH|zȯ0ڬsωЦ A1ח|}v9f:˛)7q$N_"*+G{H? A:N@cj%޾-%i"P%vgTgv؛L5[`k- FSzT>xspzWb^Ft ,=TЌ$¤R⁠Zדlekof@IP]¡\8"mK#Mp'* ?* v6vl #)RHYN!F >tҡ4eٜ*ࠬm> $#QZ;a%P a4XphXXJ9Ȳ I)a@Gײ?C/)<|!D yY!E #! ڄKHnp kuQi/@t"Ri AF70Yٴx-]|$GYF&G@< ёkB=,@\v5R7℞v1) DgcO)x@js&ha6{b= <,/8fOO# | }2 HOjưRƪ;m3!w[оiN#>D՘N'(Hӳh//~G16Fb(.N183໶ي4 \a|X Q]jw:Us:)gE%p"a7J(hWlXqi^Ƥ *jcS!mx0}~E^ c&q5vT 5wQN u)ma_Kdh9m0]oj'8ƫJ5OL!X\j)-9~qRS*SO ˖3]c7ۚ&2L? 6O0⌚٨LW/b oa;";qleBB7U"Y 4҃TҀ9%qP@( 0Hq17Y_6͸Z*\rrt cD/z أT =c(Lm[cJ hC)&}eBA":*'?/mac5v*L޶dYCn<ףoYú0Q,(Je&Qt,ihkZ)5uM~l+Ψ팛A~ڒϢ+^>RqQuJh0}٨XD(OUa3r_)TqmDLM9HX8E6Jx L'E𨩞Q (;+1~PJD36526ux23iϛۯgSU#-8z%,| 8fL`d@<6U;M9$pn =Gc4R]=NC;rm0rSǴ}I! D-mwh0OȅUX`0m*4$>cR>Dr)2 I2M|/Qs' *uEl4wJ,R.td`ӝ)@u=c`A'Ye٭( I*v [Y߷5,}Ǵ/M]S5-2!v&PIpO2/b\HH,%(dtr2Dz6"P-_lzEy6KjBӒ5G 6! )2G=`p\@Oʠgvxת`¼S޽a rD 墇]?2Ą.)sJT(4ã~^)ash/# cj-?AWx&΋nRmf9Bu=Etxs΃ne_VIj- C)%pL &hxTܒwW{_L$C\[BTpS% _&p+q}a 0'dL9zH91Ie+c@) ,`l!2J~/] uBf7hok9v=`91c:{I1Ě@MAa  1O#V\pbӖa$<9@% @]$:r!;]9Z(;tx x6a+8c G@U*U0 $\`Gs#15#03dJF%~tr-{c bBƻ$.2MW=1Ja0 BbpplEΏϥCp;FC잍 ء&e,OLz!NXsP&EN pL/`|槇oBgak_k=1X.']Jq@Z\\k޻7oKo'H6+G$|R/ ܹ;^x!N^~}I~_ =BbKa̼F 1V_Iqu:MBT@  4C8 t3 SJB(J]ojJK\)e;-(ZɓK0BTK CtELW2ѕ0b|[Dzˡ$@KN E^I:?r%JQl{F7<eU*do WEW}=/F{ M(!A,R6Jxi0g- X(XG1|VURVĒ$"!\ȱ y(6=-xV(d삗{`ug=Ҟ1fs @j#RKX;&GpW(Og ,z`'ePr\+zt;$:)$W0]}|]vnwXD>c5H?p H X1^'Nj~*-!)03?.N,`LqkTNUo [ *GX߀x?PEuaFFT7i8Js4o7*WT4dH_C82ӽL]ii%`܎RοP$_^7^ !J&^d'/+V9Uyvg endstream endobj 2033 0 obj << /Type /Page /Contents 2034 0 R /Resources 2032 0 R /MediaBox [0 0 612 792] /Parent 2007 0 R /Annots [ 2030 0 R ] >> endobj 2030 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [191.03 76.476 365.061 87.385] /A << /S /GoTo /D (Agenda Views) >> >> endobj 142 0 obj << /D [2033 0 R /XYZ 90 720 null] >> endobj 759 0 obj << /D [2033 0 R /XYZ 90 720 null] >> endobj 763 0 obj << /D [2033 0 R /XYZ 90 507.386 null] >> endobj 2032 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F54 1750 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2037 0 obj << /Length 671 /Filter /FlateDecode >> stream xڅT0+HcwR{jwp#0J;iWeͼ,Â"dBA_v`>_Rqz^bY/~[(I~ #!R|zx›ƨF\JIoa,J,A +D4yxPz5"+hRۡ<hw {cMWݖ~4/'%]=P"owpRr(7 "UIXiA dr'T4c+d2}4-A? Ll tTN@̕&RZuT2v+}juP]5[$`پWa9YZ+Y rr`.\eT ǦmJ9X/*{h856`4;d߇ Xn+pFkcl׽¨CNx1pu@eث|($ KJ[V 0vYuЙL!L=ܤ n^cFz5;J_B$ =5]fdzl=-'Ss[joYU *ҳS?)h endstream endobj 2036 0 obj << /Type /Page /Contents 2037 0 R /Resources 2035 0 R /MediaBox [0 0 612 792] /Parent 2007 0 R /Annots [ 2031 0 R 2039 0 R ] >> endobj 2031 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [469.39 681.407 522 692.316] /A << /S /GoTo /D (Checkboxes) >> >> endobj 2039 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 668.257 192.924 679.166] /A << /S /GoTo /D (Checkboxes) >> >> endobj 2038 0 obj << /D [2036 0 R /XYZ 90 720 null] >> endobj 2035 0 obj << /Font << /F51 8 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2047 0 obj << /Length 3333 /Filter /FlateDecode >> stream xZݓ۶_N*MMt_NҌ/]&ӹxRZؓ Ir/ijFXo?`HZiX_$2zBI+(g_ZPI\$Z\߆K\o7ˋm0T*2,Uvy}GH;Ҫջ_7Z#8cJcfZX4V&ellVU]{׭Բv¿8ܵwwus dXi9ewJT] 7ˡ^ bU4 r "0e{|Դdn_v~8 nbeuhn=|%7ێ4탽r-}n%͝L[iQi33"_oO?ĹIeWvuЕw`f˾۞?{B$G[,{ n,ZV;VІj3w(LNldUb3vC0A?kp~xk/qHHPR|O' [[ ]͌wzBqeW78t2Wl7}7'Ndӣ^EA8tU$tUr$|8V&T˯ny~ DK HllMv:!3#7ӣ]{;i \!ZrU7-aGI<)F7{r)yWށ!oWD0p^9qChtzj䟦m" $lEqꡫzM]Dp0շ2^\O_@vd/}E\YZ"-]@斂;ŽzOpRX dSWg}#ݨiݴ"ߟ%`J(ܹMM=z7kh.VDiV0;ͻgD9⢅>'i]Zv嶚Sͦg Ml țvӥ1$@dQ<:X80 *13q7;8%-i Kk%Bf/vpW`AB6D>9#_V(#-lKGcY VբMPsfx* %gFc+)t%5ߓA'S5I0uJndH|&>W#R"gpdE;4< j? 6 dc@^`Qٿ!x@M'[N ;N4$|@; x( 9bG8SIjXC~.c$&#Z;7tX/r䥊H=):*7\uZ:/F{)-KfAFDqj$cDY/\% ť& S(:&&=Ip5(NGCcA8ə8s;Z?lܑZ0uS|U(d9$Qֿy(o)MEJǟ 4yĭ uR]7siVmOd$%`z(q 7 KEAoF=d\`C˿wdO! z 3AG~z<7]Cit!9#1g<-tZ|U,/j[R乂 hLfh#ǪMq!vwzMJᐬ(6gaul;$uJcS2QZk]p Fpؠſv\9+X±`?繅 aF>c3S OXT>*򉂛̏1R+քحj|9ɇ/ O M+‡˟^oO^HC%YUݬ+A =|wF*D;mynmq;y1鼤Aw·%=9EB!/r Lc8|0q8oqΗ<\Fz%쭟_7WeƂ5Pl61gޟ.w> endobj 2040 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 609.676 287.909 620.585] /A << /S /GoTo /D (Clocking work time) >> >> endobj 2041 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [212.856 393.815 391.444 404.724] /A << /S /GoTo /D (Timeline) >> >> endobj 2042 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 380.664 314.177 391.574] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 2043 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [369.871 312.558 522 323.467] /A << /S /GoTo /D (Workflow states) >> >> endobj 2048 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 299.407 126.776 310.317] /A << /S /GoTo /D (Workflow states) >> >> endobj 2044 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [148.237 246.805 292.99 257.714] /A << /S /GoTo /D (Drawers) >> >> endobj 143 0 obj << /D [2046 0 R /XYZ 90 720 null] >> endobj 767 0 obj << /D [2046 0 R /XYZ 90 720 null] >> endobj 771 0 obj << /D [2046 0 R /XYZ 90 600.449 null] >> endobj 775 0 obj << /D [2046 0 R /XYZ 90 347.863 null] >> endobj 2045 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F4 1765 0 R /F52 359 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2052 0 obj << /Length 2797 /Filter /FlateDecode >> stream xڝYms6_>XAo4qrعD7Nә,B.IM~b)ѓ&\Op*%rV_$`1XXd(0pzKj[/RA|1_hD){(M(].q}#\qR4dIPD%Ris(a7a8x!?)znϟ %.X_zu5ά^\DP LJv9TРtКUӮqrg;hu"6- H2<ϣ4;7֬oH* #0eŔtHԭv˒?zlK@?JH؛l"ĩZD%ؾŦFw IiJ~ -mvkZ(DQZo榨hdl/5M]Ϥt<uVޭkݧ` +L8V*z"AzJ:Az全,ۇw鉀G ͙HXs5Niˀ#,t+mYoQP#0ZOs)e^1B_ Du__ݺBVi"? ő* rkd ԝ+ OYqkxU"X:]Ut!rLQw4d[ OMb.j®34`[! -(ꐉtEs7<~s\+ SV)$Pr+*WHsz,Y;UfX*P|NI(9N렼e `tb3'(/Zdo9Ŝ2!tt:e7{DlT…c"!jbG EG'0*483 b:27:מ¬tNWž3# 9lZ(Uig0amr©W\ZKBu&me, ®♙pq,7֯&F"L>LR Am1OZK@eI jDwfcڎf ft4xHh-}͵4xiaF"\КTugI=bquPvŎgh kͭivfd68ڋ)YKJ*킰=hwxa徳lh08M 9%uʳIbx)Z n`ۂ1]^]0x!S 1'{ I.-^"ېA((TE!zI t@3'gUE:uNru.9U %0H.T {HM`>unGgۚh S`d. Mik_wq|8Sh&("seAU}J'i8) Y7MAA؍E3d!R{Hra f -SY+?O5 {JXDa WarxXnСh7SZ\wwP|~Hn4zlh`ՖF,4Ƌ#Y8*aG4PŇ.?.]~ ϣT4H.>_ Oz}9\{A+B V5@}X4nY;Lw2A_ryq(c h{nXF쳪Rpr|\ fBgΚXXϱPB~Y\->/p|+@V2)!OrBrT]`[T%vgq@T]^w&_@nh9Z Qc蟥$S1՗-K :ۦl\3ҮrX9KӑUcIGiE-? ǐpkTōeٝ;ܣy[K*#DW,ɍpjͮ:>lw<3D1]*jH+X#K݁nS];X{LDʼ~4*0MC#!!U|e:f?M(!O˟_NZ-Q걏ӄ !wʯ~W2 ԙQ6l"Q:]DMbJ*{G7Q&Қ-*KX!:ζ )8i(=&1c @&;t$#u-!V KSgׂd BƳ72Gr=U:4;t f8-UTj" s)YޫpONӒ(o ְDl||~B1'CTSS4}Mݽvك;7ftiWvr@)Ԅ)%n B)w[S$D/@_*lvoWfRc}:5pȠdPUYnqGLII[aj;Yw=6_n2D""[qꂡB}؞܉> endobj 144 0 obj << /D [2051 0 R /XYZ 90 720 null] >> endobj 779 0 obj << /D [2051 0 R /XYZ 90 261.125 null] >> endobj 2050 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F4 1765 0 R /F54 1750 0 R /F72 7 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2056 0 obj << /Length 2091 /Filter /FlateDecode >> stream xڵXm6_aK^p@urHAև"H;ŵ%C g(K)dCrr!\dbb!B2H͋~B ?\l[lBz.WAxr!Nٛ}\$IˏXo#J|IdЗAHjErNV ^;@W]CTsd_= 9)ly:zg:ٖ wC]Y~ݩF^F-diXӬI ]m|7,7Q(|9 8rV0LY:IL?!9{lh&_k%t@۩2Unaړ[^ݱ6AϬBpI/$}a^Vg.}ls'bΝ4v8(x 8m&i=UQapߴHA3T"AC_sTI3l7Θz eGiCDښU 3 Ѹj$_M|)޾y~yݼعmMzoo"ʎ!x^/Wshi9ƾ b-swٻK콦M馐YCCKln UM2wV3,Z ȏлL¼m&6CxJIFW>vXpGJ=tkȬ (8{P%o^HZL?b,Vķpm C 94*\@䎁rwz`Qx) s6z:3'#P'?q p&WV3!HY-foĶ9V{S_B_V= ޛjzklYѹ@Әis?l.L\V4?*T>u !Kz!hTqj?~f{MفaxBe7k8rN#mi=ܳf v:;{3ݲPtU›J5?pZp3,O$cmm;|,ƾWu4*⧚mC{&O@ j{(5%> utvUѬlہ >p>ż%NOp2%> endobj 2053 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [414.588 638.344 522 649.253] /A << /S /GoTo /D (Tracking TODO state changes) >> >> endobj 2058 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 625.193 260.546 636.102] /A << /S /GoTo /D (Tracking TODO state changes) >> >> endobj 2057 0 obj << /D [2055 0 R /XYZ 90 720 null] >> endobj 2054 0 obj << /Font << /F51 8 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2065 0 obj << /Length 3087 /Filter /FlateDecode >> stream xڝYmsܶ_q|0 o'[Ifvb7RQ~U gvZ(<axho2XP$_ sd\' x$N?춟[qGb$m1LV ,q1VGNqY9n»9URp8dNx[iA mm, ꤐ&LPuLVtj Үb0Wu : 4Np]ݫt+m*%C: ~v}Ck0Vu`4Q_7(H y /E͍q#LòZT\B@;7.qrV :F>vm+Sz P`aWmUe-k LɞI%ʒn(_xbW(6+SQ6n>/7~nTŸL)XZN91cL"1F@i!Z+oK,<$Gqa[^Vz(Zx.jS:Ȳ!B^¥ڪZG/isL4K*J >۽(i)`,$9؀KsuN0h imS?N|F!z"<%i~!0~r6z+FMK[2*/ttoYo@Cl3&A1P9*˓ڙ@ 0y ogt'OW*K(e#F0,1$,!ӧ ]!ɭuJL:g+yxञXRX@ vΎ>ND pȑ@nAVx \1(HآJKo@ >>sDP _:-|)lƤ[ȝPmYT\?nm M|O[rqFA#@VR):X==sw6 ]O+W?1w3kmhV-X>snlzoSCx 3p^ם%ʛ#[x:"\~.z}\@8rlIfB%)g|L X _ Vn gǧX~DzW~.w':>B߱$o>j3^F$j}>8.C[va/Ct@eZr&E-tMJXq7NE1CyamRyū[9ڢJ/Ϧp:e~N|p~8).]wyۛ7?]+~\ ȗ\QHw!`s8ݑa(0*ND @PЛ,ȓ0ISYO Mdr=ekIΊ"5єU*Ǣ,>"Kc/F endstream endobj 2064 0 obj << /Type /Page /Contents 2065 0 R /Resources 2063 0 R /MediaBox [0 0 612 792] /Parent 2049 0 R /Annots [ 2059 0 R 2060 0 R 2061 0 R 2062 0 R ] >> endobj 2059 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [233.621 363.076 458.259 373.985] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 2060 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [169.479 251.015 375.297 261.924] /A << /S /GoTo /D (Agenda commands) >> >> endobj 2061 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [306.419 193.842 514.727 204.751] /A << /S /GoTo /D (Creating timestamps) >> >> endobj 2062 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [188.106 180.691 358.224 191.6] /A << /S /GoTo /D (Conflicts) >> >> endobj 145 0 obj << /D [2064 0 R /XYZ 90 720 null] >> endobj 783 0 obj << /D [2064 0 R /XYZ 90 482.225 null] >> endobj 2063 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2071 0 obj << /Length 2900 /Filter /FlateDecode >> stream xڕk۸{~آ..W6,P۠-VW\=v)KvsEՐ3y[,B'YH (]B;{JXջX0L,n7#nŝa;,}~i ϔٷK_&I"=_oyu};\EqAR"" TKKRFPu,HI}`Q/<*8j1sA:" ]-Mg C )bh)Eʫ˛%> 203o9H~oTyu* _Ⱥvj)5ܱ]U ^^C3^yiK_x?v ax4vC${E8k4B.@utxܣFr@~LC#Kq &NP^y(AY{.lߦ]I\!↗GUkVMyiTjΘ|]ޜn%fa hbP'n[VzWg`Kt,jIe|ʱ[Zs Y pmmؘE dF  0"ĵԠY~e $o9*+Rݥ)EIf-af}Λ;XbECʞu'ɯ3 Fٻ,Ǜ_7l꺘ۼg:~Vu3dxV\?mW E.o`-ѻ"Ͻ]C`LfxOY M'aC ҕ-`E(lrM6'3=Ҹ*}ݷbo"SOia&'M??xq(E gbn~UY"F9t'VRK!s퐓!_P@%a`Kx :P] yQ|'CB*n>_v\8qwbRaD;x5$OXQ l8` ÓQ2HxH]1TvRMQ9͔Zv)Nl{6:qJ} mwjoͩ^M]ٲh(ZlJA:!l۠'h>oӋ8Wh.RI,[@ PiRBC6[yBc/2tʚj eksڅ@es 77aZ}d0[Gg*rst.V|;QV-ƵCb,Iҡ7B.A;[Nɻɶܗ,Y5mBS/A<4K틠hHh9\ tb9ROrܐ/eˌ M=B,'yҖ'PdbTj^lHu[θ:P&2V5{,PhfXd`_[v ?=ţf>ug/MEB 7 Ҭ7w $jMx3|̭ SѴٸb\mdȶݽC:3b,~f*3 pQ/ }$=8ol-T/Nb,8?U؋Ђ0I0H]duI"e7hVOcpSeuk4i}}4X7d,бD"Љ#8CsŀAẽKD$ 5NWd ? N&mmtauS(sAdyd\lkim@ͫ0,- u> endobj 2066 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [168.424 249.224 328.788 260.133] /A << /S /GoTo /D (Checkboxes) >> >> endobj 2067 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [233.483 202.882 381.46 214.062] /A << /S /GoTo /D (Plain lists) >> >> endobj 2068 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [473.865 189.731 522 200.64] /A << /S /GoTo /D (TODO Items) >> >> endobj 2072 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 176.581 200.187 187.49] /A << /S /GoTo /D (TODO Items) >> >> endobj 146 0 obj << /D [2070 0 R /XYZ 90 720 null] >> endobj 787 0 obj << /D [2070 0 R /XYZ 90 720 null] >> endobj 791 0 obj << /D [2070 0 R /XYZ 90 237.951 null] >> endobj 2069 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F4 1765 0 R /F52 359 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2076 0 obj << /Length 2919 /Filter /FlateDecode >> stream xYKWXN`689f=@x#q$f$RKR;ԫڇ\F E,1qaj*WJZK XN(x͟RPI\$Z=LYܭ0T?,MwW>ڗ8Sy_Nw/JP"lTz=g 91N$ 6umD,91W,ZotlD<  L9TǙ<̰l NQs6:6CWqfC<3"/oj{Cku*_fI&Msr<(Gq™r8cc[yvI1s@ N&(€a@e| AA^U<ދ:j֑W tk0,+\Ni wdř VV⻯)+@z5@BޛjQr藎8OsϧhMp3 9Rhd=+"J` @K^ˉ)d׉!e;mq= [Q7km(Έc^#aBй[ @EU 0=6@K Cp\jM9xV\w&+7Dk6tU#4fb3%dY%e$+{LRD R`еrK!h9|so_>~3,sl. 2 8{f^cM|hΚ_/>Xs+ tX278?XXU}@(a  0u$Nn.:|Ua`1ۓc ax ]L+d[jF[РO.SDP=jFLNNڱ&xxx}IPcLWvT_ڦUGm8  +rn_ka)'q !+#4^3rLotLޙԁ!R<_/r4.T͆M Dbjx؉78v&NgjxYrRR J:V$,FRd4: 0ALrCEBŒT=>Y{-?dw*`QeH^[yf^TsOї{_3ɴ6n0VdiI&Sc;ux'z|ki XP$Q$~ˤ0p/0CESȑ`,"N 6SceQD-*0V{|3SQ^Z MK>n{O)͆ e2dO|IZ~/sE4Bh4ugb>ոM{PZ:czW`Nmc r >`\^YxP${Ft4b-2׸ċz3jQYMP) endstream endobj 2075 0 obj << /Type /Page /Contents 2076 0 R /Resources 2074 0 R /MediaBox [0 0 612 792] /Parent 2049 0 R >> endobj 2077 0 obj << /D [2075 0 R /XYZ 90 720 null] >> endobj 2074 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F60 13 0 R /F54 1750 0 R /F2 1766 0 R /F31 1767 0 R /F38 1820 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2080 0 obj << /Length 1346 /Filter /FlateDecode >> stream xڅWMo6WEV )[h ȺaEbl5Jr>;álIQ!93μyŊO2JeRK!(#7(e<Ŧ\} v7:8P?C)U|fui*]~q9m胈PMH $T̔PDK&bIqqqyBD+~{0i 2:j,}󢯞Qf[ >v`ڻo4Y#L]{V ̇ai "c"#lv4֎9gQ*SvVMg>miÝ˪.'d0 E %g J>yFAs&:^ `s?ϨlǎlmST=Зnmg[3  OgtaݕCt4e$,aA! w+b5FilCD,@}!e|&yԒ CvؠAsg˔Xk,1db @x!.؂ʼn×+m Z-S0ր*Q Ux ;^E*&e:(bU.r0{vXC:E^S>8ļ ~jZn[Fwo!1*2 ]w( L^؉ϝJr5 G%r$e}VX#tTwZ%@G?thP Z@[d =J7ʷ$Pٻׁۮp,v.V]nRdr- ;e-H ~wXk&EH^b莇2My]]XXXn`O`i>"|bi_D^i\Xi?M>[L'챯ƯN:j3 V:dݙ/eLWq$?]m>>2}^ _/Ut2rլ83N<;\1%1oukc헹?N8Q\8I0-!Xw߼,/Ox[@~dP(׉sWM V:~fP_)H_ endstream endobj 2079 0 obj << /Type /Page /Contents 2080 0 R /Resources 2078 0 R /MediaBox [0 0 612 792] /Parent 2082 0 R /Annots [ 2073 0 R ] >> endobj 2073 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.934 635.978 401.328 646.887] /A << /S /GoTo /D (Plain lists) >> >> endobj 2081 0 obj << /D [2079 0 R /XYZ 90 720 null] >> endobj 2078 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F58 1759 0 R /F52 359 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2088 0 obj << /Length 3255 /Filter /FlateDecode >> stream xڝY[~ЇPrNj$( hijVbM Ie=Emjn9s96!Mn( rmӋPF?Pa?[j s=̷7oy֏K1f+=*G^m{z7kRp -ި4*6BK@EiI~h8=t8|8^5@a{Si6[y=nu8C˿\bm]|еuEF6`? 2v2յ}mٺ 7Vp}_4ҁ6Ӻ~U-h}]5X?t8tѽuE +VM@F_A9ix 0+& 0AEL_i\; a{e`Cy%۲xJ ^TWt7LeyB>ܰ(f9yhLLgʀr(_A׸Π "=wR-8V#ہӗBLY,DB8i?ה$R_nu\n v}/JR NrΖvo<%Pn+bLu t>qޭ]92A4q﬽{&ұS6VK:deS iEӕ|Nj^mUSp,W$b"FyfǪ>z`}u;H4&PPhG[ VIRDq 6o7k0 J%8hHU=!BUlLО<tMؙeS}Ld׽%.q`~@~"šl:OV ΏvoF',:^Y|z-GBy1n&ITA&(cbjU)C":[v`m˔7}ϯwt.G 7h<:;|gE.ĢepSEr@yA@QJ ^"V]޷Cמ[/ |܃l%s7{d/%qGRf5L%RwDy^KZR0?چZH\b`m{_:qEDPX@as?~^)ՇH8vX?GNɣV,F7-!2]WYh' 8 @[zrCXr~ eO2],t!\], nm8JMe,84NHhDl x \J2(u;A4^ºm@!Oqh̪6,ˇrH˿.SnSYJH,B(T,lpV-+ xG^KGksB8vȶmv?1`wL8DٕMЀLOR q*Bc@2f_p[1%f8Ks2O>U5Guȵ@RO`vk.0 RϋrG:r"AP'I7::ƿ?pb.DA:]  #ܻm%!@4V=e4p X,uձ6Ձb ile\ C*խ[Q kLa{2CVXL˝ʃZ%޽]O0d\lL,4)ŋ70]+ Pf7MjYQp);$:L畂㙡'7LEgj׫Q&^5\.|,$ 9¥_  `%hڎZ ??r> endobj 2083 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [212.758 561.31 452.637 572.219] /A << /S /GoTo /D (Faces for TODO keywords) >> >> endobj 2084 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [477.967 87.422 522 98.979] /A << /S /GoTo /D (Property searches) >> >> endobj 2089 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [104.944 76.152 217.882 86.613] /A << /S /GoTo /D (Property searches) >> >> endobj 147 0 obj << /D [2087 0 R /XYZ 90 720 null] >> endobj 795 0 obj << /D [2087 0 R /XYZ 90 720 null] >> endobj 799 0 obj << /D [2087 0 R /XYZ 90 550.368 null] >> endobj 803 0 obj << /D [2087 0 R /XYZ 90 213.908 null] >> endobj 2086 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2092 0 obj << /Length 2691 /Filter /FlateDecode >> stream xYY~6aNA^`9%1Hǃ$GcVu|URUbc&,ϔPx}ZOT;1;Eczcmm׉Cʆ ۿ=v<) /lG(2^uWVSN+ 0>PHwap55l"{PN@v>J 625LV Z+b`v` 7#}fiB2XGUdt̂:c h2Le-$#je8T07ĀP_Jb3c?;(ʈ+cD0 Vܴ*%*-@'~E~o^2(i?ylЫ싺.n4wCXsf:]q벲mEa `Ȝ87{4t36dn$bdiQ>A1Sh C-6璪h$60aXX(F]paq0Бi|C ˢqAdh%@LBbD7]&(͜(Gl',d8{мt`,q%k")Pb͇ys,N X&3lc4]Fʃ誼/k f&  q*(!dO^ tb23Aհ3v3"tb '\3H`bc{eNcIEnR%l%{_\w'$:{%$RHINdn\vҏ;Lpz qMWT q 1T>$άY׏DH{CHh828'ٲ#$XW,)jdI* ffX'p}TS_&[oW͸|ύ3_y*"Qwj4ȥv\BRŸ.?`=6$Ca(DӾ8OⱩ9WcVyRY vVvK1{0;"z$]GT DrŔ-r2坱T9sa$(g3t\wpE5\ yߵW8'(&4Xq 0R`YwW2Mg#LWSea$xK-89JZczUȳN6e];YE  HQbV=1*sWcҥQ'IH_ϟ?+sP(WsWsRT$}*RX v܃"/=wNXc"=^Ub8 7T,+Ax[5Pَ{3Ϲ !z.%YE]\bq9U8φX[z9E=#"(h!Ay bgȭ۲"d}LmU8 ;H1Gk{wBۏ?ғa/G=a9p@*=)ROh SVJs7*4~lz}f-܋][xy/Yk57_/)xF06Yd vv,FRtu 8$L0 JXE- Ab|l%:3ȟ~c(&v2矪%}%e](e~\2#3?G0UM!2&u8p{}@4Mpێ%ӯ8@Qs@r\|w˳{k-3L XJ/Z endstream endobj 2091 0 obj << /Type /Page /Contents 2092 0 R /Resources 2090 0 R /MediaBox [0 0 612 792] /Parent 2082 0 R /Annots [ 2085 0 R ] >> endobj 2085 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [345.264 641.955 514.727 652.864] /A << /S /GoTo /D (TODO basics) >> >> endobj 2093 0 obj << /D [2091 0 R /XYZ 90 720 null] >> endobj 2090 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2096 0 obj << /Length 2941 /Filter /FlateDecode >> stream xڕZݏ۸_K%˵Eq;Z[Օ%GM?E}xCrDÙ W!ѫ<\qr67>Ba=UzuOq]|8nqژ$LP{&|WJQuYlf y;Qn_ =kSW= dyt8.oi eV1R YP29w}U}m#ngv5 P}Ihn,"+ }(}+q4ïUqY488 8I@u<,\)64}מO=Ӵ EWu)檊U&PC_u>զFdT-XS{1\6c@6EHI+>Qhb5ZGhk͜ RO`*Q\4[|l/ΗX#kCYlY\4CWlש]uꢃ8ހ1әGu C-F8 B5ɷՆl[D=teYpNs|*Z.z+߬-cdHMy䤁B]XŮ/U狿i_Cmy=Lek ̧]ɕS̙  *i5Dwwtd!90fʦzpW Ͼ>}֪!le-6W 'dp} *8&8Sˢ2pVHG3]X_-h-PJ7!O,!&bZ6p#F\ZRl蓢'j3lJjS5To!t1{;`k-Ӌ ZSE P(aZF}Fe6̝I_ះ3J[vh& J>F>]}8MsGLT n[b`; iY&chn% nZD'>5kDP%p%?#2#4_3{YsE}yfAf?cDTlX<7O>EbX[:c_$'dXxOYo6ip0f.?ȶ“僥tE|{>&gi Mm~V]|zm}ތIְc&,w,m,vu~d}D7:JcFa{ yU WaqY6{ hV.DJ+xʅS& % vdJ4A8&hnRJ< EӢR-_pfna/ܿ+/^ydg8n=i: $Hr@ҹyC/P }$8ތxnJoG);gFeSSRߔ; Sɬsjk Y~C< @fĔ.`*qj'nax sNaϼ_Wܩ4G҅yij7;Easēض;22={*KgpHe&j'ԁ-׃tj _9{JnʺE?p'#  JSZRRJ]&ǖ?C:5U#є6VNrU ! z$;q~nY[@ݗW|P1W90b,q$G _$?:~j,)>˨:YsXnXYKn.uLy %k|49H/*D"xI2r:cr(r[AVȥxi~ }2A+bt ;:wbA'='UЈ!!ul f&Sb53_OyʵCzpnp(*|!#DBk 9'2:Zq ؝**aby> <7._k NʋBkcs9Tq9ƁMд<2=2d1:œ4Z~h endstream endobj 2095 0 obj << /Type /Page /Contents 2096 0 R /Resources 2094 0 R /MediaBox [0 0 612 792] /Parent 2082 0 R >> endobj 2097 0 obj << /D [2095 0 R /XYZ 90 720 null] >> endobj 2094 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2103 0 obj << /Length 2629 /Filter /FlateDecode >> stream xێ_!8`\xۧ6nSE/qpY5%*$EϹ"#9~(ł3g/RԢ1Qaj"JV! oo_.Q GE\zSn[z.CcL,Ckv۠tU6Z|OJU]2P626r42Ff& YlxVÆ4J|s=7 -ucYO=cW}^,p 7̂~xXٶG^ J9nqvcrɔƒ`tJxشD0l aȦÖdǭ`<&;LsP] /*H6F}HR8xk> 6ʊ1B W,w#k Ŝ"5ii7 Ze9x;"|U~4HUUJ)||& for1_4xsl.1C1A}2+܇,tveQY4QfE tĘ3њ#F?G~l}Isv7.7n iΙXtS/tNlF-Zνu=ONc$)G)~w* S;YQgn q P~o"#VmÍEBHly_] / cqC6JCl:Mp@_'m %r@^_UcW z:y 0J1>NYr(G\AkbɴUA}Q6e}dt}Q'浛*W*h3;/4,KfwC#Rx]idQ?#,oqzd}-)G'K_0ZSBZ2 ?t=L yS{;C~!~mSl}O33xǕw8HAǣ8W@$րD?٘"Fcٙz[zܲAf윾 }V1"O#pū|B,_շ \̜:Axk endstream endobj 2102 0 obj << /Type /Page /Contents 2103 0 R /Resources 2101 0 R /MediaBox [0 0 612 792] /Parent 2082 0 R /Annots [ 2098 0 R 2099 0 R 2104 0 R 2100 0 R ] >> endobj 2098 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [147.6 272.74 412.328 283.649] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 2099 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [454.814 241.067 522 250.764] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 2104 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 227.31 342.631 238.219] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 2100 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 83.848 354.728 94.757] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 148 0 obj << /D [2102 0 R /XYZ 90 720 null] >> endobj 807 0 obj << /D [2102 0 R /XYZ 90 720 null] >> endobj 811 0 obj << /D [2102 0 R /XYZ 90 379.842 null] >> endobj 2101 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F52 359 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2110 0 obj << /Length 2524 /Filter /FlateDecode >> stream xڍYYs8~ϯpPKYON\kʤf) XHI%F7D4n'/"Z&X^LBro /w/62E\ȋͶ[,QvXD]_,Unl&* qkL(UOw;(=LL]L(V4͍ڐb*],erT/KX=x@;:&OHkX$ўQG"W(8Iq>.,`Pև|eOnp6ƙ@Va::<, c;rzdBgk[h ^ʮ-u{j~<1+@ri /HH1kTA됈Fl |BeHt:5/YϿe(JE_"7%}w`\\ CoSR$u;}PlYR ,e"xT=)T9"1Te=lˁ4XM^ ?0S4ږIͽFQ[69 mmqDjo 8dhg h2W T'n .#Ҕ ^164YxLȴ*j dI r(\Uud;Jb%1D:e$ŕSJЕ>E2o@G1 \䖩cٞ q kEL3lAs9 JB1eSCXvx L\l(#xºtFz܊W02TQp`Yqw.o=Q[6I #1MEpE{/uEjzvs(h }h Bʂ `:bBϺyu&mVgR$ u>i%NXlć/\tn 0\$ `뙖#W( @ 孂EB  -/\[+xߞIJROyLlSw bT:]a1NP$M!N9ddй ;`4Ni&aĪbb1!f,ktlRtD{""K1b(ߍϺy.48PDxuTk|ݝu`Yf]ɉL )R,vZrFhqܾw{C2;-Yt] a$(]azt-qD;N8 .W TaD8k9KoHʊTqB 5MxS齝+2P j銄(g:.:ӻKR**N-hZq/=w y<,feeW (@q~*rз/ZG+ߴ} K87A_6`k%c2_kLdB7n#yeCurk^qU{9  if?,AqN2 9&N 2drKK CeՀP6k)$TM.*u7WT dz=9Z5* d,D2*&Et%N> 5>G䩅cvuh7qat5-X f&H`\idl.aG5]NTiB%3a|gSxxÄ4'(=+eJg"9PIϵl JBo3Jn6 ^1wG!S Tlhzbr/$SPևdX:? gNZd-ߏ )vfT()xt UqZAߟ3$4-;8$W#CH0)qKhw ;]zr P˯5(70& s1CVgu[un8-H*|d:Xe&/4ԱHeuuUF'} ɕ-cjJ#%ڽQo|Uj.5 endstream endobj 2109 0 obj << /Type /Page /Contents 2110 0 R /Resources 2108 0 R /MediaBox [0 0 612 792] /Parent 2082 0 R /Annots [ 2105 0 R 2111 0 R 2106 0 R 2107 0 R 2112 0 R ] >> endobj 2105 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [443.157 511.843 522 522.752] /A << /S /GoTo /D (Column view) >> >> endobj 2111 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 498.692 182.424 509.601] /A << /S /GoTo /D (Column view) >> >> endobj 2106 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [331.761 437.323 474.551 448.232] /A << /S /GoTo /D (Drawers) >> >> endobj 2107 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [470.304 246.247 522 255.944] /A << /S /GoTo /D (Property inheritance) >> >> endobj 2112 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 232.491 237.818 243.4] /A << /S /GoTo /D (Property inheritance) >> >> endobj 149 0 obj << /D [2109 0 R /XYZ 90 720 null] >> endobj 815 0 obj << /D [2109 0 R /XYZ 90 720 null] >> endobj 819 0 obj << /D [2109 0 R /XYZ 90 485.542 null] >> endobj 2108 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2115 0 obj << /Length 1778 /Filter /FlateDecode >> stream xڽXKo8W݋TZQ0C^[h 5v.LBdѫGSP0MCrf8̓f~l$ ,J'7ԇfF.lp;'ل^gl2_ Y̗ضa:lFwnkAȺ-d#%Um*!ӿO{5x'xh0TK'qy,H_No>^=yˢyh9>}BDޱ\z)x~-T5 REۥ0TݒAҽA4qdU í%Q@S Luc7| $N-Wlֆ6Bvmf&XnkF,Rj[0>Z<6W띆*@y[|rV] ^b-{x$k%F^6BBF O Vr9&!b4QvjEd[ѴEuO(x7M#ݑ2Gl۪i1fs/伷ǩdG|hC@Mw^4 #2ag6^T&a1e`ҕBQ~$B?*1a[ D ոv[F`gS@ü0`c\"]Æa{Y7c,YFI҃$AAH.J&̉p.jo'_l6!μ N˅ >u!BU@q/Hm-VB^.. U9JupOfWg#>f.=av$ovusI \׽>ll/˝m)g^~|Bm{GE "iQ}])R]ʸeѬy)\-6]]8nǞw)^'\]=f%Q!Q ,ZӯXEEfrG}:rlҴGEϖfnx; Eo @74zddܗj`-$!%Qǿ]:ML'g0 "Y -HwUZse|[؈ktO}.*Ȗ? j݈Yrk h]JD5>@˙mGsk}l3I7BG!sIn.*M5! V.bmܝ!Qp Wp)] |)Xλ}C p,FǢwb0Qk9fvB0uz6oqAz%s4U1gͩFYy@a>0|ԏqut#MghIQAal]xa>R6᭮Yİ Џ+7l)0L PC0N|gy?'tgY)jhAof^^Y:Ңl3:y!H\ݖHJݾK'3fMa`A}46cq86B&^mFG>e̻y5%PM9[A?2N %nQdl q“ٹҾM^Pn\`0iҒA5Šy0%7 endstream endobj 2114 0 obj << /Type /Page /Contents 2115 0 R /Resources 2113 0 R /MediaBox [0 0 612 792] /Parent 2117 0 R >> endobj 2116 0 obj << /D [2114 0 R /XYZ 90 720 null] >> endobj 2113 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2123 0 obj << /Length 2236 /Filter /FlateDecode >> stream xYmo8_'TQ$_6C[,ʒdEfc8,9<3|8<<8ؾ 7< $~Zy!!'$ 0''˻waDZ&gf~y\%8I=VTTݶ(&Itm7eoFE/؉O O M4 1Ն^Z  E4IAl߁`_gU+U7FVO$v1 ܵNsQ(|iĬlY46݌x:s <:z)k3cme ;kB3 ,I=8pd4_ aB,yK J,:)AAPh fy-7Dc_+-9d L`7&s_ 4˺:O sɵD1&ēz41cKC~ Pr>-< C!nB N NufP'%/Zڐ,Hm_zC2[zaFcCI>( h >SX) LL,3ԡTvVt?;ԍ)&2Fg&-<V1?<h)j!ߵGG+4H ?;].>^]q"OFS4]TX7T6Ա oܔ\SB`X.|$E2a8waWCzH^W#C<+scB4uiLAvxb>5hT9 pzm2"^ڒp>8 FOK`ӏ7GXղU)]lʠ gᶝ^^fީмz9M%fڎlZkqS#'<a:^>M`ޑ|}qu}<Ɣ =0g> Z p Jih0UP|'ˋ_Gx2IdҫoF6];뮲V0zopo~^v8?jY Ij˫C }Mz/֚RNIFYWT P'OG`,#dBRM琀@:GXk.kV Q쭀c3}~1m|tڴ?MQD8j}\y?5E4: mcOwzf;DIT;G>+l,'kMl< Hj]i>NyDig&Vn+[{8;>j%,7\-K҉H|X.!vV(\?\\.dd(ٖ?[7`^,$0"nLu33}4 Hxkc& UZ"DWW[2,wL ~T͏. U3bFTv(+(@Q0%ʍ:=NXAhArmBx&0Ř wv?V`cf{`o*V;S Z}mԗ%\?F3EilJS9OmNR/X=U 8Z-wy|xMvh| 'jgAO%:bbՑ' 'IfP-g}|J /:Gf~ w[.,4CйR(c`Ԋu5Kv] #餩1a[1o˘Erg{@?!gd endstream endobj 2122 0 obj << /Type /Page /Contents 2123 0 R /Resources 2121 0 R /MediaBox [0 0 612 792] /Parent 2117 0 R /Annots [ 2118 0 R 2124 0 R 2119 0 R ] >> endobj 2118 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [395.72 473.387 522 484.296] /A << /S /GoTo /D (Column view) >> >> endobj 2124 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 460.237 126.439 471.146] /A << /S /GoTo /D (Column view) >> >> endobj 2119 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [280.758 121.507 445.758 132.416] /A << /S /GoTo /D (Tag searches) >> >> endobj 150 0 obj << /D [2122 0 R /XYZ 90 720 null] >> endobj 823 0 obj << /D [2122 0 R /XYZ 90 537.484 null] >> endobj 827 0 obj << /D [2122 0 R /XYZ 90 170.332 null] >> endobj 2121 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2132 0 obj << /Length 2689 /Filter /FlateDecode >> stream xڵYKs8WHWA/߲L[ĻU[9P$B.~ h;{ҁx4 H"U2D.$B =ܿ{S"W2ETgq]} >ʇtWR*nB෮} ,0P'uP6[ڴhdir}H 9R|&hk!fAK>G"d")lb״>}>V'U( ԙr0Wa*3,iuYS&d9 >Dr, vhEuV53, +lK#6Wc6:*}sE**mMGSv _fچ|J( o_RUi428Jt0?yjK,\)-c@ _qTo4gfP Uc%"ŀ898%5#(Ⰵ L (Ɨ7Ͷ6:l}b~VMLy1sMuӱk&ʂĴ nl'Q(z7 ƏBɥ(ZCG81:]GSK~J$5qA0)UEId)4}KA=/vF0R#csuZlybX%MkhCxY`Da@^I0-I0༠Y >::4Q ΜL Bl f )385c\BA>=gMeO.lq̛ @3vjXUvpLz<&x.{Èjs 6,Ԁ=z#̽qHHR JvwNs P+RJ`#:> <"'QGRh4[VMօ٢tЀrU@;0J=}f6 Lhx4VhKs` OG՚F;hpfj'ɂ-Ɂ G$0 uAt&Ɵ=Q4%ݦ^lewV#kGS=QRy&fe Y[- Ĝ<}ehsՂ_7fJ gv70 3a<6,:PcwRi`KQ}6wjeRх3s|Uu :rpBxhSU YeMX3\ `} ?0EnPш %VXԥP(~Ut*7\oU`ri.$[@>58#^z>5,H8M0Q~mi:W#{}q!B~BlA93(sk N9}.&,z.M$7MMڥ=Fh[.DV(e"T6#,Pa*!@Ư4D$OtOK Pv\@x4F3+[rPlT|ԱbNF5>K-+Wb&!йZl`eT". Aw- f=tP1֭ٷ3_ ]{"~Ep͒3|f+ h~z?Nj3gWQ~Ϸ ,gڽ,"}^39Wϡ^m}G"{OWlBU.ԇRBg =%êe1b^3'_RLsf?.T)/w?Gj`pU[+ V~φKMT =t||.MbRBȴ:+Vq2e8.>.CR9d+pF!4 8Ǎ_8<‰h^UghJ endstream endobj 2131 0 obj << /Type /Page /Contents 2132 0 R /Resources 2130 0 R /MediaBox [0 0 612 792] /Parent 2117 0 R /Annots [ 2120 0 R 2125 0 R 2133 0 R 2126 0 R 2134 0 R 2127 0 R 2128 0 R ] >> endobj 2120 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [147.6 655.106 412.328 666.015] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 2125 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [332.019 567.588 522 578.497] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 2133 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 554.437 167.061 565.346] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 2126 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [468.757 240.414 522 251.323] /A << /S /GoTo /D (Column view) >> >> endobj 2134 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 227.263 262.977 238.172] /A << /S /GoTo /D (Column view) >> >> endobj 2127 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [238.388 115.406 429.752 126.315] /A << /S /GoTo /D (Moving subtrees) >> >> endobj 2128 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [169.479 79.203 428.267 90.112] /A << /S /GoTo /D (Tracking TODO state changes) >> >> endobj 151 0 obj << /D [2131 0 R /XYZ 90 720 null] >> endobj 831 0 obj << /D [2131 0 R /XYZ 90 439.522 null] >> endobj 2130 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2138 0 obj << /Length 2559 /Filter /FlateDecode >> stream xڥnF}B"l6O93‹x0VX8~E E*<1VuU-10 Q]] "n$|/V ~ZϡXMT,֏6vqeN5˕҉/ OM}XQMW7'e`՗"(Z>z=wD3Bc!WτFI .Wa;@J:˕p uD (D ֢yjT'ßZj>#F=<@m >uhIzQ#,*ŘţeZV 0LfMk b3H< 2L0AwJ߹aHSxl\/# I?uT/A;%#8j얧EK'Ԗ*#w2ZMg.d 2b\  sy5Ԛ3Yӡ(G GzpU!@EDs<Cd#dÆD/daED{Sm2kh>y9 2E\`- fIZYѩ=&S?;(+XZfx. SU|(^hG9ִ1+xmdG?YewYhKS-6E . r4: B)@D:uC@k@Ì*&}zqfgy4f0!Xt ,n?5^u>G =yy8j}f΄C|`iB4BbJ3!@wl]&IL9._aA< P~Nbwx"DZ58ƂƂk+\@2Pǃlݼ:zIf ?Ob:A14dy({ԹNޡO{ȚV$\3k5"-N2 . 6o]ތú*n 9oUN1,!{p lkiKG4{R6R5 ^*5-Bda/BȐ't!B1ֻ\刁]Y3夀ZG+߀a0r$ge(xt4!ȕQQJ=eV# Tj?SR^5\I1H^ ZC.Ypp鱩4^__v>.Fu:Pv,iV!c+d(]A%H*q8$W؍Ly:9NoF㲁g*4$Hxav4i}hlkSsEB5D_d[W 9tٌ?5P7{,Qf$H.X+}m MA46DuE&9uR&:1y$" W K'x[txҒBN6~&@nบܿ4L!?yOon?߬kvn?Iu_ORy#Gd@N`j;aJ8:r(a \i%٬`R7r\PJSCVYI 81NhnLAbfIJ|4;qPx4F mN"8>~&MϪ&Nyì* +O&(ZަMzK(%ZvXuS߱<_*]`='؍ԝ&cp =I9]?OG5c0H2ha`*p!2ֹNPF]Q جBI+ZPe^G+mB5YC%*fPVgZ۠¨MEIBMavr*afRQ\T.;(2" (iUUu1L@KheGaO:V8#7 vTWJ6&ND1c Fmzӷa ?fI%^x' @2i.%C>%."wGMPn̥Si'I(ٰ-AB~|!C;n7$blgp bwl_m鑰!;vEWs|eսfF;ba6gVD_su@ b b|!C)%X,yɠykZR!DH}yֵGzr&2 cw5EʄT|T@ _w-O3gS~Т]ݗ3ҥl#7~ݙyԕ v2ՊqPff=+ bt>+#E&~B@J( lb`W̳%7kbLiЏ|q8_dSs6o&;O&s6+%8}0yޱ[,wm({+F;6f=f˷dkNpǘu&3}"`K({\E endstream endobj 2137 0 obj << /Type /Page /Contents 2138 0 R /Resources 2136 0 R /MediaBox [0 0 612 792] /Parent 2117 0 R /Annots [ 2129 0 R 2139 0 R 2135 0 R ] >> endobj 2129 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [388.567 557.074 522 567.983] /A << /S /GoTo /D (Agenda Views) >> >> endobj 2139 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 543.923 126.364 554.832] /A << /S /GoTo /D (Agenda Views) >> >> endobj 2135 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [267.829 115.928 457.647 126.837] /A << /S /GoTo /D (Special properties) >> >> endobj 152 0 obj << /D [2137 0 R /XYZ 90 720 null] >> endobj 835 0 obj << /D [2137 0 R /XYZ 90 720 null] >> endobj 839 0 obj << /D [2137 0 R /XYZ 90 534.329 null] >> endobj 843 0 obj << /D [2137 0 R /XYZ 90 481.734 null] >> endobj 847 0 obj << /D [2137 0 R /XYZ 90 267.288 null] >> endobj 2136 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F58 1759 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2142 0 obj << /Length 2741 /Filter /FlateDecode >> stream xڽio{~hpxI ڛ-ES$FJ#k8F=Rk97כwC1sO"gp9<{H04 юG'<19-cdzo]]׵\)*o2tդEeEBVeJWx`gۡ?Lt;<%/ۆ l +fWn3oSP&ҵuؑ)DaZVm-Vwǡk1{LM(ӏv}D涶&u4fC}/CBMܴ?rڮKD{B5emB3;îc=m结?YvI>ɂ m3P`A ?om8r0#]7#VkK9^twp|hjeJ7!? IWt)#20-`#*>{>yW?Aă^ px"YAtfĦتOL69IWe԰MSYeLr3U5)%k !ԚF|5t"(3=x}pɜ|;Xwz!4)L8U[:\?G$,L5S"teK1c"#hcNWP#qAOST!&j0$5-:b xs".k=2>}G#5W0Zc-W8˚V8ghMD31J ўasqtZH(hԶdƀ63c}&.]]T?ieF*/ZΕ7 3K>MI.$+.}iKSG}@+m=[#Ǚ*.ʕ+ 7BFnt+GaG Qtm3& b9n{(!߄BS$.rd@p R3K\Ddxۚf񓊏BDx.  ].XZ 0MQV(gǘ-%FQ N!hu5㮲xt-* &)6NҴؘД"Gaf7{7$)v) U57F 1-e$]5eǦWYCƿ6,)z /•Z7/Nf4^Xu tGkq 8Y-:jM[!cRbi{k[mN&oDDk!~:dH D t lzjGnqU+>e =Fcigr!dYWsk%H~44)Q̀%z^%A@C\4R!ljM燰 &5!."; r\r\ݤô%FM{ )]ƏaBp6`D>oCb=oXzĢ lm6Ew@7t[`|CLKiiǫ HwԐx͋)_;o6Mrx])ekBT:6{µ6i)Yp $u63om([ԛ@ik⺙ }P;Eq. uQ[yIJ#= ʐ^8q]8_([J?]TNz3m=* HFҞ87@4 \EtoG'Tϳ0vED~hS@'v%-y$%4_9*]틟=~\rFqB;NO}) /<#g1.WAir2.,F)c֮i!r}n ;t^W;)gwTDឧvF؊&T;ĬY]ʒSFx՘o3Uis .6&lm6_K'Gwn\H;o7KNcE%TdwSe3*h?KhQ8MS!x,bZeyv^t"hx]vuCy8.9`?mcwb}6?&yȞ:/?uF@1` di-720ٿ:Fua|RPU/z!n#XDvBfVqnP`]=BYY)*ܡ\ 3|B2Fn4ad wx~x4+40We>rbGvO/Ym7 gfWe>sP,rm[IH@>wN:_2c=A.@.?y.{'Vi}۟qjk>b,Fm駆0%>MV{[\b zã|g^mKn!rq0@7UG@Pz?i endstream endobj 2141 0 obj << /Type /Page /Contents 2142 0 R /Resources 2140 0 R /MediaBox [0 0 612 792] /Parent 2117 0 R >> endobj 2143 0 obj << /D [2141 0 R /XYZ 90 720 null] >> endobj 2140 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2146 0 obj << /Length 2325 /Filter /FlateDecode >> stream xڵY[6~ϯ`Q)DN'M8mU,Ɩ]{.,yf<:<<<׏y!O^" WjBҌ|`'Xx:Rr=,/~šK_-|b9,0tWIu\f7kd_߿^ja=ˊ& dXMu3OנD ڬYk[̓" 'I M2ؖ|eXf[AeY+l[ DZ~܈=jG(V-R[k])(.*[Ӗ`6pga—Q c֝[;Z*î@cy uanנeޒe,nph;] 3gTîxjKqx̷gEHK~y iHDٿ;/Xţ]Aƽ'~ 3TPAF|US3qW5,-.|`XDnZR!iegiU_V{5I.KSjB!6Q4EYVb0{Jrh vá]ґ&v'hz%`"Om~/3rF晵&@%dU d^k&6:u Cեdi\@\99RV:0`tveXCXCH1pdV8մ#PBau۸AtЫyY^fȮߖBM0i<=*BG̡OzX[UȜ"(sI) nj_R.<8"M1>9IǾGNvIĘ #b`4E^ׁ\Dg.!&4pI}踶 f&*4*(%n85ֿ>)@ȈNOvrUBشf#0 g?cI*q844Oy߭D'0&H:Xn?PYz<5"kM5QP6xBVC+->?4}hPQETzV%uTpLxV ?jmSOsyPKj7fQW7z/E>qA Ut.۳q܃Ęn ;f}}]?TiSLh .~ '~?~%o&}wg '{flOrDSH8]9hC|nhKYW~%xc% KxU ] q^DdpOfC?(^dQYVLWshA8> endobj 153 0 obj << /D [2145 0 R /XYZ 90 720 null] >> endobj 851 0 obj << /D [2145 0 R /XYZ 90 593.488 null] >> endobj 2144 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F53 1758 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2150 0 obj << /Length 2133 /Filter /FlateDecode >> stream xڕXmo~¸~ތ@s.z"1ZI>Ȼ\jh%ﹿ3Vg53oɋ"X:XENSw| "*vvssaW>[q*: ѵPefCT X&Q_ov#Q9⥠B4Bƚ}SHM(Ql-M݇,]xصgf΅Lh?+s,w+ uM/O$ #v==NLUfQ{j7Ғ7PC"Iþk~W6Exi }RTa(D%"љ%fS!H8DdsEa/cIu:*}\<v ۶sq:PY(P _MD_ir=tfz~`u@_'gs/˻8a{aoedܟ1V1]N!A?O$ '|*,]g#qe r#̑g^Ʋ+P?o~7kHDž>9a23Ms0% KUdߵ f;CV~4?{* mLm3("s?€@:g&$UCG!%'3OL1tUY lܭvU kπJɢK$XB?wt6Ԃ'FiZf~g%2_(]f"^uf !}b3ͨ`S)GgE][#"+ymtfms,WI~JD<)0幣<7ZӁw5?KDcNSf񅖹HvoBAh_$d9pBi8, FfW-/"f8I|?U<6S륫!4JKQ_r#uṬ͒)mqnrou1J3HTXiJ^sWxU6nvi,/ǡM-[%i {YW[ҁyl/1 |pk8'Ws!;͕9XoC$1O17LDnh->Nh6f S'8+: :<'>^RA>ϾDtףfVO$ UhQģnΔ$YBE ANWuݹ fg2N(D%dI-M6 <lLE)`ɧ lP )ϴO ( M[/hkT L0kxb(PrCnLh߄!4 wxGȽa0]ʙxQHs_ɒ_3'l{|Gtm~{ZCv7Vʃl1nz"a endstream endobj 2149 0 obj << /Type /Page /Contents 2150 0 R /Resources 2148 0 R /MediaBox [0 0 612 792] /Parent 2152 0 R /Annots [ 2147 0 R 2151 0 R ] >> endobj 2147 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [466.673 415.828 522 426.737] /A << /S /GoTo /D (Dynamic blocks) >> >> endobj 2151 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 402.677 220.212 413.587] /A << /S /GoTo /D (Dynamic blocks) >> >> endobj 154 0 obj << /D [2149 0 R /XYZ 90 720 null] >> endobj 855 0 obj << /D [2149 0 R /XYZ 90 464.284 null] >> endobj 2148 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F53 1758 0 R /F72 7 0 R /F54 1750 0 R /F55 1860 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2158 0 obj << /Length 2028 /Filter /FlateDecode >> stream xڍXYoF~ׯ`>xMv䅂^XA8p$B^(O8^""nw{vcrA}lױ}wxW֔CUUJ//?\\~EO8WT/@(cqпm˅62B鷇=};gHsU"͓zmNfyyG5#d5 Gk}"7-9o>c!M<Яd&.H=mlzta9p`5Yu8͐H+0)je'./k$D1ewyFDW5/H7A(dbfyt-&P~G#RMHmYKug`. _&u!S.[$ܷrd˗H)P"bW赑„*8敒n)I+ >_ޠۤw|sH3KaNs0rq` L!蔐AqfAÑ{j$KMwա̫|-fJqgȋ hquLz\B QRlZ[ϩ{PlmG^¼ .E.Z[J(Ep+;~]+^gz ]^R c-ܧ_fІiyv\D$>ͧad"~:5,YM"( Չ^XIiiB!cij4ڞHP\<%U~qWtFA H30O'|v=]џ!SRS60?:51B3C.߾]5\I*8jqiyo AWz endstream endobj 2157 0 obj << /Type /Page /Contents 2158 0 R /Resources 2156 0 R /MediaBox [0 0 612 792] /Parent 2152 0 R /Annots [ 2153 0 R 2155 0 R 2154 0 R ] >> endobj 2153 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [300.182 512.839 488.624 523.748] /A << /S /GoTo /D (Dynamic blocks) >> >> endobj 2155 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [166.758 312.192 398.849 323.101] /A << /S /GoTo /D (Using the property API) >> >> endobj 2154 0 obj << /Type /Annot /Border [0 0 0] /Rect [104.944 76.152 189.675 86.613] /Subtype /Link /A << /S /URI /URI (http://orgmode.org) >> >> endobj 155 0 obj << /D [2157 0 R /XYZ 90 720 null] >> endobj 859 0 obj << /D [2157 0 R /XYZ 90 374.168 null] >> endobj 2156 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F4 1765 0 R /F72 7 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2163 0 obj << /Length 3146 /Filter /FlateDecode >> stream xڽYm۸_o۵"z\ PLu+K$go}獲Vr(P,"Cr8ghOhq*/"޿Pf틗?&j KlwO{\czIgmv#tj<o։ֿ#r\ BXK8T&f&I(N8`q@ 4خs0HU?pԵx+=MS5w77y/ nAyS[nǔj8ȞĩΚnbߢU߰U| }6*8ݹ+X .xAu:^5vQ/K i3Fv+l%j!ܢ"d{-:&$$,vn:PE&Pe$E驢Ti{"J6gzIy&bxEfr ad_HQKdä́<N,l$~NVƨxeEVaܴY TeZڔB(RsIL(jKKaFaXۃ뢘=v)aÞzl'"+1V)8SrV@ͣEaTVdas C?4H{\1#7>PsKI<0`G/de|'HOA=;s`"fpȅG^Z!nJ4 +'@l)yI a#v}b39U4oW@h- MxKR|/A |dg(I[( ~? 0sROtm.I(H+r0|,'K%B?% 4.ȐL㐸?7O<1.aGe .2 ع앶ss=ADg]jg/6\AΔt`~6:1eqܗ~ሥ>>eA]U$dc0]=>LA'nɄFyZxI1Gy9QrfB''1dIG ݹkO6QԯH 4I2)9>rޜ䁲?2}&W:zſT4-A %~Ճ߅X誥P05zS@{~([4ldz#dr8PE/M*Pv dvyD^Nv`}pdzT.XسHħ )F9mCP/wWj 9 Şl`ᤆ3j2D)m;2T/CmdN:qJavObV~|\Y~jeѸF3\(24 ;nASAD㋻Xgӥ'/ 9(L!D#nNS|#@ R ]p<|syV:Ш#l+ Rf*Ը/tPhC,Ls1d)f[.CH@MwYNat:c.}AΡ3Fda|(QS5;4ыdӯ#T(83':M*!_n_`% endstream endobj 2162 0 obj << /Type /Page /Contents 2163 0 R /Resources 2161 0 R /MediaBox [0 0 612 792] /Parent 2152 0 R /Annots [ 2160 0 R 2159 0 R ] >> endobj 2160 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 502.773 314.546 513.682] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 2159 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [104.944 161.743 282.934 172.204] /A << /S /GoTo /D (Custom time format) >> >> endobj 205 0 obj << /D [2162 0 R /XYZ 90 720 null] >> endobj 863 0 obj << /D [2162 0 R /XYZ 90 720 null] >> endobj 867 0 obj << /D [2162 0 R /XYZ 90 593.172 null] >> endobj 2161 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F52 359 0 R /F4 1765 0 R /F55 1860 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2170 0 obj << /Length 2260 /Filter /FlateDecode >> stream xڕXY6~<^D2/]F`;k'1-X-u$uƳ~ R&`Y],:H'7ؤZG6p//8vXnrn.| ni6Z٫mhLx0GDY۟^ݐrjLlDRJ"T3`yھڱnݞ gw;ax9eGzؼٵy1 9Mn’9HQ&(}O))yUwP ,DRy]/WlIb(d~E`[^zSaY&rk -zIc:2Gm2j8K(:3/d:F j#9g󡄜r_ bysHht46pȇ`Vv-+A:&\tFpQY}[9teqVW'@ h! u@ud%9ٗT\H-mm rg8"grSZF;iOk?"LbJ5T]qnF8*:mE;8ngl=Lߘ?ǚ>ÍKr%.xp;tڵ(^f & ݅z0\qtIcH/8X 6'P?2{Rdz)v+S.w6Xgss}׏4zTZLCF\;aY4"02Q%j׷QW;q|)'+׃-nOOϰkTOĂO+ &y4>i ]_tS3_+m.&#N찒>aʽrҗ \W`:~i^VE> endobj 2164 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [147.6 133.329 372.146 144.238] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 2165 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [305.085 76.476 476.661 87.385] /A << /S /GoTo /D (Conflicts) >> >> endobj 206 0 obj << /D [2169 0 R /XYZ 90 720 null] >> endobj 871 0 obj << /D [2169 0 R /XYZ 90 489.286 null] >> endobj 2168 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F55 1860 0 R /F54 1750 0 R /F72 7 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2173 0 obj << /Length 2761 /Filter /FlateDecode >> stream x]o=BoG!&qi"".I񿿙Y0`*?*S*+uZ L(tճWFDy)VW9}rWHRI"$T T5 a*W$N]|z׫h#WxCgBgBibm? s ՄG}1p:qEf Sa^JE k߹]?E^|W4}Kg{A^j-r:H2wkGGJdLon]0\]*i5MFcw,w .(1cNk)<'$؀m|c5 b!P*zC!1\DaPݶ{H_(z@iff% f\F.M2d&H#^T`Az0 Pаd P'*MwC1 ДH4Rerӱ!cXYؽqÚ'"|62)Y":;=M!z^i[i[T0-YG$`Z#R* K!d[yZ= : )Πą@C }Y x[p/m-e7 +(Q~C/ÒRoMC& P^LH"f:FЙ+HC+4fBꩌjvUxO]Ga=ZR谣]h4U8.߰҈#8>IJ5U*hDn9/5d"A, &,eOc AyTȬ*IqòFpFA'/i!#cQTNz6)va7}&cي6UqAƭYn,ҵ _F#EPE0.u= J冦QvvDv}9Z~fܻp?Zs/i=hhn82Z6T1(=:=Y2wZ4u9JX797POK9hV1#4khu1To(•y=[ 3^ХPpACk+:9}ED'{?ܙ2E@b 0Ź]hRe* abBL".LbDr*jXփ2Dyɜ'`|C]1vy +C(h01Lm Oe7 =iPqnr䰅hA^2 '-9T*SC6yhE#t jUi.ܐK)O}G^KCN>V}X!> 4JA>OTĉvSd;c!r7o|7ɥM&=4pI Qfr٫@ef·8`SӘ p*;L8?-a L%/San9 %} (&|?%=FezB="/ h%YG=QB* E6mNs:4 N8$P.gIExdYO!=pUb;Dyw\s~o.wX=Oo(L9~ x!_muJhA;2,PkN:1ZVC}X?Ħ'v?Pz;|ħhČp :_mRR)T[ߥ7>8]H奝u_W)c!V Z{@XaPa/\A8 ZO7a]:Zl#Llv[hzcK%hƾG'nG%|W@vˢ9 Ƌ# endstream endobj 2172 0 obj << /Type /Page /Contents 2173 0 R /Resources 2171 0 R /MediaBox [0 0 612 792] /Parent 2152 0 R /Annots [ 2166 0 R 2167 0 R 2174 0 R ] >> endobj 2166 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [321.88 589.352 471.027 600.262] /A << /S /GoTo /D (Priorities) >> >> endobj 2167 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [451.266 576.202 522 587.111] /A << /S /GoTo /D (Conflicts) >> >> endobj 2174 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 563.051 244.025 573.96] /A << /S /GoTo /D (Conflicts) >> >> endobj 207 0 obj << /D [2172 0 R /XYZ 90 720 null] >> endobj 875 0 obj << /D [2172 0 R /XYZ 90 493.23 null] >> endobj 2171 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R /F4 1765 0 R /F53 1758 0 R /F60 13 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2177 0 obj << /Length 2615 /Filter /FlateDecode >> stream xڽYK8WԢH&l2$Ljm -izQ7h |bX!"Anj$ѯO| G?]>x b{N@7Ryc73,z6ns&>ޯ1h߯|= 5}TXr*0tW dL4^A-!˴nL4dEr%*!(R) 87Dm܉2qyS⹯MT,& *[nl]#vf/6ҘI=.MOθ8e nY@^ll? 604׻HF*+4QJ fTy7 u;vɕ!T 9<6PX7ܗ8S K(`X NPc8=k˵L92!W02bڮÄU=#ǭ|'+60Y'L:+[a'7efQc=ɰO2M'1aúǛˋz=+yPTJ AjW{j~~dM1R+=DT =/SG-p=qVpϪekD[Sx #dW/Wooy&f -wkvnoc(sav@nwWAe||νPږ 8r֦ދ)'z}SB2rH&7Km_/2+> endobj 2178 0 obj << /D [2176 0 R /XYZ 90 720 null] >> endobj 2175 0 obj << /Font << /F51 8 0 R /F54 1750 0 R /F52 359 0 R /F60 13 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2181 0 obj << /Length 2592 /Filter /FlateDecode >> stream xڵY[۶~ϯG9X)E8(f7dEqAh[]Yruw3Uh ) g|Wj{|s㳀%߯xR? ֻꐝ:ݬ0 fJ۬-ueUNBWODa8Z}\zXZ {\,aw(^J\ O\ Uv+vus:˥` 0=;tH\SoIQ޶&˺k[kl-Zk>~?_@VW)ՒVy~ڵ<V B~n!EKD$rjK=iI7`=$sMxf d啈|#AdQ]3^)IGq*@DD8@:oI f/;f̱2 i1宱;m}1נy"l(0F6++nt&a%Ilϔ7;VQ d~ f@/'cO[w,BH/51lT歜D6jb8h^8ǖ5# u,kČ'Z pؽސ"?U$`5!@y‹:ׄA+:xzb۾iׄ5 &F ckUQ!uyrAtyf-jz d?}|JyriczuלY!srxhH>_'<'e rj:v!qEZI=K9_S`m a"@~OhM E h-_ g07OCm$M@lttx6l0yQ|?LlHq &atZ)[0z$6<ֲ-5T >epp-z @i3B|ž:/Ic4 .ܟe̗dp<p=%Cp@vGK^ؽyd,QHvBzU6"*!]Og.ʘ-Vl: %1/t'Ԑչg3Z} Nyg?g-4U=m[W٩$L}/mwwIGg4/ y$!Zkآ,'kC~7ĴQs"|ҳO0AdVi-7;K=Suc:L`眍BΎ-eë1K&p 7Ma,I.*.e{@^Ֆ}Y۔n"1 D DpqpJam4gy-Y<7y *Ffh+)p/B!l]! xvo O>F 7&G(V 1! Y6ttޔ]Q2MRe`K6 >f û;$@^V=J}xxɼ|9]BQ7(ml̙*k`āDs3{C_Po~2 }jxW-ή!*Hg{4>?|l/F |xgAF/ 03wgAR Ia[3&٦IJtMbOm֌mq R$>oIgTC< 70*Hg4M7ƪD#{*3kz;Qwԋ >ҁs|Y dQX@ qU8*/g><1k%_ lJA-A /w6p IrLD @h *p.&ǘ# ԋ0O)IcqAxb,~;uvkk$䖥 0fqɁAbu޿zswۻo&;-.ri͙;z0lIkO/.X8G endstream endobj 2180 0 obj << /Type /Page /Contents 2181 0 R /Resources 2179 0 R /MediaBox [0 0 612 792] /Parent 2182 0 R >> endobj 208 0 obj << /D [2180 0 R /XYZ 90 720 null] >> endobj 879 0 obj << /D [2180 0 R /XYZ 90 720 null] >> endobj 883 0 obj << /D [2180 0 R /XYZ 90 353.805 null] >> endobj 2179 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F58 1759 0 R /F54 1750 0 R /F60 13 0 R /F55 1860 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2185 0 obj << /Length 3207 /Filter /FlateDecode >> stream xڕZmo_q@r}_Ҡk) j+E(}t"<ٙ%0[.wgggyvh.Z&1K^Hna>_gN"s .wDoT g{u}s7FT$*SݢL%:͢49/.祭RIEK2#6UlꎟރNiTCSSUҐSW}AsTU=Oߙ]"TgRHa}EJa>%zqg/ʲ{`IU[ν+n/&tzLE 6ySCݵKb}7[h,xP{L[w1Ϥt)Pwtl6 $%m3+A-c)+C$* pgSݐIDlS ̠e#>fQ=-;w%=_x񚇈J&ߘgZE08M} ;>MHcX(үLx5ZC쑉 ƧB{O//@lU뢣'<(|[=zU1ԼX9UQWo8釋oh*^$*nJp/n fXw>lUjRVg)Yfózo \=k2[\?.RVw#YE<;DfLG> *[Eʜ`NlhMJhd6"NS:(87$2:f@1:{O,zH0ORrkM\ŅFT<ǑEq11 ;cE-R3qzONROSPCd4`L^>[r7JV.~1h2q[0Tݡb8(F(Ym=5, n bad:=Bfs7c5sP'9xU9s 3~?oi aif܄#!t}Hb6F&*xW?[sB> f$1"{:О@͒鄓_p)Mt9u86糑wKoĞ֖m gW-, 6U-I~/Ғ?=Ԕ[iAVl^cs?h>8#DHJVˆ@ʉƢu,r{QXU[ocE@os[,XuT7v)̱8&XC,[;=hLx1p9Ԙ'7̀?cd:}k"I5U{t=G㜔5Ƈ5&,j ;F ^]G x-;*FM [[jf=(0ASW#FjRJE*ni5'6Iz\|cʀOA3\T 3p%^o%g\q+a mUt@POb}Q-h zqNJzk S0xv G.1ڝM' D8L>[=Ig#.9G#u7bJ@wFaB3LV rvrk?$IbRYۙ8􀽹`s(2jF/}4x^|ZlC F`9n-3̄Z9'RE!Tɶ<6ͅ3"QYr!B{N(஭ҿg~².9V1J&'ISο_cyuj q7M_pLp͛r8[y #va1aAxߦnkw8e'fᱤNJ_Œw]I# D43 @tjf$ZA'TItsa# 'zх[+p%&YyQʴ` ϯ=kI@|Gzr2c[6DvB$c";'# j]adjc̀JYqB9'  6ң %_P6)a <[vr*c4x?phyf ߻Zz8t\D p7?bjE&gưH\+ ]|䡞SP>Ja 纣+بN7.WB52HLY[3ʿ[Aº4h H %O] XOəEA93vY +*\7C(o5/^8?02GhUt ay, P~bMMu/c,?_9R T:z)[q& *<-dPpNjb^Iae >/_+؆xyu2I  䋤 ,xȀL7%Wƙ> }zqF|Y3nh ?;nofqn`k KB(- `fŐ`|8X=Epnz2]?0~ {χJÖγ݃nvW/IX!$N +Y}S$1nSY1陜r)C3t mO2jSZ }yf͝[^0g3'<3'.Wܷ-<黗ndm*>){YEC=5zj}'.`cihXiF.Ūgh )Ё}&MW|xBGV%3pNk \]>33paopf 8k'3N= yEo߿L4p 5iҏ2*{ܟ&QG.1(*,|>XZOξjWp +j#0>S /q6?bN>"J`r.f/!?_]Op +S$gƍL,x^S.H!s|&>E-ِWތXû? W`LW} endstream endobj 2184 0 obj << /Type /Page /Contents 2185 0 R /Resources 2183 0 R /MediaBox [0 0 612 792] /Parent 2182 0 R >> endobj 209 0 obj << /D [2184 0 R /XYZ 90 720 null] >> endobj 887 0 obj << /D [2184 0 R /XYZ 90 332.924 null] >> endobj 2183 0 obj << /Font << /F51 8 0 R /F4 1765 0 R /F54 1750 0 R /F52 359 0 R /F53 1758 0 R /F72 7 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2188 0 obj << /Length 3168 /Filter /FlateDecode >> stream xڽk~#K\ui|AQ$A'R'Bkvrvwvv3k Z* jsx tBȇdş^\kJAju+V?{ovԗڏ^}wcc=<¢$N3/M׿p/І+@iL*L߶mH@))(ii/Ж\Qx]smkcueٕmҫ$8#8|39oS. >L] c U]#X@'KŁ2nyŒ%U{;;{|aeMBCY}kdk,0:%7kG7/WgASl#6o@ַ-pW `(W66Ua~7 񀏔1 JzKU=!̋v>Y K bUg8c]E wUMCr?ёOkА#<tָm *M=VWpT0aL7ʺ#ZjXVeRAd/y HO[el, CcK?CFIJYVῶk)l){Om |f-Evq&0moڒe5)+l oK=aނ"xQ[2\ :]`Xs'~q&-rV[X4q'pӠa& }q[yN#2?/Ӳidۊ!A^ у> 5~fhWk@B3G0 H91a~5.1F*!-ϒo:N %Jx /?WA.񩣣:I8W~S ^`#&ƪj Iwlx#'n'~K^7mA+t܏˦ Iy_N_SF lp` wrK%`tETL I10eyIbw 3;v+2_$@q¾.l7 |0˄tshίb\n5^d)K%OIOe4m1]K&!/^+Ⱦ7-,z$IlBkV$*N2:1 R!ZtQ`ҍ [U)(q;9WsScS6Tw4&np+ G-rg .Yq;z݈rUUsM}>Bַ_lJXHrbrOi Ror+rF<)T-0OܾW\پۛFvj6Nd@#ouu>mX9|IR +vwnNr[Uv _Gah|b{1pRY t:!Kn{IŠs4q1! tFCĩ0joaRx$YxRI T2㍒(Gt'wvJ˜dl TLpօf,=下a-z( <.9OKh[aΊA.D]Dk?Kϼ+k;1u*K96A|q 4أ].3`a;a|98.l?5 3cgS iCtx}.wv4V+5>Ib햏qfF?gO5{nCO˶2qq\M|㦲5OK>eċ3kb.~a-7"qPIXr\tJzI6Ϗ\r$kw=)WCMjуa{93x{ :qr# *+[qDq2w7:7r]t3\c=)yS2ɢrHrkgvO2OLn"_ erGԤN~Ck]Ὤ!g)!wT<˩Bk%w o`^4R4GurWeBF375.`4|KCz#L,8. Mӱq EiCsT<Oc]흇MDQ~1sb6zP2,D-N6TvHpj'(2hS? (EiKr?jA']@հH$=qs]?yz(U-`or@9aɒ2~Q-ݢPF, Mgf cOCvʽ><< k* @ Wl^7~u2:WA'+ ^F۶ԏ‡tWMߘsnz"Cut>6\Bpml{xpw:)Xw6y/qOmZZi*H.LFKh|p%a3GXE 'x[Ye%]04HWԃA\eSa=QW; D ֞^nVcn0׃a9'tI endstream endobj 2187 0 obj << /Type /Page /Contents 2188 0 R /Resources 2186 0 R /MediaBox [0 0 612 792] /Parent 2182 0 R >> endobj 210 0 obj << /D [2187 0 R /XYZ 90 720 null] >> endobj 891 0 obj << /D [2187 0 R /XYZ 90 409.965 null] >> endobj 2186 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F72 7 0 R /F54 1750 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2192 0 obj << /Length 3059 /Filter /FlateDecode >> stream xڵn_1@LEM6/#Xlċd,ǀ)ΐ뮢6It)g) xo#QQܔm~Lwa//\#*LKyS`j\ 0I$xӳ77Q|68'.T꥛8՞ 5p2rn_/#Ag٨S)\BOE|ͫ?KC+{$/T#"9e*@{I&X_!|ɐ>7%a uFQz 52>T=~rP8QNǦD%[*M^B^j8C` g;S]K6xA#O G@l7S^en+=/# 64\8tKE8;Ѳm%d5>@j3h|>‰ mu7T=ϘS0{ȨЗq4Ȁ{FM˿'`۽L@ĵ%)s~ kgG~} Tj8v_ma.NZJ(V@c%R'!GNi>Zk`3%]" t #(%1**=M KպeAo=s |ky_0L'[ K4 $\AyAA\U#z:,E]H7Hc;DLEqz7*!0\yÿ-_וG~|dbP|S&bH`q.e(VGp0SVǰLb^WP"*hB}؃_Ǐ#lr8!m0[`S@;DR2ƽX^I0^<5#!!i{b*T߂scOgЅ EKDqt/V|yq8>ŋU<Es?zmHC{{_#xhmBNyl GosT L]?p F5آ{tKǑE̡G7m8G\QAi >Λ Kܬ,] xps_<> HY}0_Lw>T_'e==>=Yw ngW{u•\aԓD3l:vg5 ڮ !VB7:12+If֙>VXd!e&L/8ZĢEpK]\5dqc0WCm -EO_q>gww aޞ{4Ž\VOo9+1PG/âo<8 O:V@C ˞5FEd32}(N|@T]c 82lw )eY[.j}/xQ:KpG][m(/ Awaf&Ix$;=`%AzД>Cx$ƲDk/m"!gȺpADN0[9᥊5tP̟8r%ԺbhaFM$n@FeL˛Ǟm x`5P!8dqk/F"ggim /JgliF಩wkBx׳_Ai~lݫkTtapiZ=}vNNJvG ,XyTf҃bps=ݶ> ٤'uꋮSuTyzb혲K![vJ7/ ?oZ|L2 КBhcꥉK(.W| ,Xjf؂ 0r!E!Po=ϧN 5.)|nƕ^ f'6SYs]OgpH CW-v r~|Y%'K+.MiD}WQadX/, ?=e8.~hߤEKOroh%Yj.my_1T׾8B\Ĝjcۭ3 (>,? {vy%_4fcA*wS'(q ՗ ^psCgj!b\f#E,&$P\ ƍDHb5lZp{O@y*垫MЛZM Z#xD~&|vҁ8k\Zh'ZJY//U qS`AQxʢɔXci@wZ`J:?` mn#\SGȏm\hã_z ރ,z3ʂ.}ed] <35#' ϙ] qX?k:t, endstream endobj 2191 0 obj << /Type /Page /Contents 2192 0 R /Resources 2190 0 R /MediaBox [0 0 612 792] /Parent 2182 0 R /Annots [ 2189 0 R ] >> endobj 2189 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [161.97 265.021 342.637 275.93] /A << /S /GoTo /D (Structure editing) >> >> endobj 211 0 obj << /D [2191 0 R /XYZ 90 720 null] >> endobj 895 0 obj << /D [2191 0 R /XYZ 90 252.083 null] >> endobj 2190 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F54 1750 0 R /F58 1759 0 R /F72 7 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2198 0 obj << /Length 3250 /Filter /FlateDecode >> stream xڍZmoܸ_h?TF#U|-zKdRyE{k=I3R7;AÙM &7Q&fwxѻgQ!,G+>mXeq6ۛ1m޴"/.B)U}ޛ /8 .~r;l8lb) ǘ&2bB|*L wU ʮbԴlgDԙeSLX]Y͹ƐV&<2%~h<\p4'|Pт}CO9-==y7d [ӝe}Kk/{txpLig;kٞCn(KSGڀgh)0Q ap[@Fo܋EdslL<ݓG7nwpge X&I ~DtݷM^(DvLm 16Ȃ_WU5%U@#q[>؃!L]z58ϼHSi68< @P űmoOC/g ҴBI R7kHIRR$f綩0E4u)( ÅkVՑQ H6=X sxagv i}( , ;7n1l8˞(ن;q[dOH3;Q@& hػK˪v+F:R \@kZJ~(p1hX3DWE$#$ R!ѕxx\f/UoYd)6z2ld(A3=>!2Bũ9kHSz; \]h_P|"J]V}E9!msm9d="*X]: 7 FB5GlmU Pel:0&0f:G!n{3`P9Mƹdlj)ryģ'1旆+1!L! 4%?3S{34n  q4+i^(ŐЯ GVN4g6UM\=CCde3Yvj dD67sh.Ӊ)yHPUM4+Ȗ.y!4\of5\p@֑GIHjFm]CM|0_L+; _0.\N 8o^ri{}fM{kd z2x)$&Ç}~q^ܱ:nJ`s-M_RO5FO:!NpԼ;FJHDE&pҩj"GY^;*B7Hq\.NEW6($K}}JI|M]Vj(z*ZWuTl;ֶx#}ȓ$҃_٩oVN"%GJif-ϖHJ6ql3,LaVIq N'NV8.Ce WH`Л#1JFEk0UE+ NG;z4:fT*G9uC1wњBFyGEB$wU *ҏse+(ˢLά Ha'Úa:@8P&0?|ݴmߺtQ6Y+8KѵԤ ekY,5A%gTQGU8~88zґ-/'wwCⲎ:wؓ,PpOZ}z\%?I`o>r[ЉR1f&r_*UsMN~]?I%vޚp4wk* S*hoR`$&b@? \#Y'|Tӻ_/_n*i}V !#t h ľ{j;L~r, ;s4ӡ) &]yf%p+zJHٱ`׀P]uCtŀ? 1O^G?CٽX9-S|q}}n__K(1ysD_ endstream endobj 2197 0 obj << /Type /Page /Contents 2198 0 R /Resources 2196 0 R /MediaBox [0 0 612 792] /Parent 2182 0 R /Annots [ 2193 0 R 2194 0 R 2195 0 R 2199 0 R ] >> endobj 2193 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [144.212 632.759 354.365 643.668] /A << /S /GoTo /D (Resolving idle time) >> >> endobj 2194 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [169.289 381.654 348.982 392.563] /A << /S /GoTo /D (Effort estimates) >> >> endobj 2195 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [437.724 368.503 522 379.683] /A << /S /GoTo /D (Repeated tasks) >> >> endobj 2199 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 355.352 253.835 366.533] /A << /S /GoTo /D (Repeated tasks) >> >> endobj 212 0 obj << /D [2197 0 R /XYZ 90 720 null] >> endobj 899 0 obj << /D [2197 0 R /XYZ 90 607.161 null] >> endobj 2196 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F72 7 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2205 0 obj << /Length 2604 /Filter /FlateDecode >> stream xڥYY6~Gʄ 'UfR\[N(#q"3ֿn4@Ǻ\cl477yt1ev;+n[!,g+q/Qo$˛O8 ۄqOPJ-Pє#$N 6h%Wxe+L2K\>ϗ |cKAf_]ê 입$B,M!W}p,mG{΃ᠱe).Ka%m„'j8іŅy3%6} Τ:gg:Q7ɠ׵ +Α+ @9ڜ>tv0^\hWM#e*]_UxDms 5Tgl~ζ_ix3I(^Jn0ˍJ 8|/YÀ+1dFu| Ud"y`W~mǶΡ~ s8И=*%tN^Nݒn#s&x [ųW1_X?îh~ )Xʥʴӈ2:i-jU0?mT5iwcA 57j.'DYuIxGj3Gf߇޽{u >#s=rpZ0j7SA0Qrmy{wYVvM>7~X];gs1n# &E4ܫ@p ]^)55hֈ5N, }kZvX9vEH`"zw0q@LQ+%M`_VtF|oQP/~$>P!(8(Vqrf1`Y f$ʄeHEpfZM/,,v[nqz&*h6h1fP@֯}x&E9Txd„RvY6D)zd a;4;t' @s'?\h gLh,&e1x83*.NJ|)ym&'[\Los[u,a< wnyLebaSeb%wRA4l bvΈ ~~#ۻk\)j +`&ٌͅnl)㭦_F}o$ {߮hvi&X-NJ:!s]d%FrSh3 'I@f.5R,n"w5@4O3KIu=jЪuD*!v%<_ Tz+A㠋;ͧ!AB(DT'=qG: >d[z/YVGݞ˯Px U^A2:4PW$|$ \3qy!M(SV.(c%lp$[(r<2U0A'4tat~^?nNkՋd.f#V3(!Jl6mq9.8e'ʲ,< XÁ_9cǜN?㞩֋8+P}ەڞ06)Ͷb<h# )cIx"hr't`c0:Ae?&izG/GU QBdwxIBXi_\>@wbRZp p3EGcq'A A=ԙW# )B,v{=vA|WA1s}jKpwxɁgPHQ.mKt(^xf̂D(" {S J>g*j 8!t4i4\Ycƛg?b.Xd}=frw dn*)hޔ ^R =I@8|(׈W_c)O>Ld$:6)T^T6{`k*Lu>4d*|ox><3NנX(͌t}n@ZG+۪)/ʠvr*c)įl2 ,/ZC܋Wbb+LEV"BxGk1S1%L?LeSHf_v!tp%#7o>9ЂP9uvriZX oLN3:s6ۆ~ &1D7Ayޟ(x?Zd3Y cf\9"MƌlWGߊ.ڽa-걀.7LEp6*QQX? endstream endobj 2204 0 obj << /Type /Page /Contents 2205 0 R /Resources 2203 0 R /MediaBox [0 0 612 792] /Parent 2182 0 R /Annots [ 2200 0 R 2201 0 R ] >> endobj 2200 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [316.71 187.958 483.483 198.867] /A << /S /GoTo /D (Timeline) >> >> endobj 2201 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [167.897 174.807 392.899 185.716] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 213 0 obj << /D [2204 0 R /XYZ 90 720 null] >> endobj 903 0 obj << /D [2204 0 R /XYZ 90 122.81 null] >> endobj 2203 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F53 1758 0 R /F72 7 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2209 0 obj << /Length 2357 /Filter /FlateDecode >> stream xڝYYs~_1e?* Iԛ*+$~]!'l@pjMkO [T*˼+tމI_oϫ~ oIbGI-"vzC%39#9'VUQ=&#gODYOI "-Cw+gE?54q;I]P@]Ҿ0U^C?'Q ~nLhxJ:y!@27R'Mۛ6G󧰻{P۟Sǎ+1$ʇ3(8 ~~:d"+)w--V)b-*zb-.E=#[:n"Qx7A6nsL-G,<_aY E<+;^ٞEIii"Jp]vIҨi ,YK#J#`,ݱ4 riDSiL'Tohd6FB+čp7cP}_R{{==2W0Jzk2^*;v3ʪ: dsaqkB{?mNīfOjw͋O $/^Cn8Ewtvz&vDAJ6_RfwnA漘kBpic ۀ@c.iJcy\&Ixw7ަM{0vd iOH.~ JhR[?52s(@wً9Dp%HPSp 5 &ƘgڤRe#g*ޙrU+I6AR$! TzOO8(iy 2z`" @-r)lLކV{*V @ie'O@XrfȟI7&?A%ue"'v$?1{.WYҫϳx:dm ~'% ۵8II/s[]`m<7D 9S9Ѹ%dS@^_69eZ^Ts-ZĉgG| _7ڮo;.ȶ):fɂ*Rq0g@2 o>ˮ%88PSxfP*'\K{stٺ­>v4ST eA)&!0"v%s6a`ggAP?pGJFы@}G;As,*&|: hCY(dTVb8i*X-A,1uf]yPc8-{.J~-Vɽ> endobj 2202 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [279.559 668.257 465.336 679.166] /A << /S /GoTo /D (Dynamic blocks) >> >> endobj 2206 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [300.182 537.101 488.624 548.01] /A << /S /GoTo /D (Dynamic blocks) >> >> endobj 2210 0 obj << /D [2208 0 R /XYZ 90 720 null] >> endobj 2207 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F55 1860 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2217 0 obj << /Length 2652 /Filter /FlateDecode >> stream xZko_(VFY3|E pv~Ht,,%(_;OPMPpϹ' 'y0I1F9&@}~,Y+]NANK{y18~E7=k/fivu1#$Оu yїk~/JpMon8NW …9FQ'IFP0 6$ PŪ~Ť/Q:eTid4SoBXm/ ų)sd)" OԄ(*EkYEW)E>y D)H*ecY YѮ~~Y~Tl$JNR9{mE Ja!'EC _ ,ɭ6099lq?u'Davnwa&NLh?C_Da RnU.{U"tZ!WҾ|'SZ!$Ei \]O+3޽mY?)6P@E|17w+V ?JZ4uWlBT>!8h/T$*| (,OQa URӪSr?v>}۱]̒$>06кi(Ud ۵ZY=`2R[%,),iAO.X>u~i嵶/Y +"dOLgvWЋ ^˦ۅ"EOCX34= ͦsSַ{ V.1Q$fYA>ށ2/KqwX5 Eq$*AINpG@~U֌z28PpMp:EnYW\5!;8BU]W6"pe~I $F(\zHɊ)uvRLmPyؖ۞_*>#cUǴ@l%`mU.&Q(<G [@>lG/٢ ׀$Ҕ9yċ6K/ea,,txfuy$ +$޳B萠zz'oMiAEjZ$xO/Bٮ-{6Ӡáb)(J)ļ>оG<(Gt֛_3<8DYh>[ EEqDJZ7тgЃL>+Nj}r9@d9JdQ3̽xZػ"mq;3:P #C0B%yg-$@̅0<_rmb)-`ߖF8jܰQ*ݖOeݽ{ԴmP]DѻVٽ*# ,Ձ.C!ڮc<=!P%-sn)'TR9M7Q\f7F96 Y]weU X@mZ`̬p#}و<|˺`_'ܭjw: L0PdhbSϺQe| 3lGzG0|3iJȻ}-pU%am4ř(MEZ/`_e QLTU;Ut#(P8Hw tPI_Ztc$ Iz(V֋j ΏE9qز%8g8K5u.t"7*#?C3utVNڷ嵱SZe6BCpjorQސJ3Ì, bpܪwo!~Wm~z0Gy@; ?©XO>Ϳ[, :7UowחcQi:$C0Tv琠wKjnSǸ(sm2)j/vomEX~b_HV)zCj5XMǔD@ۘ> 1L}7j>zҁ 6ǜ$@&eC> +Nx=嶢{50%FF?ϿǤoI(4TkZ)4n],Դy̹> endobj 2212 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [193.253 576.202 449.738 587.111] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 2213 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [193.253 536.75 449.738 547.659] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 2214 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [193.253 418.394 449.738 429.303] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 2218 0 obj << /D [2216 0 R /XYZ 90 720 null] >> endobj 2215 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2221 0 obj << /Length 2701 /Filter /FlateDecode >> stream xڽYi_!EW ^@]o4&!@#ZC]5ĹyU+*VqNVY“ևJJkx}oBRzZKmW?;ޛCW ju1}q\ (' ~ˋۻq G υS*qUhW5mezv<&֮X% uM5:\Jh'R WF[UY8ͮs.l EAW$q/]UƉ]%#sYV<)pL{Jж9=ekyJls'ubG$\ʤ#64H %k˵Ƕsҙ `o-Y臨rЛMs2AnpfkeA&Jˢp"@q#ܾ}sg@0.ğC]>s"8@>̳bAg᭩',*+̩WA L){=U1?}q,d\`a @-?o55(Wh,rNJd5[P^{ X9æ=g :5?0 u[ '&`XSsdPysijп1$7l6 wڍElm.=ݡT#q2eQ `75fQ> G zG KΊ `lAw+_ԃV L\pSSʒK#"Yw*'ZCK*עxN#e3[?_s{13kBk `bH'lI%g~v)o>OQ- 5Z1 o%|qY37c;E8Za |HC;"7XBj ZXCKjS\mik- "$^tlhF+."9d}! nqc.C>ak kQCLih&s<['6fzH{ ݾ\dY\8*~:Tz*tJU 8}ɑ*>P4,,`2fz?z/ Y  =m膀]ۚ4Ȓ=84mDHB3ھzEws)~;Mƈ'oSj~^v>dD}M߂&&`\_ 0rcoD2h/ŝnX#W-$8'xqŔ!(tuOHO3 ]Y}hHҥ:ߺ=0G?⭶izQyd9K (rǻ*pQ~t+,p0-8q&B`sFհBo}+l1rPʄOl?q6m:,dKMMTɾ q0?#{ LS5Xa$A/C`_m~䆟LlXqthR1Y e8LZ NXѫi42-`oNB.tX肅Y\ xa.J ,l;=4Ps& Xf׾D#ν 1\J~b+pi^ڥmlqcc- 7Q[G/hK08 )afk`ϰ)Xl3r_3N$xxh'o0v6bN H WkƦ$,p%A'Me J %vֵ.hn'-ͣ*q P| & 6 8s_tMO u&7˞H,Q!4"BEvz`?= (C^14kaf=fSqJ 'zLE7 endstream endobj 2220 0 obj << /Type /Page /Contents 2221 0 R /Resources 2219 0 R /MediaBox [0 0 612 792] /Parent 2211 0 R >> endobj 214 0 obj << /D [2220 0 R /XYZ 90 720 null] >> endobj 907 0 obj << /D [2220 0 R /XYZ 90 439.149 null] >> endobj 2219 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F72 7 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2224 0 obj << /Length 3110 /Filter /FlateDecode >> stream xڍZY~_e9yHرg#HՒQcg'>u5EJbUu|U՜h¿hS,IB.HZ>3??{m0("<[hnQ=I_4 mc_T`ӴōX7%MLGN WzfP|r`,XS:5T8*譲 *tkZH [!<* ~oЅuеL֟)Qǁ± Z\ +S2-_'JbqN"C<  6yT3^$4OhCd2h` <^9؆[_^- ;̾*8rzyzfse/b䮷C4wd4DPVcZdQʥdYUӈ9\͉ƔKߵOH*1X2T$jF3&F/ŏZ5H2B @"'|XPEaJڊ[Vy855)%o H rԶ B4L(MmBG ]ZW,9$clά0v&e05e>`|vrxa[Ք觪8γš;q qoa*65Btl9\ .u+N?HϦn}:l7HéҾK>UjEh#x8c|O|* 8* Zx`4`9Q&{p| 2/TLc"J3v7 ϝt0`<kjjѡ⢐[+d\'CTOy_{i$A%NwhXdP~6GjSqirmx{h K#7ձsXm5򻸈"^`gtCeR`c3EChX:v&{H4&p 90[@o]1].:|.i%a/àZ [rF4/OOq(ﯴBM%a  ޟgxɉMW 2T6ey iS;0sTE}]COazgD\־u'\Y5>E6 Q0AHuE4 N5{@p %h4: bbE̜xxѯ6Tf kU]ɰv0UmvסuԺ-UTivx`r  t]+LA2/ k΃[t&l@e,[.*+i35l;aDJ9LU+amG)IWÑWυ7k3a$X㕯E!d{RԳINhWzic44|P:f-lv%\?"k~>GN^ #gb4yF$ [ADQL6)f9aa@$qM(>\,r>9JXEgZRay,k.J/Y@=Č .Pc966jh[q7 bDEdz4!bSXj^O>@n 3NB_ 7[7/Dtw7~--,ϋtFucp"rGsʴT$˂/ 0`hySaWb' Z@rWз'ьXA򹋱{x8z{<9)Z/ endstream endobj 2223 0 obj << /Type /Page /Contents 2224 0 R /Resources 2222 0 R /MediaBox [0 0 612 792] /Parent 2211 0 R >> endobj 215 0 obj << /D [2223 0 R /XYZ 90 720 null] >> endobj 911 0 obj << /D [2223 0 R /XYZ 90 260.359 null] >> endobj 2222 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F72 7 0 R /F52 359 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2230 0 obj << /Length 3013 /Filter /FlateDecode >> stream xڍn_1"i6ymȉ7vس0^#-g8a[SW h꺫v!]RdI(wO@> 3?<} SX5vƊ7u1#f:t}s~'FT Vl(܄y,9J:ydsۜmW#ŅT Zg" EN.ŽN *x/Ѳb2vg?|ŇS `YQ$ϖFVRQ[E5XV9ĩ,.gE BX~Kչ TLfi{>5ֺ9,}QSY}ʁ9̤J!УC'^!RH]t%r(" pKp7̎H0M_$}$d0UN^]$S3vxEГV:_Ľ1P<ע(_f%Җذ)!EsVuh 4G"l9+a1jd&Y-YVw[ٶhETf Fj˶R4U01\sm.,yKt< 3ϖ (/ _y$tiʢwY{GF7JOV`qNԕgM?G⿋!p6z]Ȕ7+TV1 h,SsK{CDA`#Y .8W~l~QTKU|&iݹ8nuZI+:Q+rb>{g wc{QjQkb NYTd Հ8ӧB誰}h Ϋ5@:8ZبB9S'gcPIHlc-/:G{;o\G :DYMT,,S:sM QHI) ƍM3ʌ3,?A89\ BTg:&7A:ebLr[%::8,rYT(50SDuZv51< J;{h{~d`EVlLEv#nftYY ~`G& l3;7Qp y!_\N@ӌEtxLdd@/(`)L8CpX|$eLcjXᶘk|g'_V^^P`ϖ˩-yR8uUO.0wHs12@Y+>Fsk' ˧mŌRE@IMjn!ޭJ*5"?/UmK _7}N)6I 4:C z_;5,leP?r# Y[>t}¸+g+ PJ Xߊ㹶\~$Aa^HRz^$yBP3 r[H*gÅ8PF- FHFm%8RyoqV2\t\33zhS4Hc9ʢcAR8~ll0q<051ڢ [R2p  ͤr] v*ڕ#vJ<`PVuh~*tG6 ,zbgBӇq#PԵӅ4΃P~fpj.KO;[)8NH`1ED} lrD*ֶI>rht x8OpKjTD /*KD{Fr( nh`'9cq Uw>d售"9(1m?ů9ʴcB}(`[zjp3\#Ȅ: ˙g*ĊX 'vdc;#0@˒B*b#I -un)] zoQC.\p0$L?tGzoZ%8巇 :M n>W>c͙4MOᮄ+aAeֻO|C8ɓ]h!ځ'V@r endstream endobj 2229 0 obj << /Type /Page /Contents 2230 0 R /Resources 2228 0 R /MediaBox [0 0 612 792] /Parent 2211 0 R /Annots [ 2225 0 R 2231 0 R 2227 0 R 2226 0 R 2232 0 R ] >> endobj 2225 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [470.972 648.591 522 659.5] /A << /S /GoTo /D (Column view) >> >> endobj 2231 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 635.44 200.255 646.349] /A << /S /GoTo /D (Column view) >> >> endobj 2227 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [214.178 381.993 424.155 392.902] /A << /S /GoTo /D (Agenda commands) >> >> endobj 2226 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [381.144 87.422 522 98.979] /A << /S /GoTo /D (Agenda column view) >> >> endobj 2232 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [104.944 76.152 140.273 86.613] /A << /S /GoTo /D (Agenda column view) >> >> endobj 216 0 obj << /D [2229 0 R /XYZ 90 720 null] >> endobj 915 0 obj << /D [2229 0 R /XYZ 90 345.927 null] >> endobj 2228 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F4 1765 0 R /F72 7 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2235 0 obj << /Length 1268 /Filter /FlateDecode >> stream xڕWKo6W(*RDvORhbf;ʶm"@4߼iIOlL),1JoC"P17wHnU͟ɾYEmT}oG70v5csF,RG\;pVTO|S\!œGpo\^&&Y"rVi/Yh<@}vJ}w y4:zJ]0~ds7IMu>UCc2m`sRhʟϗvLIDg|shbYJEFiS}DLvjG|b%vKQt 1"~r Um]ͻ`ˉ) a$Q/JdB/DP[@ TA<\EeQ,ɵY!". HY@;O]H?C{a1 azv HX! 3U@aDJ na?B>>d bkCjlH󱑋d kOUxnp9 ɱR=FVp̅ 4YSa<$H]kSi^p8{g-Q$"OCG_MLϒhY)mUxvGLC#l;Ɂ?'FQO9κO1\.M@F~Y(V$n; BW`NAl;^i !A…60pε9ȴ53~v%tz@73B6!^:)2zBeP+&^+ɐ4|щje1zfb>#<`Khb@r?AlhB̽qT Yk"3o[+YDK%|XJ,ep]W[N|?XFzr}xv< F6? x9NiY2/œ;5X5vE?@nR!#k1f`dPҭ%!nJ #ðdT .;kYC m3j> endobj 217 0 obj << /D [2234 0 R /XYZ 90 720 null] >> endobj 919 0 obj << /D [2234 0 R /XYZ 90 521.544 null] >> endobj 2233 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2240 0 obj << /Length 2753 /Filter /FlateDecode >> stream xڕ]6=Ke`)}--C6w,9Mo(M?ZbwyFVY,gJF! 3>Gv*ll~N{8u0M~6 ];?75>N{Z(X-ۗ~93Id(QF Y#8ydɌcq;TqZ< F:M ,:_nyvCa0 E\n`\=MW9TmBprahy׻kEr~e0^&{GWx+J#ees$1n@߷tCUawkQqbW5C$dNìH_~dpzFU#8%C.+(ákwRi 7"J:N5 ΋'#~Ypt(CK:`޹dq 0Jy&6w9 tvol(֙GWBBtRB{T;0/R58LE/dD=1-l7Up2&aǟ0Z,3sCʮ6GTr.Lv[љ?t46OJDEX/\\<]z^bODn Q8/!bMbQG"2pg#bAI^CwȡGR{"b @M;8ڣ}N5 TͻCB19 u3'^[q[LBmlrtAeH_$(.B_ڏ</Sã?*P;h*=F yd> /6-A׋MϱGP3i:,2XOX@bm G'{MU}buF2) ]P)v.D#@I6 _T >phU J+Af+!UbbnD7E1!ӌݒM>! V*JgoqQT9.M-R-nĜY,Jr,+(*+sx@9塚ʻ1Dy2ʅBGG:(..VFEF*N1 Pj n|m#6֗ rY[x \L6*ZyE4 sfL>SQ滷[fjq Qɟ/hw<{ @- ?%JswYd$L ZcBjp="]-jTĬց):4Y^D6˨ OHšA<&gلtBqbBh9 ?2hSK`AP8j\d/K.<z?QÇ* EjvH"6RINӘOii[ 4^TnzLjY=,4Z"鞖}u,{F^o3 g[nEr7(3zIg{̖dSV/-3XIQH*P&+m+bt* ϱ#'U 0_kWsy]~DK* x;,UL~~JPGaثwo>ﵬ,!dk%J<㈊X2T'RRW*/.0{jxhgtRIdu껊9;н2S50T2><~Qt endstream endobj 2239 0 obj << /Type /Page /Contents 2240 0 R /Resources 2238 0 R /MediaBox [0 0 612 792] /Parent 2242 0 R /Annots [ 2236 0 R 2237 0 R 2241 0 R ] >> endobj 2236 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [147.6 258.869 358.172 269.778] /A << /S /GoTo /D (Capture templates) >> >> endobj 2237 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [374.452 114.516 522 125.425] /A << /S /GoTo /D (Refile and copy) >> >> endobj 2241 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 101.365 185.443 112.274] /A << /S /GoTo /D (Refile and copy) >> >> endobj 218 0 obj << /D [2239 0 R /XYZ 90 720 null] >> endobj 923 0 obj << /D [2239 0 R /XYZ 90 720 null] >> endobj 927 0 obj << /D [2239 0 R /XYZ 90 587.354 null] >> endobj 931 0 obj << /D [2239 0 R /XYZ 90 413.911 null] >> endobj 935 0 obj << /D [2239 0 R /XYZ 90 334.846 null] >> endobj 2238 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F52 359 0 R /F58 1759 0 R /F4 1765 0 R /F31 1767 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2245 0 obj << /Length 2608 /Filter /FlateDecode >> stream xڕY[oܺ~ϯ0Gnx-/)u[Iʻ]Z%3!%$E,/#r8X\$O\ET\b{z+ l?߼zT\$.R\K.>F~4F)/7Z5M |JnvWRѱ?0'٢|۫_ofQ%y]daR' %Ѷ;vGXВeP7 ݂VSGFй/xf;CnǺkiڮ?u'Ӣ F<9h#T,RR ' $uSKXԚOo?Vr Sџ$ZXa݂Lg^{񸚺 }RDu¨^B?(-ȈpY,|XQkTl*ѳlg?L >80R[.F uQ0XB{r^X4taӛ}83tT̒R//Πe,ʌzW܅Q:U.ْoW*e7+^:·'Cwl0XXwlI׺n5.Z*SܿFՠw[Qq^LV=hޞl몡D[P ՝CHULpitw.uUcIlD? E\Q EnBK!"˝@e*sie꓁:ݳ䂉w 4fEf蠌97p!ovWS32|gH¸3پIT+o4.ӯO0ТA, GReyA*6v70d9QS!bkh-RDYTNn{ {h?8s>LVR%z39b B9jhr$l@ 0<0T.p֎[ςfaMәMʢ=HBCd 8l{FgV\E"%t=JT~;$UVUcZIeǬSEݩNe(6|q.=eZ|XscaA;6tX%8xH,bKE"b OmR-;0`)mCVYQ8A '@˜/K|M{ZKfGVVx:^n`iȪ& 4!V&$2lqVlVmm[,w=SJܙaatv׎_Ni34pI}46ӸHPɖTY fGݦ1SJZ7~Cۘd|z["^'$O8-lJcrڝ͌|q4Վ 1?A9@GOM3DŻ{f:\wwqoh\ [c. 46s ǚ ~t48K$Vp;qƉ/pԶj^7qY SÑ9BRᘹH+pun>L='8@ov%U$nt35;? K2͗NK>%iϿ^ el*:SVx}:nv쟨2X=! +~ kDح?_dE`5[EoUWPgG#|qF7S 2η8Evֺƿ0_{?XG%yQljXZ_P,TŜpm]) U,l%ȳ0n_=ˈe,rs}7ehB fz,?}:#h9*p4=gce3uIxzj}/Nsi }%A}I̹p qzTtha~nl&]zgUV:uIs;1½tņlw T둂|X D傸E2W7Y!\lAb6@'oNBj[bwn6](>y6,#sƦI99D wwL@P, _! -5zR1hȆSO?`@m>qwBxB'gYoNT(]3/֯L.F%|z? #\7W`D끁zD7YifQQ&9t%xPr97GPqdfl sn]]v~y feWTrKG endstream endobj 2244 0 obj << /Type /Page /Contents 2245 0 R /Resources 2243 0 R /MediaBox [0 0 612 792] /Parent 2242 0 R >> endobj 219 0 obj << /D [2244 0 R /XYZ 90 720 null] >> endobj 939 0 obj << /D [2244 0 R /XYZ 90 399.82 null] >> endobj 2243 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2248 0 obj << /Length 2200 /Filter /FlateDecode >> stream xڝɎtf,.}s  I#9s(I%hTHʖ⢦hUWYBVE8(|; Nʇ Ɵ}JAj|xޯ}:KoۍDZWoA >QOkEmhMenk؉O" ᡩ*]YRݓS2U 2[`!3Q %S`ցYv;gNUg:~eIr1ȶ:M]7yɕC{{3.)`mK2F*Pid&3n+3O,NL4b@JYγyAEZoe ϋW3C/BIQ<%Fd(A&3/H1\;r$7՚jxDN3s:Ra<)@r \t,KKy7Wm)++4UDsL;5mT93mX7i#>TeL'9q᪅u6Ic?)6%eL oW3}^ |5 !4X '^n?^uMk~TFIlDߐ#-˼_[Y{熸[n+Ld;y6/J[]9huJ<i,wR/h.~%z|Y/0`-Cʁ4aC?P\0 Z.rAIo>oF<[ثw^CZqEP$K?\!ww5VBӾ]:`%rK.ζwno]Aw|"1^ZW۾氇Z|ua.NQQQE|_+/h۹Y<Їٲ$ Tg^y҈Uޜ68&c6j `7AKmrWJ<Ņ`bFf>3?մ+U}F=ʁ3?R&tJ_jrř&U %&PA6WSQiG (RJ+($,l*YpփR NNsƯvioEM*gj/ؘ=Q0Jd8 3S|N1 wyvpJd*ֹ!qN\!Vځ7z0ɆfV g =I~bFZv s"1m!#6%|ljDHE1¥0`-Fj8,L5|> endobj 220 0 obj << /D [2247 0 R /XYZ 90 720 null] >> endobj 943 0 obj << /D [2247 0 R /XYZ 90 659.252 null] >> endobj 2246 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F55 1860 0 R /F31 1767 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2251 0 obj << /Length 1945 /Filter /FlateDecode >> stream xXK6ﯘK`Yw%TI2hfyLxVXc{rIMH% '6y8nS47!ϾQ|~DlDa.6w: l8nKx_h4MtbcX"yۛ'Β(H.ќw! ݤ;!aZ?;jUU<ߞp|1t/pXm-|.ZJ _āH蜯S@]8F Udv8ezX`lGfj_i;`z( P]ӺX06' atKDA\)1SUv??~/d{^y">Ŝ`WmIuW(PzYNEcXp}?9 *=!ʼ/ɋ黧 _AFFV9FÎěZvV21LKBx}b4ȳx!ŠyJrD3[.̸4E{aqtN3rFq*; ]p w8:taGE$qǹW ho«N,%DDK9ha^sDiUF  x}T gAAM3yiUEĵVhyWUC?H1:(_S T,Wvũy?H\B|aϵ4 5KE=t _PI읏U(R%N QON|hںCg/aLgZngfY54Jd^?veȎqsqdIfReժ$2oO=Ez zj`|aE=먨gޮNg.$\x.S͗BB".XRz/]ׄ{Mgԃ~=Σ4H0P  e@=tl4G{VQōM0bZnx,mhm'VA\V3WÝţJ5CKAmzɏiA(OV(ijHFHʩ4E%VH÷=99cmi6XnZ A9dh=cEjM;B4k4CWɼ/eµ]4D8nj^+KңƂ hĎfnNrbQ2=t e³Jﯱg DMҜƚTYڦ:(  J#; UI xǖ;L][4h.y߮ՕrP©vQq_Z7Q7nTX_i[>zeY_7l-sڅ^! 㹯V0{Xb1/Q")?Ś7"SE]鷧 wʖ堌}\^/vAJ^<Ŏ:f2ሠ T0Hd:3Ta9e1ˣ08}Mu4K= 1y"_s7 endstream endobj 2250 0 obj << /Type /Page /Contents 2251 0 R /Resources 2249 0 R /MediaBox [0 0 612 792] /Parent 2242 0 R >> endobj 2252 0 obj << /D [2250 0 R /XYZ 90 720 null] >> endobj 2249 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F55 1860 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2255 0 obj << /Length 2585 /Filter /FlateDecode >> stream xڽYm۸_aXz\RPmKL˒O/q!՞@Z쇥9<*?ʃU,UDxX|u.q^}lW(*3P?49qJZ:pY *Z%FX$+ oqn>8K!DLVEb4bP}YC rhwl8]P(CΐSt581ivZQǵRi6#B"+caW˓$Ҵ&cif GQ0ghCݔZX 3K\> 1MD.7]_$Ȅ(4ʍ7yDb\=<OՋ)%)9Kln4(@vȹ y,9zO5VewX0;, ,pRj􎐑@nt:mUL1c]g~/EDRvm#Bx K0OZH+m*HaDԼOR <wbyص5gBdRvY[k!hef}ovݣC[nD5X;8H8I?28Qv&1 ӄG[Xʁ}We2Y 6~A*nRjn@Vy eʚr.d>w1׮\M[b 9~Bs +8KJVևN%xlFBK1a*ma/PxĸWYq53pN:#)pV'rklmQ@=2*}۵|m!b g<pF4ޜ?:Ntʯ,Rr[_Șܥp4gO.?͝y46!/7> endobj 221 0 obj << /D [2254 0 R /XYZ 90 720 null] >> endobj 947 0 obj << /D [2254 0 R /XYZ 90 454.609 null] >> endobj 2253 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F58 1759 0 R /F4 1765 0 R /F31 1767 0 R /F2 1766 0 R /F35 2256 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2261 0 obj << /Length 2897 /Filter /FlateDecode >> stream xZܶbqQzbć^R\qߗvJ{VZK[_ ؕ.ZA$5 !-W'WiIVݫG_In@O(|oCHTn6S76E{kͥoL} cA~Q|qR%޶|xonB)dr4 .e"Uk J&SBPfODsnH$jB@{P(ߢ56MK2?\UF&i|4VۣYp*Z8J0r4bAC_%D|=k15YU=Rd]ߖ9 žօcRvL[|:?ZTNXsI|D^s ]vR>q-Yab*Vaډ8e/n+&X\ 6E΂n6NK*~=gcvz.:mxD@wB,w /θ9Hz 75m+ԽvEvރo}>-M$h~\aRm!tEg-j@3A"#҄" g(~h^ItlAfZ `XZvf} ^90fmψhRK>|ݼaMya}_I||OCQ@-y>!ߗL6M%@)$㗤b//k`RGpչ| d:M=n5}yV<חXB`7JS@f5rX_R87|c, <#hӲc|wFx= $j Xj]ojj8Qv^Sa/ZQpe4|IRCGwݷ@'u}ΰΤNRivvMbi$(.'Q[PcAD tXRK"P /%سm[YYKC# jc CX>CW;Pu@Es- fG >彳E{)*`A΁L13|C-+씵CH~.\Ή_.0|M_SLg(L@L1{~Uf(2 qɗd I  I\-6TqVꆠ%3[(mM4"4hph/FMhAĜ6 2vpТ +z Nw)mAt@;}[pLt-hیU?{t xQ5@{Y=BW' oJsv'J =5B:3?^a/HSd 7ZF(қOX]n&6nKݬ$EeL"\@@ w? Μ_h H- V9'6MVGKZ{wriSxP)PE t˔{{,_Con{ih y0)"OcZ `ΎS 9lsJlc4%ZAʐ!:]c@LsrTOsj-+ {\(oγ$H֩0i8ςl|rO>bijZi>ǥ!S*z.Ã[؇א{r+oQ&xT$X"4Fq3> endobj 2258 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [450.2 162.101 522 173.01] /A << /S /GoTo /D (Hyperlinks) >> >> endobj 2262 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 148.95 172.56 159.859] /A << /S /GoTo /D (Hyperlinks) >> >> endobj 2257 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [256.38 98.777 444.439 110.333] /A << /S /GoTo /D (Adding hyperlink types) >> >> endobj 222 0 obj << /D [2260 0 R /XYZ 90 720 null] >> endobj 951 0 obj << /D [2260 0 R /XYZ 90 391.198 null] >> endobj 955 0 obj << /D [2260 0 R /XYZ 90 210.926 null] >> endobj 2259 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F58 1759 0 R /F2 1766 0 R /F35 2256 0 R /F4 1765 0 R /F72 7 0 R /F52 359 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2266 0 obj << /Length 2287 /Filter /FlateDecode >> stream xڝn8Эe%K$oI`0tZR|}TI.9vL|J@A.eUlA.7fۋi$qck4)e(v-7<'&~{)քH`Uo.~(KxtxPnǮ7g"lMcw<y<9՟G7nϣ5[RBHEmi,o6;`,­=%UBCobΛ(P̚C[@z_%H&Q.E*ˊşH!D!N#α[yc_{LF8QAd"dT3*R634TF90R3T ,")tTݰs!:|rM5DVxW#>^Jr{+@ֱ]R<3DZkXmM]; ]8'};Ḳ ֯LZHc#H牁*{_[PH^Q%YH,JyxV1,wQC*KE܆\ܷ;gn$3h_Wm=k'$<{bxرn:7f-\ATHor-܁b)aP)c8V}&'&!9Z |P Αl2f?%dN 8 hM@еk9c\Z231L͙p~h5w w.$üFLOYsiEBpg>_Q~׵Io'T ՉPrzuk^|b *Jt)zu]+vvg]f:R2ZYRCoCXvc.dq*4 pPJF̞y> PCΟ6oDkRIAlICs3 *B~ȧ?<<~?aEHXM(l$:,4F~xAZi$"v,hYZZM@P5Q ^S倣{G.U2tB|h#\ǒ _UT,Ov-}2q,Pʳ{i@$R TI~fƮpH`I] endstream endobj 2265 0 obj << /Type /Page /Contents 2266 0 R /Resources 2264 0 R /MediaBox [0 0 612 792] /Parent 2268 0 R /Annots [ 2263 0 R ] >> endobj 2263 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [227.079 284.685 401.079 295.594] /A << /S /GoTo /D (Handling links) >> >> endobj 2267 0 obj << /D [2265 0 R /XYZ 90 720 null] >> endobj 2264 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2273 0 obj << /Length 2732 /Filter /FlateDecode >> stream xڝr]_<hA MQT"r.\X``Iߞc===}wZyOJawo?]a\ڡ5ϵSaE]hS?u#~`?\m"%v&nЅK/8 1`I/4:,߮;ӯ5yߴ_=kh7k*b7jds=<4*'/-9c~{ǦFN헷!enc\iว8Ͷ˘>>Ṧ}[~q}_o N}$F$4#nl..%ƞL%̈́ UZԵ\'LSȻ-eikM䌛$n?zA_?돛+lwU5L`(A%y*+\ɡ33Ar$vbSMk66v u @* {=kE &,**r}0X tžsnnOĘ[&vç/ϳZ- yO-~TV K#:S^SRY_vY_څ`tM# (ipgFa7 {"Uh;UV1Q-h8fKQEɭd!߳t,&Wrҵ}7yA=p$6NPTș>EWem(l&d"^SYe"dl.6߼RT}ͧOO7nx!SIVY*&O0Pա"c1 ek*xQ#`#% <fS-v' [j:Hc۹ȯY 4Ş/VҡGvTK\&dt>ܛ*UkevLRjà 0P$ >@ٍTLȝCkeVD(Fz:HKyUN :=RprjiN bǠ(q`YhJHH AŋnNE4DžI!<2ISGx& Em aGq ART;CC  `!?ؾ}vo氬͢⦽"v.uOJe/EsVJ: W*I\MhWD>\ ]9:9CP'i}˖P9irLaUOh|%0_nȲEjWu¡ 3U>;Plk{|Q7b߱Pd_lTXŒ7zhs~w|0ikvG0fPWڅp~cy`íq>Ǖ`%@/TNH_7f~4V@5Fq\D[c4qS)/B$po]7]$D&GYTd( Pb.6)T@LXq&'!sF_ÖUHQ7S<27{D !q'f3 ^2*PBw.=b隝;i^߀R2);W`F'`#B+zo1Kԋ.KĠ 'z(p4`'S=,%D -S؜>2{\m-_r endstream endobj 2272 0 obj << /Type /Page /Contents 2273 0 R /Resources 2271 0 R /MediaBox [0 0 612 792] /Parent 2268 0 R /Annots [ 2269 0 R 2270 0 R ] >> endobj 2269 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [111.954 175.172 255.942 186.081] /A << /S /GoTo /D (Capture) >> >> endobj 2270 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 149.174 387.815 159.174] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-contrib/org-protocol.php) >> >> endobj 223 0 obj << /D [2272 0 R /XYZ 90 720 null] >> endobj 959 0 obj << /D [2272 0 R /XYZ 90 600.187 null] >> endobj 963 0 obj << /D [2272 0 R /XYZ 90 249.996 null] >> endobj 967 0 obj << /D [2272 0 R /XYZ 90 125.301 null] >> endobj 2271 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2276 0 obj << /Length 2469 /Filter /FlateDecode >> stream xڝYKo6ϯh`/j/=r8Y 8Cf^ImObՔ-Þ"Y$,6)2J%.6Sʳ@?}FlDi)6wP&;lcTT~6-̝K1jHnݤz+<I)`4?~̙֑}޳B'p~Ʃ逬 udii>{`hx*mxjw@[q"m,y/8m#x"fjQV XDzYU@ E(21pF3ː\Y" y?r Qo9,omy"U0(3'Ler#iޅ84yB3Y<O  e<~a4VypOXՅʒ#0 \0H$<7faظqu?\Љ;'H0 T#zFr=xWOQxWgi#ap;d&8˶PT%d`B<”.8N[E,2kr)KR67G;ND딇_@P̙{NMkL;&BP%p v!ޅݡi2%[зͳǛBD5Po}RC;쫚 _g 0tH{?̊?S#c^RI~yZb[.Dج25ǐ}x _X`g-WBڰN}x]g  p b"HXbKF $S{YX\^>nL_ꡩ:ݏpp7Y0j>&s;[9`_3Vҵ(!7$v<!6qtbYIR wVá—=5!3-`*עI)_*B|Ŵ;ɮb 3U4hk֢r@ PkZD>[ekfQWom57]$:}nyJ_{ŵ,רn@013:fJ$9axLMl[ YEmۥ#,(Zrߍpz7Q=5J|#ocDا#ڷa5=l(Jp> endobj 224 0 obj << /D [2275 0 R /XYZ 90 720 null] >> endobj 971 0 obj << /D [2275 0 R /XYZ 90 215.265 null] >> endobj 2274 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F4 1765 0 R /F72 7 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2284 0 obj << /Length 3225 /Filter /FlateDecode >> stream xڕkܶmQ-j"9N8@>(F[nek}EV%Crf8oYwYKUYg@?>2a|w?FzϏ)vޫc~n[k{KW27@5C|&'5c4f~)qE{bvڪ4TpӞX^T5@\y9 ]Yʨߣr j"~(lkفpubk<ƤwjG;S04eC0TlgS77 9#;"Cyd q4ߜ7-01x2Kr+fF+* -!%Fv֊fǶ /ahc ҟQt4ӵ>0 ̖~#m8RQj]ҰF:2#q<nY>8ܽvG!Bھb- zKM AhN+b[9pCZ* C'M}7Jo:Y/N~~D`AKy:$\qt$`Qup@CAyUuёH]N"!ێe^UK] e(aSV2^ٕ `!ñ* ʜ7¨R8A`3Jb#ɦe}B a a^y}8M,yЎ ݄p)87 @jySaˮTR[ɦjXb]9".t^aL3'Ww[lTN¥v$IrRKPTOw'80%D|[BGa[{x*5KK˝U-kNoQ pdB374H1rhTKOơW׋ =V2:(朧c_~FX󓻊~ Rؔo`,c5y3PYj ߪc`FGSggU'fıJQc~?[a5*_P  Q0F,lgȦ^k%c>lRd)9L^^),5izHCy] 쫻{VKPC)1U7#4 Ƽv ,Jh>3paG @(UVEx9O<ޏd9 ­fl"[BCU9V224^33["UCa[|ͫ^ NV@~b;MU܏d1X'4\| 8¤y͐od̕{G)ucq|D7dipg71ڻ,执y%r8|1{+TD@Q%K$h"c) Ȕxc^:{vAR $/P6Wן!oT#W%=В?g C^e R/AجYgJ,jwX ma#-N& VoJƬ1yZ 0N*ư,NUH))9/_NrGAE,-J8pHkiC  *`pEEܦsAA^ g9M(k13 _>r黽; `DUt^GAXTJOÀ\hh9ETulʝݣU"I>/u5-"Q]0Rq9~=pA n;d6!4o` "AsI> ,[|Hkepy>˧j]BD]z /|! beMU=gL,#I-];?=,n]1@`ߤ(>.\}(1i"k_+fifj%>P.u=F{N~Y iNHsn^~>Sm tS:Ԓ[߄ʦ<@K=+ ",UB[L@bJs.b-4akK#e (Kȕxl7LшDWn2-S^"S^m v* :_:npKtI1C"&k_0|U_5}ϐhu:b&H}m sZ_E(Ăp'Xߠv}hDHdx\5!Į? ޚEZ3|p@H5ʂī^6Ll:K\Zh-I͍ՆyAZ{:HM[^sdg ]QŠx$NS޽}/~y)T'GYA88 M @ZP?Siġwߒ>BF+ ny -~p"Aܖ=p3ݠ5p9GyX5o@}7Q=a=HҲZ f+23EIcjչA"3抛@w|a@ߢwmAr^v%gQ刴5Ut6xh2KGl,_4B']x3xK/ѩde p@5'.8}yԆ*IF,sWK9?٢SUa]]dZS{ _~2W_Q ~Ow-tw|h;ʌ (% hㄢCu% ]`O-ד. 4?&LgPPxNBuFͨ  endstream endobj 2283 0 obj << /Type /Page /Contents 2284 0 R /Resources 2282 0 R /MediaBox [0 0 612 792] /Parent 2268 0 R /Annots [ 2277 0 R 2285 0 R 2278 0 R 2279 0 R 2280 0 R ] >> endobj 2277 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [418.545 390.906 522 401.816] /A << /S /GoTo /D (Properties and Columns) >> >> endobj 2285 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 377.756 199.152 388.665] /A << /S /GoTo /D (Properties and Columns) >> >> endobj 2278 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [369.208 247.363 490.71 258.272] /A << /S /GoTo /D (Tags) >> >> endobj 2279 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [111.6 203.6 287.533 214.509] /A << /S /GoTo /D (Visibility cycling) >> >> endobj 2280 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [291.669 160.498 457.973 171.407] /A << /S /GoTo /D (Sparse trees) >> >> endobj 225 0 obj << /D [2283 0 R /XYZ 90 720 null] >> endobj 975 0 obj << /D [2283 0 R /XYZ 90 720 null] >> endobj 979 0 obj << /D [2283 0 R /XYZ 90 313.281 null] >> endobj 2282 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F58 1759 0 R /F55 1860 0 R /F52 359 0 R /F54 1750 0 R /F4 1765 0 R /F60 13 0 R /F2 1766 0 R /F38 1820 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2289 0 obj << /Length 1824 /Filter /FlateDecode >> stream xڭXY6~_@ĒumI(F֢mbeɐ=}g8,i(Xfh'V9_Qr+Vﮄ@(m~-+Ys,6kps(NnaEAv*7vn5-q*u],8{vt}Շ Y,+#3>=fWIBes=E̒,֖5dӠ؃""( \ʂ{hmo451ﴞ+$,A`vEX5O\3g9H'8zk/&IvgsU*Xʧ"?zE93XXAT4  Q,s&ўuCA4;FAaaUjj빎Cf_79וn410~6-v)XHd,M j}XXÇݝ9yi%uR|f`Lxh41'`(h-:M#zZDnFE vo!+mn\꒡y:>DK~VM'DmQ Z4:iM)D],+XQ uOxSL^1 N!Hh碧k#a&Xa & Jm} u@?'ELVXFKHdn&([D(yF3,QK9vK+Ι%ijt+)tE0%ЬLʗ+jc<}a"QܯvMU5h+֥㱨K'AW'"H]3nؿ]B%Wj*M]C>ҠXtOb잾+8[J1gEb΢)3e`iڞvpsr;gGn6D k&(9ֳuQc .qENCQACnNj~jW];R3۷{uxh0ek8eg뗜>02A[̸ tY;B1hRVo{;ֺBQ7_RI&^ڲ9W%/MRA4q$i&t]tHq,|S@ A$,=^q{† I4T*|z6rXtwS7EZbyK'^PE,mG3l de9+ܱZg B֪J<9?h< b(l^,+He٣%4źytuo |tCXiܻQ ޕEm aC~C IUmu}^\(<7+9Qv˨x̬U!DϱzN+O3 ;s[ah.Y=l 䮛T<D~}L6`! ALvJ Ga⦒tIB`1S z>ǚ\%es%)Ϩ\,NQ7i[Ea/AXtImIf!ۆ,It)B㔜SWR2lv+J A\fL דెEODL⪩=-kv}'F;5{S͠:G`ڇy0A9 Vf-Iq:6/ͱ:jgܯ`Sl=_a/V" endstream endobj 2288 0 obj << /Type /Page /Contents 2289 0 R /Resources 2287 0 R /MediaBox [0 0 612 792] /Parent 2268 0 R /Annots [ 2281 0 R 2286 0 R ] >> endobj 2281 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [296.287 681.407 471.707 692.316] /A << /S /GoTo /D (Agenda Views) >> >> endobj 2286 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [285.9 625.816 443.662 636.725] /A << /S /GoTo /D (Exporting) >> >> endobj 2290 0 obj << /D [2288 0 R /XYZ 90 720 null] >> endobj 2287 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F52 359 0 R /F58 1759 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2293 0 obj << /Length 2771 /Filter /FlateDecode >> stream xڽY[~_RRbn"%/d-H1mcp[apEYE-5š.[YmRS"8cMu~ ;%&ijܽϙڨ4)BmvO-v͇cy~c"~͢ݗL|n6yUT_i7irz\UfD\tgoc^^{@n ^õ >u4y}Tn^ˏa? pVݏ?_>35\#S0 |wQX"@P %BQ =#P$gو ϴvl`؉vIp ;Q]mD{9,Ork+Hp 38̃ Vv̲RkUӉEkX/DZ+Y)"eE:BKs6y@L6ٸi誅[ܼwgB$@fdp1=:Pa&GFSh|E*mi!c0obSoi9wI掤h'4)0. jć)2CpOaf<麶|ho~GSj1_P<н0gĨɊ79{=)?Sb7!kSsμP.tS.p #/1b|ʻ_@:X_nafqu!bMRWAw6}Ȫ]<pjV)0uMڷUAEWKam4;LDo9rH}nffE]g$ ib(|?1 ¼P%1/1X= gqˀXVx@wPgXb^ߝ y_X@Lֆf^lVLPra'Dc1{6GJ]?y=\{נt0q op|HA_q"05G9f{yaL|~z^V#˨[Q_\9DT-" C\>A3zmVZ0=hޖXw)ʤXM}3II̯,LiHK(dؐK)t'ˁ֝ި-$[ͬDeZ B."5FA@7K.q *V%VLax*M1I%Z Dʡ^MYsU77=_Ї<ܖg(F fւ)wanD > endobj 226 0 obj << /D [2292 0 R /XYZ 90 720 null] >> endobj 983 0 obj << /D [2292 0 R /XYZ 90 720 null] >> endobj 987 0 obj << /D [2292 0 R /XYZ 90 333.672 null] >> endobj 2291 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F60 13 0 R /F54 1750 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2302 0 obj << /Length 2707 /Filter /FlateDecode >> stream xڭYn8}Wm@u `d1i +wZ[^I@>~Fݬم"bT.BSyxFQbsxJ %-/^ ynb6+?"OW1w~-]ug՗?^׌~(xlU6*L"#V?: bQaInæ~ALL_E"/Ev8 {nM} qBUv/ڲ+<>N2 Qy⸲o^\g!=+q8h)y׉WVNŁPtNrf#=B,?MUq1.&|AS'A,%) c-_7S(0]Z;ς uIƂ.G&.Aõ#5X4 TDɓH\"" fn,^& usIпk* @wkn&Ւ= O~Bu,"f*5qq=\p\p!\YOrRd܍$BHƇk}Y|~s=&6㛎%Nl.Zo8Rd=l flttD>͵~P,}e'th˵'eR@mCiBllO o0 {"!SPy&nFfPXu֐9.%(r^5 9^5yUJT}S'@z\ ̓$u4R&H5D&#h'N4T\/})oԜ.LynfH_O1>[Iϴ J}Y=ͮD[_R% KTl3M`+4H={_n+0HQ*<AZWUI~ ],x?^*!g*g/lP7.AU QvMh\ ($uRX:W6.v~{zsyU_*(t'&=KK(H!3^TA@#[K:7b樗Y4rƶϯg/ IAWS,/YuW&!S {'Oi/HBsWȀ&}Ix\dyQl @ktU ГNP⎱z#ݜ:?=pqt>ʃvvW;$ N'66E|݌۱8pMA/TIۚ#٥;U8%4dܾzx-y *QeYBum, Ca|?[\و*)k\GCjI}i?®yT C`G0wmy&& 41 YCGK@!l!h6W 80X@ZG>[E JD/DQ6ġwZ8D 7^e{C~{сN Đ@0fٓrHx*g[Qa˘)\.?L6eǵTϽŸ{lҶ_cqH"lH\$RHlL=5;#&#6ʃg`[(s7 \A>0aҋ\Q=%L`b}:!?< 8H#A ~5y endstream endobj 2301 0 obj << /Type /Page /Contents 2302 0 R /Resources 2300 0 R /MediaBox [0 0 612 792] /Parent 2307 0 R /Annots [ 2294 0 R 2295 0 R 2296 0 R 2303 0 R 2297 0 R 2304 0 R 2298 0 R 2305 0 R 2299 0 R 2306 0 R ] >> endobj 2294 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 550.219 291.445 561.128] /A << /S /GoTo /D (Agenda dispatcher) >> >> endobj 2295 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [203.969 241.664 355.699 252.573] /A << /S /GoTo /D (Activation) >> >> endobj 2296 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [335.85 183.929 522 194.838] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 2303 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 170.778 189.418 181.687] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 2297 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [346.221 152.495 522 163.404] /A << /S /GoTo /D (Global TODO list) >> >> endobj 2304 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 139.344 189.418 150.253] /A << /S /GoTo /D (Global TODO list) >> >> endobj 2298 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [453.954 121.061 522 131.97] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 2305 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 107.91 342.631 118.819] /A << /S /GoTo /D (Matching tags and properties) >> >> endobj 2299 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [400.247 89.626 522 100.535] /A << /S /GoTo /D (Timeline) >> >> endobj 2306 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 76.476 189.418 87.385] /A << /S /GoTo /D (Timeline) >> >> endobj 227 0 obj << /D [2301 0 R /XYZ 90 720 null] >> endobj 991 0 obj << /D [2301 0 R /XYZ 90 292.611 null] >> endobj 2300 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2313 0 obj << /Length 3065 /Filter /FlateDecode >> stream xn񮯘 N`Rfs]lI '\,+_jɡC`jb.@lWnB>wvj{p+w_2TޏRP˜2Qo7MRF+[d*"z|e{ HxwU>Tm{yCWW=-USCU=>/BS3mtUy{]=?EmW+m;E@K'o54έ]6(޸^GLc١{g !ЁR0}M+#ރ6M8IF\48ަ!@nB5(8p.ykY\G ReDs!((3oi%MEA&>Տأ.j~dUʉCOĻ;=<ez 72J4͘ 9x ma@k { ' !,͈ T*M%QUϼrѨ=mhP# fIw{(yP|Hxղzȁ=l%|Vjة(Q[ +"uܒk }~a,ТizZ ;8j#8Z `>;. (v=7o1eu!b ;7q%R_>襮QOoV@W^\0 ,^~x+T/3d 'X؛_^szGҘ$w-:vĕY.MV G0ڨbkW$iR&V!ƚTBs>f`f`>9PC$0. V-\U 0B8g4wy157W,T*1I\Iu`-o00J·m<J58x8P:Ld}B&l/a'):lxa?v"잇#khjnLRap^B0pZ0,a8j@BUuc\8`&TPLD1 A%_-?^ gK1}FRgaj.hYI)t &/6d3Mm&q0_Ʋp {ȉm}Sm9ɗFҏQ[)_F;@{=I DWhS1Y~$R,̣Zhi騋# uƯQu2չfWP̖ppPX3k;rRd$j 5 ET^[@9cWK Gq Ysk=q}pC\ ȄW&w Œr9&c5Sh aDZM⡰[;W4+,zQ[GO&(u\EQtx8 CKP-)Iv"v4hhAϡU5<{NiXV*#of9S<(8Axr\ۆ%p3GS嚛Fz] 5H{T)G~ ͦ#8L<sӜM]}':FOE]T7_)0: T"i~Zڽy[_Y=ۀ!zTĤ.)ze~H%:CHZ$oEXuc]-!I1eYtb.6|Nh<38.G+zneC]_*2 aOH ܖyM{ٓ"U3ۖ5w;"b4<_'szVh/ANu on 18+ip4C \GP]Df8\mIX-%e6Xʝ0l>jVֺ5ˁ3^`=]jZuHZ1Q Np'x }##/ ܶƜE(klh:.GpK>)zf(23]MN˯:Ȏ `j_QFE>xȖlʝIRGftHZ 5qbv윇zƫ>/uʧ$IJ_*}lMIRBe%x ے8a ̓:pL㚏?`0 ^*Xan. 'A.#"[ ܚ,m}TCB("y3,j#Y @NAOCA~?DJDvj l+dIsJ64NLpW7̧'E|WD\q%$ɢ,u #5,݇}W|Ht|$P8yC'q?uu"fAs.cFD\29)FW'41.pI=l\C_.<^.ڞ\ w\V-ST&"5 }Y΋SqfG7*zh2.(CHuȂPN"bm2BDƉM(6 yq2AL) T"ܔ|l =@k:8¸U%t{dF)т#ĒOxgY8}9_/"AF?VkBJV5#h0֌$==2TPUrjWuon⫋`.N endstream endobj 2312 0 obj << /Type /Page /Contents 2313 0 R /Resources 2311 0 R /MediaBox [0 0 612 792] /Parent 2307 0 R /Annots [ 2308 0 R 2309 0 R 2310 0 R ] >> endobj 2308 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [314.57 589.923 507.085 600.833] /A << /S /GoTo /D (Stuck projects) >> >> endobj 2309 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [296.879 341.046 516.091 351.956] /A << /S /GoTo /D (Custom agenda views) >> >> endobj 2310 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [104.944 76.152 263.791 86.613] /A << /S /GoTo /D (Block agenda) >> >> endobj 228 0 obj << /D [2312 0 R /XYZ 90 720 null] >> endobj 995 0 obj << /D [2312 0 R /XYZ 90 328.623 null] >> endobj 999 0 obj << /D [2312 0 R /XYZ 90 287.003 null] >> endobj 2311 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F4 1765 0 R /F72 7 0 R /F54 1750 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2317 0 obj << /Length 3097 /Filter /FlateDecode >> stream xڍYYsܸ~ڔ+TVCOIV9N,ly 18䘇eק/eTFhtT*V~eY ԻgJZk`X8.x yvlTlEwqk0kiﻳuDugoE0Vc,X0QwS3o7nP gYˌp9tt5<#bFfo5 gQ 7N(̃pmVBt$d{k!6^ξݒuh_'jb憳Y"?J5iNc=4;M=W}:Qr[pA]O1n ~޴22cگe3 9 mg S姁v7rykdkn]0qAt0? 4L5l Rd,L/ġ+[{:mri!7L-8.t$G W QNG.nxH33ۚG;&of/ pP00^1򖵌9ۡZTyoQGoسEكrBQINE$ Jő55rz[x`P72M  RwpaQ<ɥU㹤 h˿5EU֎lg8k`BZO5p h ld ,N^v'J KUv-+>ELe$P~׋3_x3t*4lj54@>s`n-)(W)8:|*L0=?EbY &0n}4->lo[C;_xD˂of7 ( ("j`T)6 ^Y7ÁVтk*_[ 4/PݡrdE^41q& zS@r)JeNd5w$;AgN|&KJWUQC1ϼ;$"bRށ)}k1#z$.Rn; W 5Y;Ӎn۲/ p%Zi8i C.B(B5UgkC۠k~W3!l $yq}J؄ O!d[ZKyHF®n({m;8<74CLb+:`{d)Mxcp'On-l+07PXع" Y(inY 16 Ba.SFLsdM]= d;t}/gO"0Ġh e~v|@# &9lGP܋-e\Qx55g'``1v|2 "6 \R%u] 8^,P]"=+=KȎ\74!_;[*x`CQަw\6>4ë]D..}%yYx\cC ʨ8vq<.h_Cw8WctL*K* ˛Hc${qB\_9 8&f&q2&~I@^^VG:aaQZpOS[)ى +Ny0"م k=fWKGCfqV)$կEr? ƴbA4]s$/ԗ{+|6[_c܁n6qA;;P!ؠQ6Iw\F<'d$`8{j vUF6 0rPu'?vA$GO5?aa@2%}",Q쑔wB ;s$`R0'QАJNA2|h;w6*ķuGHBW0T t\oLunzhjt_Is, 4p@2`BpȐ !btrٹ( aJES0K ip fNsjpiZwd3`kwIpK›ȜP+9AznM³%Yު̭7xvtHe6x-/ CHStSYϾY\ gSO1G aPÜjB1~%Xݵ2HhRWq%~T( J 9{d06doꃌ:rDف%bO" مuŧbTG\-_G!Rv|^Xn=e[U1> endobj 2314 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [239.818 598.536 445.637 609.445] /A << /S /GoTo /D (Agenda commands) >> >> endobj 2318 0 obj << /D [2316 0 R /XYZ 90 720 null] >> endobj 2315 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F58 1759 0 R /F4 1765 0 R /F31 1767 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2325 0 obj << /Length 2814 /Filter /FlateDecode >> stream xڵYݏ6_/ENe{lWiqh[,@/ʒW@4 |HU^Q&Z_B 僀?]?bu suLUʫOO0ڏSkߘ{MY0Ke׾NL@B_j4;VS, J2Ȱe`JT_l]e{d+_EY߯^xI2|VW>rtQk8lX>4pq|'Luy޺hv)zۖ9%@HyBPƊ-Fg%ڴ|ۻ[ftvve[%mWk_yE 'GJJX[c lm@;t F*u~uv {Z"_aϘXV'^0(^9 M9pey,+U>NMeZs}1 fdAƿ[Zmg"' ZЇayViĉ6m^JS:K),n Ae[E3̼/"$LugjXV]Zettc 8-AR'#vsTޢjaz([U]Ta>ja"5z g}'V?t X ߘO+'w!K\<D;lvSkaCI 6%GAם9϶}!FدnCm{8@,cdHR8Xj$A7b I$u`E< (O XZRSz@mE;q4zߑ8aenS5+nIBEe h]gm8\#hY 3۝mS{dyySƉ7KV 1bf¿X4 Z;=Քi퀬, P'OH Ҹ&B3GGA<dတkax {O`b/-ݓBV%F fBvcmrJ%Id&`="ҴC+[S9D^[[е`$Ha"+ b\d.w1Aӎ\"ަw-y: ~o R#ʹϰfh}0sXF^*tp2%1jK5rHl*I:]4ǰ*v("ESl'S"~&b/OnY$1?VF#H5G3!8wh =\2Xs.D~u^@ؼCQ-d\Q5S߯dg-zD p%Y<صx3ywgJ{&<Nsk8ٵ3W[Zʝ|Kd̍ JRw^ 15 6ɴmy6=tq.$¹iRIGR7)>/4G_d$GDWZ*(BkX[ҵV3rAO/?^wTyqo|ާ ˷߱;Bgd٥ɑ0Q?z9JGZ~3xOqKnO,"GWYʀ;j5r UrH)? /€Nfwo y8bα2Fy4:߾p3H'܇Bl HQ A$]5В`u9QR@D*\b:ȴzIsj&@G :~&thTBY4?^K\p` C;OӋlGJ',N 433iB9|lLŲ x zz_g935(N` $3 A$~ュݾA#>]Fαq#,_YgsB2,iΈ$͹n9ԭ͉(2 ~D i8D&Ir^KJ."852yvj ƨLf'AN(c-K±\3}H^6LIijD8HB[#6g5_[:(=?G_ -48Gf:gC|9Xi t5#ɾuc/rJa@ʹ l+I5J%Y_8">wK {,gw=MQ:ig@۠Y!aB y/WW|io='91gIN?ʵ9"H?lܒ%-(r(ŗx@}ҩzqw2qZ%o/4+>{'o7Xz+ۢ`h>WAɂ Ç endstream endobj 2324 0 obj << /Type /Page /Contents 2325 0 R /Resources 2323 0 R /MediaBox [0 0 612 792] /Parent 2307 0 R /Annots [ 2319 0 R 2320 0 R ] >> endobj 2319 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [169.403 227.27 343.07 238.179] /A << /S /GoTo /D (Agenda Views) >> >> endobj 2320 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [250.146 187.818 455.964 198.727] /A << /S /GoTo /D (Agenda commands) >> >> endobj 229 0 obj << /D [2324 0 R /XYZ 90 720 null] >> endobj 1003 0 obj << /D [2324 0 R /XYZ 90 321.395 null] >> endobj 2323 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2336 0 obj << /Length 3330 /Filter /FlateDecode >> stream xڵZ[6~ϯӮ&Q}Ki@56c c[$7?BʒLy0/GsO,lQ(.V}|!|+dDWYZfX_/>.V޵wRj)V]"smP_THqC,4_VBil~΄>8\Z.+YvW5w>5-7L97V25V Kĩ02cm2">gIۭ9,@,1,vuw՝˭ky Ev^~-VVvqsغK \;"eW=<]}`? G]S]jk|@B6 Ĉ.n %jx؎MD%b,Mj{ @uC93UYj qo6wz*4zUO~}3 k#j/˾iEjx}M MZ 3,cҙ4in @iq+R7T*R3<ƪǶdG`țw  v[+z[ax땂t$}D@?8Ke>5_k?8Za 5W c[( t'@#k]Ccu#~j?bShL4:/y=} 8'ڜ6e-cVs5ƶހ+QB )(%~ˆ*"AYAcʩ|tKx[X5 2ׁ] zLlп!+`)U*D &PBt=A*-z=8P*#RUb.ǶA}WJx E8 1ةYή{f} ISj[1C*m"fM1(nwUTJР9Oicfsp9M̒aR{Î^$32Ɗ\'z^j yxfcXN}2Y-GZh+eԈb3Z[>JydDsf,= ZLX>?em`")K4MD\,&!*P!GA(Fv*r{;v`լ@& PX\pd ,t|0jv~ Wyn1݇1tsJ1QƇO{}CgE4s|+nxPWr ;[ &7EkˋB{Y@3a-'+Q -iA85Ss;8j=8G;ě˱F%Gj8{kj 7M94m5G|Wb5ZRBlVC5\Pq§1q.#4oѤ,T JP(E±u&;p /]  7L%&#⨩Oj2XJfr*\TQU*L%آTiV\6dDN͘MSQSߙK|4Lr"GPKaJH`22ׂ͐1E`ce-Q^BFLhq4*^*ƥEhtW%4\Qk뜥Z]|SjG!12@A<|x͇{@?o.@>q ȷuA>3Yൂ[<6r&? endstream endobj 2335 0 obj << /Type /Page /Contents 2336 0 R /Resources 2334 0 R /MediaBox [0 0 612 792] /Parent 2307 0 R /Annots [ 2321 0 R 2322 0 R 2326 0 R 2327 0 R 2328 0 R 2329 0 R 2330 0 R 2337 0 R 2331 0 R 2332 0 R 2338 0 R 2333 0 R 2339 0 R ] >> endobj 2321 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [319.581 681.407 514.727 692.316] /A << /S /GoTo /D (Agenda dispatcher) >> >> endobj 2322 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [169.479 655.106 334.479 666.015] /A << /S /GoTo /D (Tag searches) >> >> endobj 2326 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 609.318 295.818 620.227] /A << /S /GoTo /D (Agenda commands) >> >> endobj 2327 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [175.814 550.259 336.779 561.168] /A << /S /GoTo /D (Timestamps) >> >> endobj 2328 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [374.222 413.313 500.381 424.222] /A << /S /GoTo /D (Tags) >> >> endobj 2329 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [186.517 400.162 399.37 411.071] /A << /S /GoTo /D (Properties and Columns) >> >> endobj 2330 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [440.509 314.922 522 325.831] /A << /S /GoTo /D (Tags) >> >> endobj 2337 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 301.771 184.35 312.68] /A << /S /GoTo /D (Tags) >> >> endobj 2331 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [169.479 288.62 368.358 299.529] /A << /S /GoTo /D (Agenda dispatcher) >> >> endobj 2332 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [441.627 203.499 522 214.408] /A << /S /GoTo /D (Tag searches) >> >> endobj 2338 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 190.349 232.297 201.258] /A << /S /GoTo /D (Tag searches) >> >> endobj 2333 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [391.164 170.862 522 181.771] /A << /S /GoTo /D (Agenda commands) >> >> endobj 2339 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 157.711 172.485 168.62] /A << /S /GoTo /D (Agenda commands) >> >> endobj 230 0 obj << /D [2335 0 R /XYZ 90 720 null] >> endobj 1007 0 obj << /D [2335 0 R /XYZ 90 448.618 null] >> endobj 2334 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F54 1750 0 R /F52 359 0 R /F72 7 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2347 0 obj << /Length 3070 /Filter /FlateDecode >> stream xks6{~Z QIS&֝\ҫ}$9Z%%%8v_}L}ap8 _8II"K{,+Ͼ1 'a 'W];2uy !08: g1׷աcB.~yvz8+xXI IlUzg50*/[dyX md.0P,J6 =Kx^ou9ʫYv*ԒxECXi jϋ ;csłP:^>c,HRyjĨ2ahPO~+?@N@ iof+z@/gr,0C2LWB)F?e뛕94S1LƪkkL*`  -L&a{]!NҁZ5_m݄bck-vƾq6+(Lr <2nҕ?Xm[z ]w<L!Mbʭ5w:jЯ7:wSч{:O 40}a09Dٟ! x첬+zb]oLH/b3R*," kX pWekmrdMCJfE(жM In>EajsfЋseb+1\3.ii?Yヒt",߁}Ξέ|Ffk 1ĕR*/ޝBѮcFGP0?DܢZ+}= lDIa` gڎ}Y;mś7{@zl"D82uЍi UyG ,RVpR [2ٛ.~͡>AEl]alAqd*pPg'kvN ŕ(`Gxtl)lnD[ 6L톰Vz[FI"8m׶T3`sÌdTI{`̀|6xioPX9m&XϒL0mӽ- رpа7& 7E$k_"(ARٓ`}P0?Df7LĶ&mǥ~Ne^a”$tV2$e%bD{_F({ɕ5$tGt>|L$yA2V<^$:naXL71y}z0ZJџvַWyUҰH@e*Ԛ g4@Lk6vx\J(xO!^IeϊmSY.pK pjrU}d}o?{`L0C"l.tXl]E#O mRF6$Xn˖Vt%>rJ1틳?@߆b${V'|7KGTj-*D>+ h 9/钞eǐݭ=<27OBΟbqbC7aXcus^guխ 7pAwھFA#hZĝAASbԇX+qqv%xBd lfz݊V;4@&equvyӫ.4ᑩPp3} >v<+2˟OOx(h0~6}d0^42fН62Leۋsm?pׁ, 4b+؇P,HIg*1Ƥ-p ?07s~ kX3U `= ceFt/d?o Xqv0X=QF tDm  endstream endobj 2346 0 obj << /Type /Page /Contents 2347 0 R /Resources 2345 0 R /MediaBox [0 0 612 792] /Parent 2307 0 R /Annots [ 2340 0 R 2341 0 R 2342 0 R 2344 0 R 2343 0 R ] >> endobj 2340 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [183.606 454.198 341.012 465.107] /A << /S /GoTo /D (Tag groups) >> >> endobj 2341 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [293.188 398.076 517.758 408.985] /A << /S /GoTo /D (Properties and Columns) >> >> endobj 2342 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [318.39 371.774 514.727 382.683] /A << /S /GoTo /D (Special properties) >> >> endobj 2344 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [179.31 315.652 371.094 326.561] /A << /S /GoTo /D (Special properties) >> >> endobj 2343 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [138.151 76.152 315.251 88.518] /A << /S /GoTo /D (x-agenda-skip-entry-regexp) >> >> endobj 2348 0 obj << /D [2346 0 R /XYZ 90 720 null] >> endobj 2345 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2353 0 obj << /Length 3394 /Filter /FlateDecode >> stream xZ[o6~ϯpR(Db$m&wESHcHSIE5D8AXrD~J,8Jtz\? d#=ƨ#Yx'E{SBk^unyCYtNj0֩ s0<R|VL2~Qj_EY{ne854Q^AW6o٬7-&laͱ*[ܫۮ 8rS #-Ⅶ6țg|$x_ȇlU5 W(v5aM Lv45,qΝ_1Ių\Uzn;Ӳ|(}Ԉ$d/C]ҷmν%7j%y{jbƟ/QI. х$nʪbd> Fa\6mT y7ݒ Dll-[.@b tiۻNh֚4Jр( ::,_5۶JyS0#ԖIGp60}2Vi5hc#c)HytOL~mkAAsE~&!m],RӹE_e1k}T̩? jX'6닃v.lVL= n #]ÄjUq`/;y߼a:m|ĻbgX2w\8:8$}_2!.~ 8;EmY@o//hټb qrӴ'sRHj:\#vQEu)BRDò|h_ByWd4şV6m鰅pwg>(w 1xg0lV89|K$#MavUbԙ L1uU˾G2|XȺjA9Hl橿GzIg+ڌEiEUN &ukhc )@bN6H80vwaK<Gu'.&q'jX[Nٕ.=Sq4wWU|UӹbP`{5h[ e&ՍpkWR eHF"#J>eUMrG&CRyߟPXEQlMoqrMi2R2l~ʥN2 ?8X'v\_tq`6KL*0ġ%dQ ov#_ڲf RGjQdd5lnr`FJ qﶓ/6@08*P(0!12%wB"8#8x '_yq]Q#&Ȳ(ac8Q.F3 K´_sL3֍,4Acheo]7V\Eo˪1~Cn3:%QYʉq*\l` .)?FG!GvrqʃDR%؂dQȣ)KLZ54znblnPJ m_wRC1)@_ϭf,u,wE,IqFC2" t[斬! 7M]* bw5CPdK{v?Fd-YrjQe5[⦂DN£ ,@#mK7 1ũ[d:0)k>A=M]H1܁LӶPuD <~{l|ຫmkMUEnA g%o$܀t0mWT;[j8T3zt0!S\ K@=3{=;'z-k:#L8CG~gWxmIϝzȺ P1ʻ3dc,, #]M&T$2e⥡+Cg'1lJ>)+_-v %A)՚d8q>Mr^ItHce+nn  M,_.BL?4eϫwG;t^rC#goyGWoߜɝ]d{/MzrP=*b]_9(3KtD996Qf̋($֩g"ȢsB[9÷4Q|GHEr!sJc02~Я':{usap.ن؆zZiџuO>:^~ d<|I6Mͽ˼.AޥeE"LMBӺ@i`.%-w(O_ nc٣*8B9uLoļ>zmz UFXE7>Y뎛'jYYRöai&vlZ|&֋?;c.wL3/eE9?>mo16<ݟAAܸA]U sET{%y]ՅGQZ?1ޯ+~7d endstream endobj 2352 0 obj << /Type /Page /Contents 2353 0 R /Resources 2351 0 R /MediaBox [0 0 612 792] /Parent 2354 0 R /Annots [ 2350 0 R ] >> endobj 2350 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [314.099 373.132 518.97 384.041] /A << /S /GoTo /D (Property inheritance) >> >> endobj 231 0 obj << /D [2352 0 R /XYZ 90 720 null] >> endobj 1011 0 obj << /D [2352 0 R /XYZ 90 122.81 null] >> endobj 2351 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F52 359 0 R /F54 1750 0 R /F58 1759 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2359 0 obj << /Length 2815 /Filter /FlateDecode >> stream xڭێ۸=_1m"#*J%mEYt $@e#KS]2eI$XC/ ᧮* $%# +yqzp{u*zn8=akx/nl}(Ə`ͧOlK(UlAtb-d K?VM7&4KhO}yUY[AaU7|j6Q9݆oD 0Ta[؝}޳mbh*[ r/MGIMSM0,hSA\X-X%DfH%a,쿆l~M*q>|ʗܗXjgDT E[T`B R/8bt-*( [/FCI=2$M)9 vTny | Ex4]kL[ffVHZe^,8C tHD=Z(8kE.K@-l5-L)txFťp̍"n@^Vuɳ}=/%oԶX:?G({>n>w&MQ:1XX*Fe.`(013hB*<-cO%+*bLC^ 3:;*TgJ(8a*~Q#@lgU-Ȟ:/O;^5PANZ,ͫ,?F_$2C9~&'yI`z]Zȍb84q *|dw72[Ǔa@HQnNH14T&Y陧Ԓc@ᷫ}C? \h@BÜV4L nJLp놗USC07ӰPkySK9G\ e[vė̆;FAXG&: COC)q]'zP QFvȋU&LO,Vj/]d%(w۟'=b71]-*%Ŧ׌Xm' ׌v@$0 TW '󁓯RQd {Wv#)JpWnWy<d=vjmuL W|$3wBz|kqبx% 3ʁ z;RZv>Vid =Y@`unH0ꁧ0+7ХyF^ӊ=673v\9G*KeT~5}.'E g 23s¹'= lr'["i`~Q]/#"?(_YYIlw2KNsr;\)dg `KF2)};BqZk{Ǽھ~v9*KyB~gHap3,]5B$tGl Gd(\/G^p4!؝9Gٽ |Y*~Fj[O|jK9)8S DUyr AP~~2E2 aEdQN Ha2*` wOC NUy#SPbi~?i+,YCVN\#uIg > endobj 2355 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [364.937 622.038 522 632.947] /A << /S /GoTo /D (Agenda commands) >> >> endobj 2360 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 609.493 131.818 618.645] /A << /S /GoTo /D (Agenda commands) >> >> endobj 232 0 obj << /D [2358 0 R /XYZ 90 720 null] >> endobj 1015 0 obj << /D [2358 0 R /XYZ 90 600.001 null] >> endobj 1019 0 obj << /D [2358 0 R /XYZ 90 343.319 null] >> endobj 2357 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2365 0 obj << /Length 3272 /Filter /FlateDecode >> stream xڥk6{~PQ$XEtӦ@5H u+[$go^%8ar8$ZG-xi&_wOb=Q2 !a\=yڪ".bu3>bY^mCeT| [ߔ Pn&`d?W?=\ $UeDJ&6CElP780A c/u_5{FrI8W9 ZuRa ޥ \Oxp~KsɇP.{6FI=ąH;=Bw:޸l}%עxEqM,.'ixᾪkCX s\يYmc'vs/M1hO r\`CW;tK:0I X9x%|܂A״=:c-"/z@I;%W ]d[_ 8Ơ : ZٺC;GP#u_DޟM-7`S`eG9Ӊ?u$`zsۀa %f0Q$,+8vyp<ɡIe?R<~ OIFn2zG&Ycg 9%_I| $A)8I]g1CČ\VwdElwP@^!<9WGۂU0rSw{ Hp욌Xy/۶v;F8s^4{'\''2HOбpBxx`އfǎ9΅FM^m›cȒMd=/FlConP$\Rea]r6vlh@ lPԨ4{o]!Hoj'O,NmUJa(LcP W|1*ooYŽ85 7|m R|-]WR n3#!s,ʒ\q7)ɄB$P@\~ebശsÀ!u#~;ejrqy)† `* P*9z@M0O}r'^bg[ pJ}\A-2٤3d|1?~buկ.8]uY 'o̵bRQÔIln~H?g5=@^rDu}&9 s`*94Z"Msk j0DRVcz>!X`V`P2^8<Ք4Oއ?Fi2;vgW|XB^G', 1@6N"clЃR- Qd{zjs\DG UJ)gTv bL'*:G"5wR5nϢo U/KlO[0`k[׵)പv.lnBN=;R#EV5)7Y`JbsPd?2@0rB%)q߸>> jR1tF_b:L *nAK1گ#g+<%m&'Zy:8,Iuڣt k/vI؆r8v6oMTl!CV"  1C`)e~ op#)r#1QnI|oS:H egXy1B؍Yhd,FRI7@y CO;۝o0+e0 Gr;q"([t|5H=79 cgWp'RjUG:z9/TlWCs+V'a0Sq|w- rWJ ?xB#.UH?xy??R :Z swMYQa')s"%r æQl':ftvПJk#sN%R_e"?|rG4ТI E׷Kmo HC۸87dY؄$r+ur@M ,ul}BD5 11h~s$6$v+pTp''-Ashxұ+ʏzNe>"NG}JQJvІ? endstream endobj 2364 0 obj << /Type /Page /Contents 2365 0 R /Resources 2363 0 R /MediaBox [0 0 612 792] /Parent 2354 0 R /Annots [ 2361 0 R 2362 0 R 2366 0 R 2356 0 R ] >> endobj 2361 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [176.713 485.076 354.758 495.985] /A << /S /GoTo /D (Categories) >> >> endobj 2362 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [454.555 166.468 522 177.377] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 2366 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 153.318 249.85 164.227] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 2356 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [121.334 119.9 260.725 132.266] /A << /S /GoTo /D (Tag searches) >> >> endobj 233 0 obj << /D [2364 0 R /XYZ 90 720 null] >> endobj 1023 0 obj << /D [2364 0 R /XYZ 90 547.052 null] >> endobj 1027 0 obj << /D [2364 0 R /XYZ 90 426.898 null] >> endobj 1031 0 obj << /D [2364 0 R /XYZ 90 270.184 null] >> endobj 2363 0 obj << /Font << /F51 8 0 R /F4 1765 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R /F2 1766 0 R /F38 1820 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2372 0 obj << /Length 2274 /Filter /FlateDecode >> stream xYobߺ X([.!-P\%@wWVڊ}_P{ric?"!g7?j&M"Wf~r;ɭw_}r#C*ͧ7қnq.PJo>,2OvD$HdqQEX%CjdJXmvYmѶ4$h.ʶ(r~4|nl[x­wž4؟ 73 M^KCUO#UVPaNH&@Bj̡jӰ踧=ГáJYCrsq[`U+U;L+Ǯ 7uZn MdS@c59:/R[Ra P!,t;?UWIl'+#Cenf7jie"qݶY3kPZ^௛l#ngv>lbLq:=cI9$B i{rbJ ] rʩ9|du򚤟 ,t:4j8+^ U:E"N1Ða8 c/=WE ! &4^K-)ؾC|^u,$ӝVL'cD˒U[wIXՃ C&A4ܢX:?QX~H?_V[&GYh0ɮ!Rc2ɢO|x4?8QK [,৹E`XukR1C\^ endstream endobj 2371 0 obj << /Type /Page /Contents 2372 0 R /Resources 2370 0 R /MediaBox [0 0 612 792] /Parent 2354 0 R /Annots [ 2367 0 R 2368 0 R 2369 0 R 2373 0 R ] >> endobj 2367 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [336.295 243.901 483.783 254.81] /A << /S /GoTo /D (Priorities) >> >> endobj 2368 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [334.868 186.147 488.002 197.056] /A << /S /GoTo /D (Priorities) >> >> endobj 2369 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [410.994 89.626 522 100.535] /A << /S /GoTo /D (Effort estimates) >> >> endobj 2373 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 76.476 164 87.385] /A << /S /GoTo /D (Effort estimates) >> >> endobj 234 0 obj << /D [2371 0 R /XYZ 90 720 null] >> endobj 1035 0 obj << /D [2371 0 R /XYZ 90 363 null] >> endobj 2370 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F60 13 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2376 0 obj << /Length 3280 /Filter /FlateDecode >> stream xڍk_* yg$G%RݝށAf` כǧ^?U]]]VԮwEF6Y,)B.f|wک8*RKw^z 4 T&: ^뮲ƛ0ɵQ0M$ U8d(Huo,O(l㋶97@X p3){z^`*4-ncsB'/Cc݂6da^[O?%?bv;t˵dEYB6\)ʴ wBs5(ԹxsX&\BS\Jz. GpFOXkԧ|"WniƗ1΂?6{dqQb3]r͸ߍ<0 ubJMߔQ>Mđ3dV۔%M%n9lBhyJAs " ,o ̖Q__ !e_$2I,QڸMy$vRdOkW{]?H@g*- Y=ФN߽WtC2a^WӓxeXI#SDgi.:hYÚ<%XbmS+9[OVp)J8$oxe zi-zq@OX|||MF@sPEk3Wh*)@«qHvގ: 5-i78Y]<y[;HT1]lHݬj,F zႄۺqٞz\ٸiYM=҃r1Qȼ8Ow?V (vJ-vN'e#e& TW3 5y endstream endobj 2375 0 obj << /Type /Page /Contents 2376 0 R /Resources 2374 0 R /MediaBox [0 0 612 792] /Parent 2354 0 R >> endobj 235 0 obj << /D [2375 0 R /XYZ 90 720 null] >> endobj 1039 0 obj << /D [2375 0 R /XYZ 90 720 null] >> endobj 2374 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F58 1759 0 R /F52 359 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2380 0 obj << /Length 2204 /Filter /FlateDecode >> stream xڥYmoܸ_jѓ,(rh?ᐦ(WKh^,zYExHy}f(] خw EMv#jP-hwNQ5hnp|4(2S$iQGRt{HJ[=~S2POPvaVn/k8Y 3JYV=.lGE 4~G9p, gG8$ ڂ!,cY6_\D 83Diue#?؃j?.Hǻ.X~owū+!LKߕƦPfںF'Nfs]X2.2Sv>+&Yx*[" t]GK[mX4]?xg<} '[f\y6(JtCg) w lв\#f_ V,?dJG(#ח Lyo&„d?X?@LY؛PRsOdHBfsD*"r Py17+\q擁J=n WB_2!xy]l!]-@8S.qǁ^G$:9ˮ=%sn~J%E&45ꯔ]RxQ,n{ERuE~}PTt7Ils%aIWVX1AwE-Z:a#Ȁzǖn:W!~E:^m[qåLC|S `;8k(L:rFkCQ^9DF8OI/&^l3+ޯʃHjȍ8*u\=˦-[{{D&qJ|ꓚ}͜5׀zj+8Ld|k@J"26WeyR4-1G<,"iZzh @ m/apʨglOnz ~8O0ӧzc_>}\oM7 NMYzG"v!Jc5m%3HY 92곽kg5I EoyetiIe#FA Ԫ4jL#eVWL!LDŽMdxlvY$.|X!?txVrW `9Eg"IWe3m@7fszlKGmf&_类V敗1-. 05MAmQj[+Htms% P=\^>Sz]ς2I34Xa>%+ܢ0A)䄯;$o[ %o@h\]W~O$"'# i25RkOA6 Kĺʽ1o߼pPJshmMsJiЎ.=y(oProPӻDJ4i:۳|;m`#)f4>`nɛfs>k1ja4ne/a'41j Pk 4ƙ| 2A̝ `9Es+-:3°+\@A{pF. m􄗁~.cӽJL/v.]c o{Fu- 9|ȯ"1=^{!:w?n`/u( M]_uu/ endstream endobj 2379 0 obj << /Type /Page /Contents 2380 0 R /Resources 2378 0 R /MediaBox [0 0 612 792] /Parent 2354 0 R >> endobj 2381 0 obj << /D [2379 0 R /XYZ 90 720 null] >> endobj 2378 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F58 1759 0 R /F52 359 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2384 0 obj << /Length 2199 /Filter /FlateDecode >> stream xڽXYoF~ׯxfqV"@ {FxLHyoߺá)<>ZVYJLW>\)6`3Y_~J~dju-Vwaz1׽mKԯ7:6R/?_/RኯJJ~rXqj|كIUe]=ӻcbL,+H5+(C%~G{%23gUS'PMσ}.ӧ#loϖ Uǣ˫NCMjA 0i)c?:ޒ J"@&VqaDu&rK7 Й1;mQS>~>sp>ӗ73SsHqLYnX&. ?iҶo:4t@. 7/ߓA W'0sAB ) ,󊜟B.?[Io,[RwXk>Q ]t`{Vx%5ퟤtxf\+oc!,nEāCZ\o ds0s^*FzOO ڂk.Jyn~DTA(^JFc)4dq_DD*Vȏ2w]>gsOyyS0qVn(` {mZ2ax=%~Ia0.Q<5=C[u,Vx!qb%,35sa=ĴGax\GWGIE #;.#d n2L/TO.Y"M"`2IZU(˖$Ua '$m^\*T>_+U o?'ܗ RQ2_i7M;HQHd_[Ehhg#j(Q0%@lrxcY\ =},eZ$:Eoz/̺J쬕ËZQ_i7/`)(EIӗ`U6'ZTbQ>^_6lOx~eE'm> ۹2i/6!U\ecfќShriiM3}Nja T endstream endobj 2383 0 obj << /Type /Page /Contents 2384 0 R /Resources 2382 0 R /MediaBox [0 0 612 792] /Parent 2385 0 R /Annots [ 2377 0 R ] >> endobj 2377 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [133.455 650.623 352.667 661.532] /A << /S /GoTo /D (Custom agenda views) >> >> endobj 286 0 obj << /D [2383 0 R /XYZ 90 720 null] >> endobj 1043 0 obj << /D [2383 0 R /XYZ 90 299.955 null] >> endobj 2382 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F55 1860 0 R /F52 359 0 R /F31 1767 0 R /F4 1765 0 R /F53 1758 0 R /F58 1759 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2388 0 obj << /Length 2369 /Filter /FlateDecode >> stream xڽYߏ۸~_2iErwECŵՕ%W1w~QdS197.ꮈ2wûXOBfywsTq6s}ym ց I;V% k{Va6 JVOi4Iaxi1kHifck_ +X4s=#Ͽ}I $(5)̥I]S[2Нj,%qd3m$þ;e[ö&<}ƄIGZ)1\ؔ$.,ƽF׻-5$ XwLxAZ2l;C_y^:G0MMzco_~72ZL>Oh/,j8N=Lv#"~σz`Ds=tpXilh="Hۀr]~n7eUaEk]D4Ͼ ˵'z-ig_9xzO8w =rAqbzKNi#DZsMi?ٓx]ǑI:H{<2Et-Tp`.#3iN.ؚ G2ɿn^el~8v恴t *Eh\ct_61?cbű`0U@f:5RSM|jYswnslXz/i݉;"|hCS?@ֈN=_J-6:x8kۿ*)/3ZT&>&"jpuRTVDkz2(ؖ5|J}\ o@^2:g,}6{!2Lgp6Yw:ؾb3҃= =0[`/v//FۆT-ț2vĖpm_ӣS2ӈ,2`Έpi0DzbbU  5_N,}Ó'$J\p$tPiԐ0  9gZk`ͅxP@pxSeeS};6lEIc0!EԢhCʚk810z[o|v x1<;R]OO1u`tL=ئkw)7-:[n԰OY P"^T~ŵd/OrIn`VTCP##Qzqt1_15]۝j߼~xnցBs[݌;r5}LG jI[KO鴽1omG j!D wY8̳:^%Ew/1dL aQ %$ J ȀסDaGe)lE0wh,p:=cLd.,^[S{f/0dyALTp^Zq6SaL8S)^\5^풍:[b'ᯚ '_5w5(N2n8e #LFC<+zWuaH;݃Tz=P&[ϫ4 JQ 'u楗 ,)x^3VQTF|4n9\M7OcSh._}Q: endstream endobj 2387 0 obj << /Type /Page /Contents 2388 0 R /Resources 2386 0 R /MediaBox [0 0 612 792] /Parent 2385 0 R >> endobj 2389 0 obj << /D [2387 0 R /XYZ 90 720 null] >> endobj 2386 0 obj << /Font << /F51 8 0 R /F53 1758 0 R /F58 1759 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2393 0 obj << /Length 2547 /Filter /FlateDecode >> stream xڭY[oH~ŒPطLM4MF<w=vu]"Uũ˹\EOhj-2cWEV.@(~xs,W2Yb%xC]Z@F כ)r^ʇ2T2R_~pz4VW!gٓg% ?o"5'&:PiMC:Gx˂PY%RJ-di4K$p \KC+jhy}##ٖWÖHly+ 6-ܒҬS, |`qާi3(BN:`|`RDwx-[YIsʼsJRt8kTRNdN.,/ ;hE*Q6NEXu^^;FpFJ=&ܣt 3onoR%SP`J}݄8XV5>cvsCѓO Aa}2rH&s;eN8b8йwywG·8`yC'z-Fqtǐʪ.` eYWh:).|e޹Wz 4R!hܐa΋ĭ: hdDĴ⃌ٔ߄oЉDj'L_ q[ETۀM q t Tw P+&=r7}s1˃ȯvw`dyʅY`Fv.Dg'J`%%1tf@SBD6 oct5M[e8`OJ{WoPUCP;L@s]SOtϯ&;\ -87z֗A`k"@XJ1̋›LR>л=n3}57dCIϯYvPJ3%0O'jR#ZQFa$"YzMȅ0R 2!CLH؅o9 9/NAmGtA%#' ݅IfwDF0M,N,"28IMP5v#"c(c"(卵k.\HSVa [黃E=G%"m ;5yܯ[ڙ5CKP K(*Hx+bQR8vHqqUM5T#/q 5y4 7?oS>,|.vZ\`HpaVf%?8L$D#@:Hb0#s9pDiAd&qb]R\y[̞ D!8{8Ri͉Sa7s ?(R*0~css@3mᴎKwwm,KY $n=ɬ7P`6LNb#T>A }FF9>!$D;%*Y!͢Mdg.5">w*YT 6hIᗯѪضꁈv+~Kton-E$RR %tDfk 'jB'əVEF&<_` [W Ls*Z۪Mv1\  endstream endobj 2392 0 obj << /Type /Page /Contents 2393 0 R /Resources 2391 0 R /MediaBox [0 0 612 792] /Parent 2385 0 R /Annots [ 2390 0 R 2395 0 R ] >> endobj 2390 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [343.891 471.048 522 481.957] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 2395 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 458.504 189.418 467.655] /A << /S /GoTo /D (Weekly/daily agenda) >> >> endobj 2394 0 obj << /D [2392 0 R /XYZ 90 720 null] >> endobj 2391 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2401 0 obj << /Length 2522 /Filter /FlateDecode >> stream xڵYIܺW4dqіCd3 l4[-I=K~}XZpfC`xĥX,_-6!c,$BL7E.4wi@({c6, 0c~bWnyW4~ !<iKy9iRLǘz7mqTH\t%Vʀ IboaU1 x5ͱ{@Y#OtMuGH!1 ǾR9UTw7->'K%-#iU;mEGEtaH4Kv6^w <@*﫡2lp]j0ᡰ=dqb`Ai-|}y]?D(ލHa&%G{y_s|~, 0F}aTmGU .!˾IfUgo0 μ-Ag^k(3|4RJs#ݞ|>VyT% fa20lL5)ۦ`g }KSK yhki*=NuzO^ V$ʬ] KKAbO=١@í~rt`̎}}ɀ,%[ vhka,y2MڱG8MW*8>Q 3~C(j牺ȑZ jǏ~j/ MנFR3M j WR;޾h$\o;`Ig.p^h8}KVp̚& #}ڮSn\p\"-e8NPj` q )Q_5|=F~k0IhY-%$hz`S x+l8RYUtMvH>F; 0BS$#D7B$oN =~ZbC7#)I'Or xgci%?ͩ+;"Fb\1;qx؍96|ADH, iHp %?_ܹ'Ҁ6lB qӯs22΀- #:)꜆Fq4j,mn) ݗ_` 0F83@ f*T=,0a#"k4}1\K W_Q"C(p\a|WUAV@(h! ɧgQ|;7yc;wC<6Ib O^FAVp?Rly;.x˲BiC~|p>vn{D )t%煫(q}u*_0p!0ED4a:q3rlj0A<_LNȀej;*f c챫M*v$d+c` !FԺ!\3tA$pV"E ?ulV :#RD$緫?dx'PZ^)~^ToȺfE1ڽjIP3 axu%p㘢wJMW-J]m)(]$f9u\cе B|<OY鈆(6@FiVWL3fZ(EG9}𡃙8E"۱W4=Y&g$Cψ]>ir藄T% a1!Ui¥ ;&Kkf[ 3\"O@Xo ɀ*i\𡃞~EdNRyU몗 E_MyJ;a Xt)g0mB;C<6>D$gĮ `rh2&hX-bDÇjH ۘڦgFyx R%2TeT+f$8ΪH W9pO}( ڗ,cNŸ,E(qj0Qo+p?j;TXD 8=V]aY> endobj 2396 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.04 305.298 445.761 316.207] /A << /S /GoTo /D (Column view) >> >> endobj 2397 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [221.115 192.202 389.358 203.111] /A << /S /GoTo /D (Agenda files) >> >> endobj 2398 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [416.763 158.01 522 168.919] /A << /S /GoTo /D (Filtering/limiting agenda items) >> >> endobj 2403 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 144.859 322.206 155.768] /A << /S /GoTo /D (Filtering/limiting agenda items) >> >> endobj 2402 0 obj << /D [2400 0 R /XYZ 90 720 null] >> endobj 2399 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F53 1758 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2406 0 obj << /Length 1855 /Filter /FlateDecode >> stream xڭXmo6_2PaaC[1X%D2 ;)[ & >O{}x[VE88_mBýz 僀$ً [0(‚6*6Jksljwm)ySaGi3dg6ӦI}*xhV0+6yz]ƿԿB]ߣ)K,HW>KHk:zHdv{ٮScB{[x=UFWG2FgMVivwزVrO,a$]Mv lgd/P;,f18+sxʭh;0ƤZ{T >6 zДgVUU)d1F2p3x "Ȣv d٩,گ(_$2MؑT&QpPJ]4%б^#!tvX0D|BCQ*ZN.j ⤣&}/띮<]iqFƶܘA\Ds~Ei0.eZF;IrRݟ,ـm90oS=sGF꡹΄ya*0# S>eپDAuOIùLl ͻPSL 'L@8 MKch]ڐiv*Ov=m+G)_oxq192Oo:|'q^?zy`Dq8 Qj{ Xt:06H]i0Ӷ/LJi5zUq]/e#u03"a8W*MLĺ0Pٜبjta6֭4-hnYr5Y3T7;3('d α|LUv1๫Lt f"Z)ˁHmiy:9&`cc^{Uc<>HûY'}-.l4 &̡SEHZb EIq{)|g) eqٱysg 21,5Ni8%oR^Q>6ͳ8]s'Ya( aS#wG-B VF(lux`mj2/OHbm!3=ùU#KvCS)$nq @ ÿ|0'+{> endobj 2407 0 obj << /D [2405 0 R /XYZ 90 720 null] >> endobj 2404 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F54 1750 0 R /F53 1758 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2410 0 obj << /Length 2184 /Filter /FlateDecode >> stream xڭYKs6ϯaT$Gn3!IJ@TӍn!*Fh|M&o8rw!S?<_qg+q# sqXo/o~>TyΏ;_J?,g/Ώ Odχ(TTJ$%vN x}(1:Puj. L,#ZsDa,]v2rumYG Zx-GZ\<խv~ o_M4he5 " Z*K}:ވ鐋nQibC yzR\_l|(ƺkoȳg{by )k:֩7.gRƲ| p灈." JzccqܚWyd+]e0Y+&D_ GbDp>V@Cz`=pףn@﹈ޑȿӠ&>~G\MQۚ]bh;T 6*Cn+݃ pL̰MLHh21ƈNb63o#E/D:H%=V́4Zqk [Ept v@i4Y˂J3 l GlFާyAKj+ɀ#0\83p<NZB@d<,x*ukJJE޹;0b8<`$g ]v $a|_ eNO Fޏn(ʖ&pCPm5q<"Iİ'8ŪtX9^ORc COл#ϵ+"lƜr\4鐟UA.%K8'c=O8|1Q>VFb{+0,=_T8-K8Z*)\Ɋ Og7T2 d(v=4"FP7l)gEmAΗ({t 0Gګ3`uU."jsRwۍ6 PeevRO%L[{^zMk#no8tkM?eM=%!^p>Gm-Zm^teV_N2`)K,Lx_buLR)Ϭ6ߊ +=lIfkfs^C/T+T8-[bR|zt1 :io"]ԁ c12:ox gy!}g4-nݵ45nSw2y|.PcXv_2fbΔQC]nK08eg l.sE'֠WX8 Ti-tƱ8TN> :,b$c|R(b4bF8G_EVQL J&#:#}4W{E$Uajڍ (r Gi|#d4W5Ŝ(n5'1/p8ez6 i3"< m4__ȥ_>>48(kӣK.u*{Qۻ!l=]dAGَS~<ǯ{G}\^ endstream endobj 2409 0 obj << /Type /Page /Contents 2410 0 R /Resources 2408 0 R /MediaBox [0 0 612 792] /Parent 2385 0 R >> endobj 2411 0 obj << /D [2409 0 R /XYZ 90 720 null] >> endobj 2408 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F55 1860 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2414 0 obj << /Length 1785 /Filter /FlateDecode >> stream xڵXmF~ߊc.Ui)QNUuZ)Tάmd^\wY0wN*Rn=.3o ybo&B͖ōgnV.(#7WB>tyZ] 0wֺL>f]?;Ňᥡ`j<5K)x Ȭ{w |hcM_̋8S굛tֺiI]yh!rrM6+t&ŎIT,3xEJ:L}]rK%AJz!8$`#U 6shDX^Ne6߸d,TF5X-C?8 bڜdp' T\<?zCmT!܍YJ[>0>g1{_#ɨlN}vt*ϼ0B]e-?m[ɾ$ZJ4|$&̚9cŲe6}). h>*Sf{qI<Xa b*`V Ğ A dX*>SS]jJ6ءpL ^[]G,R. 7ckrTo.Ǝ 1 v(0d*S nt dʆ!ʡ}1L'AKC6$gS mCB lp6+ݹ6T"׏sB(OIg t o'2Dt }鐡$Q>5}u.#uҪZ!P"@uXb`dl*&ԑ@Inw$Ϊ}lI] РѯנF nMz"%@x@(Eٱo"ER]`][DICi-P<5Oz=z0 .LYy6Q< x65Pܘ,{(z6%0 _@DzA$If~TSL(SJ(}MuQfi3cs&u+ NmIzCe7&]QR+$|:Oh=X<nrHmVH)?cO11(uKT6R7MHqsy5bB!M #kN; +ǬЧ}Q76CL\so#y}y9vﬔ|"p}],> AG{Inni߆}Tf!F*;N+Vc@i'D[ "jD.L{LPE*I`F #y KCk` ypۊOxP"`VCU̸o~υYS02* g)3 gYnQ1)z_CR3'.S؁Wɚ>CdwtfWn6BJ&ǫ)Hf#=('˪D!rdW_ng'A(xF1uʠh\0]y<&"~SCX endstream endobj 2413 0 obj << /Type /Page /Contents 2414 0 R /Resources 2412 0 R /MediaBox [0 0 612 792] /Parent 2416 0 R >> endobj 2415 0 obj << /D [2413 0 R /XYZ 90 720 null] >> endobj 2412 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F53 1758 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2419 0 obj << /Length 2138 /Filter /FlateDecode >> stream xڭk cѠ݉)~ڽ&E $@d-W{d֮/Ep39Oβ`t:[}n?x\Hd zHbQ~oCk'o֑1"gҜWN'e:uϻR7Bk T jf hjPYd n6~NcfS?*wx$T$4e(d$4K˛'zCrN\vf?W6s;2#^嫶4ۏCDIDqȵߘy>LK.3?()Rvm8\qr' \kA$w 8%|"K rTh89좵t1mW4֊\a 0ey`5|\$μŶt#~h݌ )@NW2 ǜ|M[5A ©e840K Cj6= A R՛q `ɯx9ւ~Qz? 2U:VBmf >$N ]3WR;,<StiuHm:zZhU%0ژ]yβ4[c #ȫVe^9rglVL@d!-:?V;Og!oyCx(Ö.n d$:f>tr!L !0n,.nA5T_eLcKۚ}보S6JcXNV3E'$<>e;CrɱCRtTRb䩘›;(!э[>4^?ءiU3@ʆAP"!㞯&{㡅_-]{K:82W/ZQ';er׸`" y,{fd2aUs!(!ۼC8X%&|]"ܭtMq6ڃ k\KˣL~t.bTknyu vNQ^Űs(nc3~*gX!yN ]srsܾYCbޞeE fRy"a`Q7Cz.Y͹CQ*mv sԻt:N3Š.1ԩ_ Uq"e n#n67(>Gdjj #Xr]{y\'cIS[WOTYS&Y,B&Z,0•:Ȩ;7=! Sed,ʘԓfhhkfQ~MzS޸Ϝq@fQzQ-* SW[ۻ??e'p1h/ÇA<_< cFoy9ժwW0) [|l Cd ?>>u}h^͈zB`h!y/몃gQ&<fX45آq ,>31& J?c=֯柍o|UTH%g%hl6 _m+_: DO:%Y<ھx4s.dCm_jۿg,0KϿptv"Lj|8fͯT<çpIHRűvN1KAi6:V9e|l@1 m ,dSHGrRt.䮥9Et#M^% endstream endobj 2418 0 obj << /Type /Page /Contents 2419 0 R /Resources 2417 0 R /MediaBox [0 0 612 792] /Parent 2416 0 R >> endobj 2420 0 obj << /D [2418 0 R /XYZ 90 720 null] >> endobj 2417 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F55 1860 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2423 0 obj << /Length 2606 /Filter /FlateDecode >> stream xڕَܸ_o-ԕ=&>.M7Z#ǧU{FdHjOnh)% ovWC< !\`eDnd$ayv-x{*/ioBT ?߄Z'OGSK[݄qsHY۫tiߡ 1&K]ZHB ]s>ëag /JȄ%^ą41,c7n*3D /<05ן náv4877qnܬy쯖ʅXvC5$L2Ņ{e$8/K"X0~ SD/Ckt9pc{āF94.cO4c>N(Q$=eo|ԹаsE_δ(|8|_y9pXǹiCX&kor  4`[_-K'%U$ #tQG`wK[y\_!ۓ`{>8ZGRWx7ʝ@627ͩpJ*19AÎ8Q%ٳ+y^'S4Qo~IR[d?ԟO܉855>8g¹xրvԡdEN.%wQ|h8&5|?ѱ996D!At8QI2$v!J2!=:.wG vj T]>29kȨ*uכr;^挣46 7NMv\jL^~12`0zޗE~O8Jg 2ӣRi{[$ZdI2^چS#_r#mά`G0QVwjR rBLDș.*P {n&t x <BZm;{xeӓFL} 5 ᇜW„Au~MXM[zTf̅fFL\)-KA O 'ӮKjy͛=ƟB[:41ij ps)u$_;jt&炚C+ *g3UL˾!Nx,ή8b"d$ CxnbB :TalWɚz%Sk&3of"McێwQ7ԭ ~;8IgSty D۳*84Ƕ,$6f%:xq&3k0ys+Hi֖w8#쌹Ia LOz."}Y5_E"BNCCh ]/bޒQsuUz_՗R)v5l-JgX^ʠ u0Tv_>u~椉H`ۊ9kC⟺]hŒ/\~ ϲSC$C1r0"/9}tѩ\=by^qkͯ16lMNǹHOt E4wT`1sPf2w9ޮTgP?HJQ||ɿן "e˻ϟW%q^Nu}ٜ눆/ΥF .UI8 G*dz㙮饨?MeH$Rs@ @-:{S0%n0 6 /9ok)ز6'(sHIzo+<)kn.kJ^s|6PƅiQV.=]z 6c} =L?;ƞAI|[:"oC GB TH?ugWeW\0aJon`t᥵6Љets4h7jA[꺴R8\e]C;L?ѦBE6{ UtH)yⲝsCD$u;?xS͝JP> endobj 2424 0 obj << /D [2422 0 R /XYZ 90 720 null] >> endobj 2421 0 obj << /Font << /F51 8 0 R /F53 1758 0 R /F58 1759 0 R /F52 359 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2428 0 obj << /Length 2488 /Filter /FlateDecode >> stream xڕXYs~K01TlvĖ]II rbK<`]v===_w_e* CtU.<;o#{*2u*WwЛva۵u|}ce΃ynw[j4 ߐ ) OĊSPX?Uڹ\#:P`JXyYDӴ7nNJwtvRnJ F߰p-g֮u:0]5LOziՒ:nMTy]:GROPBaʰffT)!UӣJ0hU2k-xnҔB<./:4q[Pj4hvكlKbbT۠7"gsEk%5*zP)bȰ0յj}/|CG\O$`k'X%(wC7;`DG@/, v}0Yh<8ѫc5P@Co:nu&oiЩP5e/zU}/,xZжߡ%TtSG׵G ^Cpt:8m-O NYu=[E^g)b1Hܩ P[7<FS춴x!$>/%K]_!1ˮS#CcHsReNp?`Znϑla6P Z^F:@%+j+/G:o4{r'?w&l"uu28pPWEL#BrmڌF*oi:g~m)`5{izP m+p7y0d2 zQ%%fZ 0Uye:U`qS:2wu .:N3D=9." fv 8wp%V^=b6o_>_D4[}ھ)nWՋ~s^^e16/9&ؙw\p^F +U@6g(UL/u_+PܓKb%aJQ:JCz,ˏ/UZcYw/!'PY͜31N{a-(-GEs c dy$k }}$v#{f T MOa`l|gR4$8p˥9}ˠa&c@H{Q3n{H;jg\FIQ(Epwn7j +˺€X'ўH#O3Fҫ):סg{X}a|O(Yg*h3,a^*Fy͋# C endstream endobj 2427 0 obj << /Type /Page /Contents 2428 0 R /Resources 2426 0 R /MediaBox [0 0 612 792] /Parent 2416 0 R /Annots [ 2425 0 R 2429 0 R ] >> endobj 2425 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [363.113 525.592 522 536.501] /A << /S /GoTo /D (Agenda dispatcher) >> >> endobj 2429 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 512.441 126.364 523.35] /A << /S /GoTo /D (Agenda dispatcher) >> >> endobj 287 0 obj << /D [2427 0 R /XYZ 90 720 null] >> endobj 1047 0 obj << /D [2427 0 R /XYZ 90 589.689 null] >> endobj 1051 0 obj << /D [2427 0 R /XYZ 90 504.67 null] >> endobj 2426 0 obj << /Font << /F51 8 0 R /F53 1758 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F4 1765 0 R /F2 1766 0 R /F38 1820 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2432 0 obj << /Length 2462 /Filter /FlateDecode >> stream xڥYmo6"ȗʇ*Q[mﺷ{5[gD9iR91nXə33Lt¿8 _wEv?* ",wկ_j?~qEʗ2>lt[*&>Vɬ|<"~ǻoC!ސ 9^2bi|: !gat ӈG AՃ i1qLcU֍|P-eYaG)(^t%e`+|h 106IB_ڣ<m 4)MI& ѵ^LSLjl(,Z m }2wU6ѲQ0=qzxй>0TJ M`XҢ`,SA@4P,hؙ)Ȗ|cG6 h55$xnǔ{*˭0k~f^o]3A̦ )G+~3ڱY`A@Ђi;L넘<@{ !$7% `a*ojcp0ÿmQy1j fr2ak am{/q74{3H[ nu+c`;iK@ plA6_r߱Ϝ(56KE9Y5%s2&7oS$6.WTȃ |ZaP0l\63(9.c*OTkXF;pYhWP;f4`<h s9XB o|\c{dIp}݃%~;Sh5&Rev޼v}M%. &2-[8&|yĻQ}[v]L^^ZיKS.8:S.U#g*OU;+oI~e2ӳȻ=4rO[9<ĵrKs5+dƽŽ6lʎ16lwMJ+ ǚ5emI _X1vw޼L”{Sd!e,^4qo)8XlQ fgqucĽ>cG5>Wos ~V(Gq8/xDHq `v)F2sCtݗ^`DO}ϙ*T voG$ x]v9i/{{elJpw 8$4PD Wkp/(g%|E$ ls7SS / 66'ܤ/.s >hߑ9afI)"<oǐbF:Jx5YO'@;BL@1*2Pw_Hdh6]F0f`:{Sn|T5{a{1zzZ endstream endobj 2431 0 obj << /Type /Page /Contents 2432 0 R /Resources 2430 0 R /MediaBox [0 0 612 792] /Parent 2416 0 R >> endobj 288 0 obj << /D [2431 0 R /XYZ 90 720 null] >> endobj 1055 0 obj << /D [2431 0 R /XYZ 90 408.909 null] >> endobj 1059 0 obj << /D [2431 0 R /XYZ 90 135.961 null] >> endobj 2430 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2436 0 obj << /Length 2401 /Filter /FlateDecode >> stream xڵkA_BG]>~rM^XAʓVG((;3K4Uðc-nB#n6M*eQ*d++WW_~p#n1W"?uYRJO׾RAO>k?JT&<E߶߿f;\GGBd*R[mMI]W54uK~ߗ毲nus*ێi'^ޔ} RGG$c6JW|(Qu21 Ӟ@}g:RhY#h k@&Ap1̓[#ߙiD{BeaԔR޷L!T?S_/]8 2"t,qHZ8"F"wu^ΠEqwޮ,"stxtwkMkN?)wө)MSv/ޜkkǠlbS0mk\?za@"Pq!竟CwLwm]z]0gପe/t~!-M?7OzrEcZXO|(+ V/k6?[;aL 7<!?K0!pg0):UDƅ&OgYU|.9U+ᡧ_.uqumNS0uBBP @FdyC&BId^iKCqIXB[2z;`KJ@ƃB9p`V5 B P>ِ\Yb)*oV .̩n=M9\Ȳ<F=jRz+<(Eh)羢:-ob; S_691DY2.rf#3L1$3`@nc382y^;4IL@ TX@ޞ֗zm 8]_1 m@oCoYs`&rL:n0Ŭ0<1@[L_qoG;:#H9z/BˍXH 0tBl[.;l@ti:@~o}-nDQ?vY{Zd*:wq6Ǣaa_23"';򷆜 6s3EQr"nJ=Ip`1mj:u=d rɆ3U`0hG#G cڜ$L 'AD_@ L|KA !KWx4Lb. ` b^:?B[iN5b-B%50੄(aq}B(cX7AƳeRM (wb2&-]iS:IE0dNK+AIQ6.`&ƃTgBR{m2b-;jY5R`ӒIl.V^ lYPY|FweJy$U%㚛@mqfs.xh[WY 7޻y}lPG-jf_mP|qr0nPu?] 3CL2.̿5֟rw\ckM2')LpBͺ6J܍kv_5U0q-tKѸv^G*4PRmy?{~TQj6لgõ*Cc ;!ȀN԰"!aIQvz+;J۟iTF@mM=cj^3䨼{ЖI j3RF.X9gENTX<~=Q'L 쉌Tdtx`fCyT{v=;Ì||xVDAJuȠW-.*qlL C.kA.FjL_O'44 ~7 S=83w" ]KI'ǣg P92IB7oB)S0C Kv‚; $KJXxEam5 8 #7K+(%Ei(VO^DdbbF?vx*=@s֏E ʆnR,<$_C\a5rdxgwO\U㞦Aj(-J@5V`3 1),"28S}k?8 z2 endstream endobj 2435 0 obj << /Type /Page /Contents 2436 0 R /Resources 2434 0 R /MediaBox [0 0 612 792] /Parent 2416 0 R /Annots [ 2433 0 R 2438 0 R ] >> endobj 2433 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [379.472 393.971 522 404.88] /A << /S /GoTo /D (Block agenda) >> >> endobj 2438 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 380.82 132.048 391.729] /A << /S /GoTo /D (Block agenda) >> >> endobj 2437 0 obj << /D [2435 0 R /XYZ 90 720 null] >> endobj 2434 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2441 0 obj << /Length 2307 /Filter /FlateDecode >> stream xڽXY~ׯE@d["Y8rM6Lu4{]kjGUUUM ƤBrk_zJQ ي?ݼÇLlDԈa~~cXF;lcT$oY;+&~2ץT۟oۛ4ps\,Dj:Jl?")R{ݿAYu2!׭u4V T.)&&1׶TQKUzehi=hmn,#{񌗗5xITī'Ӥa;f|{ !K "Y" "1FqUqD2,Jp hPX2cQFg2٠4 ORGSgoʅ C_]\;ǻ6 >t*W6\ܲ`kΡql[ww<k!hYUC]6r}; X]bYЃ%c5kr3Wѷ'8GGAr])a!=}KSF4>~T($ U a@ l{:YT[)#W_ggV{$n~NC!uYtɄ%KUM2bXR@P0e$"n24񚶧۠ ZF?CcCP1a]܀/u&U%Vɤ,>3a5(t2XȜnt>D4?<"Ԛs2N]ՠ-C: 4'E9q c84-_o0wͅil!8Ik ar/\< L`,2{;ŏF5T:&TT-Ya~g 6{ȴ_ 6Y#*=1 D {wxqIo^ѶXP49Ο*d1W=nf=8_J3ܑFnp_/*%&Pl*27 &Ccucy"l7>DyEkv>p薃j ߑ(${à%{tf6Ǿ/)\׏?=Dr@ZH~Wy &,|UI>+$]b$ Y9-ZySZXQ ďWP޽q[%\!giCxbBfNPIcN,S(DudY^ nxK*MJ#i@+1lYd#_\*zǺ! ?^@ߎfOb2*?&̄u7L+U7%Zb1l[hq| Iw(G֣USHڷf3;^"5Rn [z{zhQ zτ][@1{$ԢK9:) sR}$4Jx/"!1&,Yh`tB/pNgꇽ&{&Q*8&6my7`:G endstream endobj 2440 0 obj << /Type /Page /Contents 2441 0 R /Resources 2439 0 R /MediaBox [0 0 612 792] /Parent 2442 0 R >> endobj 289 0 obj << /D [2440 0 R /XYZ 90 720 null] >> endobj 1063 0 obj << /D [2440 0 R /XYZ 90 533.1 null] >> endobj 2439 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F4 1765 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2445 0 obj << /Length 2028 /Filter /FlateDecode >> stream xڭXmoFb/at0mJ=)b%3=2(ozf`(l_7M ?b7;)7e&v7Bv|u7؈8{=ί=l~>TEo mCIwj0n$SD׷4ID*\d.yo\EB*8Gmi`SXTayiҴmFg#U$3 Dϋߛo= 7 h'*6nݓv%BD*U}g4kp}.ל?~D5V;-K]m?ȟ`^\ӛׄn[>3S4[[d:}~nyUsuu 3C-:h?ޖEźp:ĄY[]g^~kTdiU]ѺACjN|lnI<f63|t+[qX$QKP=oKP_ 'H*xGip5}*>GMGzUt%dovM3o OGJ3Hb_u$a "͈TFLEd*&"$ P8W'2SMqMg['3 tO?Pw6;zj[Ǣק &`{o? Nv\jVT*JWA{ԱXu:y,NXe3"US*(2^0{ !oO2]r ;C.%K a٪hy`(A3#KθG܏v8oEPFwtdc㡦n띳ɱPcÅxh-p:3p7+0~rȤ7ʦ;GGbQ<]Z $]A;bpTxtƮIDPWs/2yKO39vbJx0Yё?*)5 r͓ Ur\wrʂ8 Fm}f^v=ۅ[%2bfCLLO |+34XE waf+])e5eOo E3)/ :_nHA4^%,]q, `7@0h=p;V$*\;Q#)#!/rgqd#-$B/ RM?msI~!sYt<`€mo!X<ui9tj+\<ލɡhq;[ c2/E^9E7 ,w[K XJA`9+?khE`IMk]cFh$.~ϯځaϔdЭKGc_neM `yKjGǑXXMX\$NDNb iRv@py@mqbjwKI=9.NcfEtfCofscS, 'HcR(ϻY%TpWښsgr 5A _%{4eEh'^U$?`~ikB O$u8ȊS>xN^wpm@/ rHOLmLP)HV@u#/m`.Ÿ759P#7tEd1ul7حXL$#8vAi/z$?龰 2 |9!4] irwkqC`>TuL&*~#jSٸ(1fr^v(!?ZJ(˦'\.QCA C 臸Fyү&Y 2龞:TMX{|+]#CDL9|mBDz'mx5) F) endstream endobj 2444 0 obj << /Type /Page /Contents 2445 0 R /Resources 2443 0 R /MediaBox [0 0 612 792] /Parent 2442 0 R >> endobj 2446 0 obj << /D [2444 0 R /XYZ 90 720 null] >> endobj 2443 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F54 1750 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2452 0 obj << /Length 3030 /Filter /FlateDecode >> stream xڍYYo~%vÐ ERRfTuUB:jC LJT(١LGbնwr؄OZqy'GLloL8P42p)+GRdeȘd#ST{ K wo,vxmHɺ-7zjF2(+w~_#E;0~CU6qчqj(S4%&}?40QK~;;/ʃ_F-=NS3r|;NBlY1]ПiN|e&~6ikp8̌z-p`c M.jو',  F!8v.|[ :Gr4}D5uNw@X1X:[ `*0 ǂN=52qe09V = ۑ=]s&~m^6~gtI GI߶߱`+u65WG@ .j3a$kRq{@9kd`$1tf\Eb! y eWdU8lVpsǾE$ɼyqgZd'HFc'Y$:?Fʍc RE2ͿqߪDr` =q.)Z4Wi8r?CK|3SAWa Gc x^!SnBư'jEp]߅/ 3i3EƳ vd FBwe8h AHviX編K= MNchƴ|R2Rp$sgNh/:Dx}߱\[tZLlrvcëp-1_-qS]M)-MA?U]TXЖ GpZ:;hz#Xq<2//*,L9^:SS;]DPU[ NnFWPsfpW\vMEZ +8V:Cu({2D 8 +8 4pLe=~K ? ڕwup" ~K~]맛v&J2K?)>5&ږ_3Bn?$kO< ፊvq^'fAeQnsvtF_P%E=tcb *;5OI^T<Х V4w06v2rF}RSl;=FP24ڦb˘> asմՌ`)bLƖgLJ\D0~*s;돾 qMQsW2>N endstream endobj 2451 0 obj << /Type /Page /Contents 2452 0 R /Resources 2450 0 R /MediaBox [0 0 612 792] /Parent 2442 0 R /Annots [ 2447 0 R 2448 0 R 2449 0 R 2453 0 R ] >> endobj 2447 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [197.357 524.182 471.727 535.091] /A << /S /GoTo /D (Extracting agenda information) >> >> endobj 2448 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [179.965 463.778 350.556 474.687] /A << /S /GoTo /D (Column view) >> >> endobj 2449 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [388.553 261.047 522 271.956] /A << /S /GoTo /D (Column attributes) >> >> endobj 2453 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 247.896 194.225 258.805] /A << /S /GoTo /D (Column attributes) >> >> endobj 290 0 obj << /D [2451 0 R /XYZ 90 720 null] >> endobj 1067 0 obj << /D [2451 0 R /XYZ 90 501.574 null] >> endobj 2450 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F72 7 0 R /F58 1759 0 R /F54 1750 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2456 0 obj << /Length 818 /Filter /FlateDecode >> stream xڅUێ0}߯DĎ@&$@ۺTJ|<3ۖJhx|f bQEUY]ŪQ{% =B^^x+BX,7.wvݘcEe)٫;ۯ )}4WL*|fy*?ZBL-.3Q7d$l`$0t[3ZNQ|HbىΏ7daH]דܺɻ i{oZ\myȄ$7Ta%7gݶne4Dvf2$̯ ˒Q5#'w=&@{L[jjPT ܣP)@zY¸hKMPT,4O:B6n.tPD5D ܶV1.vӄY+yC_"dtVZ J(c!BS!3%W05Y 8Xl(ʋ aN`&#S3` p%ϥ̸?~pӯdeU>c\Èn,Z9<DUkS;`RqfP>h ːd7!db=Ē1vOg*s_(uhu`6{wթk=F \o|x}$4n.%A^dZgOG/if,ش alHh oӥP|u|K  aFFk{R@n3g|f/Ml)3-GM&a&YISMG:ӹP}/  endstream endobj 2455 0 obj << /Type /Page /Contents 2456 0 R /Resources 2454 0 R /MediaBox [0 0 612 792] /Parent 2442 0 R >> endobj 2457 0 obj << /D [2455 0 R /XYZ 90 720 null] >> endobj 2454 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2461 0 obj << /Length 2328 /Filter /FlateDecode >> stream xڕY۸@)o%ER$@;MȒm}EYj=,3Ù e OpFmڟ߄2j 6۾cҡ\)aKé]o( ~Xpc#m_,8a̛4hZ%6&]ǛQؘ+ɜNѱ*YY&NLyAѮu¦  iz$,tQX(`(Ta::fSo874}p=pw?}wi'DPߖu:v^OܣþZ@=GGJ3͂bڢwt<~ȮUΔ5$iuYL|):0s[+ &?l?O|]*Uye0Q9ܛQa(NץK* flKITh| WџitTEjPG8Ψ0FXȂ>~Ţ$aW O Ը' N3SRwz^{\3= \X3q@51ҩ8;pΆph:lj3Bv ;0U >+TyȵQ…``R=(/}KPTg^CWF*/L]C0K_{8Lۓ(Hg͉} "^mۜ3혫ۗd mBL;Ce{H!B`73e?]&P$/Qb'u3ᾕ]Q|,3GQg8l ) #\gQO/;;N󜸇q<.X+I'tf}MsqI pu7tîoc.}q䊃K 2 HɁl. fj,x'/mZ:H!M,,.w/eԤ~[LB{{wptec\eK6Q _@Q^ 1N'~0Z]oKfrJT&rN &`iQ'K7 y=2n~y,~I؉]VmH((Rg/է~flA[fSyx?zd8`g1n91"g0kr@/"^Ǖ,Ӣgq"B'R"5C_`}+Η 5Tˆ]JeMhU۶qq J,PQ f>t7#Lʁ#4;$l_U7hF m{f@gWhbF+B0Z.f3fyamxEd|t_`.Io $v$N5y<;L`Fh)mOfS֝cC /G[&O>$a Gx`q/ʤZ~w,oj}F( $O P7:,vn" gJ}Tw oD$ ll8zHRe2؂TTښ76XCIx̰KSYÕg6SIe#J{p`4H~B!}[ԓ {!oǐf!OS7@Ȑ'+QA=~baN \gxD!ag38/s49ȝ3+2sDC^#GӔaKCvKkL_w- ft%~qBй`XWBo1&8Iyhq<֏K"*J(ASG*Y݂nݡEFׅKZG څfrXy'p;&fp6WC!*//UrR^2LT?>ɷPz=b  K$.q«Gfyb j8jy{ j_[&QZ8~>w)}5,.-}C} R^7z^$1IJ:gqro$3?7yҭ endstream endobj 2460 0 obj << /Type /Page /Contents 2461 0 R /Resources 2459 0 R /MediaBox [0 0 612 792] /Parent 2442 0 R /Annots [ 2458 0 R 2464 0 R ] >> endobj 2458 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [360.78 418.011 522 428.92] /A << /S /GoTo /D (Document Structure) >> >> endobj 2464 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 405.466 120.909 415.163] /A << /S /GoTo /D (Document Structure) >> >> endobj 291 0 obj << /D [2460 0 R /XYZ 90 720 null] >> endobj 1071 0 obj << /D [2460 0 R /XYZ 90 720 null] >> endobj 1075 0 obj << /D [2460 0 R /XYZ 90 598.722 null] >> endobj 2462 0 obj << /D [2460 0 R /XYZ 90 570.159 null] >> endobj 2463 0 obj << /D [2460 0 R /XYZ 90 451.195 null] >> endobj 2465 0 obj << /D [2460 0 R /XYZ 90 328.195 null] >> endobj 2459 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F3 285 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2470 0 obj << /Length 2413 /Filter /FlateDecode >> stream xڵYY~_*?,q <*?؎f}Tj@$$cgt"aRs | tYK'o鋪%NݶYjgɗٟCU$ u#/fFPngjnuAk8|:qe#3ve'J7C+zjj_PT fVd \b"AA8$p\ĤttÇ(,mvUVg,yyX1>bszIy /ȉ؍,0(B%"0CLQ7moFm ~6>`[HDnu\?pp@Vv5q)w:ݘ ﯷ)|rOJ=dFYVB5Cר-Tg͈>aG)W^5?fF؞a#ac@>A/ k#9^N-}x׍niд*,ħx2`uhq``ҮꞚ%/ָ0zQDtI@ *F#B+c/hNP婻 ,7fOg{꯴]5NPlj-c!9Efiw|b-ED{ s?ńs•C@|vWH[u=b&AwEW ߃"qܛc9. T61EFs$pQk 4ȒI\{,GCRU}zy]DۮӎOᘏ=Cmͱ}>wMQߤtgn.q?{7~;s-B7.J:iQ \ LBB\;1ǒqY,́xm\'ؔ*;xZb)`$ ECMKeT fFi;ZagXz;քX) `G '숪-JidvfnK;/;:Dȵxi}Wx}Ô{RFմ/-~iM;~<ǿ~̸@{Ƹ| LǺ/;vRem^S93ІR1Y\ U!s%g!6iko\6)a.9/1Qf]sP,.-ՏpؙwfGvg{8ʧ0svrͪV1z Q$?O^tЌǼ.DOxᇱqH &MГHp;42K ` Ypb~\q54@|Wx{ز1 |f˘Cq9Zk)Q71iaz2CCzH̦xF@L6qsA:b+IQRJ_t?o*,a\=, *Ȳ1v=6~nlQ]@=T_\JmQ8D>DCIYf9ߴEpqy¸e9]H;Uٹ`aLB :8` B:EpF\. Jyn *-hgOߕAX;"k]}֙rp@+ˉ!lT|op쀹;6Ű8rbB'S5rXz@> endobj 2466 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [214.092 613.96 365.061 624.869] /A << /S /GoTo /D (Plain lists) >> >> endobj 2467 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [286.622 212.466 440.351 223.375] /A << /S /GoTo /D (Footnotes) >> >> endobj 2471 0 obj << /D [2469 0 R /XYZ 90 720 null] >> endobj 2472 0 obj << /D [2469 0 R /XYZ 90 647.144 null] >> endobj 2473 0 obj << /D [2469 0 R /XYZ 90 592.848 null] >> endobj 2474 0 obj << /D [2469 0 R /XYZ 90 246.733 null] >> endobj 2475 0 obj << /D [2469 0 R /XYZ 90 178.203 null] >> endobj 2468 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F53 1758 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2481 0 obj << /Length 2713 /Filter /FlateDecode >> stream xڵrۺ=_PzNxKiɥg|2--)R%89@R2,ԋ"1*b{ WOB*sZ/m]{4Z??[Zgm#orueg6p_}M32 t}8~2b$J<3E[)c+N`U<z?Cv4T$^tnn]-[S.WnԮ;!pĜNt (`/mZNכ0h#2s3Xjt, RRJ qI3P?1W7t_VB@YjV=gHu몦XCA'uhWaŹ5:v(|u}6&w+Vb7B;VEJ^i?4JbFecoN/=AU֎G YW_y.C˳abN1~ B]@&Xtnȝ y<xFxy9 i g%F >w amub%cfmSUkވ=ZgνɕIeTJ/LtJ+ck7b10ہb0|# eqLF޲Qp 9aco"ȈH$E&MC&ûwl1)ʱM:wl3=IuY%)]ж͡^'Di`~}yαx.e*OC)u m/޿ަUp#aAЉ̩l6%̵fL#|/Wqjh6J6bSשiƎKsH5[+("r-5[z $Yy5{+`z93ΖqbCn1Wg9lpI:eC܏lE_~$sȕ@,D8q9wZfB(Rʁ$9bf0C|:ĹrC9afs=xj6L TI<ƛ<_쌩_ݾP׾qT$Z*Q[;Z26RQj: U% `'$O%Ւe6߀rala+tOIMt-$Ʈ氡^>zNTNΔp#9|0k0wS\ZVaՃwl'r]sI`Dž1~Oש bS vͩBfQ=,R!ǘ*HadP_M:k4^@)!C礸5[#:xӛsg0DD)X^Lx|s(St>~0|O8?EOn/BʆK,×Xo !gdLmx_IHMotuw/3l50 7rS ѪSS <|JIw;ɧ RXX7D=I\.T:'v JRbS[t[ 1O ȧZXʪhIqy endstream endobj 2480 0 obj << /Type /Page /Contents 2481 0 R /Resources 2479 0 R /MediaBox [0 0 612 792] /Parent 2485 0 R /Annots [ 2476 0 R 2477 0 R 2484 0 R 2478 0 R ] >> endobj 2476 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [266.167 456.451 393.58 467.36] /A << /S /GoTo /D (Tables) >> >> endobj 2477 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [426.043 403.848 522 414.757] /A << /S /GoTo /D (Internal links) >> >> endobj 2484 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 390.697 158.242 401.606] /A << /S /GoTo /D (Internal links) >> >> endobj 2478 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [342.273 177.895 516.273 188.804] /A << /S /GoTo /D (Handling links) >> >> endobj 292 0 obj << /D [2480 0 R /XYZ 90 720 null] >> endobj 2482 0 obj << /D [2480 0 R /XYZ 90 649.664 null] >> endobj 2483 0 obj << /D [2480 0 R /XYZ 90 595.766 null] >> endobj 1079 0 obj << /D [2480 0 R /XYZ 90 492.125 null] >> endobj 1083 0 obj << /D [2480 0 R /XYZ 90 125.301 null] >> endobj 2479 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F58 1759 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2493 0 obj << /Length 3407 /Filter /FlateDecode >> stream xڥZo␢[/KRqi, )x+#B,}gvf~!sݙݙ<մV,V~nu~H]<39c7ž:-qWNp;Bݶ;B70C~0_D4C1(xu5=k,M9S]uwLvgMm["Q3^Hb cqv uK+X%Nx2:Vԧ،;i+O6HaOx-uKd\T)A&S*u'T3@!tj9_c1JԸipz|Kuβ+R2[\<'=_1 g%vQuLO`R;BIpOa_-5VÉ_ڡ7 .N@MV |ڎWZ0$:Ʋ[oFUm2:37Hn[L j푷J=W30x؆\B.|Ed>:-E%@(w(ttLН Ζ *zw}ߓx[O`>/i.= BjB_rKC|ߤLwҼ]G$s,񁞗v栓`Ag/,3#ߤpeB9]Ok~lɥEe*pu/;0quQT7)H%ٹL3IG}+{8 [FB)4(Xl54-\sy8ܲ/9 $Śy*}o9 (ɡHaR ';8~C)E~_\>-_E|qnpЍ.sslEdzP~2蛎*C8_9Q]RN!ΕX(bTUH S ;a$gЖ,Җu|Xə=@9)u$"E0'άn rzW&dlb"͞RFv{9% -'4=ۭi :2t@ץ  gf~WXPIR0E |R4+ZL!ƲGRfBaa4ظ^%H!Z̿¡2wO}of , y} bMb&ѣE*ᔴGhN6Ao=0qw{94*_ wQ[hŒ0hx[0I1j2+@JCLR-,cc&`R>(Y,J+CF'8챼`|Ϛ呌kD3Sl/`3TX,/2%T?KI&ź(sŜseNs9[%6*wp=s:{Od́u:{+,rʟ0g!ȥ97=ہK`/&Zɠ5ë6s"HOG0tLY_GՔf}f=c_=C RҤ䥆zwc׻*ݏ]s}sbiPC{LΆLF (ƺi2.X|t 15-PXRidaJ'~Џ[1\lF?%,>I/.dj Q ;;Cbj[RhTWi2ٻS;5i֓j0" UT$uںP9( ;# endstream endobj 2492 0 obj << /Type /Page /Contents 2493 0 R /Resources 2491 0 R /MediaBox [0 0 612 792] /Parent 2485 0 R /Annots [ 2486 0 R 2489 0 R 2495 0 R 2487 0 R 2488 0 R 2496 0 R ] >> endobj 2486 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [291.944 625.398 444.216 636.307] /A << /S /GoTo /D (Plain lists) >> >> endobj 2489 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [432.217 513.38 522 524.56] /A << /S /GoTo /D (Easy Templates) >> >> endobj 2495 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 500.229 190.364 511.138] /A << /S /GoTo /D (Easy Templates) >> >> endobj 2487 0 obj << /Type /Annot /Border [0 0 0] /Rect [132.102 121.806 160.008 132.266] /Subtype /Link /A << /S /URI /URI (http://code.google.com/p/minted) >> >> endobj 2488 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.674 110.249 522 121.806] /A << /S /GoTo /D (Working With Source Code) >> >> endobj 2496 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [104.944 98.979 222.726 109.44] /A << /S /GoTo /D (Working With Source Code) >> >> endobj 2494 0 obj << /D [2492 0 R /XYZ 90 720 null] >> endobj 2491 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R /F3 285 0 R /F38 1820 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2501 0 obj << /Length 3293 /Filter /FlateDecode >> stream xr]_e?k# 0`X|Tt\* "voO_cJvR0GoOOC޸h%r&"Ye@8WVot\fܼ ^ǡa$/16OG^iew8pf=Yv|$5Nշ.Fld:2k6inN Cb#$gJA-oMnȇރcS 75麩 z?JW_#Uu~icR7ҋWq;; g+,8GI, u{`ZtR吔M`:Q2mt %ŕG^ұDILv~8xf@qn g`+W=GF,Qq vũG # w$@[_}}?K)% "T%@.8"1^S@|Nb;LBe#[BbQ~o )NC܉u у!Hصhjˆ+>Fˢ :XL1Mz@"D`CH\evq g+qpiH*ћ'[bkD*;V<@}sdK|Xjwl_*YRbeʉ\=nW%+eK"/AC@bm}|үJmCWw@>lɣU6ZhkPhH5IQA!SĞ{ӯN0 Pq$x{"<~AiO8?zOl+Dk1ɖVdieR%q&ZY2:8N`˒U63YeAus+I[[ mhx, X]qRֺ lLzZKbN]>Nxs5 C_uS˗}F|p?tT\r#KMU$CWU7/;UCj-ROdq,$^P!ቅAEKRNvlI,/JFgxN9Ƶ%=eH$JgǐSqz6Y9 <Bjb-rYF5K\$wk71j9UN8ܞp6Fx2l4^ЯΨ]xa{t!pC^(c&2?X;[), ^$_]sI= n;5UC.gIL< tJ8aFYǘvPVi0b\K/s@ncR .evD<n`!DKY2{o i7PF8mtW%i\@X rAޟCq}fbv^G.)\r(̈́"E:b};5E'q_} ,:,tc=B(K|DSva`t]}3xxƣb"U^sK5v>QQg~M`:hx [aG&5 TSFQ=9 5z\ fE}}ݰLgI=dpN6)J2 ߫bFt5ǻ6]:_Kb63QO%-gLA+Ȝg5gI7؜~#Mқ.Jq7f$/E\GVܑxno@':3pg$R_bűΞpYG ݚJ٘ӈ&ӎ'o#%2nz`N;ȯ{׳)N &Ej/|!YpD9%S=(q@)/w,:|5׊Ƃ?IRPӵ{O"&'blRej|u_g [ 0{_ob%ŗ7oM 7Yl~z~wUym4XBx7r)+H:?|aPhBҺc#-A ͦw/?è,Jx`^|v%3?ϿZGe]JeEy6~v((ϐ-xN-zJ,P.M+9% 4q#2 yNTc5;Us!.~wО@A|Q7;R,v) P({ B9U/XڂA#T#c(؎kvEp&9nw^hF 0F WKsBHOH7TȤRac?$P4P=TRJoǥ`b.}{gnr<oGÐsff 3xdcE_MY endstream endobj 2500 0 obj << /Type /Page /Contents 2501 0 R /Resources 2499 0 R /MediaBox [0 0 612 792] /Parent 2485 0 R /Annots [ 2490 0 R 2502 0 R 2497 0 R ] >> endobj 2490 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [454.769 681.407 522 692.316] /A << /S /GoTo /D (Text areas in HTML export) >> >> endobj 2502 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 668.257 278.152 679.166] /A << /S /GoTo /D (Text areas in HTML export) >> >> endobj 2497 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [328.75 638.822 514.727 649.731] /A << /S /GoTo /D (Easy Templates) >> >> endobj 293 0 obj << /D [2500 0 R /XYZ 90 720 null] >> endobj 1087 0 obj << /D [2500 0 R /XYZ 90 459.251 null] >> endobj 2499 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F4 1765 0 R /F72 7 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2505 0 obj << /Length 3403 /Filter /FlateDecode >> stream xڽZsݶT$xN4Hɤd #dQ;g%b ˝N$ V.zH#>?/"оG{۞0|zW*^z82q_"; R=7=H7c08G/' q{<'N*8p<ǩ2T̳":GqཬsI"ϞW׷퐑gH-d4^fjl(c͊[dk<6JCuS%YL:3+[E}pQOy燂D @+62{m'6޴)RT >_aKqӚWevx)1fIoT *0Ñ[4/SOGN wZkz>xV wf]:: wqF*Ba4q~1x]8< yCE2h??{hd=REG*c{2cdjZ;DVز#`),1'0 -8*_Ʈ[者 X9="#:"ɟO^1Y ٰ[i4ʭ[FnKγozwuqttdWϾ}^ }`bo>O\#_ Հ36]oS8=^buty4jC`tޯlۍ~l(dH]-KLM^TA˽kZlڼczo߾EG>HF>?twxځ00+&HXy~2Jf̣1% :(8Ha k:N l9vH)/8ZO|sT\,gд#HV>OʚLr^ٞNR\ٺ)~$@17/nj$L?(DDZk~wo7)5/FGҴyqJӲklP4z2-MJ?}uzx<2Xr&gSBR&/.+^ ag!]P^!z!袜!E Ha"_^͜ȢԾaۓTyc Vb  20ui!Iݡ|ŜLV7L)CE9DP-4m׳ؽ<]{hNKAG~¦p!XFWK9;hsMuA*BFN&pr$ 9^UtsN"hƩ|[b0G8_~k$~`G(PYʋĻyY[i ;={o 4WL8+,Ll ,ܔUӡ`_u.7G۵r݄nڌ&̶ '@h#W'pq{[s "'A,ƪ̔Ln+ `]$Ϝ$,3hwd4qu( g!"|5ttewGC] c;#9T+3@-?vR0I6" Nb)rtb{8}{pNPFSьənx-'pm#,y>gIH'a:Z%@6X#N\  0'7ha;#듙7LpN5mUdn q0mrB;YxHD{,<)<= 隡!&A:d+'%JA =e-(s׃αu7vDYroّb~?n3WXJ)ikXx=7ATgUXN+ jkp1=7n6H2Uev~jbfmčdˏA,I ~j5-$})3A$4j3ܿt M] F!˅ X g"Zb+3v )@2dBZk L2N EOJrBW篾C{ ˹ =xYXj`Sv)GH?]w#&A,}=!E\T[j\0c3DAţNq7'P ]p,UQ3V CNCBĔ8PtOmf-MdCo߾ݒV֨O@TuQNRܝ=;?D. ^dCJzQ v)-pfTdzPIGŝ[3f.! >9#v̅Z ydq86Gj| Ÿ-_c8Kƍ84a Pgu @pTJmG5_XxAcskcTѽg]$!955屚 O徲}g†nM1EOg8l|N8e ,p}T͒}~Yj!Q SM>ǩ\yBp.ψ] .}g*!6S*Wfwj^c^ UJ;OE0W@.84.ֺ-sPx[\L֎4Ъ˜@C(|ffI#׵[J5/[L6񳫠",_Wcv )u]^:*7"AWę]n_w w endstream endobj 2504 0 obj << /Type /Page /Contents 2505 0 R /Resources 2503 0 R /MediaBox [0 0 612 792] /Parent 2485 0 R /Annots [ 2498 0 R ] >> endobj 2498 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [197.953 635.978 417.119 646.887] /A << /S /GoTo /D (Generating an index) >> >> endobj 294 0 obj << /D [2504 0 R /XYZ 90 720 null] >> endobj 1091 0 obj << /D [2504 0 R /XYZ 90 720 null] >> endobj 1095 0 obj << /D [2504 0 R /XYZ 90 579.834 null] >> endobj 1099 0 obj << /D [2504 0 R /XYZ 90 415.25 null] >> endobj 1103 0 obj << /D [2504 0 R /XYZ 90 306.763 null] >> endobj 2503 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F55 1860 0 R /F3 285 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2511 0 obj << /Length 3992 /Filter /FlateDecode >> stream xڽZ[~ׯ<,hʃ)V9e|v10Zm\9f`6);ӨE" Afb{ #%w> G#rɋX-Tda7)n֋g|핯7&^ÞmUd->kNգ7Gq}e UhY$Jf)aW])/o7?ahgk4/M}\vޗb}$ݕVww8&۶%o7?!yf('/" 4iJQi.ѰH0Av|>bDODM _@+Pzi[y' 2_VpIm* 7/j iXXKF9W3ު+?N2粒UiVU*0c KmŚy'Wt[4{~&lL$IF4NEXv|.m? 4=N7?_(v6:ϥl4LʼnX -x޼j_dkQ|nLv:* }T&@}40膗bUeqaMUEG6p, U]KZH8 aWI`"q8*`?ZcUr'Gu([y mG6CmSU@' Ć$"10m"$Hl<%0egѰdMeADKUN?J3Λ+y@, _Lōo߈\v Ȼ٢ɏ 'm_t7YmK7\.CǶ%z߆&ͳk~<eNt"G[Īa|8=2lhLӑ1՘Q=cRD$3Lm`E?2cD"a٭r߻]K{?c,L īCmbHK y:,:tm?N4] z \BB2ʏXw#0\xPvywkt]T宔GCX*OdeYLsD=v%衭` 09f悔 ZA“# 3Vþ(8AI]wڻWݡRF~;d6B !߾ y\޹//_dyHV5p)'SY 0zזuH$E+_@6Fzs)C%׌cwC#<. d.1 " uX@LY$~ l⌃Dpٸ)JYY2խn Ȕ55l,< X3ʄA $}4)9X(-(N\f*` 9%YWF#߈W^cX2h959ӆAbбaos5efH@zN2n5O7β Ɇ\]>JJ*bZ A;]7lO+Ύ$85y595qSdeKq&N&5a2#v8P9-!aI6 6u}r~TOX[ח@WwLʺBĆ,s!`'l'w۲/}*YY~V2l Y}CX.hn ʷZyONhcfte`xr^5.2oC^لYښIPrt,#Cgc̰eN[EZ(ߟwdl9D^#qc%w.[cf :s> |s˛1Sӂ=Xo7mp>g Σ D3a'Pr|.踗{0͕_|Kl_mږx&AHPbWnj hX@x_w\0FS?G܄P]е& 84x5i*cb5S|0{|v_Bo5"9Y€#<|S5IvD23ZuB:kޡ^ݰ_PLNiKw _h;~cLjTG5Kwx:Llaҭ#D j&&0X"Loxy1|(;a댻q+#!lesƨOߗ{.C@9"۠2TMlwX)*2B窩mIwTPBd AyˊDϪXBh+c`ʃS?X'O B)蟀wOXOξ 7xw~2ꌯ0l \0 0uJK{90HӡM/WµP  P\޸u>0!,9C삛y?Sx"H[z 5Z|pn\JÅ!\%|8u,֭S[$*B6[EpŇR|E:P؏?NzPnfvX>q|?"LJ$Jt,**#@C OK!k4`P6y lj̐YQgDo.sB={yB)!0 Z%ɇzWKF7AQůɨ{'n\ibXBBrZ]hڃ endstream endobj 2510 0 obj << /Type /Page /Contents 2511 0 R /Resources 2509 0 R /MediaBox [0 0 612 792] /Parent 2485 0 R /Annots [ 2506 0 R 2507 0 R 2512 0 R 2508 0 R ] >> endobj 2506 0 obj << /Type /Annot /Border [0 0 0] /Rect [268.106 285.769 345.785 296.678] /Subtype /Link /A << /S /URI /URI (http://www.mathjax.org) >> >> endobj 2507 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [370.477 285.769 522 296.678] /A << /S /GoTo /D (Math formatting in HTML export) >> >> endobj 2512 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 272.618 221.796 283.798] /A << /S /GoTo /D (Math formatting in HTML export) >> >> endobj 2508 0 obj << /Type /Annot /Border [0 0 0] /Rect [319.481 120.959 503.065 129.178] /Subtype /Link /A << /S /URI /URI (http://sourceforge.net/projects/dvipng/) >> >> endobj 295 0 obj << /D [2510 0 R /XYZ 90 720 null] >> endobj 1107 0 obj << /D [2510 0 R /XYZ 90 557.863 null] >> endobj 1111 0 obj << /D [2510 0 R /XYZ 90 358.405 null] >> endobj 2509 0 obj << /Font << /F51 8 0 R /F3 285 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F72 7 0 R /F2 1766 0 R /F60 13 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2516 0 obj << /Length 2809 /Filter /FlateDecode >> stream xڽYo6\r2čm Ey>Y*y/rycf۲8 Ro=ki{a<w|93,[<&E*G0o}aHӪIa&Dzߖ5 y`HDLNJ"1ͧcHd,[E,C+Ó_]oU+A18Y~7ix2?_.rCESD]ж.nסROKbd)T$(C!#RS0?Pb &d$H슯+*ۼ +FSW7|d.q+l"09@UvXe֒YP4Q}^hBYάqGRTenOm$@{e6%ܥ{1>g›ƒs < B$Nw12Kdc\05ڝe[p ٤DO"/7!>`3jG7 d$R_fSxT'7UՌZ"Ӂ5vn/dud, Eș{0rɻ@ gfo Zf`,#K҆o7Vt=0rfvfǭ 4ú7NMJ&%PZa}G4|7Q Ne>cS56q '3I"};$)l |EY?&?CNzsH7QGA=χbOup#z'@ - ՝9n3#6> ,Sb㯫?r5XO_= ~$TpB@lSsT(^(r/ S%ꙇ ou kcuD 5 ,D]is{ UDΉ`_=O?zlL_?vTx.3Җ[ʼk[^o E^QR[\&*9sf .7'MFyaiI"u/, oYty_ Sz[۪B dgt5awI/r>"O !1) I EaG* 2- ،CeJM':pfCj $hYB !g)i?,X`׹cB,(7Tf أOCྐྵ* !} `" 8iwBY\ ,;"UUȵ7r) <2j6pMdFw<䳾w}/%!$ViYHǯa̽n =:wH-<7 ĂLT'+өHyN~, - ϲ3֕ax /'cpmK:I0^@Z9\.2>MIg2ϼ$H£ڌ!-h0HVCJ AK%|Gr_!: [QSbc|WQpc9g\o e* ./dm|?aK0C6`orފ:džUnǂo5)JLLVR &Aod#:"]3HKS;D=:?ȼjl! m9WAv!|O-L0FHX[ALDm)J~;:3f&3;BLiGt-Bqlp !Kmey+<>:'$;§-׋fOJ %h7IT[4!bgZyaGzg |Q0Gi}y4|"Nߺh),_;SҸDWC8C`D吮c!vcZyAT?<=,4Ǣm|_^zS-CU;[є#J%2嗻쇶Vi< À+ܦȠs(ay83ԵOط˿(~ϫ/MaCgE~|,CA^rq$:!|susAˡˡ n,ξuC2RS9QEr"qzhJ3GO6Wcl!yϷlfP.kq`E{ g^^&}ta(xUyib85_iAdJB*M-jç,m\" =I,uWeӂNڗJiS4:)4a;O?oy/60 Hv Zz7 |Zv|Me0/gn Spg[vCzFJ7 O>H5*o=>3O6$'S&@iq* '6EK$K jKmsdg(@#I{t=r endstream endobj 2515 0 obj << /Type /Page /Contents 2516 0 R /Resources 2514 0 R /MediaBox [0 0 612 792] /Parent 2485 0 R >> endobj 296 0 obj << /D [2515 0 R /XYZ 90 720 null] >> endobj 1115 0 obj << /D [2515 0 R /XYZ 90 419.301 null] >> endobj 1119 0 obj << /D [2515 0 R /XYZ 90 146.886 null] >> endobj 2514 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F3 285 0 R /F52 359 0 R /F72 7 0 R /F2 1766 0 R /F4 1765 0 R /F58 1759 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2521 0 obj << /Length 3399 /Filter /FlateDecode >> stream xڽZBH?DZ{e:p4.4IDD$!H΋Ik~h9ܝofvgѳ$֪r$- XF|~Pt ѳu6=4Yuεb\8&n&K->yMDi+QxLX*+dH9~h8>ސJ`{J(i.C|b0Y:>Hov M7l r+1^FHCԃ&J9T툺4q2U֤Nبe8ck E=,{Y mu"l?k{uC0'"mm]^$gyh*b@ㆸ:uPkufC)?_, 'sn Ce3  ⒛?8燻!PZ1״ (|䦝F+F"z )wMeC7t*Ib Wz҆U~hSSV>Rq2$)}O/P*"B_MY6 Sθ&D&䮓0bP3t/?2iN9ӭJ)*)M3 a@,!-=wu!IXuGFOv<5$d(n)!Qi'7YäS9[Ac ҒuyI=%}S#/9(8qx),nbrʹ=eБTٻRb!ɋa2vtAM:; 3ϼ4G1z#&(^>^ԔrQ9S@JP_6-$jk͘izb>.jhͼXX+7L.fXA{ ,N@E)9*tsnLkN!ofP3 Z= NJ]iʢ[ݑ #f`Dt#( q] (_55|b[^6:sUA "5M$懭3zOM(!T]U, u0mnI:(@*=d^D胈R,<]TN㳛~xe .'85eOwP(c- Т =j<^+<[)4R;L4w;md{tm =?rw\e5?A=S0 M$ZFŭ' DBl" Kޛc7)i7o%Ta[@ Tɘ?7@ y;7iG}+D{&({<ڱ[y4%-*[1]+˭7/ҝTBVTQ-[$h6!wH8h^@I'Z\#\ov)e xLwrqRQwOn\f)nh(^Y?ŒMdǽhRKzdlsݔYYd Hڨ ^i=zxV7Tۑ;Tu,r;BEO+q4)ns;Ȯ WiBh@@(x<$tB;3A0Ϥg±__<SP1UN{C*z)}On>WO1p&(;Zs@Y Iw~G'o )9GE!588Fm hGЛ _c$LF!+B^=+%HIQ\l fUETb ' @[tlA4Yt:4Egt` t$tJW ˌ c cZnWZVMX=IBŕ':mz,3\{xG_*0uz!5Äp! hp7LӛC endstream endobj 2520 0 obj << /Type /Page /Contents 2521 0 R /Resources 2519 0 R /MediaBox [0 0 612 792] /Parent 2523 0 R /Annots [ 2513 0 R 2517 0 R 2518 0 R 2522 0 R ] >> endobj 2513 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 655.409 353.452 665.409] /Subtype /Link /A << /S /URI /URI (http://www.astro.uva.nl/~dominik/Tools/cdlatex) >> >> endobj 2517 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [296.317 258.394 403.667 269.303] /A << /S /GoTo /D (Paragraphs) >> >> endobj 2518 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [427.288 258.394 522 269.303] /A << /S /GoTo /D (Literal examples) >> >> endobj 2522 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 245.243 184.874 256.152] /A << /S /GoTo /D (Literal examples) >> >> endobj 297 0 obj << /D [2520 0 R /XYZ 90 720 null] >> endobj 1123 0 obj << /D [2520 0 R /XYZ 90 294.068 null] >> endobj 2519 0 obj << /Font << /F51 8 0 R /F3 285 0 R /F52 359 0 R /F58 1759 0 R /F60 13 0 R /F4 1765 0 R /F72 7 0 R /F54 1750 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2527 0 obj << /Length 3128 /Filter /FlateDecode >> stream xڕZY~_C,(Qa$p@ְc l?naRG}Z L"Y,j?+]A]y} 񕒖 ^ONAjp/p佹`DZ/։mGvC՜Tyջi$>#r)v* "h)ub2h'iWGN`}(8u(My1;c#-;Z)N{2eUWCe{aiB=B4i9^m +3L7Nw|x *l.,B<ݧ}zyH+p[FS]{?C xӷ-"{+s'krG4"nTmwmvN4H&iAoiE7 WjO`mg*h|Ul}{iG8\ڎ9VfܨnWy qűgniR6(Z;$] iV`;1`iΣ9ۀS\UhIg1o>e_+­K2F:k !Wכ#9z>$%nKC͘b=Q!܅2SsV^=Aåoi$nq=' 4Ux6&~ØB ˒<5Xf/ Ԓ0Ӛ}%g#[vxE#d.]䂯EYA|=iH]&y7nF7t8b$3JL)rAKμQcHjn9@C7 }Q"y<N|!&%let67UȄZ&H\H\227pQfԜtܠ1Mu9>`b(>*A5"dTmP!5lcHU*g2Nsji1):bvtm@l Fqd=ӫ^H{9",a15d.`cUIVBlHѵ &$r3j1LglZA&|#Ε8-fdf<J2f6l`œ1(^Z8o6!Ca,4#?bIX\BL tP78ҏ\RP5 }U\Bb5&!cUx$_)2\]o2A! Mҥ]&gn]%أ؉\sDANӚn7G&gbv̈.%@FOً].;M*vF%(I+a5Cw֮X9D8Br@݅Aߏ՟n/2-h32 h1- | ;ǜ1|}A)YŚZWqR^@bhTεJ揷MGE8y%B) %ŤyYV; nj%QZЅ jǎnhOfr3V{D7w/sT R~Fbc[%~#EPʚ0W,ZXWϾLiUzw"б8#X oA >r-K.""qN^.!#}k48@tI8W_ 5\AϿ$,ddNa%W<(6$2p2 t|&eF!QnlQvq&1, t6X7~_ͯXtA'ZQT pw7|qzë1<IivyP) ,ç<T$*@R& W>?#_tc5Rv'ʅRW^dtq; >ȃ4 zyjg8a:ç0Щ\&(?9AEIMyꍽ & c="vI?:Vizi.xD"IU6pF*w%$k H>O9g'mc"Z?`b X(Q! `Z4>G| bS0(cXM?z endstream endobj 2526 0 obj << /Type /Page /Contents 2527 0 R /Resources 2525 0 R /MediaBox [0 0 612 792] /Parent 2523 0 R /Annots [ 2524 0 R ] >> endobj 2524 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [234.84 335.297 421.346 346.206] /A << /S /GoTo /D (Export settings) >> >> endobj 298 0 obj << /D [2526 0 R /XYZ 90 720 null] >> endobj 1127 0 obj << /D [2526 0 R /XYZ 90 720 null] >> endobj 1131 0 obj << /D [2526 0 R /XYZ 90 513.594 null] >> endobj 2525 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F3 285 0 R /F4 1765 0 R /F58 1759 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2534 0 obj << /Length 2895 /Filter /FlateDecode >> stream xڵZoFB@?™[phkT\i%ZZU>C@Zggg"?ȢE"%TXEnwŋճ~|#E_n,V.?E ϗR:t\" 5- (gW~G-gDB2'2ũb\*'S9]',dLePmeY4,P>Lces\,(Zk4Ond]wu[Ϗ$kH b\2ICՒwf)4Y44,gS*0%~,j.T:M&2w6ᎊӺ8:cuKypX8:T]{mDEFtu4]9&tʼnc]7 צ-شn'?v-+rtj8w,i 4D"ź\ XrTGS~\y b:"`RELc!CHDc|U؟i%"|$bRIBGEP"!RwM37"9c\8P]"t7L&fp $7.bÎO?`}S%S`:c\mj{WG5վ8G6M W; x'')gB&'Lن>l @ o|`[ݦpvfY9ΥKOfE[ /߽|e͑[mxMe:>_{rH",VB G~ubIA}D*Gq^_f#!^@hH_9:}9՛_Y7/GS*]b:x%dw~骳ӫo_X2Ťa8c-7} 6'W6D8@kn_P@4FZkf wn 6l3oN $&*4؛Ғh ]=`2p8|n Š>nL]iY";^ȄCҔA nqiL|Jd d\߿:4m^+.*r8)E BjtLuٌ4czR;'jhU%%դTWA3z "` .mY݀n{=6ym=nIoM4Cݘf%cyX~w*n߹ysؚa@iH02SD?t"4LVddIX{pDzfvЈ:L)5ҾooW\3$w(= nCiCT <ڑ?>j+va5X9()nD"O#ّ M$o"^Ve?X@k9@BCkpba鈞=c=阌/{M[-?yߪ4In񣅅kXJMml\Y$NTlxmy1q0Rɑ[J#8Xʏl6Wxv2Hl|;F /A)(\ jtU dN HHp =u Y ;E1KlwW_sd| 9"}[ kũopB)^|[ɡR`Q2xpMDAzAإB"qgHjgRe ojO#{8>r diyKkk@~.On Q4kth\`:a9 ( dR}"_]`|I~'Kd裔JnJ#W+"ҐsT*͹f" =A3qLҌ7EJ[X>AP.䱅\8>E%7x"]yI|hK!FAf |p~G Yy߁1;v@ڍ\N'Ⱥ#M'5Zv5U<9]jb] b}ʮ{M%pJބõ`=Ա|1&oCeL­G}uE!+ 4MiyHiCdeo|p~3nc4u7:JN86ZUmCQ9ҋ\~]y[aӞ!ѐ"*'5oբ ."Q  =Z,KdJ+Ɠvϴky>TeD||~Y8 ~o!wEq,MY'tDHY=X'%V\ &zu=c>zSKE:sèdϗv zO)0E=.Q '6`<߮ܛܲ%3Ŧp& endstream endobj 2533 0 obj << /Type /Page /Contents 2534 0 R /Resources 2532 0 R /MediaBox [0 0 612 792] /Parent 2523 0 R /Annots [ 2528 0 R 2535 0 R 2529 0 R 2530 0 R 2531 0 R 2536 0 R ] >> endobj 2528 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [404.506 368.399 522 379.308] /A << /S /GoTo /D (Installation) >> >> endobj 2535 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 355.248 120.909 366.157] /A << /S /GoTo /D (Installation) >> >> endobj 2529 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.998 296.904 465.493 307.813] /A << /S /GoTo /D (In-buffer settings) >> >> endobj 2530 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [288.162 270.603 514.727 281.512] /A << /S /GoTo /D (Properties and Columns) >> >> endobj 2531 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [436.853 215.926 522 226.835] /A << /S /GoTo /D (The Export Dispatcher) >> >> endobj 2536 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 202.776 233.081 213.685] /A << /S /GoTo /D (The Export Dispatcher) >> >> endobj 299 0 obj << /D [2533 0 R /XYZ 90 720 null] >> endobj 1135 0 obj << /D [2533 0 R /XYZ 90 614.836 null] >> endobj 1139 0 obj << /D [2533 0 R /XYZ 90 345.123 null] >> endobj 2532 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F60 13 0 R /F3 285 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2539 0 obj << /Length 2662 /Filter /FlateDecode >> stream xڥYsF_=+ɥ^RGMsFӯŕ1E$~bI eYAo ,ć$‹,6|{Yʅ noWg/؄^l2_umt5uSWo.jbsP_>ͻO3N*1!)0' jϯ~g qx*O˄꟯5c'-Q8gb Dcum7U[WiMIv.LXH)g|/gYVJôofooᖔr6Ijlp 9ْz90qS{D̩-sBEb*iR3rukPkxG"/XJ;&Eڣ "/)/صs"_˙UOIB!IL=IJ5]˸[v]+p#\đ'cE2son$x+/>1uEݡM]!%9 N*.d'%'Pr9v40O^3=*PAe sQ[Vw^mt6$7.\/x7]|/ /A5cԹ^4ԛJ-p6:z4(H>F`<8>l)7coޏ8 B@.zT`|c88oȑ;fw7VmW,HQEx8y0qGx7l43|j3/45x }0 /fC3] ^0{ߵ7ѕFYAlI'dB: 4fԺ^a@8&"n#d[btpֲ֕)dB?_`m@l7UQEa|VK[| f.x5;0V_ à @H^ g epF1#Jhf4 Qz_QH^ʊxp8!2`^`9)[rEh^$ +6qɞ<ug PCUqW@f/ pTdX)A@&j!m ၙbvu>.*Fm#B %X{*:ץWŞdL"N% WE .Kue!2U0EyM"hk7 BtXD]nM78WBڪ]r/?@}΍=V=$ GFz'\5v1C7O`Z~tz]'5==ԏ=!;&`tLF=E826=[8.BV\%05M)-z%թcJG`+mo͆nטJ 8 VC\̯u E˲8%El똘 vq7 ~=OJ(6 rJۏ,&(燓^7n-q`wie'+@jIqG*k#>8:yuTF2?byObcomU7>%3k9(gߐZ;jt Һ:lsM{rh~-w^6D%ïmg}ab)O Qu4iufrqIX˲XڙogpaG"[LM 6riaFFݫ):{ kƺ{*W meЗ&> endobj 2540 0 obj << /D [2538 0 R /XYZ 90 720 null] >> endobj 2537 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2543 0 obj << /Length 2314 /Filter /FlateDecode >> stream xڭY[o~rhp7 rR#>4@ wfgIiYa\wgfH,8ER,b]q7x&@?b!8Kx"w!ݶ>RߝZe{ȫ6+aXxB%~>[)<=X347xV&Jz𩽋닿㹌=4D;kđ#DqU}-hWfI!$I!/QEt:kU}T }T"/~4wUGZh+7Q+n/-M)~JOiiu”플~G Dp4Zސ|ꊔ` _H x|El3Pbx7wM}.BkptT (#5rqCihe֧hN`ǤDLN@%RZY~I2Wsng`h>Ч&xveawrpZxO ,cId:0LGyQ-mYG'D2n)m3%btT}tj*5QXɁ<+ 曍,yCw#M̚RNwgډa1!Q22 -B@IЋaZL 8]_cAڋDST;6]c~Xi1ujcpz\l9_֚{J⣂%vô)E(1$p  4x|>?Sq!`u r%^W֢Y2םѼD(f_Sq;EQe _NKb8͛:&)BA2*Z*^=%l)zo-'5 wOZ+ _Sg;tvJI h9s/ _&3̦dlGӬ( Rv5NEiYڲIVEڒU%Dd@5_KLX,߁wM6#eZWlM0{4xs׫e[ Pj˫/,wJ>Bo ,dG.ar%:j棌r)`@S-LMއ/ʀZO1pO/I;lP $@u*)NbS(#:D@2L'tR}.@dW|!1 lWX\ec\J1~:9Q6{nɲ/`a';xYj3CeI# J ׮ȁTO:ԭ-ͺ8$8 mJՐޢߚZNF. ]x(p^ume?F}jr. BZ#?Ib{ _zl##?BJmX7SB.&Nr1(*2 D x02"yX)K0~l \RD%xk-}k)PQkIU@(8| :-N.]taץ `nԝ?`#AjpٖxEf(ӰMׅ^:R,ų 5UioNk8ʚ:9NSapg(?5sN7̓?K y; 6c-mޥch۵}ҏ`Ր!a0t)gzۀm[~)`S.p9А`[oYہX5$R(c50tILO@H~@f4fw`U]c,ݐU JKk_(va?8n9͔͆Cۺr$5L.Әn7zWI^\XxGg y^~JE¤E_E1?#'_l`g*ϖX&h+ƅݮ\,AHdGmgVIoAn^f{> endobj 2544 0 obj << /D [2542 0 R /XYZ 90 720 null] >> endobj 2541 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F3 285 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2548 0 obj << /Length 2457 /Filter /FlateDecode >> stream xڝXmo8_a`?TFHQo6ˢ^;t"3YJr{Cʲ\Ex4Ùgb4\er"܇R>OocaX,*GutwGQ W*gLdf*Wz%󱺜.$Hs ko.WVH)tR/Y}y͑L)~]^x3[WO3eq{tLt/(Ju".}c&H1W?sJY~Cby% qp]b۵vNөԻ,XkͪB̌38Nbir8󡰮j4[I/1ވ{;:=T$(3ђi-Qqs٠ TLަrqLDؔۓ@ !)mwOGjVb "auTpH6lx kz^'bb!<6EiKYxEWadE;92T8*sbv(6Rh`]?17:os%}C#C+˟ϫ)G#-})|;=V)LƊ8(?’嚍 =-.zϜ]v5wIÙ2)XZ8X5Sx`0WаJd&;&1O;<>hvT R$@K%,,d;.IXGx l/l1AǓ9NK H@ծ4#.x18Q:,W 3v}6hl3XىY.([UC0ڶ1aaQ }2:eщ8Gw o4/ N3bX kar&(C9L>Ma$6VV0]m3 z@J) LD,Hf5 m}a,cb7, >3s%SWG)9#|Nd˜:{ŝ8CL)f_c*ǾvLͿzm-?5:NLSL FJF2_҃0:5sxLSDҘ2XEuCDo cW nx v2I]9Hk`UUSԼeQxc)%Cx Qg_r9d鴰wJ/9q }NÞ9& E]jM% 7L X  Y)zil;<nk8-ƺѝ(W&t] Pe=cru-<1*@g!j;~,bfq:tEӛXtn+[Uj\f?8>}!h1d*(G,iSKnDlǫ)8>06IDZћS~sR߰TX'$=[INk1N[!Ӄ~; cw!PЃm0 I¾,:+h* -t>VF3.[n s;y5aΝԼ][-UGweqe.h \yx[8J_@4$ML9-:pyE^*/^-H^/W~yi"_,yL:nAmݖd7L#7to 'P0?xTʳ?$&Qpˆ<[< zq7ΰ;`Y.(PrKIB LSzܽhi8mZ@?)w pA54n!W,1$!4i5ƙԜ*+\i¸5k7nڱvw,a=.iGbe{W9;fod[-_6[R05t`zm%[LǪ}) endstream endobj 2547 0 obj << /Type /Page /Contents 2548 0 R /Resources 2546 0 R /MediaBox [0 0 612 792] /Parent 2523 0 R /Annots [ 2545 0 R ] >> endobj 2545 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [202.212 268.985 391.606 279.894] /A << /S /GoTo /D (Export settings) >> >> endobj 300 0 obj << /D [2547 0 R /XYZ 90 720 null] >> endobj 1143 0 obj << /D [2547 0 R /XYZ 90 584.035 null] >> endobj 2546 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F72 7 0 R /F58 1759 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2552 0 obj << /Length 2814 /Filter /FlateDecode >> stream xZmoܸ_@?DZ(Roq&ib WZVr$mwCj 76z^yyEW "Yi!X!f$q_p7 Q_>ˌxŠC⦼MOc):Nucna'9O=Nt%Iq!_xu l ,DZ'f:&ȁk8-!$Kxܬ<A2G"ڷ釱l&d#d,LL;]]7'JxuRnjJG7t, xt01Әv;޸u@9K@1Ñv{{՛/7(ɣ~7<ڴxpqX67BѫvHMGhv?Xc!A Yȼ_^|R*e:h%bӥ$7Np !I8O7 7g9lJ5m?X+ݎybI\ Ut)`/FY0"E +O_ڋ"+fNJ7S$yhG VفLDq44X.3ssxdⅳ,+}B|'_Ql;IGNVmUDG3-i,[z* ?,<S'q߷$!e#,~>1״Iq3c@;*eȁ&W ' 3;8!)Z1w׃MY']GΕ&,WʅxC"64h* ],#1c7h(N[!,A<'%ʘVw9# iɣ\X[[bˁ ɏlA!3R=d]%OB0rt9D…΃H2',H2 sADGFS\LJz1s ۏJDܖ)搾!Kr]^W;-]`v 8az'_܊7l1FH0$H J,Xs "( N&'DbFa2HZ`RևC[*//Obe@̊p_Vhgԝ!}6þl}Ʀpk{z0U 08o:7ke8c+~XS#D/^x$qtqe-4@qT U4@25nԷ;}0)< ⰰGr㼕т_MY5vmry]z0iIJDm6 4fM\1Iκ j4Φl=8d6ٲ$IHv[/⇋ TZ1 wBGP^4`"N}c*NK!rv(iNnzd6Ή,jy 64<K2t!s}Sd_ cSĒ~hR@\Pس8 f' Kmk +pQS _"yyaȏ QzuSg TbZMrdS}N 5D~A!F{* \LqmTy%W^iAn\{l$ai&L%BSUfDRtn3N[a-`K!+xn [gR3 j18@w]Bn4F58<[l&zd'.lΔ>e s~|U5%e~j}GsߴYUSP\BF՜">KA6B8ȂP.0dB$M[vߍ_}pdP7P}^>!izi'd/eݞ(z( 5`#[5Gͱv=v{j(x$G7.͙֡ iFTyY-xc0o_Ē/]=4tBcrEaL(iv"1?*>r!>WL&:T/J p{_LN@X߾?|JV8ځ?7ONu<5pB0"Ħ*dH4aYWB!NɽH 5 Mj3'0x1u}aT6CG_l|/4?bܳo gݯ_pT 8U?Y endstream endobj 2551 0 obj << /Type /Page /Contents 2552 0 R /Resources 2550 0 R /MediaBox [0 0 612 792] /Parent 2553 0 R /Annots [ 2549 0 R ] >> endobj 2549 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [253.873 278.81 443.267 289.719] /A << /S /GoTo /D (Export settings) >> >> endobj 301 0 obj << /D [2551 0 R /XYZ 90 720 null] >> endobj 1147 0 obj << /D [2551 0 R /XYZ 90 597.734 null] >> endobj 2550 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F3 285 0 R /F54 1750 0 R /F58 1759 0 R /F60 13 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2558 0 obj << /Length 2972 /Filter /FlateDecode >> stream xڵYm6_a>TŬ(JlS皢C4im-D\I߼ds7 ,ij4gy'gy8J5O-,'`0k<_h&dr 4ut"b`nfT}@=s{F h] YKޑ!x,,8d,`a,~\']*)zcE" GzKӁu3u>]q^smQwu,(aU c#t.}Lw_C |J2bŜ68V=5툟';cg&C(ߏEkx~k'ɈՆADjs@Y:x\U9XX>KrB1ZbDv{'ض 9V CtDÎT+d0f€yJnǾكEKmq`2k}Z{NocUim}v>pöe?cP-~oN֢ŐdCa2dxy#0vͱ[V-?(xmvU:][GIКCk:'->HސPlis/ p*#MC? t0xwkv~ Io]tNeL/ʲgǙ$b?y1X_)/|ŧxKր8 t7@ޗAӛS550Oʳ/,w)a53a4``-{oYh!csx}7 Ir<< M3EHquY1n 馒C0@;'& a׳BE=rYoX =y+D됏# r@.DP(ObPò+~9LT!bSl%{ /IMK#U ]'d;QO@%\DdSCs鯾4J8M[شZ34L@;r|ھG!NȀ?r nȿw7/F*$IˀC4~ʮr=Myyu#,D)F5L>{f<1"Lϓ;k.Bșvpr5as*4b )RBʀC.()(uVp%c=žx,$uUDsTd`6(a1S-m# |2j+Ȉ"C%Iˉ渦/> fOT?rfn=xmm0J&G|eabZquqΩQm*N-,׆jN aUTWV$ONkKo~ /}<3a<VI<;7!$R?>i~!bi?Aw_xq[GIsggb64WnJ=܍Rl]vL04Gtu}Xt(VE綨W 4/u{%KnP*dsDCSV]ڄpwwh˄R-(uEW5VSH dXs?uW~߬w3v- G_"7˪;>m#,I'(B *nNB&ǮK6R`}~7?\{)ғ /C lh%yb\>š*~6p!I&ˏW7o|R)Γ0A|4SKLҥ)Cx.Ir2ﻏX GJF\8D|Q}Fsf$M?Zġe7ia6܆wk1EZ`PZ%:lu%g>W.lÚ6> |ךYpLŨEý"Px/&| BPm4= F58|XH;t̸z&>cyتWCqv"J*NwiSF6#MuSgUSng @,=J8;vt3NVިLV:{!ׯo^QsƼ~d#1y8@ 絿.ÿP GֿGɳ=Qg>W_u*Vr%b&"4 D5~ʆj}3QrD'see.٩TSa/}lK$NΎ= d2dAgXmÃ`t yM~`+IEtcpy{/ endstream endobj 2557 0 obj << /Type /Page /Contents 2558 0 R /Resources 2556 0 R /MediaBox [0 0 612 792] /Parent 2553 0 R /Annots [ 2554 0 R 2560 0 R 2555 0 R ] >> endobj 2554 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [339.089 402.539 522 413.448] /A << /S /GoTo /D (LaTeX{} and PDF export) >> >> endobj 2560 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 389.995 131.818 399.692] /A << /S /GoTo /D (LaTeX{} and PDF export) >> >> endobj 2555 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [361.89 257.955 499.311 268.864] /A << /S /GoTo /D (Table of contents) >> >> endobj 2559 0 obj << /D [2557 0 R /XYZ 90 720 null] >> endobj 2556 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F3 285 0 R /F72 7 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2563 0 obj << /Length 1896 /Filter /FlateDecode >> stream xڽX{o?B,w"O`dž-Ɗ$)a߾3;CJLh'-sͬ̆?1Y8V䆳dՇ7G&'g≙Ȏ,ޜoNڬB.zan6/0 PuĿYÍ )#]ug~ZqI\@+TEv7UQEEFDѵցW&KiVU)/Ts {B6&pUٌTpΒwvUf LX#Z͞c:W`k8 K.SsXWET#+JÞ$#+p"/ >JlU)~h9P2Aq-w™..+}8|CUIQa@i7lgA+'}V W(#qy',!~ ( 8;L }KrJm|ݵJUM]Ur|Ƿgv%9j' 秹BjMߎXGl#$7T%+<4WLaJdmGhj& v5b C/֛`YdMT:pG(`e;^MC=n F7,e-êz_9v nIW H}ON`Ai=D34iSW =?D%Ir@($wҜZ '8}"P_*UFSl=*U%#(M}^V5+$ٔ5EXN4TުޚJ'Q1,1lKs,MEc]?߰/I >S0D :7ד{V$ĄMV@i1C Vnʸ⿱7n(L@w{ 4NVֆI\Glh,eE3^8f]\EnBYA8`2%$$ۧ:cqh Uo_4Q*02 1жG6$8/uG3  Q'Oe3ޤƖ#&[ϴ+i,pK3TxK T2p7ޚ)UA -4#HH12q}ݶyO(۪~Gtm˓_IUt{<{"@'i'hMsN WwP,5I'@} q$.+ OcX_`JXszaP@;UK+FGų).9+iՐdaXb˵H/JN Ӷ\_ s/ :*| T0:֟/? 9ry~\J}?ÉLf`?zS\I>_ z'f^OU> endobj 2564 0 obj << /D [2562 0 R /XYZ 90 720 null] >> endobj 2561 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F58 1759 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2567 0 obj << /Length 1903 /Filter /FlateDecode >> stream xڽXYܶ~ׯ$8"LI]!(`Iܐfߧ pI\lj8ݍ}%we˥d*vIW?~Ax~xʤ仛ÒMG2>V*ȣ~MER+Onf_P )>I],SWIB1._~_:"lc2Igx]|6 @xl{75.28||W+7#~3Um`k>U] |!P޺@-rh5g&rl=_147[JXN=J~wo^ٶ$޵7,YE)etstY1FG+zt8<49c?Y?A*=tl˺̘YPY(g]R*.6"9#VFgHܷ#>|M[vs:ִ/l}(n8fؼ+@dU~^oo!aA=\hv$*'\j0݂M@y3dH>[b+lսZ 03~.PdPM`WOCO#mme5Ɨv1}J9ɡhX*!0)з.@mr"XetWrg\pB7FyA?'IO_ G6T TpTk  :qVآxjjZ`xMj,)]UP0ugx=m P59[VUFHGk|#4}EA*[ ؁h<*0>h9AudpB­1h6IGQP-*D|Y YS@;P5X჆Kq~3ф+9tl"öx8sWHyF%KGE+7gȷ\CU:[hjSb*% bKjǔs L/>y4$<.Zrhqx>{g@(RL!ng[Zz%~&R|ۑ#sAO/Plv}#dcUj0˾LZ#jAUbGeT6FSąΜi`9BDp(EB*C@gsCGaY9bJu =if|ze9ĥ`ݪT4>2@;smMXW3LUܯ+%D/(Fx7meo{-) XMg|M竚 @4>n \1CW,XO#UEනWqqk?mQ2ygշ߽k䛕,73zҷ+BTvn`Tov, endstream endobj 2566 0 obj << /Type /Page /Contents 2567 0 R /Resources 2565 0 R /MediaBox [0 0 612 792] /Parent 2553 0 R >> endobj 302 0 obj << /D [2566 0 R /XYZ 90 720 null] >> endobj 1151 0 obj << /D [2566 0 R /XYZ 90 628.355 null] >> endobj 1155 0 obj << /D [2566 0 R /XYZ 90 556.698 null] >> endobj 1159 0 obj << /D [2566 0 R /XYZ 90 435.01 null] >> endobj 2565 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F72 7 0 R /F54 1750 0 R /F58 1759 0 R /F52 359 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2570 0 obj << /Length 2196 /Filter /FlateDecode >> stream xڵYo8={2Z3C\f/=ƸawSl:*>IN6p(Yv=P p87CBGY8JdJGAfp7d azpSG&gjkS6sm1o4Qo/@z=1zGSMji[뷇7 s=\_{tW?@ _hʴnzmAcu/V˯O냞~F|.Nft|{؍?lPB@= _q-/ $8>O~>^YD JcfcmњܐYcZ79 uWBSk>HZJS_O _u;x"^'ѭ`ԊZߠycXDfW_)LL3PrP)uּD$e/c2X3XX~-aT2d"0*G?*2PU;~>xž :sJp؝I?̋R7+8s]/MC/٠iaˮHPe˹eQa,+8.&n (p,Ù,DRq*SMMbh;k e6PM0ܑ:{Q}x2Y[ʛ˂%ih2n|Ҡ~Y% - aRGuYMjdo?~tqշO {Sֵq@mjnO b@ DBL*d}Hzrt3 `4,sd;T%ؠX @B.iQ[ϑ&,xN[zSR[lhz NӃ,)5(OKs pq)[S8hCҦW8 ^^xղ4=@@vpJ,T+W YO5\HWpj %o&M\-|QA9! =kjnoc[M0:5dr$͢MϦ{ FD=7O'.Fr%CKLы Ţ32 c*82iCLs!`q}ѹW*siA]z5.Iʶ8=[CϜMem=E ̦]oܤY-$°jѹc6x^2}?,A rFP1xɩ ƱQ5 Ϻ#@%:RY ,A<96>B->єEq&jlk/Proz''lOQmwn[&qMS' lOu;D7Y(,7DN]ٴۥx.m xPAWyQv4ĴM2U+oPaS \y1EmVhMqpQCx̄DK'+2M-[)S9yN+ 8aG 48Sz[zڒxAaį_*וP>c!HUh)@Mm^->AW'іe:==g7[(LsrMg㯛g-sT)|಑&@lF>TU]>yL [tDp@6Jl v~~.h@ЀZl=pea취I}&0H rc{0a.w]j\ .7KAŗLUzyߝ]N{>" y;$c*h3>p"zZ+ bJ%{[\{weJwQjmrK^ʄMX?ُ5Y2hUS܌/)DB:g]Psx̺s(+㫞w d?xoԪy endstream endobj 2569 0 obj << /Type /Page /Contents 2570 0 R /Resources 2568 0 R /MediaBox [0 0 612 792] /Parent 2553 0 R >> endobj 303 0 obj << /D [2569 0 R /XYZ 90 720 null] >> endobj 1163 0 obj << /D [2569 0 R /XYZ 90 331.865 null] >> endobj 1167 0 obj << /D [2569 0 R /XYZ 90 149.112 null] >> endobj 2568 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2576 0 obj << /Length 2969 /Filter /FlateDecode >> stream xڕksg</5ә8ug\'B( -w_aoBßYdzX2.ֻZ/@+ X(^_xCdFLgfq.7Зre Lx\9oUMW;Sxo0HH\p,1JqꔱzODa@¼Z7EЦi( 2 9=7XX4=#&<9o^ke2j_v ޖCYyoN$} Qޖc³OgyY޼ ɫ* Z?0U06q4/1|ߚ.QDVo0 @=ȅ.~\#ݕuLjT& S|Fc'sOYxu_5{gnR[4}qpJFd*"e͹S}E)3TfxDZdl"W՞ߢ(rU8c׽Vh$_cQ*?.5. u[Hy>1E0]8]DQ:++b]3r.(QY]p O͹ !-P4?>GɸMWBP]pUmb13!MtT :e5*.#5x֗r.X8pyCo}ޱ]lr8% VGx[W=8c<ug#;$@8 g",LRz? Œ}ﻚC 8t\_{ѣ/V\U'ṫNFuA_^;_P8 y5ĚYCsPD)~灚}>+ `HyA{aU՜}d4' [Q#: ;24 c@;b]d{ utwfY2ؗЫj} fa:*2Xۖk>]S qA R8Yi=mQY3AmCGjOh7{Ոx&7NYN2<ȁQX uI@aUd AOj5"9ʔgܘHeF-MC(ؚyA\P=cI#Q6O{Ǟw0=}nFV(FtϱcM,P5rJGŗ|w}aNZwgJksnElc³(=HE!I8񃢠qL57"8)u:O3?kytP÷n>babT"|%$|w(0&+3-ws9Apa2|_j ta^C? ɞjˬme)q\yŇ"z+ 4 ٕ+_Fкiڲ\պ+v>?[v1q @e yDdȡ*'51!5-ϐ3SEaYg@Sܭ^۳Vw\&?j\^EmJf3!Fsbs ҫ ?zTo|.y@٤i ^œǦJaq]cj<_+)>smq5AHo(^UKUiOH㡛uy/~ludC9 K!Ac[W~~+ܜg.,>T83Lnc򶁎Y`]Ѡd[21/Bz_]e3fni_^ȇ6"vq[ ȵ3 ; ^mM #1eb2ۃCqp栕vplҏÊĜюTjQ;^e%!drgj_ m0xA*ޠf<}'߂wP?:oݻc v&.~,j)o=HdU< Y1B%x ]%JĽg2:r(v|"gm]W( 8fL^?1{?-balJ!6;NVeQۥ.\ t^dhf?KQlsėӢmŃ:;)!N/\]d*> ~W'h4ЋL F]!zf\鱔p-/J}I!Iċ2Y:')XaJ }wealc6ʐ0ThE{a\_=;f-i対x'VU̩)ZN||n|>zY!X]f l9tL6Qk$dd*N֤vDT]bn/ ״){c!rϔ~>}^sy4|WmrHt3݃>lbͭ?3JRA@N+7ۆQH,XKrX0)W<=5{ '@MBޘ@˲l5Et,)>&wgn R LP~&tCM(`.ܘ0I|/]%JpS[l0ʛQ/U eUU ˑIA>{ '0@¡PªL/2o>E* aݩ_oMPj,R(&> endobj 2571 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [181.887 581.499 355.317 592.409] /A << /S /GoTo /D (Internal links) >> >> endobj 2572 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [381.568 568.349 522 579.258] /A << /S /GoTo /D (Radio targets) >> >> endobj 2577 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 555.198 125.443 566.107] /A << /S /GoTo /D (Radio targets) >> >> endobj 2573 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [455.182 503.201 522 512.898] /A << /S /GoTo /D (Publishing links) >> >> endobj 2578 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 489.445 220.879 500.354] /A << /S /GoTo /D (Publishing links) >> >> endobj 304 0 obj << /D [2575 0 R /XYZ 90 720 null] >> endobj 1171 0 obj << /D [2575 0 R /XYZ 90 615.767 null] >> endobj 1175 0 obj << /D [2575 0 R /XYZ 90 409.267 null] >> endobj 1179 0 obj << /D [2575 0 R /XYZ 90 269.907 null] >> endobj 2574 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2585 0 obj << /Length 3003 /Filter /FlateDecode >> stream xڽْ۸_ByIwgvdpHHe*>@8\軛r?9KYHt<6< }&wr@Τ'/rx"}t~^sW)Hbj8WGNUv؋#u4xjwHBS!MR"Ri&/_z 䟛2ny-6-oJ+rxP TR t_.{EZv#͋M2-Ҏ/w-bnGwJGq^lV[}(r\ )-1SY4Y/scOq1 5\MmE+4i/ővR cRYܨIJāU(Pw]ΊYUoҹtZ+"y@L@3;uy8j$"T_x%r-"/$Px!N|u\ql0mx1ǖ6B?*P'lH"ڐ2-RH(`Z \l[jcbm'wvdsDRLqvr:0" %,Lay$-O#INou@lb@^IejBTv?M2ݗtGTҝ*t X(`A / ;@ёć`(ylZ9!%mHʄ-Hоq.2d= YCmUڷv_d' vg~G6iSnxZl1|)(B)I| 7E{|d@.ϫzr#TRRx)I1) GhLBc;2 ?"!D(EN㦼P";?C/+̅BSctfOo14%ݮ,2JP(˻}qjЮ\5z | 9`+iWDj T+AF/ڬeZ<%s٥jp~z#Z9z2Nٗ0O8Nkh861+(D`CH2ŢX(j@!#LvU5*rvCXXxU9e)Z "@nXb2YÔX*wfIKGm7DR)= G&x7B'K`Gu)]̙nc# Jb( [1#$515jM6H"oqF-D1VG7{Sqe(Ǚ?\+08+Ͳ=c>yS^jcs+W|i~>6HqYaʚW un=yD_ BJh޽1ivk H$>*@bkȈ 5W-={0ԤpQҲT{CPi$Zbn,)XfS"&Ӗx b`@ ]0F\ߗɬ}|-&92N@" vcj>%yi@uJAy2)ʂG^eeJ:B2I: 3LЭRfPb%% ߂܊S.3xdobg}~W춫)=R 5cH L'Um*Dcq~7"Ev;ujf_ͳ3#ٕ]!& vQ$(k t%oZatMɧ{A][ޚŀL#C5FFNXԀ@d~I'1-wUPW牖n<ܻ.^#2͘ P\oʢYiɓlb<]IM-"Įts:~,REϞP_O]?u?BUveߺ>XKm^ "qFWL}@i_u c@$_\ބJ0% 2ʴ;nɴn'ZPGۭߦ Ri+t,:́!}JqSZF>rwe9Ǧ6:}Iӓ:q P_h]Mםxzڰ›8 G^yn<:JärvbhW(@щl;0LT¤QBvCۄVhb7H51- [`,{#<fs~% 0۱N/qPfko<꯯}p7I *Ga_0' \PΈ]gWYo;ӝ"Φh U;0/ջ_р%=X4{l+RoX A׹-Z J u¶nDh9|398ĬCu؂DAjOMl4OF(`9_LF 2< ),0a)}9HADz/?*dp6DAIq]ZSkd:8POuid{ çp&_]kOLO,kl}&잰6PbX)gj jNgHBI&(·ǞEz5nرY+= <",=z1fuC[>2w>N? >wlQ.qG –> <}R&]`}ᯤ8'/yt;!Ga ;teAn`gS+/(3V? ic z,wFF ZW͐CJ %Ógt;䐣.OWާEAsQ1GyL-˃o ;" endstream endobj 2584 0 obj << /Type /Page /Contents 2585 0 R /Resources 2583 0 R /MediaBox [0 0 612 792] /Parent 2586 0 R /Annots [ 2579 0 R 2580 0 R 2581 0 R 2582 0 R ] >> endobj 2579 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [220.622 597.5 430.868 608.409] /A << /S /GoTo /D (LaTeX{} fragments) >> >> endobj 2580 0 obj << /Type /Annot /Border [0 0 0] /Rect [410.558 584.955 490.052 594.652] /Subtype /Link /A << /S /URI /URI (http://www.mathjax.org) >> >> endobj 2581 0 obj << /Type /Annot /Border [0 0 0] /Rect [387.998 571.501 491.088 581.501] /Subtype /Link /A << /S /URI /URI (http://orgmode.org) >> >> endobj 2582 0 obj << /Type /Annot /Border [0 0 0] /Rect [367.185 98.979 630.794 111.345] /Subtype /Link /A << /S /URI /URI (http://www.mathjax.org/resources/docs/?installation.html) >> >> endobj 305 0 obj << /D [2584 0 R /XYZ 90 720 null] >> endobj 1183 0 obj << /D [2584 0 R /XYZ 90 630.38 null] >> endobj 1187 0 obj << /D [2584 0 R /XYZ 90 360.699 null] >> endobj 1191 0 obj << /D [2584 0 R /XYZ 90 170.009 null] >> endobj 2583 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F3 285 0 R /F53 1758 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2592 0 obj << /Length 2492 /Filter /FlateDecode >> stream xY[o8~0/26bMSl7IYă̠`,*K^]f~CҲ&J"5E<&>?>IgyT$~~ȇ~o/^X:Kd&xgkU=0xp:̽nr dpd/.bO+)N _g\,eWeo+ASl#)֊޷ըKZ&,#̖̊V4 iie:3 4{ Mgm7JfE^b/k 9}x(a]mnCS 1CeU(FO9<^2ndj"TgNCk%\VF]"fa,sr'8<8qB.<&Z0DDDB!bQEP9 8jS w&W^l텷Q^u2 ^ubM8.Yazti7W~Br [tvkHV!mWUB!jȥ F}w lLaw> endobj 2593 0 obj << /D [2591 0 R /XYZ 90 720 null] >> endobj 2590 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2597 0 obj << /Length 3063 /Filter /FlateDecode >> stream xڵZm۸_}8sEQ A{! .WZȢ!q3P"ey p)3ό߄M&+f`Ë~CVyظ[3(g,ˆr/ˮ௪x%]ٙS[yW.MQ^?jۖ{3ѱ\Ue]?ɵmgQhi xB]NZ`8B |7)>Um 7J6+i&Q9*~ y\n,NU3W-[, ΃]EKP|:jFpNA][ܸ<+^crZK< _K:Ȟ#ƗD0mQgF"gi؅1~3N[v4`ߵ5-{/W&30YPkeue?|" q}] FIO-.J}*e;ڡ׫ 9(6ʄ[/]{ t{ݔ+{ʚNYpmZjXCoݞ' {^ RÖҡqi#K{mC-8eWe-MK餗M ąڣE`üY^rT x н9=(~`r(9s_~*?W{wdfu6^K UtDWaOeb({f);%"Ŵ<5ђ.}l4e_F nƅK*s6T_Y..s/l^Cr ".TEei\`1j3q. ? zk~?5˶ ?Y(j|8?D!gfހf]BwMrEx{y_=Zȡjp5 鮕 P_y!k9[j1B(1#T>߆"Wi7띣>)'TH/PpCƘg:o|XWU]maؼ/P~F3:f.~Ʒ-E.Ō$$ǂʣqbԪ= <HڻR#  :%2t<(NcPg?2(TzA? e\/}qA޹8 9uY}4ߡ ܊2}< "kԏ^q?b68 qcN{Ne\xOhX8OG拃)ŹYPX?9"\ _g|<,`{l%=b]*XL{nKkv y endstream endobj 2596 0 obj << /Type /Page /Contents 2597 0 R /Resources 2595 0 R /MediaBox [0 0 612 792] /Parent 2586 0 R /Annots [ 2587 0 R 2588 0 R 2589 0 R 2594 0 R ] >> endobj 2587 0 obj << /Type /Annot /Border [0 0 0] /Rect [106.227 585.172 278.044 595.172] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/org-info.js) >> >> endobj 2588 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 572.022 324.816 582.022] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/code/org-info-js/) >> >> endobj 2589 0 obj << /Type /Annot /Border [0 0 0] /Rect [365.948 558.871 469.038 568.871] /Subtype /Link /A << /S /URI /URI (http://orgmode.org) >> >> endobj 2594 0 obj << /Type /Annot /Border [0 0 0] /Rect [170.344 428.32 342.161 438.32] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/org-info.js) >> >> endobj 306 0 obj << /D [2596 0 R /XYZ 90 720 null] >> endobj 1195 0 obj << /D [2596 0 R /XYZ 90 720 null] >> endobj 2595 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F58 1759 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2602 0 obj << /Length 3167 /Filter /FlateDecode >> stream xZݏ_!Pk2ovrAqZ HyJ"L I|;Ke&kv,|LJ+;[ퟥa3F X (^.;g _txtM6SꔉLFc\C: ݦ8U=xӜ'Gl-[-nNU\>J y9VE40R@~18,nP=&selcl jF'Uy^@R+G+H@D_PhhXQSHX4Ŷ);z|(ʡ·spr%xܚk8>1Vn~k[nO94WrUTD*v +K;*ȏI)j4o/¤giTCHJw Tا8֠ElR8*KaG>G#Xr]Xo"8x\I4Wtۨ?( `s֮]5+;;  DψqT2Ɨz|QLW(Ɨ/?=W2ӝ L-0O؃Nv ,q, -iahPş,*,,!bn/>EW$3!F) چ_u_̘T\DŦrXRO[(8<퐔@̔ qSҠ"A"1YǥOHJ+1B>އ =E= -fnхf0AYsdLc!5jL}m!w; e!P}"eY.Q*ڧF)_B+B|:,ztd+o?SSxX;|3aRR8K ܤ ʢ8B,v,Ҕԇƙ4x¨B93ZyZ@"ikU*6. u:_phz~ BlcȐDId[/b;LX( X%cn6rC.SOO_86Py5 R_, ڃf~yŪC LCW`keH9X|E":q<08agӧSW+`y~ϔ+z5zMA!hXkrOYg޽Ogk!-S]y7le<ǷN0AAyv5‡#5gZiX> #"Ҫl fpgy>;Ͼ#ısAqr{@/ pɇ|@!/.od (fpລ7hOP{vU.h|e#f|A GE ́ *80K'EWRYZ=EcOnRPLCH^Zcة:K[&epčEտ|^ԐQ7O;c|M^;<^]"ˌ4z1sA%9_Ti) 7}<U'XN1|\(=us%F?a@vIx ȑ#߽m ʯ/ ˴ ͥA!9b+|JGpkYLH+x?[C]";CQ)NuDZ8Ƭܺ/oҜ endstream endobj 2601 0 obj << /Type /Page /Contents 2602 0 R /Resources 2600 0 R /MediaBox [0 0 612 792] /Parent 2586 0 R /Annots [ 2598 0 R ] >> endobj 2598 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [273.515 303.098 462.909 314.007] /A << /S /GoTo /D (Export settings) >> >> endobj 307 0 obj << /D [2601 0 R /XYZ 90 720 null] >> endobj 1199 0 obj << /D [2601 0 R /XYZ 90 720 null] >> endobj 1203 0 obj << /D [2601 0 R /XYZ 90 537.743 null] >> endobj 1207 0 obj << /D [2601 0 R /XYZ 90 362.356 null] >> endobj 2600 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F3 285 0 R /F4 1765 0 R /F52 359 0 R /F2 1766 0 R /F58 1759 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2608 0 obj << /Length 2853 /Filter /FlateDecode >> stream xZmo_q@?7rOVq`8.àx+0x!y< rvvfvf"r'Lk(70 &_?wV.d"$)bd^Jde]}ܝTlھ^%N.'oxtv~*HHL21,RgԆf$ɲ,<(\;SG3 vO^۳|&CE끺خc<$9#,ߝ>yk@gڱ PLR b5!|ޜAcի`]ɑd ˵&ӋBڠz[W[ =Mhp `&_yzݠ,ˮo!pȂ5ժ.zqUE1 iZVKпi7E_5[tM8W쭃N,6zXdwݠMo<}A>-|#^|?}'W `A g?)̮l|;XX x(W_oTB'CC' ޅfSl TfꞀ cB*eD̈́u^o8Q,3p"OS3QvNnæ}{9cBvNBg"sΟyd5`%7J*+28͕D:䛳 _=ČJh*G`MҰi*]P@ƪ"IqZ0-׼U䁣t ȖZH9SJN@G1K/1Y 𨌅|F#,+XQcƙ> w ):66pZSE3#97U]!Cٴ-X ͆ivѢFу1i#ub|\^*B^3#q K`rҹi:ӺD04TOg) 6Zy晐P\T ҁ=O ڗ!h/.jAVAc~+(3w]] ɲ됳!gSi]74Ubi>UqG)Evr(Pxv)1NSv<|GcvGSrrutU6^BIjy?_ < h-4y[|3xI@CG/oU/" sFe~IlyPk 9;~ mX3({C$}PH*O*?VHD.@ TjBG9bFR%%cFW*(  JGtBS Ჩmꉦ< |>,2, e1lmjE]-̴:K?M)k?kjzBˣ&ZNDk=4BBc-`rEᇿ`hح̕N]ѮpйJϰ@%WTaPq$ sDl(0R}q:0Pp*}O6PT[ĸ}HLS#UYp(j%Ke vLֵTUޥ˛k^Uq|K?hU$(2]>d6">?E/=VDH|MIC7Vt uVZvO8W]mIlGmH58A0yoI6V4et'?Tmx+/Qa: ̈~ v1Q}2*w^ XP Yc? 43fEQ65]3ܛ!p9>F(4W4V\AgPbŚͰ3Gvdngɔ'],<a;pbS^ Z9o&5A7D/TգJ.SV}Ԁ';7߷ZNeR})oHe{AS|ZEk@˶DvKAL?r˄#$@.lܴg&mc)hѮ*O\2'&́l ':9K+ 'EK(+)@$Eg1'wj@V2/LӉJ>y~hWb71> endobj 2603 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [246.265 526.282 440.407 537.191] /A << /S /GoTo /D (Embedded LaTeX{}) >> >> endobj 2604 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [425.38 306.3 522 317.209] /A << /S /GoTo /D (Images and tables) >> >> endobj 2610 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 293.149 192.994 304.058] /A << /S /GoTo /D (Images and tables) >> >> endobj 2599 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [187.255 100.884 406.845 111.345] /A << /S /GoTo /D (Previewing LaTeX{} fragments) >> >> endobj 308 0 obj << /D [2607 0 R /XYZ 90 720 null] >> endobj 1211 0 obj << /D [2607 0 R /XYZ 90 561.587 null] >> endobj 1215 0 obj << /D [2607 0 R /XYZ 90 396.061 null] >> endobj 2606 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F72 7 0 R /F2 1766 0 R /F3 285 0 R /F32 2609 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2613 0 obj << /Length 2250 /Filter /FlateDecode >> stream xڥXm "h8Z^lmLqmmp{(<㗜_vf{HQv2٢;F(ȇ*?ʢe*]mw>nC8f|#E_m-6OԛvJ).֡Rq/ (_}L'B 9^$.dJRŸT$d*z(??l7E\dXaTGseIE̸KCT 6$&1W 2&=ngAhp. i=BPXh Q b$_ q7]洵D_#p?1Ė?)mD H^zc7?ҟ(ۃD 2qNeIrP3 YMal5Zc6)0C /~5fy$MV ps4/κuBfO*lS9 ejFn~4cnJMim$m0D*MFzW a ;X$PA[C>Bԇk۩a^n@ gn# J*w!f]T5OL:Ѩ m+],$<.,?ec~Գ}1=Õ^@ G]Xd!&s"GPrSۡ~X`ֹ1w . QH ɇy;/mDʶ*tB`E`KIGPH\EPӾs=E<َE,ﺡjoNxȏg'IۂuʄKsA}3;la@Mub#B5+tm-G8i\~c:'VX?) < V7 d6QԾ[ϯfd?xδЋXe4`Z8M{L)kĬtw2M&ٚyoC^[΄ SV9oCjhC,jׯ$3;Dr^9m,!s@L ,o)7|FE@<<`Lv}fuءlJƪ?ه4v|>+F'&TR #By=s %tbo_)qPmϣB42.,'4|gq,ySaNC9e>okS[X nBdC`py@-;宯De_pz 7|dQ ^_tz,'ǧ? ى83=Q\b!ZR+o_?(ZufD'(k0FeKĥtץ>[eX{cUBq[jXf w}` endstream endobj 2612 0 obj << /Type /Page /Contents 2613 0 R /Resources 2611 0 R /MediaBox [0 0 612 792] /Parent 2586 0 R /Annots [ 2605 0 R ] >> endobj 2605 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [147.6 668.257 364.534 679.166] /A << /S /GoTo /D (Images and tables) >> >> endobj 2614 0 obj << /D [2612 0 R /XYZ 90 720 null] >> endobj 2611 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2621 0 obj << /Length 2932 /Filter /FlateDecode >> stream xڽZ۶B3Lt GfI3mix%1G I߻#` E"FJdDz &&3Z?zG,RXoK7˯ٱ/ڋrJ)|b%̲iA3Z^]zQ pGx⑂QŸT؋xɲ0p Oˢj./C˅ahiΙ (uҤ9,VikY#Yz6bB~E\sƍ+1olCIn4 kܕUEvEOWwIzqMn,ĝHX5ٟ}t?{~ B v+PQG^Ne!se2JQ[=a"^],ku# KX&bJ D7@#4RLbU*S1, 48Bf4! IS+k leUַ`ņ}C~ߜl]ޖN8nFY&^мE+hƏ!ŒB1mׯeU\{6t֔ ZiIbY$moiS qO)o`ކ:em׊~`/{`?=' \/±&rsZ pEngl@w&Q!gY xA>/xdο }0.N+!]ObYiS/.YVR991PrhBeb}ЖT;Mhd $ ,x=vH^8ޚݑ(/l4GE(k+7MK}QV61ʭK}5EACJ_5 Mz t:rvi 3-oN}сOW_Ų7ZVޠA!wCf8Q]h]ӻ:hݹED`fk8*a10.M=ْLI>6, ^!Gc]z//sA/:Y5MA2`?EyDʃ}6[Yb9ފocgM`;X;K ^iOmAP%vT|AB|ͩl9)^(Tm;)@_]:Z ީͩvP8d=CFŜ(BeHvIVGǻQUugC,u>l.ppBy:2TZ0kMF?eB)K7B }1%̼`TWb0tE"PA`vU fg3υFP[x=D P2 De)a۶{/c`f6!_yF2OH]ώ13TG]%9ԘeB ̭|TAiXz@۠*%}͈^7*l 1|3Hr뛸Y6',zixi&ɐZ)L(1N&V6@/?:Te"IYB?B!=Dx#_"xRN7ypg՟IAyqܣIrfYZur*Z(hE}[U:!Q➶**;XAy0]Oij_TrV<cBHiDȨ&m?\MNWaM%e?k_C4.cfE}:Z>g{p90!K$—33QlLkw'Η?[棠O! 7mf5 3oeMT7-1/]eʣW4lշHDC hvH;(-lN'[|F6*>~-6@K]i s'B%,JLz44]\Ц@0~΋]<16ܠ']~V秮ƹ$OygkNm^d n"ﻫn{u˚u's4ל.f%m-q?E,$k3;`*#TT0A l^*i+Q6*S'Fд/o+X i D(Y endstream endobj 2620 0 obj << /Type /Page /Contents 2621 0 R /Resources 2619 0 R /MediaBox [0 0 612 792] /Parent 2623 0 R /Annots [ 2616 0 R 2615 0 R ] >> endobj 2616 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [321.468 417.578 518.97 428.487] /A << /S /GoTo /D (Images and tables) >> >> endobj 2615 0 obj << /Type /Annot /Border [0 0 0] /Rect [187.009 87.422 356.472 98.979] /Subtype /Link /A << /S /URI /URI (http://sourceforge.net/projects/pgf/) >> >> endobj 2622 0 obj << /D [2620 0 R /XYZ 90 720 null] >> endobj 2619 0 obj << /Font << /F51 8 0 R /F3 285 0 R /F52 359 0 R /F72 7 0 R /F2 1766 0 R /F4 1765 0 R /F60 13 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2627 0 obj << /Length 1888 /Filter /FlateDecode >> stream xXo6@>LF"VD=-͒-CuHX$籢x'6[k<ȃrz8D&iq@wCم#Kh2b2]9g lM=v p2vP9˱NUYyK#U80|ҟ| H)G2bLQ m ʹ+Hg:? م?JDE!%a@F#_$Jv}f(bmMPm8IPnP~W ;`)L1t,c%=GfYU RHaleaeKsm~ϛgөY9-P(=dWz8!31n:^F` ?IT+FPhLK̎! y(W"MtQ+qobs0?as ]ߖ$X[.x;8$4@Q/ymfz wcn\ SSL56-+lL 12LylZ嫢b"eAT@=Ԓllt$Kjfkd=2ڧ7\dv fm݁O $1/s8 -GٝfٵRK` 4Y>D\}r`M8z)wJc8[`H9(iqi\]VWeAV`b8 v"aqv]{يˮ$4TVr+։l]v]j6K(iԤҀY{tIyxt:tr᫮`90G|3R36n5-m>BPY%'h.vqxtGgdA?zKfS=O蛚Hxe.3?Suc٫|8,Bq={1k;p*" U ri{nտUa3nV4ڛUܡ<t>yr+O%}Ct‹ַ>M,iB/r%ϊ SE:8۵?4QD/548 ,Bvɹe[Y+OPhuen̊%D.ۮ86ŇͫWC BB5Y@5\RJ:p)W5yq~Sv U|82mTJ}n7B{xksI.Gn" e qtuop8o|qb /-5)5ӈv^S"PW %6ð6::@Yگ32MBW}dZ~~Ea!1l_ ãדW/) Z#٩BR{L =Wb~l]IXTX>Bp>l RqO"?Wu' ˽z ۾f}B[4MCj:4d w2@fkuVtUcχ~:kh{gC>][~sAK!bwvUp/|: ;F`k &DlBo4o lg endstream endobj 2626 0 obj << /Type /Page /Contents 2627 0 R /Resources 2625 0 R /MediaBox [0 0 612 792] /Parent 2623 0 R /Annots [ 2617 0 R 2618 0 R ] >> endobj 2617 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [245.638 663.773 440.496 674.682] /A << /S /GoTo /D (Literal examples) >> >> endobj 2618 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [139.304 650.623 343.122 661.532] /A << /S /GoTo /D (Images and tables) >> >> endobj 2628 0 obj << /D [2626 0 R /XYZ 90 720 null] >> endobj 2625 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F2 1766 0 R /F52 359 0 R /F60 13 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2635 0 obj << /Length 2462 /Filter /FlateDecode >> stream xڝYm6*W|([/M+l5(ZJr6{f8LMse43\J_JK Ǜĭ>p7 (}OX|ه,6< [RʈױRii P50̓Gpi:W:{h{OPQdYT{UVJQ O8(/LL۶æu3]`辰udZW/fJ0Z)R_P.Ҿ@p$QtqjXNN dʝlAOEے~̒ -2f)DSd x@E3t[E2ɕwrXlFl$jv˅e/JrO7XܓF$*۶z](MY J LX@\/DF")A8H{.Ѽ(ykqmF ?e]=Zs؄Bm>h`:{ DV$vVW'HEBצji4-QH5P:^ (4;o݉sg>eݷxytL X'q !6El?MDj$>m"XrOo6RϥWd ƃ+rϙ-K qSww4-0<ڞZaf]2 : f$YUr=ϤW,^W ;2M{ & DA'Uaxz,\RBȞr _B>:7 k$<;<0AҩAcR;Chq?4!VXO`up=96MBx&'8C ,;TRҸHm]I~2-茓jˁ;׹+zʽ7gU޲{WAz]H2ouZ4fR#~'|0iHsxqr8}Sִ tF/ y| V?vm~S=y1.pq@o_p3 ^ _vJv#>Lt˭yWԗgIne-wgrxt>Ma v3➱Leim蹐alé3{ufŔL:LqW+қAxZ`Tm˺F_:ˁ/[36GGcjhJu{K9@g-Ml\ &g-GKZ3V?LvA1.ečhfWO]9 P LKO]*ȖfwG5+?pCz)Y`g4i,,S_tVX h>PUΊ,SXȑ'.6U]#U6>R~Ed{CT wfXT<\cۜ)ulKq@l> endobj 2629 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [386.579 631.976 522 642.885] /A << /S /GoTo /D (HTML export) >> >> endobj 2636 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 618.826 131.818 629.735] /A << /S /GoTo /D (HTML export) >> >> endobj 2630 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [214.333 384.73 403.728 395.639] /A << /S /GoTo /D (Export settings) >> >> endobj 2632 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [311.766 139.775 522 150.684] /A << /S /GoTo /D (x-export-to-other-formats) >> >> endobj 2638 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 127.23 189.418 136.382] /A << /S /GoTo /D (x-export-to-other-formats) >> >> endobj 2624 0 obj << /Type /Annot /Border [0 0 0] /Rect [218.422 100.884 425.543 113.25] /Subtype /Link /A << /S /URI /URI (http://daringfireball.net/projects/markdown/) >> >> endobj 2631 0 obj << /Type /Annot /Border [0 0 0] /Rect [104.944 76.152 418.319 88.518] /Subtype /Link /A << /S /URI /URI (http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html) >> >> endobj 309 0 obj << /D [2634 0 R /XYZ 90 720 null] >> endobj 1219 0 obj << /D [2634 0 R /XYZ 90 720 null] >> endobj 1223 0 obj << /D [2634 0 R /XYZ 90 371.256 null] >> endobj 1227 0 obj << /D [2634 0 R /XYZ 90 302.634 null] >> endobj 1231 0 obj << /D [2634 0 R /XYZ 90 244.806 null] >> endobj 2637 0 obj << /D [2634 0 R /XYZ 90 203.551 null] >> endobj 2633 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F55 1860 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2646 0 obj << /Length 3326 /Filter /FlateDecode >> stream xڕZYo~_o,E+Oz]ɎM0;j[ԫclק.薏`0n,b_6>SZ{I6/_)i@(zOCQ,nw·Cvvjy:׏Ne}Ohw׷a$xeM^)mxYaY8Yss7_pI1sai_VL= ,wW6q*yʪyi9Ji/zvĩsks`qzI7.̤B~uZW;;ڇ恇?4Cy@q4r~ȣVe]t,%s綸/v3Kc$(؀:)/3PkRPhΌq1JDx*6")4b\"> wƑ-'D]Q9LEmfB䥾-}ڋt`u Y{\֡vI'%`A߮!4dA5 |`6O2uhAA =e Sܝ֬X~j_w9X~o^SNmÇ]=. ];ܪ36(Q݊&Ce֞6hřRyd,W37g\a" ׮ Qe-od 5GoQco9;l8UR΀1d݀ *}/ёi|{j}Ѷtz~V}&S~l9Uw'kK\\!,xJ~dBA*jK`d?r/Uzql$tRőp9-;#^g,i}*"\?Q:nË1Sv/Mx)v.!ze#h#bIA>%H8Ƌ`n5#o5@NQ U֒p(DFiZrRF(Gs@mi2h%*XO_aҰCTHRH {J -upӸ:ʝUU0^j^$H0%7gWH0ۚ dx(a@x$ d`LHY`C%NOnIMԇ/i^ߛwn*Ɉ D3XDcSb0Ozgp?0&/uO7hp(8t <5/E(F3P t&{\|3 y N1ʯsBa8? 9u~@!PS$:^iJRw['b >M>mc}g+hxT6l.\8AM:!aҾZgB3i٦!0#~MpGmBACBrhxcmÿ;ȱCS{ E7pŮe3eJZҳpnjK)XZ@OMnN^yyefG:o6$o);*VըpTм sGѨB#mᙽ-2鱈RmJO+%i^QhLWJ*;y8!Fl-m'}k 5(e_ Io4u,Fʅ<_KͫKQ|G. ^4Үc-C,Q39D`+枹LcxiVo&fM`76ol^ \aeM } !w[EcqJ`kY/f}F#3tS0^0S{4(B-f,;f3{>\Ԑ 1t<5t->8 t2$AN;bB i(GlޏhJxa/ymc[_<ȇJLQp)kb5bϘF&X=Y endstream endobj 2645 0 obj << /Type /Page /Contents 2646 0 R /Resources 2644 0 R /MediaBox [0 0 612 792] /Parent 2623 0 R /Annots [ 2640 0 R 2641 0 R 2642 0 R 2643 0 R 2648 0 R ] >> endobj 2640 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [199.782 582.671 452.964 593.58] /A << /S /GoTo /D (x-export-to-other-formats) >> >> endobj 2641 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [215.363 444.677 516.364 455.586] /A << /S /GoTo /D (Configuring a document converter) >> >> endobj 2642 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [352.517 362.977 497.564 373.886] /A << /S /GoTo /D (x-export-to-odt) >> >> endobj 2643 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [396.58 179.394 522 190.303] /A << /S /GoTo /D (Working with OpenDocument style files) >> >> endobj 2648 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 166.243 295.671 177.152] /A << /S /GoTo /D (Working with OpenDocument style files) >> >> endobj 361 0 obj << /D [2645 0 R /XYZ 90 720 null] >> endobj 1235 0 obj << /D [2645 0 R /XYZ 90 573.001 null] >> endobj 2639 0 obj << /D [2645 0 R /XYZ 90 419.454 null] >> endobj 2647 0 obj << /D [2645 0 R /XYZ 90 324.603 null] >> endobj 1245 0 obj << /D [2645 0 R /XYZ 90 212.578 null] >> endobj 2644 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F72 7 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2656 0 obj << /Length 2926 /Filter /FlateDecode >> stream xڍYmo8_a>[m/.H]ŦcMr7ʲE!g3\D'yH_^Hn4~Zx> ⍿"mMaq~P Glrıs1,o[{I ̒,ȴ0S釿Dp,&fLǕxIwD {>΢eG>#,IIx(EU=hW𶦁W-oϯ-W"Kr8Z2Sxb?|ɾq)~f0#[]om 8>,R46 !pm!8DdEMC|eIo`?EqAJ~gM9 'i9"Q.Tbl3BJ?ag 36~3|9\c^큜CXqmYVv6 u$t2D`m[v=F}-sM:|gc,!k< =KP@݇RLj&"՗+=od( Z> I IEr=Gz'6Z_Ee;:ta$%澗OlzAmѕnu_$ 3Ak`4f ߮~^>cy,~nT'"6٧ 3t(p\!{ R PqW߽WC㒾^3;9IP$K_{8 vV껗090VP>cɊX@]nC/dz'Cmnn"LsXLJLF {zw;ab'"q9PaQ=FLծH|_blĎ wbP]"P [喞M>Mb EqIᬈbU]џ*3Y^%G ~d/(jmUF٢;q T\$P5`/PG_z%~фZ nx3ޕw;![n@6.5fdcпosڽ+I(~4\Zjl = A%k6`ۺ VˁOP;1 4 _BXc8QKg@p?tR: [פ[CG`}Zu?ryC1O| X${fś8|JFnJA8'PlGDia+:$<9.omRw %&cw@7L,0ÒD°C8,`[S! =uR-A@Dmq>umm@h 6]UIT,Ij*nm*?? < gčGKfR&Wknۯ1( Oۈ(/v(@JD> @ydx~Q G@*ݐ呸,9#Ce\ 2q/T٢uÑ\0 rCh̿8Q/=(.kWJ96Bi˗r2>V8RYtSq2?2x;0'\~ ý_ j`*s(Nj3byma^]FJNCER2y6n8R鐓kEf42(9T(=3udo9@J@,A .V)s(n^vW쎇S 2DY3+c$p}xx{@fy[.X^Q:f0(YuڝAq_36`|7K/]r;udP7!75;Nyt`l:@XNRqvLΠ?B/c-tIx~1[ꓘo 3T +4'ЍH;opi} v$mO < <g24e y3X! )40sDZ0w:A#:[l`5Z~1UifJ۝0 7TY_u_n+4č|<њnZ,>];Edu8f-^5( L-MRfB?OjxҝC -~p6ЗnoП?&N8"QK]-b4j&C2"N >V`l=nZT9̱" 3yy̿yrhCG7b_ЅywJ{> endobj 2649 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [304.661 547.663 476.995 558.572] /A << /S /GoTo /D (x-overriding-factory-styles) >> >> endobj 2650 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [315.559 254.776 522 265.685] /A << /S /GoTo /D (Labels and captions in ODT export) >> >> endobj 2657 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 241.625 172.455 252.534] /A << /S /GoTo /D (Labels and captions in ODT export) >> >> endobj 2651 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [276.355 198.789 407.307 209.698] /A << /S /GoTo /D (Tables) >> >> endobj 2652 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [225.512 141.904 401.314 152.813] /A << /S /GoTo /D (Column groups) >> >> endobj 2653 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [190.577 115.603 443.529 126.512] /A << /S /GoTo /D (Column width and alignment) >> >> endobj 362 0 obj << /D [2655 0 R /XYZ 90 720 null] >> endobj 1255 0 obj << /D [2655 0 R /XYZ 90 362.276 null] >> endobj 1259 0 obj << /D [2655 0 R /XYZ 90 231.366 null] >> endobj 2654 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2663 0 obj << /Length 2189 /Filter /FlateDecode >> stream xڵio{~5w06@"5Z$6a%9)q^'ljǾr[)QXIJ {N} oip(9z }o<pDys]2=^i?Ǘ}Wxə-@p6;!3J|!ဆ//=hN*,%MNwf Q"v}|k@pT݀l0]!r)6Ј+D"o"(> z ^L~n{fƓQ Cl Lr*7Xd)MJ("m ' 3%Kŧp*" eXݬU eN_iR~wEC+Zl ҕT+&[H@tqtaiyr57pض's}M k5(ѓ5ȊT8 pZJd-ld!oN6BAܤr`EBԆO/ON=pIޏcCoDKM#f<(3wF HSC5W6F<1ʤ݋fywKlsS;7$0 0n/H\Vr{^S4gڭV,(Ѝq>OTDvKnwK=d8ƉħL!N'2ߤT[mOnK6J䟔nh@v`{ynMB?dq1te.\{dcV4_Y;慑.kW i]@cW΃@XZn@v&4`BY& J6.r J];@7r|ǵ@kOfNUmvRN90nI{N=/ wCۗZ) endstream endobj 2662 0 obj << /Type /Page /Contents 2663 0 R /Resources 2661 0 R /MediaBox [0 0 612 792] /Parent 2623 0 R /Annots [ 2659 0 R 2664 0 R 2660 0 R ] >> endobj 2659 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [441.099 398.567 522 408.264] /A << /S /GoTo /D (Customizing tables in ODT export) >> >> endobj 2664 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 384.81 311.212 395.719] /A << /S /GoTo /D (Customizing tables in ODT export) >> >> endobj 2660 0 obj << /Type /Annot /Border [0 0 0] /Rect [103.333 183.261 206.423 193.261] /Subtype /Link /A << /S /URI /URI (http://Orgmode.org) >> >> endobj 363 0 obj << /D [2662 0 R /XYZ 90 720 null] >> endobj 1263 0 obj << /D [2662 0 R /XYZ 90 373.725 null] >> endobj 2661 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2668 0 obj << /Length 2124 /Filter /FlateDecode >> stream xXmܶ~b~h^xAHlCrWF־p(]-X!9y~|UL|U"Op}/pSnf Xcouq:2 ~:CMz hh771AS9)O}#|J)dK+!mJ%K+~Wil/`t-SZTr׶;B@SڽuEG)ic7 ͗C,ȟSd)4 yI?Ws'% LtcD .A(q %(AЩME-Bȣ3!qdM ;#D@I;obCFUY - eXψȜ_0uѡ=QNGqj!7U–-)qR? ~K{bb3xP{ p6ҖexͅUWMC<<=jBD8AHT_H|ϵ Epr!X\{8Altc`ηgCc(&aR?EI9|1'w,sM>[c:]쮩ẓ/"M99Kd~aw(4jlԓcÝNwCqǛX bAC3F-пAP:X+r eEP!. o BPwMSlɓ!C v&5wzo#'.ǥ=ek:#&K?6||Aw4Å A Wک̓Lxt*pR'c9nCNRr#&S>\e_JRN.PS&_=w: =#gѳjjt?-JvEk+{zM=` mL/X~]T9i\M{[ \?Cu endstream endobj 2667 0 obj << /Type /Page /Contents 2668 0 R /Resources 2666 0 R /MediaBox [0 0 612 792] /Parent 2669 0 R /Annots [ 2665 0 R ] >> endobj 2665 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [215.166 167.051 418.25 177.96] /A << /S /GoTo /D (LaTeX{} fragments) >> >> endobj 364 0 obj << /D [2667 0 R /XYZ 90 720 null] >> endobj 1267 0 obj << /D [2667 0 R /XYZ 90 241.714 null] >> endobj 1271 0 obj << /D [2667 0 R /XYZ 90 200.235 null] >> endobj 2666 0 obj << /Font << /F51 8 0 R /F4 1765 0 R /F52 359 0 R /F72 7 0 R /F2 1766 0 R /F3 285 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2674 0 obj << /Length 2459 /Filter /FlateDecode >> stream xڽo6FdbIu!CCVvZV*I;쏿(R&EC|q'ft0ٲ:DY Ə'/S1nl>>bG/68IHȧX4zjKMW60y."'/Íi4 řeb"QDw?uq7@P*Xߞvx# XdL~[v"*[=3:+if4'38yPkh DegN!nMewsGGEciw.Tv5MgW.ikM_͢|uv"ڷI$(k,'3LP!ݥE$*n@j@G{Mcw?uﯣ\wU~[r7F0G7/ZMc|@ITəHNZ:.gpг)\9E{MXyXy@юމ7@^ۮ?\p1r=OS[Y\lAQ,@ndIZTV@ek ƪ*vPD.HcB0}rkWd%ٰy3tp ƄfaRpvFo-WJ7[{.,Ui=@JrDHOI4dnՎi[|LX&O1vw+v}@3udf-f[r>.(lkƼ~)omR`>8KE22GNA{~W._Yڣ~<}4D#1gSGOIW?A䮾 "3X $3$ɀB1&z%U`IZǬi/a>`9:[Py-;X'X 2%ŃBz+ V#k!-M3?gX.@vUC-|b eccx>[! _P}hDQ+ th`|헃Y.>P+ =CpGؔC9  6!Y}NcpꋠA)wUQSq^0CiV,ch AL /(:-d3U;]joh{G +D7qM hl7vS¤rƶ\_BD8fK3}[KHY6>nqY=x4]ÊeWRzJjϡgdz|]m铵cAxڏB{.RKɉ :`b\αvC,`gLoCZ&=*\%!D@SGԶ- /~9BToB"XmƟQ} L艿n|szNz^46kZ~-VMlwIH~Wci_. & 8CGsqP*Yf yLjhDpOX?1|`ٗU>P@/XeC0&cOa-1E(Ű0pϫX$\&sQ}(P;d#D5L:ZwQ>)QVZEgu/|6}Kmkrv{Z4ϥO/<#%8IvrY5Cَ_ɭl@r |whFE=LJMtw?@X}LďeX+h!}ѧ23iʶyK(XvPoxnB3Ë &eo<5ɗ ]X_O[Xtȝt |]4*Z~3q, FI2wi: B 1{.K& 6e(l ۖ ?\w`E9 ×s != 4oýT~LwÂ>Ƒ̭vvS7ikZYiˮ܁X?T>ϳ~;!;%C ButD`*X* endstream endobj 2673 0 obj << /Type /Page /Contents 2674 0 R /Resources 2672 0 R /MediaBox [0 0 612 792] /Parent 2669 0 R /Annots [ 2671 0 R 2675 0 R 2670 0 R ] >> endobj 2671 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [426.041 115.013 522 125.923] /A << /S /GoTo /D (Images and tables) >> >> endobj 2675 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 101.863 188.49 112.772] /A << /S /GoTo /D (Images and tables) >> >> endobj 2670 0 obj << /Type /Annot /Border [0 0 0] /Rect [121.334 76.152 171.507 88.518] /Subtype /Link /A << /S /URI /URI (http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl) >> >> endobj 365 0 obj << /D [2673 0 R /XYZ 90 720 null] >> endobj 1275 0 obj << /D [2673 0 R /XYZ 90 280.088 null] >> endobj 1279 0 obj << /D [2673 0 R /XYZ 90 161.045 null] >> endobj 2672 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F3 285 0 R /F4 1765 0 R /F58 1759 0 R /F72 7 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2680 0 obj << /Length 2655 /Filter /FlateDecode >> stream xڭY[o8~0:1#U$u[Ii St%W_Bʒ$}X(s>wh X*U*ȣlU晰-o.|tmn t}Լ z /v+Lpz0@Ru8՝Pk<9hۦmSU$/YwvCYۧ9"«VNVfA6߾2ޘV1f,~7`ۖW.~GFl WW{c5s'ʼn+ڰd#a 7ǂoi- edol&$+wCkF0?ŸBN3aSncg¶Ü[C?Vc*{#͡s2Xf&…lz UK(v6E((BI G`$HPqq#70r6$VQ$^׷ ,L,P9WL$ R/\òzp4cXjH&(yű[* T2,V5nׅW_-DiϭuLZԣ&dA /_X/_bϧ[] ƽ}S2>مD0ߢMH57Wܖ٘»4`OGX<w[t)e 6tK%Šg A%P{Ƥ*tolwKn~J~Kj'4`D,qLۧ92A"UZ$9@fF*J7֟ ^`Kȟ1AN+ŭKF#[NʃLͅOݨ'>_9m4vۆ-SUdABO"w5{b^KWL(!ZjMU>-R >}@{`%@dbq LSY.kV  =O 15[D!pܯ.*!Lym G$Sa@=m,BnLXNyHWZV~ף.>wmq-B8@ub$ZguX wֶ@HYo8kpc'|c|/|o3>c:TReYr CS sb{M|v`]Bieqz!~^Sㄗ7Υt}x02ϽЉb{rPQ&oIa7^RsccEru"-G6nq)8f ?'h|wMre?j u yEBs@o luGRjٿ8L<*'Γ $WAaDU^hby4;*1$@ct(H I(1bƒ&߹̢.M`ah;ܨôt\E:f b endstream endobj 2679 0 obj << /Type /Page /Contents 2680 0 R /Resources 2678 0 R /MediaBox [0 0 612 792] /Parent 2669 0 R /Annots [ 2676 0 R 2677 0 R ] >> endobj 2676 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [242.626 410.242 439.836 421.151] /A << /S /GoTo /D (Literal examples) >> >> endobj 2677 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [188.713 185.914 427.441 196.823] /A << /S /GoTo /D (Extending ODT export) >> >> endobj 366 0 obj << /D [2679 0 R /XYZ 90 720 null] >> endobj 1283 0 obj << /D [2679 0 R /XYZ 90 445.547 null] >> endobj 1287 0 obj << /D [2679 0 R /XYZ 90 287.579 null] >> endobj 1291 0 obj << /D [2679 0 R /XYZ 90 232.248 null] >> endobj 2678 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2683 0 obj << /Length 2370 /Filter /FlateDecode >> stream xڭYYܸ~7mH4@b tg^3v?>uQh^o`MEU5z?]jʣlw e+-fyϱPaw77?kZhf8u0iд}Y0 3uW?݌7|%OuKHi1_FI?4?C c˾Akq[V^} :萻UŻF>8Y3Nw<\σ̿禽tɜ{8.P5kLȭǡK_R}E[l(G@M{w i~ᠭҠW^>+z%urB'޳1fqprbP APÑ"fi l;9Zt@ʋB J6^ /,AQ똺\׻{,c/\4? D&p" p H!\%hu|,̍13 ) >Z*/ :Wyox\\1m\숅wUL  w{q8Eo '[@c*|\ӹŅSh< rW#]vBaPN,R?Qt֝]mM-c\qNw7׾="< ׶9n;t:I^B B86TQq36*WZ+?ĉ -JǠZch}Kq.gWۑ ᙪ?7uLX# ]uDںd ݑh, x7=hj"OózO}qE-3#vT8 # v8Pb"쀯!(+C(#J'Wkd(sDc;C@lу` ؐunc%(3t>x}." Cep ӟ9cߴWh{a# A  Dc T{z7qpj>29C "PpѹcȜ8a?6,#:Smy;X \vfu^m)sYh '4Jj{8U\pd 3gE/0iex&:ߖS1S 5V&{`ϱ'S)%3\$d&rEqn!ɓn^}~v\,@%Go!CZnrmkoλ'7UWRNbƊ`S<FB,ZKTR%/չ{H>UyܼQ߬"2˱2Hl7y8n+ypNmD,=Po助s>#s(QFԹ@KRb3nsOU {8Vbs&`)3dR~ŀ3bM*<ɚPO3<'ɪ}XI`IG]g1gv 9 j^m VmP%aKi4_:~yFא1Eft7MM2bGR" Ce]s([L+၇>HK Z/œzakdzc[-V:I`"]`E 0O`d]ηOpgST(ʺER%Q{ ĥ1NΚ=t4C9#:ci>Γ\gK? $h۷7e@N'w6@q.G&G[MN@shHVIKmW`AH<2| r<ec'mKq'@@O_tQ:tlŝ[ e5׶i-Ag;UloeNFo@bESz 0_'7 K U endstream endobj 2682 0 obj << /Type /Page /Contents 2683 0 R /Resources 2681 0 R /MediaBox [0 0 612 792] /Parent 2669 0 R >> endobj 367 0 obj << /D [2682 0 R /XYZ 90 720 null] >> endobj 2684 0 obj << /D [2682 0 R /XYZ 90 682.013 null] >> endobj 1295 0 obj << /D [2682 0 R /XYZ 90 561.9 null] >> endobj 2685 0 obj << /D [2682 0 R /XYZ 90 503.324 null] >> endobj 2686 0 obj << /D [2682 0 R /XYZ 90 438.931 null] >> endobj 2687 0 obj << /D [2682 0 R /XYZ 90 361.461 null] >> endobj 2658 0 obj << /D [2682 0 R /XYZ 90 218.642 null] >> endobj 2688 0 obj << /D [2682 0 R /XYZ 90 152.128 null] >> endobj 2681 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2693 0 obj << /Length 2100 /Filter /FlateDecode >> stream xXB|(}}84-ڸTAH.EʔNurovńOLf|+fA2Y^q;Jؖ~՛C1LL>j67J)O۩2ʪɊ 4ODj/ݎ//$DBN$`B$dS?-/BYVrX{)@Js`TGGl"5ODX_,vmΤlmcT@$wr]]>&G3˞uYSxMzECY_qܹF'^f(#HŇL/۝&^4?&϶jD4icO?1pz_AZIB X`J]Ժrݧsb({ʚ- X߽7˄I}ZeMVi@uk.Q '1qK1qtZU4xtȰȶOrnPz h|R4E"O|qufF 0936[pLP&CIGe{.݀RFN4E6zd>s l^m\xflUkH"'E A!%ƇCBht RQ^?ww Q},]n掩/%x4at<-9Vs ɝM)s-?u0x )Iun\KuBX;m`#Ơ`, lUL(IJT8B%쨨[7S:x9cEܚo!`]1LLV:`̕NЅ.sbкvic&[:~ ŧGҚB4 P,Lo ,q6ӟM8hS8{0b!-8DA R#+^fXY~G3t[[L9V6s@YP46k[U,*)IJK!8{S0@2Ӎ+u>l 6Om nOX'&j_ ׇߤ`m˚$^f<>Wr{H ݥc"⡩7G&zmUVfg֜qP {6c-,.4*N ]{4P(CW~mss77Tghj7Fw{6vs;s9TWxYrEr4u( p Ϯ~:`.`Ѡu1挋]+Iɿx0ʭ>`T¸?J N8Sa =gSFM@_VrZ>jDTx*J,fg^.#{8af˩P@,jAh.!; 7R G٣Q xxr4eޖ8d6۠tX$aX5DNAEޟ[,?𻹣/=YHr&6"]>n-VPe͛;[Zozލ)ܒNG{MPKt:D!SZx4ȏA:yqCԬZؓAe4?|GLbS;\e^68ϊf9&<pp\A  >nXxs PxpPsm3w= `wH ED])= ⨾R)xJ)= ~+L<)5r 1L+F0'6-B|b`qɷ%0u[J/4+RmoK:XZ@ qxWSneAb= ,Ni#|`T'L.A49j(OәTxEǧ?Q޹#?|i#WC ;,9ewvk@W4Pt@2nk=xI(sc^VUbV7_+ endstream endobj 2692 0 obj << /Type /Page /Contents 2693 0 R /Resources 2691 0 R /MediaBox [0 0 612 792] /Parent 2669 0 R /Annots [ 2689 0 R 2695 0 R 2690 0 R 2696 0 R ] >> endobj 2689 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [447.204 335.292 522 346.201] /A << /S /GoTo /D (x-orgodtstyles-xml) >> >> endobj 2695 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 322.141 153.418 333.05] /A << /S /GoTo /D (x-orgodtstyles-xml) >> >> endobj 2690 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [447.204 204.656 522 215.565] /A << /S /GoTo /D (x-orgodtstyles-xml) >> >> endobj 2696 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 191.505 153.418 202.414] /A << /S /GoTo /D (x-orgodtstyles-xml) >> >> endobj 368 0 obj << /D [2692 0 R /XYZ 90 720 null] >> endobj 2694 0 obj << /D [2692 0 R /XYZ 90 535.467 null] >> endobj 1299 0 obj << /D [2692 0 R /XYZ 90 483.506 null] >> endobj 2691 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F60 13 0 R /F72 7 0 R /F53 1758 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2702 0 obj << /Length 2149 /Filter /FlateDecode >> stream xڝXoܸbPW1C/# ,P Gq\3R+iegU*V,Wj;3V!#'cˣ1u޴2"T*^}_" /XfQ^Q )NucZ%b\*R޽\H`rxLo[ *"+zgvO"t[&l8Yߖ1VߴzK~ۛMM}o zԵ[:ZlI'~ۗ'Spd P+`9)š]?3Bp]` _'dAR"AstE5- _?Ӷeahul9r ngVaZ^#{Zw `Sn)b>9+ۥhd|9K!(z1.S/%e2UYv&yR&@Uӈ|Lciư2Js,Oe>mzOzH#`d\-PcvԿkQeUͮ{Yj׎ЎƟ,r(73[4w 7{+츸b*}xmp6wMe[W`o @ya{m*'гD2.DDqz|io¦C+)7fgHd"'YO?.LsswU/갫ω9ǹ'ϔk6ܖmׇms異,s[61KEzbё* G4f6Rhk AjɴIˢE*Kd]B4q% z4:F8οnt;W7] X1ː f;]յ>jd|H#FF\8o%5TGD曆MF9HsWv^wٯuyd_ڱ.뮇%AV i]|E,fyoX롸@[:Z.ڒI2u|$ 䱂"Yr gZX:4 c!' %<7t_.BQw~tm==n|6-.B{ %prN} X ZX2UxS# [,\@ (ESvAIˊ\>ԅq<&1`\x+]X5i#2IO{5A=;k!ikR(\ >L%ڛwE{S^Wa4'G(5 Kԣ' h|Ɛ;JMߴ vhq2eq('z\+_Üْ;Σ"sP(J4]9h?|I5f:2 SYX?*t|0-]K_:Έ`2eI} q,<&BzorΡ*L?< @'ߓGZ+S2'Esvtm!pɡKKd~#'#Y&cu9 @&?+R53/_^"萄[XOm^RlATWա|u(1uNѦeO;O' endstream endobj 2701 0 obj << /Type /Page /Contents 2702 0 R /Resources 2700 0 R /MediaBox [0 0 612 792] /Parent 2669 0 R /Annots [ 2697 0 R 2703 0 R 2699 0 R 2698 0 R ] >> endobj 2697 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [455.012 574.627 522 584.324] /A << /S /GoTo /D (Tables in ODT export) >> >> endobj 2703 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 560.87 250.849 571.779] /A << /S /GoTo /D (Tables in ODT export) >> >> endobj 2699 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [361.824 243.913 482.139 254.822] /A << /S /GoTo /D (x-orgodtcontenttemplate-xml) >> >> endobj 2698 0 obj << /Type /Annot /Border [0 0 0] /Rect [104.944 88.518 241.776 100.884] /Subtype /Link /A << /S /URI /URI (http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html) >> >> endobj 369 0 obj << /D [2701 0 R /XYZ 90 720 null] >> endobj 1303 0 obj << /D [2701 0 R /XYZ 90 621.439 null] >> endobj 2700 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F4 1765 0 R /F53 1758 0 R /F60 13 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2707 0 obj << /Length 2126 /Filter /FlateDecode >> stream xڵnF_!`N9WA`Q5I%:&UsB)Rop8swE ?taE91B/֏W$щo 邦Ĥ.ncCkfpΗ]%Bve˺iXT%UrF M*i4#ʅ҂P.a4Elc$JKmO[G|d&o4: +qes\$_7 8WUt D0M2oPb[׍[c~EHwkxZox;O}qz;BOOm~W[Jr;UI >ã$r'@U%SJŶgd˶JM9Ԃu_Gݷr^$PeYU ߸/eV[?凕4{Ptx 63 &Ҁ` %mvBZm:x{}e' FL8˛KJIsPJIxF90O;X[6_WRL]kb陥#D~JٌMF|cD c+FT8XƔ>S EͣLS,k6r,`_0?S?$L(u>x,ep `2;hƬSCtg56D U{rwNI"j欝eDPzq!yO5]p ߋs08cL9s&2zqƥ M6xYsּ8oL .qvm]\:\,\`(2fz5J 2xC!,8];0_je< gi 1m|=׎]N(QT8u10?E-KGƠT*]oB}4A#6z3!^C5a$Vj#:v"%XvD\c ]D*^a;?.h'>[]/Ii&z+GV|g2tnoCuyufZ㷓$r~@kfygbNOǕ)E{G`a۞:d*oX ݼnwٯt7rs0~h#1F=טЋtGTk`aB=(<6 Kq6?|S4PcgZd3U3 8"q;|u{k a4* Y+ (D67S-0ԆqKe;֭{zF ٚ.!2d7>$: <{w~eN el`XOԅ>l]le0LM27go,<š =z=p/ G# v? C? lы{ <4jo:s4x6x@HlM3]I\G*gi ܴMS3 ZOlV9@ }*,ոv Vm{a0Di]S7Cϖ`O 'e5 CjfNǪ#~5Yuh $Xԇ$bAdXx'p};oC%͸1yHIhl+{";]nz%ϐD\b| endstream endobj 2706 0 obj << /Type /Page /Contents 2707 0 R /Resources 2705 0 R /MediaBox [0 0 612 792] /Parent 2709 0 R /Annots [ 2704 0 R ] >> endobj 2704 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [196.509 321.598 317.116 332.507] /A << /S /GoTo /D (x-orgodtcontenttemplate-xml) >> >> endobj 2708 0 obj << /D [2706 0 R /XYZ 90 720 null] >> endobj 2705 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F52 359 0 R /F53 1758 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2712 0 obj << /Length 3022 /Filter /FlateDecode >> stream xڝYmsܸ _~84_$JI5&f7"ɶ?x!bk')WnB'7iZ$"t/v0a7oFr#C"6;ei^owDN٠톪2 87qHgTuRs¤81Bjz#S_vy[ͮ߂(`f'0QO-d4I{>߫-|eM]FK%ɉUIb]{VPgXC}Ɗchap-z0ȫl(>L0Esvaj-ѭ j[Ҷd$/y6, n0I2`2j+AǪ)L)^Ǭjr*VT~W5#T$IgUSkRi8TKW-na~CUXH%"YwjxM"v ?YQvgMqNDž8\j]v 9߶8g7ӂ/ =g$P*mp욠&iK9*iD0I-˖J?Uqմ+$EKD~:wkр{"huY_MVx {t~{BLVLUS\;fJ7AAݜ` `=D_iaͭ4-gdהɴ&s:vdec]`` 5?Yu pha}Ntc3QP*PS-bXRHY@dG4!%]w: sSƸ)%b g)@pځvϳμǑ3o)!^ñ+/8dX݋{i":Rhc!l(u6\cCNCTl[JOnk&Ս$IW|R0Ѹʗg]~[\fxv721؜HՃ ) Ђ#S\DayFQ 1wKѳ˦GˢB`CB F8w=Ħ}l4Aڢ\3ZDsg.%R8du9\ChLBe\fb=]mc@Uwazjydc2J%:D(7xz ΢yudg~4-w+VHy VGvC&v1~V_eK+u RXV1U &5-AOo `=\F*7TW0JCϓs;Qak6ʨD> /+g(f|:̘[9;8/$fKC)`L~ϯPJ) BxjSaK˸[7}uq+$*p U'y5r6L +l w=pmfӟdP9&Wޢ;΁Bl~Ë hf3 (0(ðPv1o 77||n17ʦq'IGr`A8IVr!vSו"B6-_wGXm1Xho 9<9ab k쐢((NOjzxBa4r9 |l1 g($I/$0[q変"G @bt|!I3_ RX>i5^ ^pY(NQVJ`$せDo<5_N^‰0j(kǒ:ʿ]^`8vGn+Jt%Gp78u\Y*ve4u_*u_$A.E%)Ix=Ɣ&.v vX9+TbYL}'>}@jt'%9Sˋ׫ҊpB\?qW>#1%xu51~-"M0IPcyrL J|AM >@PpO(+CT!f@vWn>pTձvsfo. ݪ+7T$VXce 6cCaq7 =iJL!>-ac$0zVm .$nH.*~+hu0- n4"f(8OHTXnl(LDKgE Iz,@#Kz,OT?6*4^K&cd3E~h*ю\p[a;!HcCc'QWԕhP OL--'/ endstream endobj 2711 0 obj << /Type /Page /Contents 2712 0 R /Resources 2710 0 R /MediaBox [0 0 612 792] /Parent 2709 0 R >> endobj 370 0 obj << /D [2711 0 R /XYZ 90 720 null] >> endobj 1307 0 obj << /D [2711 0 R /XYZ 90 533.07 null] >> endobj 1311 0 obj << /D [2711 0 R /XYZ 90 348.838 null] >> endobj 2710 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2716 0 obj << /Length 2521 /Filter /FlateDecode >> stream xڽn6_1oWַ ).+"L$MmR#M$ ? yD|_**[mA?]p @89?^|#G9_m(6Cp/֡2uT\?֡HLeeBD(f)FAkqR%rrhţlȈ`a} JϦYԒL$X%D7 % ^xt#Z*QLx`&!8j/I2{}(:G~Ѻ!T8+w,\a <3u)KӴ%S&gǶ }m9ト+f@URLC ~2шFasOe@Si(&so QH G $N3X/k%g6)'Kp$#'Lҷ %4z[eX%(ط .o{ů-$[Po~on`Op$;\XCܼyOUTfH7T q[}R.2ș' 408sOn %%}^WCl5>2n4A*8UA=ENcpǺ.#Ņ8K9)+=~rx?եSGb3aLyVBJVi V哏NqTڐ|̗6,Vɲں][>-j3ˣS Jz,q1&f9tu8*V1C:F*Z(#IG2bWPzяh%j_PNxBڣڹcHq|qlȫ5SRZzI9 Tò(x fR.H͙cM G.<$t%B v'5lQR8{Rr2[k͟zep`\LĤc&XiBH:A*93~َ].f:hSA2tJ 6Z2(g8!z@jIN@vf eM(Jx( YZ 5,W(N0&29?N/LQoA c񀉃LØϭ匳FWs;gFJ^f|992/E_K) q,SaqA (Yb;mimo a:pBݏe$DAbNk) ט5Q78ϳ3;aiMhߵX= ; @ AM+r_\㧚,L Mp :dQt000M=qBXLn/ǧ7|)XtP[}>4;|ɟpG'.84v%GYOea88CXcهT,TNGdz#PWV6Cb'^Lq4k ^x֫Zڽ޼{˖H^n -I[zLRhb#d :LHfs K#C'6V KWqٗ"sYoAhU gfr s c-Yؼc*&Cʃ=UC"Z^Bc:!*B`ߐ@VG.B|ҳ> endobj 2713 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [111.879 293.691 338.364 304.6] /A << /S /GoTo /D (The Export Dispatcher) >> >> endobj 371 0 obj << /D [2715 0 R /XYZ 90 720 null] >> endobj 1315 0 obj << /D [2715 0 R /XYZ 90 422.084 null] >> endobj 1319 0 obj << /D [2715 0 R /XYZ 90 269.002 null] >> endobj 2714 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F4 1765 0 R /F72 7 0 R /F60 13 0 R /F3 285 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2719 0 obj << /Length 2303 /Filter /FlateDecode >> stream xڍXm~bOZ`zW=m/-#@-ѶRF[g 33 bLӨΪ!їJZ! ~Ճ:fTip'gci,˃ch]7Yŕ TQ=kϛˎyɑP3%wg*,Rig>k6'IUyE$ˢ4Oum[YOo^#dvshސlNo{#r&.Lv=VSEJ0+yfy~*a[p߬HP$̒,*DQ,`t$|}, EZmlQsŰ;jJ WT4J/IAXA{ؼ0"gJkkalʥ@ <%ԡ39sN\Nwl̄aq0OkL X->M@~oBok0Cq|YK%5DUݤp\pVf*H#@*Q7hZ #->-azQ`H:iُy~˸bZL($Bp ^9_kYkx Sm7/'*n}4ހ9pgqki 3TV&?f&'^ t,8jur,!`3 &n:s]g1Ai:L ŭX$ S)Q+Ӂ zc: BPюk|ôバySoB'mRg{iǸvktli$ Zm 2 wTM-TU]$kƾ. ߾(RRiP&j$," q ƀ .rB+ 'Pn3TRQg7/ nxw;ٌpF3[kǝۡ2=,|>tq8*8phgMlOrHQg:c}0*T T;yT&嗢>n[}ŐZI }1Oc7[IBM6DTڵ? sn/ΪۖyOO"6~{EŸGGZ{)|AE&c 3O&Ô5;+ǰnQg&ED% 8ʌ;^)z-l$P)[REPMRJA^ M"T]⪀O#hQf3IVjy*4ΎeSXbЯT2k:50r%cEX ^zqY=LI [b? 89' FT砑{zEz=g%̉iߘXcg%`Ed&eV^%V\@Ŷwnµqғbȝ!P x Ѳphz*HyiuݟLrFƬ1O_&.Tu S<*y((ANKB Ɨ 8_A=r+ZXT;*J',E1{V[~XQ_5֊*曁$X{QJ/W_y`2l)A1!*4w>߭(O_tߵR%yuk曍&)-#I-B68J@Х_6d*Sx2^ob5^hzy bUlU* #jW4`!{^5yNs8 CDҞKuUPs`AyE/Y9"1 U~8 AE] %s ߺJFsqvL1J YAvSe8w#dW@D杞$@ ͪ*gI?W'Ckgaս|.Fٝ+/}ÛYDeA–/xe]+;д[}:]M endstream endobj 2718 0 obj << /Type /Page /Contents 2719 0 R /Resources 2717 0 R /MediaBox [0 0 612 792] /Parent 2709 0 R >> endobj 372 0 obj << /D [2718 0 R /XYZ 90 720 null] >> endobj 1323 0 obj << /D [2718 0 R /XYZ 90 611.32 null] >> endobj 2717 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2722 0 obj << /Length 2065 /Filter /FlateDecode >> stream xڍXKϯ0&iE.f&Ƈ 2h[iYt!}AmG "b_[n2Jť6& ԇ72"`8߽S&72ˤZĮ]pH)%d~iOmcah#?vzq宅Snt,f.\4m颶F i{Q!8(*Yڮ#eL..q -DFy25Eok7%gUcmdtbDoGT,LaEԩMdFpl7i$>0mj0i}aۑyHVdDž,7W_Xf*W)>G{,k|\jbsx&,9BW?E4:Oq7*2Vlo񃓦;xir؝%~G݋?F!h: 7.+,˭Uno{rGA=ADoh@9g y}c:}(Y^WW ~zc KiYٝ14 HBPoѻxBrx *j Uj}\Nark!jDNe'8`="#^Pg,+৘S`d}TչՒwWcc{w'~<5}k0g"Iğa>>T~ְD*6i>Lyߡxj؇#Xdt4&%:8ˠ:`ktߡIq"2˥m0 qG\H 4LMBIZ=+5Fגfn_v`] RS)R;5, [-YSΞA1% 8ɘ >BB"ְ%i;p>@t!H+ `dq>wS3`= 9gM2gBrR-ajߔbrw¨&uLz+ŪuӖPATXm`C' ThyM!Թ h'?ܬDn#LS>Sw?}aKP6A$X*sw4PΔ2 S 5k̊N}@;&[AJg+~)P"%By.lqW*˯VP+V)eSmr*xx1W:1#:BЍ2?: d$>op^<8 o1;T BjDa62_2d}\˽g),J? p!O@Z_Eܑ)ɂvv5k0-ߺG[^JC鎓=6%8ROB7&*zΕ}yY΅`8T6-i)0r Ed1":]qO5~]m ׽ֆAmPfLFw=| v>~Pù&oe}*g2=V a Ͷ`[*p/2kcXalSi;X+x>_2e6<B~o^J?BdE endstream endobj 2721 0 obj << /Type /Page /Contents 2722 0 R /Resources 2720 0 R /MediaBox [0 0 612 792] /Parent 2709 0 R >> endobj 2723 0 obj << /D [2721 0 R /XYZ 90 720 null] >> endobj 2720 0 obj << /Font << /F51 8 0 R /F3 285 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2726 0 obj << /Length 1198 /Filter /FlateDecode >> stream xڅVn6}W*Jy @n4~)6ۂhLN~|ʱ{ /93gGd~h4U8XQ0GgW|؈4lqbVەZNh%7yF^ĴV% ˸d׫1K Y)92*Gy#r 9Z.vz2y][yc5;Rev8Sza'QF,CL-^[p*8Yfvk>Xfw[Q&P/!mdNm*촪UF Sj%M4ĆS-ިƾMLe -A[)j*m|gs7n. r܉t8_^j-uGò@?iz ڼMI񎕅i7"1?>Cs$~cE%+/ME־hv!~ﭕFTʲΨҴ=qH8Lh?C;a5l:]ꗎhGi|@vX!Kɰ.uu +x;=|FK5Lg(4ɢ堃SDd0=Q$8y3x=@[+/4K'Ĭ;^wO ap|Jcoʁ=۶>% Q Sm5ro8'KPԬ nŞg%eXC3h=As۽qUF:\G/a5CЎ*gV!5E:rH㔑6TlS8g8n4&@1 Wܣϯp}r#L-ݼ}0ad=jcٵ'R=Ob /:YC38C Mb0g9y0nw MlJXl}mWav YT?:9J9Եi0^@Hh40߁0AN@Mh 5]" 5t[,]V?.<_;(#e2}ץyJk H-aLשy#zNٰyp moOĎYqv:wZ$D?ݹ03`78/!cp|>jmͷ+Y3XR\' endstream endobj 2725 0 obj << /Type /Page /Contents 2726 0 R /Resources 2724 0 R /MediaBox [0 0 612 792] /Parent 2709 0 R >> endobj 2727 0 obj << /D [2725 0 R /XYZ 90 720 null] >> endobj 2724 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2731 0 obj << /Length 2421 /Filter /FlateDecode >> stream xڝY[۸~ϯee REyk7 ڢ Sf2VF}ύ2l"@,߹s] &+<>Ie鍒/oPw*M6F=<,vwF?ay~k]Dmی[h*֑*귇0Xdw$B"ٝ*LZDZW:QfTu}Z*"A@ e.ޒ^)R.p">&3 k˓uO"d( cB5g%hWIHQyETW|M?\۞IbBw|L?:K܉16 1u >$:K2$l롤E5Vl0~k}珰7T qSZpinnha6T[9{N#?@K6aǨ\3*}hMg7C$*^^/vF} ;4*b@+y 5,_lb#o!әt, #WL{Gǫgq@ǣunfJ>Z'RZg0Zh0{ _(5'0sfASmqzOuDi*@kl# t#>*{k:n$_h>1g87!gJr>@Qst5/B+u>Eփٙ} wvqWV$IԢ6T&7&6y$8- mcx7 jpWõi@J@',g# ]W "k VSNF4'Pg$NY9 M Sy3co3; o2&:L>; ,y=,%|}&2 |9}zn62#(^cr9Acf'Ww^_**°+=|!j q_ ` =`I+y@PG7yجx?:/TV Cs]X5ݮ2c2Bٮ4oAiqi 5R䲅D2GlHë敢6~J(/+s2&%jV(Ӿc(*ڝn)sm `0t 5H` }Bw Os] Ӡ Gؽ&wc>?RMXjvp^TRs@y?ӊ-w3dR\?]t? WT8P3:GtU @$g1nU"eKfB`m h0fkW8qy`ippZG9o( 3+$̇GbiQw)f~ ǽvBysTFRg/H34WT\:"61őT vx22cX>fE輀`%%IV P${r W#yOFU`g|ٛx ΠIl{e.9 *R;+N_~w'LiЅEo$]y\@8Wig򗌢 #>,p)S0$Z_;HJvVl#UXa|yymzhƅZ(yvzJB kT7( mKOz}yc/̥q endstream endobj 2730 0 obj << /Type /Page /Contents 2731 0 R /Resources 2729 0 R /MediaBox [0 0 612 792] /Parent 2732 0 R /Annots [ 2728 0 R ] >> endobj 2728 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [253.435 128.916 439.86 142.067] /A << /S /GoTo /D (Uploading files) >> >> endobj 373 0 obj << /D [2730 0 R /XYZ 90 720 null] >> endobj 1327 0 obj << /D [2730 0 R /XYZ 90 720 null] >> endobj 1331 0 obj << /D [2730 0 R /XYZ 90 543.99 null] >> endobj 1335 0 obj << /D [2730 0 R /XYZ 90 484.79 null] >> endobj 1339 0 obj << /D [2730 0 R /XYZ 90 260.267 null] >> endobj 2729 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F102 1932 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2736 0 obj << /Length 2771 /Filter /FlateDecode >> stream xڥY[oܺ~ϯpxD1 ڃS[J[I Fv \ɛKo 3pz/d`xw3y#SR'onGV7?^kHv7&K>\z8N&*l'PϷvzaO8BYRW, Н΍_WF,=I$+']Ͽp1ov s鿶DN)\M-~az- wy{i>Pj;;d{v/]&5+XXJsn X!hP"O$wuϓOQKxrc lL4zRRU a?~+H'\6YMFe)갻0nDݥ?xO`zy/`0<4)I03d,;1qσ񄢽#u͖T QeiwRREû O#A?lvaԶ0 eR8eiy8ƱѱD玏 <,%tӹr !ګ-/NW:ۗ7J؉ـQ+8 'IK˾'ޅs6L mvN\f_V& )kz$ sirHsȡ^חķ))Eں 5H NllY%*@kS `R/N@L.ǀpeF(#[ (Z?I# ڎKYpG Cv}C@P&$`ua8Y 2\:#kK ֓ zI-\a6Lq#A9X2<ۿ+aCʜ֛p TյG^1W%I#8}:Ǝ曮 @z c=e x7"ኟp_-E1nH_ׂPiDnr*1`6U.Q#чHH'f F?A`dbddHcYUE!Q+~,]#Oؽ>xF"yG8PrU6Cyq"M%%G)~m`zi]e谍K[k_۹߮S)l~Tnmәqppn Oqd{w+s-xa!:0mYf-ީ@A!1!.Wj<3%u6\RnPp0oS1)Β|BbZ]w\F~ *0jVX3toՠ9:4z<;|;>}hV4D@cm+U>ϕv{C AdgEПr *k+km*`QJu bUf!?eMk0ҍR@I$X6fa -1O!\MڧsSS."c)e .BB Ԯ{fki 粇j L*z{ Cs-α<Ոbf pru` x_lڀ5 S@d}{£m6@}U v((x޴KS𲙊C ~u'w`\v2%Բ8O4&ZTInf \ bK6!XXUzØ-)jzw}(m6Xs(e p[B,:v M 7P:x³$TJ\ ǰ3=oP1}1|(,a J9,[pRJɄ\EH\Ht*CHC7*Z:D…|[@r lLݸD\:s6^:2Aph AJ_!]&EVrxlgb/ck5qQYy8sGa[,j =a}(eݒёa'&Ggx*V/>\1 *6+yD5iKiElQO^-#s9] ,ce*EOӛ :ٛoDuÌ||w r͋!U2R7V<7D%҂rM\$dy. fKsfE?x #z3|dXd3LZ.xT-/γ%÷px*%\;j+T7P2XBA11 lr)6>z+*4ȻZSZu7&G9v.!h? endstream endobj 2735 0 obj << /Type /Page /Contents 2736 0 R /Resources 2734 0 R /MediaBox [0 0 612 792] /Parent 2732 0 R /Annots [ 2733 0 R ] >> endobj 2733 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 329.918 277.842 340.827] /A << /S /GoTo /D (HTML export) >> >> endobj 374 0 obj << /D [2735 0 R /XYZ 90 720 null] >> endobj 1343 0 obj << /D [2735 0 R /XYZ 90 630.384 null] >> endobj 1347 0 obj << /D [2735 0 R /XYZ 90 400.068 null] >> endobj 2734 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2739 0 obj << /Length 1225 /Filter /FlateDecode >> stream xڅW[6~_G"9\CzSjN0^;cGf77$1ޔY;M=NklxwtY8՛:h&$˲(ɞ$ϋr~D-IC2{Ӽaaߧ?$-%0`qLabq5B~WqgrFmI޲ݖ$愪#DUӗmZFzv8bG'^:aK,:<,-!10I]R0zV1(jI{ue9,b~8IP[sNL87ZܩLi/vfrT|- pX`}*Q uFlI E` 2Y:IYcf~ɦ:)0ِIMV UvUAZl˨lU2u~#ŜAh 3xfV HDbL|<(tX-h*09b!rDUBB\: -Їf uH2 17?#/sꎞW0cyŘ ֵ01;OdBfExdC)o"}CYTV e5ђahHE&wJp{Վ5#^Pyh򞑖ydýc< 9kvphYGa`򕑳dC^d8H5'"ԗcw큒νb-hu vo=!i4ܺ̈́5Р9` fPc/:x/5nн A-=}o}<[ GZ{ljjQhJA>ɬvw41s('Ahb-y_hB'B!DTYZ&dm|W:']KjQ鏁-NêJw 2z!p$ܮLBԍSeL{f_8ܬwnO-Vb9H>;A땩:{7 h 7w| !a0Mo@pS3j8Σ95sw6@ endstream endobj 2738 0 obj << /Type /Page /Contents 2739 0 R /Resources 2737 0 R /MediaBox [0 0 612 792] /Parent 2732 0 R >> endobj 375 0 obj << /D [2738 0 R /XYZ 90 720 null] >> endobj 1351 0 obj << /D [2738 0 R /XYZ 90 657.596 null] >> endobj 2737 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2746 0 obj << /Length 2383 /Filter /FlateDecode >> stream xڝYm "ukY_[{뵸-pbnz%qDZ[%Eqa^(ɇ")E. )JCʣOb g[}Z,DTi%jGke,[Jm}-E[YQ<Z>մβw$B[+R%B*nom7&nu{ژ~D1x/qBŌv-ۥ_ GMdU| zhv6f5uiebs?ZRRůeR dv7_`?v)Aj^]Mؚˬ g`!ofmi̇F5(%+ϓd; LE5~ttz\ 2 l3!;4 v{2L܅. L;R5#@ NгS>6yXj46ݎ6pnr![lUpT/@ԯ|a0#]Lmi$LH4[ӆy՝NpsHhTDSi7/!Y5 ܭpmZs~gCXƯ:< tWNB*6{GU UI6en(:/> X#x&fުY-˅*a]zxF+f"hVf 7`bH DG:LjZ&AoPI&'1 ^]0Ksof`|:[6, N T(p#wr WB뾛d90LGX 5Nq0Yܑmei`M!5<2lb9>2ݟ&Psw-|XLKD!6y|"Oq\GiJcdQs\-C}ڵD&1m( 3+H{RswPE*b>$?$OL2 Gʔ+:ew88?G 9 xG4#aJ9~1KtV\WIQ7s Oψ!Ub!da/4csE>HQ$I6T}l*2A-&( KIz9%3rn@%PP%ә¶Z>cc͡>~M+3-2qmp@@PY1fw7r _eŴ^~kq>N :\Pn:mHB`^"]}}%\:$JF] S5A2?`(= }M/A1%S=c6i".p}Y=7H{mWtA5A ѹPN["cemBa?xR 9{)T`#Ǔ-&*r92=O̖2}F'U#K||ɯ~-uȱ?RT  댐Jlcۯ]mz0D)5yA7|4FfYTvt(/uUA1suivctiԞ)'[ ̡24#h;DomE"IY]MRlo_,akvpd ?ѫѡrcRvONgY endstream endobj 2745 0 obj << /Type /Page /Contents 2746 0 R /Resources 2744 0 R /MediaBox [0 0 612 792] /Parent 2732 0 R /Annots [ 2740 0 R 2741 0 R 2747 0 R 2742 0 R ] >> endobj 2740 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [138.545 561.434 327.94 572.343] /A << /S /GoTo /D (Export settings) >> >> endobj 2741 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [405.566 495.994 522 506.903] /A << /S /GoTo /D (Hyperlinks) >> >> endobj 2747 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 482.843 126.538 493.753] /A << /S /GoTo /D (Hyperlinks) >> >> endobj 2742 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [204.529 377.055 412.158 387.964] /A << /S /GoTo /D (Complex example) >> >> endobj 376 0 obj << /D [2745 0 R /XYZ 90 720 null] >> endobj 1355 0 obj << /D [2745 0 R /XYZ 90 541.723 null] >> endobj 1359 0 obj << /D [2745 0 R /XYZ 90 344.8 null] >> endobj 2744 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2750 0 obj << /Length 2660 /Filter /FlateDecode >> stream xڕYYo~_al0/G2A]d<%ڭZA]mF?")UWlqO\ETؿ}7·B.fF\8\\-)/|uR*2?oUͥ/Cf& Dj.s7L)g<Id:JH}5=} ]U=D$*&m諿2 @\qXh^l{qaWb[ܝ[ Ct2>aUzV eagoPL'zĥzxΣtum8Js9~v[k %bb qE(u8: Zdhk4JWhe@گGlؘ, <04eH[oLnLEZH"0 UM۹{}ܵǺd(î{~=EXػX?!h;FMyi7I#뫲D&}剺աk1k^إA1jC68n O /<"_+J%'0ͲrFs-qItT˒8q˯^ejh=lO`t}G/a1~=Ed2Q۔=orF51t G'nL~*N SOzq؍YE6O'KLimzؾuGgK|~%O,p'jO{%p*#&}svn6K=?rA9{m@~A29_5mnmh0GT2B:SƘ,w;d]24P5N-t"O;<ϝE_e%jOs k޹ X>@( U`f_p1y>]t !zPxO]:X+T6mg) }Tg\/6W##? lPs2{ 7M%~"Q>/ ̫S '$F֮=C';Hl[JnsM`_ ,ݼ4:}lP ,k2PRTs|'r8)8WuW!wP?lZS9 'XlrT1cdIA0rnǰOÐ"*zڏ endstream endobj 2749 0 obj << /Type /Page /Contents 2750 0 R /Resources 2748 0 R /MediaBox [0 0 612 792] /Parent 2732 0 R /Annots [ 2743 0 R ] >> endobj 2743 0 obj << /Type /Annot /Border [0 0 0] /Rect [253.158 353.368 459.337 364.277] /Subtype /Link /A << /S /URI /URI (http://www.w3.org/Provider/Style/URI) >> >> endobj 377 0 obj << /D [2749 0 R /XYZ 90 720 null] >> endobj 1363 0 obj << /D [2749 0 R /XYZ 90 318.857 null] >> endobj 1367 0 obj << /D [2749 0 R /XYZ 90 206.9 null] >> endobj 2748 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2753 0 obj << /Length 2322 /Filter /FlateDecode >> stream xڥYK W4&T#nMz vE6p<{ tG^{ro)Jij"%J(#N7f߾JCWa۳8=lwBN<{6ݖ'.+HxYl~Wo,F(x*WnJ2.$t{ ZUicgl]ɇ4O@j/6N{Q\%:݇uVz\OoaXn7f>{=8lvv3w )tʙ{j8#qr#1& 14s2yaK!o* ᴟBy^/$0xiz):~ߢj{mTx{7X,ɸ3n(+*&T*iNWEV!hݓǎ|cwtB |`i) wIC~R <Q%Vzh-^$eS郀 !r!S;:?Hutyc=ŝ~lKƫ, 5lC9?oC$dt@`p>0 XX"C&DH RfplgbBu(?2'ب9G 0 2OF%~#Ul9+zʩd^AF,̀Nt8(P@Y\L؆Vî4z`Pm~"39E\ ƙ R҅zamO7? ȼp'd>opi|G-iOU/pO5RQΜ:)j'Ǻ"֝3 @FNhx(¯ٵ]dy γu?]Ċڃ+y)~L٪+'ޱ&Lg;8v,}v 8 P/.9΁~%}zz݃9/.x[t{RM2jf5xAuAl0u kZmLA7Z;i \<#I3vIȠ&=Q=^4 soooNk  !ZB4{.D1*1ZX敒0{|)|-eR!2q5WPc+@]x+n|F|8"k)'DV46^SJx*_C[c/D}ȯ^[)eT;_aQ|ha% BH^0`)6Vt7!ŻaI1?oVgQ*!\hg_WQ- k-&Y< {?^l;g0Z,* \n2?^}/2מks z|*z rK3G{UNX\ŋ|%CE [<+2 w'•@26Rw[!᧯ԫ p&]q2\qL~(iF($7yxgI,͑0'.><gr4:'إ[+.Rrwl̲"" R4䑙s\ Q#a_ClpUFJgO\(@ >~ !>5AB_խzH*> endobj 378 0 obj << /D [2752 0 R /XYZ 90 720 null] >> endobj 1371 0 obj << /D [2752 0 R /XYZ 90 549.56 null] >> endobj 1375 0 obj << /D [2752 0 R /XYZ 90 479.788 null] >> endobj 1379 0 obj << /D [2752 0 R /XYZ 90 304.292 null] >> endobj 2751 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2756 0 obj << /Length 1331 /Filter /FlateDecode >> stream xڭWێ6}߯06/ѢDݜ(fA@-ӒwEoC9Rl$X,̙áMW>U毒0$KWys՛ jGx߶뫈O2?ab_<+yt0 n\ȹ>j(֥NzAFCg|`_@->L!$&~2ĵGU'O.0 e7uzvJf}Q > w8ug-<ՙ,Q}^⸖-W@KףQ9O㔂^-nE=}{ֲUJ2j6-rPZ LM&3xt dݩRus2$t5թhĽZ_07=K]m9WoKD ]yALBzY5PZY'zF3¹|: _Q-$SeF_)7ӆEl S1D={y3<݉P)aɻZwš I!>u}}28ЭK}3VBDgf#Ǥs8m.ӧ }SV?Ky ,pֺ"8=!K\:tuݹQM%}<Оy \ǽu&aqTy/00 ZBMՈ]b6%)45;][oHq"^S*u7:Yˋ%ggA08 nh;pr3 [%08c#I 37H +|֏TXf/5'<];^3#%`M+ Ӛ\)M $n]4N¦)/o{@#ܯMISz9jĠxӏ->J$ JnGBwxLCB2l=9}x‚-&K&&q^rM0$@F*GJ`)0k[Czvc;I+r1 \ڽϞKU߹~=z\Z~N f:aejqMu:{dn zM?o\_x|}k~`v)"> endobj 379 0 obj << /D [2755 0 R /XYZ 90 720 null] >> endobj 1383 0 obj << /D [2755 0 R /XYZ 90 393.591 null] >> endobj 2754 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2765 0 obj << /Length 2409 /Filter /FlateDecode >> stream xڝYo~|X[& HiXSKg;3+>pv^ٕ\'YHIWH`գ_Ʌ Efrq,wC[4˕:reLkn1Sf]x]/W* 60UR$]\$SԟP22,u!!YXL"/'NrH$"֗r%@[ߔuu?/ [o|c ]a ѲuX`Xec469z2=}BW5n{FN(ca xGF"o_v>_UUdRJj!#an@s4$(b7ȶ|,<#tȰMq.)+b$N#aC8)xphrS Q8|BS D]J3 (p HS)8sH4Cm CIYZDLeCCޖKNGLnVtP=.8ȫ#|VFfez=Gg*f Œ`[ M Vv}%!ऩ ?8?h)Oa6?U,8 $0%JHyˢC5~,\6DQ|~p֝5VJ# y04Sc{ TU.+M^>o@Eծ _9;=ӲfΧ=.|=\Ϲ sثZN̤?Z[F4key BV3-/V91 !& g9huK>`B-MrzxnL68f/Y] &ٻp1}$+Xd o :̆؝ 'kǗkGO;qLwE.lt'I2cɹP[ K|1R%p?Tăt& 6JD<#u0*Kp^>rП1km8a:A݆i]۰/a~uwƌnLY@ xtRTEZ:¨wGsIv&NJ9 zibZl8ɼ\A^87N*Tp$}Hʖhi8|ϑdR)%zOHޡׅp€,ml[b˞ى2Iͫ)}9SSZc4 mQL ad vwCz<E(tԿ!֘%50,ZDJBkTE{s Wh2c]TDjTٌcfRCbH؁ϒ$;Op*#KPB|į Qz3eT,Ln*Z/>%7g4@A:ItC@ix?x+~O'Y@p}.63*KOh0oIY$8YZR NjF|,Tqogph/3㍋2 W >R`&]IHB?Sw|R;&A{ABIW3i_QfQW$ynijA!5lN "Va۶-Ζ endstream endobj 2764 0 obj << /Type /Page /Contents 2765 0 R /Resources 2763 0 R /MediaBox [0 0 612 792] /Parent 2757 0 R /Annots [ 2759 0 R 2766 0 R 2760 0 R 2761 0 R 2758 0 R ] >> endobj 2759 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [469.391 213.806 522 224.715] /A << /S /GoTo /D (The spreadsheet) >> >> endobj 2766 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 200.655 272.758 211.564] /A << /S /GoTo /D (The spreadsheet) >> >> endobj 2760 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [350.534 156.183 514.727 167.092] /A << /S /GoTo /D (Languages) >> >> endobj 2761 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [147.6 98.559 342.085 109.468] /A << /S /GoTo /D (Literal examples) >> >> endobj 2758 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [333.051 76.152 491.972 88.518] /A << /S /GoTo /D (Easy Templates) >> >> endobj 429 0 obj << /D [2764 0 R /XYZ 90 720 null] >> endobj 1387 0 obj << /D [2764 0 R /XYZ 90 720 null] >> endobj 1391 0 obj << /D [2764 0 R /XYZ 90 493.124 null] >> endobj 2763 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F55 1860 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2771 0 obj << /Length 2544 /Filter /FlateDecode >> stream xڕYYܸ~)2.6A =ՠ$N~}XE0ࡊ%-'HSQ>IF*x?;*aych.u8MHwX,׮Q瞚#w-n2ãRH_|?ɔ)Vju%u^j!SMRpf6q<߾V8+D~TȌplZдQ8|Tz"=OEoPle4dˢ@ .#ӎ?vg`Lۭssޣ`T9?*K*S+|{%׾PE)dQ`2M?*a8D-xF<]֨."(iEK=,ʑRW'`s.uez.r%J \_Q0 R ,Ax,8U%=vF@A´;"=xY"v jL}##. LJY'a)y(ׅӆda1etNʬ3}oR)Lۿ v=L_LYh'j i2B^Es b®DU3FھRU.2/LP PJHU}*Wɑ&uD",+E6@R=:ƄE=(C=(.?bXmzن,۹B $T%"B PFMsLثt /Db`JVh v_M۾[ϋoRz$2dho@;,Pi[^fhgZU>CнwK#QXQ?|2V\P%Av,ɬ 4^ctZܻ:6Žlfژ|^X9mo[XMUm]F(vTLY+UUXзe"bU,_-Po)J!ePj۩ۮI%0sNVJ7W)̣H3G36dr.I-]zM7jSs'RvhIdumY؆еPwSτʀ.61FA^A2*x$0'R8:f<_V3EcϝW>Zg{0PzZWŽ q[b-:Gԏ>Idzz/_1\Faۜ24nftqc( 56Om,5P:{x8Xm F4jo<"HJDGn3yZ@#/2DXcc6G Pmh(I3?!99('=J6x88F4x> endobj 2762 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [278.177 655.106 476.505 666.015] /A << /S /GoTo /D (Header arguments) >> >> endobj 2767 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [463.565 110.39 522 120.087] /A << /S /GoTo /D (Literal examples) >> >> endobj 2772 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 96.633 223.273 107.543] /A << /S /GoTo /D (Literal examples) >> >> endobj 430 0 obj << /D [2770 0 R /XYZ 90 720 null] >> endobj 1395 0 obj << /D [2770 0 R /XYZ 90 587.978 null] >> endobj 1399 0 obj << /D [2770 0 R /XYZ 90 184.608 null] >> endobj 2769 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F58 1759 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2776 0 obj << /Length 2130 /Filter /FlateDecode >> stream xڭXK820X}q(?/c;ŢHQ4I(]bWLʠ]~-#O~-;EXi|){_Jޏ>^?gb.,cQWU; GdSEowVgN iBlTy$+ylUG<}DQ E?k|y"PI;lu3k{c9MٝLp a<O<78峘"yh~5A^ 0 <7LiRGv _mUs* 6+r| ?H:wU ulrl(L_!,'bmsBsRoXVF6[)Ka5BfaodVļ'x@4vw u@4c9#`pQ)6e4PzS2-;T@z;e,nny ʼn X]kq(f .G!sp)#" @0O㨹P-R`~wcd]HAW>Pfݠ?+C^ T^8즮K T*fÚ$ BU]lD I3v/\tц yN`n )1rABb˸\K=:޽(銌ٶUCُ+=U Ç &.IpJNFƆ'y8q'̨ަ}-C]6CPv4;X?Ѓ#Ɔ ^.1Ytt8 .4a&%];1]`ePmmpY_kWb,ԏ#=E*䟧-mK3F~3dž`Qe\x]q3p D&aCfS~~nTJ* z:[T 6Q!Lp !69&7y= hU_gC Bw(\Sajjh|8?340bX$y)QVg6ك餡 ntE{qLQԹ>n,ͦcq E,&΁8LPPCͯ>22k\uO_8 F&8XR=nv? xEԴeEa ]ŗ,ul\vQș$1;.'OIRIhZA@ E8ȋ՗'τ7^"*'h yܕ g3/O-Q(n, ͜y>dp.@{+"|>o^":YV= )ץfsUĩa*e\3?eɩn;R#ܔ5Yn%z67'܈Ĵ?9'A. C*y endstream endobj 2775 0 obj << /Type /Page /Contents 2776 0 R /Resources 2774 0 R /MediaBox [0 0 612 792] /Parent 2757 0 R /Annots [ 2768 0 R 2773 0 R 2777 0 R ] >> endobj 2768 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [208.6 632.786 403.085 643.695] /A << /S /GoTo /D (Literal examples) >> >> endobj 2773 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [369.997 252.171 522 263.08] /A << /S /GoTo /D (Noweb reference syntax) >> >> endobj 2777 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 239.02 172.788 249.929] /A << /S /GoTo /D (Noweb reference syntax) >> >> endobj 431 0 obj << /D [2775 0 R /XYZ 90 720 null] >> endobj 1403 0 obj << /D [2775 0 R /XYZ 90 327.297 null] >> endobj 2774 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2786 0 obj << /Length 3058 /Filter /FlateDecode >> stream xڕZ[ۺ~ϯ0Ї#(1A6P" ܕVJ-: 2|- :btR%Ȧ}x.pCEIk1x9tr4(PM{sۮbCE1iQH'UQoО8qk)GFʑ~7*pĎ@U]Ϗ1&6b 쪟[/q{i"{H*t@pPٓoq,Tݺxh*T ۏ F`}*킻9(9S24)VfZx(}9 Gh̚anj4j<āۿvU&Th:FX|0 IH_~-:5 I㓬y, '(o9[$Yľ29L5*Mrv墜uc7(-BiO*25Nh; d7R`-./鉉 ՒRBp=GuU]`xtI_p?s^+~ T`I,\M sMO0zґ]g 3h?& |!do8 zy@myWuMgSqn( _j+F r)B0‚_\I_Eȩ? A##IYשG_h 'X-MNs7#?h( endstream endobj 2785 0 obj << /Type /Page /Contents 2786 0 R /Resources 2784 0 R /MediaBox [0 0 612 792] /Parent 2757 0 R /Annots [ 2778 0 R 2779 0 R 2781 0 R 2782 0 R 2787 0 R 2780 0 R ] >> endobj 2778 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [139.337 399.078 317.877 409.987] /A << /S /GoTo /D (padline) >> >> endobj 2779 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [245.89 385.928 431.356 396.837] /A << /S /GoTo /D (comments) >> >> endobj 2781 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [112.196 219.745 279.209 230.654] /A << /S /GoTo /D (Languages) >> >> endobj 2782 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [464.107 219.745 522 230.654] /A << /S /GoTo /D (Structure of code blocks) >> >> endobj 2787 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 206.594 264.67 217.503] /A << /S /GoTo /D (Structure of code blocks) >> >> endobj 2780 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.447 98.979 484.642 109.44] /A << /S /GoTo /D (Code evaluation security) >> >> endobj 432 0 obj << /D [2785 0 R /XYZ 90 720 null] >> endobj 1407 0 obj << /D [2785 0 R /XYZ 90 349.734 null] >> endobj 2784 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F58 1759 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2793 0 obj << /Length 2695 /Filter /FlateDecode >> stream xڥYݏ۸_aѳ*J>4H>lW] %CP&ez7a5I3o>$VU$ ~y!xE+QXDX],vmh]ÿ/݁FeM%ii[O Y̋vNkF$P^E ~ 0KP2\o2'bVg- iFi p";Zyq{l# aX+"PchbE#WŸf?ַ}?]xIVKz9RPUKSJDea$`E( "ޒS%YR#d3XQp,+~]" Q8:zF%3:H ~M $[d_{h#M"վ5gN1S؛lF322(lc٣\\P!+tA&ag[\%lVM vK˄u5 ["2}l!P,e)P ~|n,ޫ_J?ࢇF<"s4U!'te?v~fZϛׯv"pm_; 08>'U{MD9B:]/ޜȷC$s7(.=z0$eq5 {.|" DI wMCS};qå7摝_=l,M !#ɲPd({2dڍEK7d,2?~q'",pg+=X.`{\4EH.AJ&B 6/01'!h&xKk[u2`lʂj[C!e42出ihyD|,p@"-X!eJA޼t"}Q0e+-M1?HXQ1qΉ,}/űdbd~sPñЬd qs$s%Fr>}IuidpJ^RN]E;,v,5RQXΙƮ tI* U Ɛ*MW`0E, H}^}-9?t)fG{ξG!D.lRK 4-p4yڒ^W}q%\ 2GKet'w)Z^-Ǧ&%62gԙf > !A ʋ39+4`֧X~Npn  bp <!$+ ~_4q13>-ƳXA%.jr;2qhyB Yk5B0"=@bUo0Bh@D&| \}jF iN WkRRR?br0MV~kSxMzthnާ$sȔwOKY6ˬ /0Kiuw_!ϞԙG)ɞfVpZIm$p5/vRۍۘwӝ+rslr.UX}"y*->=ä́OƧ0pPۮ?jsIͯupZ\0{ez'!E|bB#N4p~oM#]p1:gC㳲Lyn=T=q\9D&N ),b8ZVz>V\1afC6MȦ94w\۟qz=$kPl:ԧБ榴fń>0Ѝl5|iP{[ 'eƞrSԳBH,7 "bKv~!թmEn@5qwd ӳR*DizsTWD/ DW*u@ )8}Y|ݚ@SfщQsT,԰mi0#C` {HwjRih>Z}C`)2~/[uݲUȣ%,'q= AHn_C5{R&r@WnfTݼ#=c7$y(ugĊ#)w\d+Hvc{+.E dW4~g%-]q-ӜZXIp,u:whCB)wҍXܽnaxFc8}V]kjXܲ]隀ˆ|zu OSu3GZhq .bMk-Kf_H8AB8g LX(?!s3.{0 T80%'M d {WC5Pc[X⿍GkϜR<}V` q75.={.7, _^$ J'4m錶02n*| ξckLd;Q&3W:g>Mad0џO~s[Vͦn7z0z;JR:%ĸR endstream endobj 2792 0 obj << /Type /Page /Contents 2793 0 R /Resources 2791 0 R /MediaBox [0 0 612 792] /Parent 2757 0 R /Annots [ 2783 0 R 2788 0 R 2794 0 R 2789 0 R 2795 0 R 2790 0 R ] >> endobj 2783 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [204.284 655.106 397.319 666.015] /A << /S /GoTo /D (Library of Babel) >> >> endobj 2788 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [377.513 531.88 522 542.789] /A << /S /GoTo /D (Structure of code blocks) >> >> endobj 2794 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 518.729 228.57 529.638] /A << /S /GoTo /D (Structure of code blocks) >> >> endobj 2789 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [485.303 247.889 522 258.798] /A << /S /GoTo /D (Header arguments in function calls) >> >> endobj 2795 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 234.738 328.358 245.647] /A << /S /GoTo /D (Header arguments in function calls) >> >> endobj 2790 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [227.817 161.389 447.976 172.298] /A << /S /GoTo /D (Evaluating code blocks) >> >> endobj 433 0 obj << /D [2792 0 R /XYZ 90 720 null] >> endobj 1411 0 obj << /D [2792 0 R /XYZ 90 222.759 null] >> endobj 2791 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2800 0 obj << /Length 2031 /Filter /FlateDecode >> stream xڍXݓ6߿•'4mw*lM׭lM655ZV_ȅ?*3.67SHC4xzs )x&2Xm"V~]FJ)&HkL5kڧ͞~O<]sn7%oea,L/o~X:80ITګ>fl]x-˂(Ց^ha.7!u~S&/&amШB@j߭]v7DpV-"I獤qQ́iiRn,阚vuYGuʮer\=7}k%1D3$ƣhCgLW[5,b@+\ _xv$fH|)qwx] de(HDX֐mjgc[ڝO'2Y 02ZKF^2JHz_ hSik##F/ _S x VcÅJF&& w(0 -7itNmI'172:#YXHEp_+js fEӣX TQT#1`ޝT( S%Φ ,.S̐A~$ ƺ%;1.dvA_3$ )>Բ ? ǷXSϠ=iFYǗ~`B8̴BBاD%01).S9w:! iKbp;kh°n&(l0?]L'XkpI1C{ظ0HA9|1s\FKX^뒦MK]s1q]+#zC(W0śu{#8Xl i,9mY̴Lx 3zJSb#MQrx=KطΕMw{rϩh@2n5BW.%̸G׊j( Oy$\gj0/KJ4c8tM҂=+aZ /2L.Q=Jɠ|RTAR߄CPX6?=M6%X K.S;S%]^7j`dEA^y]rL-1|#oh+'T9N N]4&^*W՗ȶ9wBj}sޢl9u_؟ :դEP-p3|iLJXb!IjzYfoV ?b\r%jT%)OCE5Cv )*#~Kzn@/t͝8C cMFu>ȠT'ONmbf~Wm|=s\\h޽0PYn2!N?<{]2ЮEiG?dHI:7@y5D]U>˙tDvh[Q^\ʸ;C CMZeub0~4 \go?U[{fE6kaq67ՅW1 ) ]7CtrP|kc"Ó:\@uI$Bb?y>YlwRP嗅˂WCP kΏQ:hxoXA3vƇ2Xvjj5+785cߥh?W峧b9¹+3Vz:,KVRn \#%P.-f[1U({(\Pc endstream endobj 2799 0 obj << /Type /Page /Contents 2800 0 R /Resources 2798 0 R /MediaBox [0 0 612 792] /Parent 2801 0 R /Annots [ 2797 0 R ] >> endobj 2797 0 obj << /Type /Annot /Border [0 0 0] /Rect [133.939 339.267 454.663 349.267] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-contrib/babel/languages.html) >> >> endobj 434 0 obj << /D [2799 0 R /XYZ 90 720 null] >> endobj 1415 0 obj << /D [2799 0 R /XYZ 90 656.55 null] >> endobj 1419 0 obj << /D [2799 0 R /XYZ 90 138.149 null] >> endobj 2798 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R /F53 1758 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2807 0 obj << /Length 2613 /Filter /FlateDecode >> stream xڥێ_r^ԅFJȫ*:DQL#39*hzJvթésԈM MoR\gU_^ !`tω؈8\l$ͧ8&TJBބZ'o2ݗyvUUj COGy$S8lo_f_=|d!cI"zR!:Ag"]Ч0RguCm98۬ZovwwbU@7 v5{MMq1I@Q;@FH|<=9b e$)hp65F  7s_!3 *!l)*Q*3`np[lmC"swTGJX\ &.h G+$櫩w"Z s7W\,VM.eI1!a-'J'rI, z=Eq  kOfai9E~Xp')ʌ_v`3>#zGѩb}Raƍ֤C^_ [/970ǁwlb-fx }kGU]93s- endstream endobj 2806 0 obj << /Type /Page /Contents 2807 0 R /Resources 2805 0 R /MediaBox [0 0 612 792] /Parent 2801 0 R /Annots [ 2802 0 R 2803 0 R 2811 0 R 2804 0 R ] >> endobj 2802 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 324.403 324.816 334.403] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-contrib/babel) >> >> endobj 2803 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [380.524 270.047 522 280.956] /A << /S /GoTo /D (Property syntax) >> >> endobj 2811 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 256.896 126.364 267.805] /A << /S /GoTo /D (Property syntax) >> >> endobj 2804 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [226.529 156.837 410.429 167.746] /A << /S /GoTo /D (Property syntax) >> >> endobj 435 0 obj << /D [2806 0 R /XYZ 90 720 null] >> endobj 1423 0 obj << /D [2806 0 R /XYZ 90 720 null] >> endobj 2808 0 obj << /D [2806 0 R /XYZ 90 603.452 null] >> endobj 2809 0 obj << /D [2806 0 R /XYZ 90 396.433 null] >> endobj 2810 0 obj << /D [2806 0 R /XYZ 90 316.078 null] >> endobj 2805 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2814 0 obj << /Length 2239 /Filter /FlateDecode >> stream xڵYo~"u"V8^rArV {g8׮|mQ6ᐜGZ.Y'b-+$l`G߯_鯾\HGN,xvuOyTK[)2RVY=d=(1kSmjv#k ʵd/Yj B# RKGZS$pQdzveK1>a}+[;"8H@DNšm$'Rzžo1,TA([C{=.mieKi9l.i%-g]Gqpb1e,lȱ'Oc{z;Eyj򀬠A2":Bi*iU6zK9a Z>tu#cj [eYM J)X='՝l26N}.84zm*Ɣj2XCё@Kg mj=Lԟf*c 9.h8wֲ7F6Mn9rjD"/)PMׅ9L3uWVLE_4 >)O6׵q64` mZ -Bɴm_r垨fCha01&k P,(7`2Lx(_n~X:m;"\ZԱs<<$f,O=u-Eqt-0"y\b|SvD ld`4CGBH#055ВA!a JrqW(&IzqT`뎤#CH̠ޮ*;\Q,9gQtg改|JpyU/C=I*'lSC]2$^sHLtw.Ҕ#Bs&pom^6]-^\9[s3%k7KXLe*Y@n5{=(lgLľXZ," 49GM[(X Ԋ YHS(*5lj*szH3D&C oG__,aVц-&!"fNl &FWT06ch Je;rԈfoZ@M"en,+zsTEҖ1[mx=&U/>u~}, P^AwgB7q${n>3}&fnn3hjtE$ ` <=OB/sKDF=AOhZ|!ڒ\$q+] >tqq@Q|v\ƃn2q6AA'7 ? 9+bAtښۉ1 N: &*ʆ:}#0'FА[Rq݀ 6ξ>ӱAEkw Zӈw> `}Ԭ>U'ODc$M y `GY +G8|]QJjJaRPV oWÛwdo8t Z<,\8_ϞXaĶ6B ^WyD6x^M߼KҦ$+NGI|qH?% аCw9zb^;|t|%4r^QrF~0]v/r-9Aws xePrjiVJ~|Tso2.hB q U(1e'-xʱ;R0M> endobj 2815 0 obj << /D [2813 0 R /XYZ 90 720 null] >> endobj 2816 0 obj << /D [2813 0 R /XYZ 90 562.159 null] >> endobj 2817 0 obj << /D [2813 0 R /XYZ 90 331.428 null] >> endobj 2812 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2824 0 obj << /Length 2003 /Filter /FlateDecode >> stream xXmo8_atqx"Eŋ~HޡH"щYIvᐲ$+up p8ϐ|_"Cdo_v_>7/ 4Hz3dq],nnۥjK-5CY{CkΛ/\ '^{gF3R@ª\Dd<$C/4:+&Y{wz)boTSۥT:~muq o+KB@&1)e* >W,J8Ï??^PKW3##!yH6;Ы1a9JZNO ;M^cWz5`×+$FLXWZTy+>FXێ>j؉!gAOjg)аN=th1F4cOܬ77?Gߝc0jqT,kB496V}" SeMCƎ򬪺XBbqa^Ƕ&pd.]qG6]겼m& n#LV/lAaT1K뀷9Ee%zִ_B5TY}w@sߙ7T< _FCVAI^<.:Z@<DSdM Ʈ+,]%JY {IoJU 3Ods]DO/ɖ45d\I\ed/t-@PA<59J3eG(|* NwucA-D籆~]\4 f`HzP:Bx6XN35veWd4xZi o/QaR&fuzr~V CCEe'w$)S0 f{7(_Lqb+)D7[KJ5miew 2"g:S:m0~4xhҩ8^8"LW$r&|Ϝ(@Q^?.s%)S LƤmG`y}"5N/9Vg;. endstream endobj 2823 0 obj << /Type /Page /Contents 2824 0 R /Resources 2822 0 R /MediaBox [0 0 612 792] /Parent 2801 0 R /Annots [ 2818 0 R 2819 0 R 2825 0 R 2820 0 R ] >> endobj 2818 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [132.545 396.476 357.909 407.385] /A << /S /GoTo /D (Evaluating code blocks) >> >> endobj 2819 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [463.886 238.596 522 248.293] /A << /S /GoTo /D (Languages) >> >> endobj 2825 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 224.839 194.455 235.748] /A << /S /GoTo /D (Languages) >> >> endobj 2820 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [138.238 102.777 288.412 113.686] /A << /S /GoTo /D (var) >> >> endobj 436 0 obj << /D [2823 0 R /XYZ 90 720 null] >> endobj 2796 0 obj << /D [2823 0 R /XYZ 90 458.082 null] >> endobj 1427 0 obj << /D [2823 0 R /XYZ 90 299.703 null] >> endobj 1431 0 obj << /D [2823 0 R /XYZ 90 216.79 null] >> endobj 2822 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F102 1932 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2829 0 obj << /Length 1523 /Filter /FlateDecode >> stream xڕXo6_aSֈEJ/lxCWlBeɐ&GʒBD"y|_"R-V۳~<-pDzy _Q˻1z.x)vnC!Dy(eudдOdP}jXkXƜ8*;z9`Jh8GN"Uq! Mk1F> zNF,;znK_7M R8:/`3Xi*{j8k4"P ?'iPTGh}]#c==7EG} Q=Y 8 6` ȃ5mWwDs/ H]I)+8 &m8"lxW}.ܘb1)WD+mI`L/ʔx$4!&˜:)Fco U"8bY %PT'YGNFOND51L1h6*dKQd"f>bj)F.$ RIu?H΂'9[r!4 tXֹdEhF>W%t̢! T^[Uku\b;qFC .=fډV v4 ŲqA㓙 fNhsއ|:Mr *05g0çmVAS)u֥uw2MQBLexK|}ւJ.!2a7z!/``i>ċ7~&0 &b9-fg`9Ǘ ħIi9#&"n~/^闛n߾nUB^h})K`Yq[E~7?^=^\:YlXzN2P80dc5k_)xdq>'`cl> X# Eb7à;*3k_zz_ Y:mig療}(qg<|zHsƂHH U2nHp`.0?1%Є4.2WR t }M3ʇIWPm[9XMGPcC>$􆶼k-L - F73'm2!2cIXpx^7XQ𻪨 "5OAi/7tw"dW>VIp:' endstream endobj 2828 0 obj << /Type /Page /Contents 2829 0 R /Resources 2827 0 R /MediaBox [0 0 612 792] /Parent 2801 0 R /Annots [ 2821 0 R 2826 0 R 2831 0 R ] >> endobj 2821 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [331.364 668.257 495.303 679.166] /A << /S /GoTo /D (cache) >> >> endobj 2826 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [421.195 652.288 522 663.197] /A << /S /GoTo /D (var) >> >> endobj 2831 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 639.137 131.818 650.046] /A << /S /GoTo /D (var) >> >> endobj 2830 0 obj << /D [2828 0 R /XYZ 90 720 null] >> endobj 2827 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F55 1860 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2834 0 obj << /Length 1065 /Filter /FlateDecode >> stream xڭV[o6~ϯ0i8nvސ ,@Kt"Ħ\Qr%Gnar.߹Yt4HγY9 uŻϿtFC9-VCrVl[AEg~ygܫJݘ=T-k y%ly4;L1c?m(fC4M%'4/\}~o%$ iy~ꬿ#c{*hh XH@ 8LEl9%GǴ, וS'ߩgI0yӇG\ZMt IPJy#[){<YC(jUV*!uHc6Yi9ϪvJꎜJ$I/r e)edj2H UΥ-4lt-&e0TFb7m;ߎ"j+y`j p$T%ck wKau\{If=[6. ,+i-tkw&a6;xhD= G %RJ-NƔSl;Xn2g9 endstream endobj 2833 0 obj << /Type /Page /Contents 2834 0 R /Resources 2832 0 R /MediaBox [0 0 612 792] /Parent 2801 0 R >> endobj 2835 0 obj << /D [2833 0 R /XYZ 90 720 null] >> endobj 2832 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F55 1860 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2838 0 obj << /Length 1140 /Filter /FlateDecode >> stream x͗Ko6 "+R NѢޠ4(hk-@|J+9*lNP Ït]e*"toOB7z{B]+`"zs[AW4$YzbS{oJ(<~S5V7v{ݕ(6{+l+(̣ivr}=ⴕx8FJ`ޝ/'"~ B7J -bKׅ{:{Z&d!#a/݂# hr^UN),P&h}psNWvlj2`DU@#BZ^U"I .iL:oZnu AL .1J2Lsx>c#e* 8ߘަtMU56.J lAD1C+O(tZVսNm(znEo=%eڈ$`an *x[ znjpWM_!(,Rk ~ʖYH0ViLT1~L8s+\Q3gSc(L8V:jLvK d0 I 0.<~PSJ=n]5 Y5&W~[vKH7抾,N× { endstream endobj 2837 0 obj << /Type /Page /Contents 2838 0 R /Resources 2836 0 R /MediaBox [0 0 612 792] /Parent 2840 0 R >> endobj 2839 0 obj << /D [2837 0 R /XYZ 90 720 null] >> endobj 2836 0 obj << /Font << /F51 8 0 R /F54 1750 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2843 0 obj << /Length 1537 /Filter /FlateDecode >> stream xڭ]oF=@ #N6Ї] 4پBdɐ&/9$6HKQ~` p':,7'`oO@c`8O~5To불jp|Xmm8Gpu|&)4Avzۂ+W׾Fzdo GvףF L^ӏT0c O`XdU*\8⦕Vt*A,#<#P/)F^c~;}^yߏƷ̞<35/m:}dz#2Wzwacs*NcB\SQ Z5sɄz1-mj8kAPW\FI|αy\,e2wƯbk'nR_-n_` endstream endobj 2842 0 obj << /Type /Page /Contents 2843 0 R /Resources 2841 0 R /MediaBox [0 0 612 792] /Parent 2840 0 R >> endobj 437 0 obj << /D [2842 0 R /XYZ 90 720 null] >> endobj 1435 0 obj << /D [2842 0 R /XYZ 90 124.022 null] >> endobj 2841 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F102 1932 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2846 0 obj << /Length 2469 /Filter /FlateDecode >> stream xZKБ, -` HԈJY*69lNWuW֊U*VF0jw1&l,j{WKW4R*F8:A<'kiN[ͮ^od+2XkXww\'фUP(M ?W0cUU캲>܉4t=Dyԟ׵Dj/Ů<\rq;Y 6EWnѱ=i=uM}g.p0BÏM!t6,C~:wC)̝$<cITKiV0 Xa`P `羖U5cit$a20yt]aa 5v:tG(u. kh[T0.z)mX$A'j*_B0$zЮE|]0'P HR[΄4ERغALE (@}[\R 0ۦ(@xMzf#-b풝+\cˋa&CLZpjX* c ;yO8D)>-_phe 8Ycw8aۉ;c = [<$R=͉ŅsP @lЁ4A5LKt" /KhC"כ$$dv `1 ɶWyK.x͜/o`5N3Jh{^ =g㼢E=< ~b2@' TϟESMv̝"tSyhw46)~˦hՖAhsxRLPE:DMKKT&N]s,mV~jnٚu z2qFղY|f֔!X&q֬>ǚ뾻݂Gs.߹m~ɷ%% p6ʱԴ/ ǖ /]v;A/%cqg@qGFJp\UlN8gh$ZԲfScu0ma$\Hk%+1_w>&s!&w1AEdb˚2@8 0,f gId҉*v˹[ ef^vcT{ cKG r. ҧ+^SH˫⋞0XS-ׯ,sj 0qȝ781H[Y?јS6!=j4 \xZU m)YN@Hx5| a|tFIPU bo2pg%Eܳo%H8)'hDPN j Ǥ?CqPsэb$!'%/bUP&0k }j|+!9!1U S @HǜN amb #&0G8LO't_ 8ެ-)5T8G\]k\~INY(snA`Zp0i$GOWٲcp1xLйCw*؁ߩ`\s2*!̹N&XSZ6QZF#c%@l(I~GQɌL{&A: lB|T{_׺]{/Aʹ- ix|+[)ݘ/\I8M.9ߟy~GE3~fXiJ\} p!׺**d9ݝŹ2$Љ >qs!h*VUPc],ADOGSbE4aaOatzv.Jyw|}PAÜQ+PuS&xj)66AXyVK!i4Wju.n`'emx"NMO+l4g,{2cR5۷! j`[LSyK)bcޚԅO_W:)+=%4"SKQ{{.gio >|u37S]ЮꀖJ*wURj-'>ǟ߿pGXe@fL_o)6vs$!,hLY@df&d枦yJCly9v}UӪc9Ąt.aASZ8|qނ40oE _vJBan̛{Wp ]KX%R{ endstream endobj 2845 0 obj << /Type /Page /Contents 2846 0 R /Resources 2844 0 R /MediaBox [0 0 612 792] /Parent 2840 0 R >> endobj 2847 0 obj << /D [2845 0 R /XYZ 90 720 null] >> endobj 2844 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F53 1758 0 R /F72 7 0 R /F52 359 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2852 0 obj << /Length 2830 /Filter /FlateDecode >> stream xڭZm۸_a'Y"E)wE+-z@-h%W/ g$QYb ÙM& 76DUȭ__I.@`IrO1r#C)nOٹ˛.@7۝&6A|-[}ѝHfSy_ow* PURjTm?ۛQ'Jąq8:N-dIOPRIfvPVHXm_v-*ɹж]~ ^mS7DzՁ EYNIsվۜGm@t_J+ɸ/%yd P2d$!V^]܈84a߲ *C-h/Hf E$*Q?2k GJF_3w#TزƊԆE(aGu`'vcNckuX?_j0۝ HuCIFP(A.XEP#u!D"[H1 ( K!.ŒR@U0"*1;g;\sqк8Wń釚s$v{q7яx.E2؛(à"ePԶ+47/o:gGvsw=MDG5P%aj3`EٰYPrq3sD}d7MNʕ䎶ˠzuCGe{ۻ=?S]&￸]o(@m#8E #D> aT?4=p9 G@M7fB{2`glu`e4=!Kq.%en?m~K*kNE40L $2pݬOШIDco{w"6h9l4$'錓(S^4ԘU_Y1j"#arX"e}We]J:BU|2B:P"vS̊~Ʌ3k>:L<)p,{gJ,2 LK-,̉t}7n~^Nam2 sMҬ1|S=_hLt]cVj޶t[/|1@Qct=7 p+!8,   3Q@%G!@*JzzJ*PRTQ Ƈ +:ÊW ;Z+6bl4ÊØ? ֎ H}$/ ' Jx$W'ie8`b7GHk+XEOyvplA-\A39=^]1RB#ᅕ՜gם^&xTԋ乩ZvOp򋑝3gϦ1w^}B)8lI螅8mZgr~F^l*wy<҄նs`-ZT#k+98<)4!#_>L8JpiZ"2 5<ٕńN@iPrkwNokVEk4zۜ#܆L*('W'dr H2nchkQy<>2n{|sվt+K=S?u-)ձ$ .˨x5t,^0W|_Eputj/d.FFO)CN a*rve̽zl<ط<͵h(FiIԜK&46[<HB٦]#= {.%k7h~cs8$SNOQz-F扆;~3T/cN[ZpT2I&XTcq\ibD$AGz֞<дT^ ka ・.ZHlYRoQajU"%!)$v@QЍ55r-UYn)Cu9O\@mJ^wӛ4"hpP '45[ItôvO^yo z|ѤU69\"Ipyơm ,Y59a`h;3oڏ^7KEd RE,a:/Tք_B~`iz؀ ڑZV ?q F5„Qb5<ZrNPHs(l8T$5s(lP`k *K=rCxisnnILKC6&_XK]*{Jyc5]68:@'^y݊LYp`&_tO2ҸOo`3/DVf o.VDzx=WR44 endstream endobj 2851 0 obj << /Type /Page /Contents 2852 0 R /Resources 2850 0 R /MediaBox [0 0 612 792] /Parent 2840 0 R /Annots [ 2848 0 R 2853 0 R 2849 0 R ] >> endobj 2848 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [468.84 270.237 522 281.146] /A << /S /GoTo /D (Link format) >> >> endobj 2853 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 257.087 194.129 267.996] /A << /S /GoTo /D (Link format) >> >> endobj 2849 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [353.966 102.777 514.727 113.686] /A << /S /GoTo /D (Link format) >> >> endobj 438 0 obj << /D [2851 0 R /XYZ 90 720 null] >> endobj 1439 0 obj << /D [2851 0 R /XYZ 90 316.269 null] >> endobj 1443 0 obj << /D [2851 0 R /XYZ 90 149.112 null] >> endobj 2850 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F52 359 0 R /F3 285 0 R /F72 7 0 R /F102 1932 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2856 0 obj << /Length 2724 /Filter /FlateDecode >> stream xڥY[o~ϯ҇Ҩ5 gx1[gY)X,)R%^{.3(tlϜwFrOpDt^t&'3~}uȕ Efrunq]}~c7(/ZEy({MX4BSIU _<ag|uV2!S-dkE*0x[&Xhaoz-62"gj WJL䇺˙Mu\t/JX$[ "Us;{EYnQEmC^];Ix莔|y|SN#D-j7󓇡}BrZ( A a W9r*rn 4;ۗ67]ݜX߰=1El]Ƞ ꁻu]d| WS1N5bv)1m PQzOk7 -x℻DsƎ5 *a+7m{6m<'ӂ֢|H3W!&X2z˺:%W{2Dk^[~")jo{Rl)JnͶ5$1'p%2ܛ2Q_[nlvI>> @Td8 PU1CUHi ֙( S? @qaPp'P:=ig7n+Ph={j,lpD-yמ˜kֻݴ΅bI"1ޕT ,]o,QRåDD"pTI3p'4Rs sq/LQCZ΂{RdFfʴc6ۚݵW?>BFf>WYPT/8vpscۜno;\S˒|{a͛ccfR$gIm36l@9 a3=G0(i(ױV&A869{u7v-˟]]n["bP@g+] 3EL d`@J.Z4h\7{?ΣL?Ncы)[:>wV:opW^Y՛Ñ*uxQA~xE >C035EoGg nx-ʢ(<XUjUe"]3qZbqhYwzt};'e}RXeD*lMyi慝c[p84OX8ɰP%)ݳ|7x'\MpuPՃˡ\g4 vN=ջ{:^BM HJWeXF5z;N?Ub>p$%w@=X_OM&4B,=ά&Ghݸדf LpDUg!Epx7Ct+Σ[ݸO\,~1EW(T]@@}y>f@'TD('*gWL_! Z Bo7)'Xk7йKF/L2%W_E~]}lLZYqNˌte +3"LQaDm0,@j Jݒ+\Gg::+5ަ5.~oM[P` @uT8l!!nlmyhƶ;&v7}zHfKQA0mPXKЁ?o/2@{ˠ9SUD 'ÆP%VKGLHyc3?6Bʁ6o'65P{w|O#t(bӽEA٦#5d*<8brʿ1R`ΩbC4ևYT@c,( ^ҘHC::XL8HY(ZDw(Zx$uh4m7$6'עJos\;3CIIMfcu/1*EÝc/='(9a}VZOH{Սt*-3zXΞPk>OIp{f(|](j A"B-9RRjD1;4t)db Q*bxw$Yeu=&k&3ㅼ-2iWzlGH 9(f̕Z&G-΂-~xPP` c= Y6p)gBCm( Պ,{n D.s_*1&@G6p$ؔMECR1~%YD"~M!G~c{,s@0OT=6,js$S˗4HR"UR"Ԃq_˟zH[nQtv1.|٭m endstream endobj 2855 0 obj << /Type /Page /Contents 2856 0 R /Resources 2854 0 R /MediaBox [0 0 612 792] /Parent 2840 0 R >> endobj 439 0 obj << /D [2855 0 R /XYZ 90 720 null] >> endobj 1447 0 obj << /D [2855 0 R /XYZ 90 720 null] >> endobj 2854 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F102 1932 0 R /F52 359 0 R /F58 1759 0 R /F60 13 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2859 0 obj << /Length 2364 /Filter /FlateDecode >> stream xڵY_ OS\dY{hkz}$1ۗ)[N0EKH*r\ej-8]O"><6#W2Y1bwX{c~vZeffMp%^x VLZ,g_wLF7F;ZI-"NXH2P">" IDlb۱\|;7mT[fJ+ݱ`^*%Rg8io2ΰdn;gY d׾9sP*\;'ARFdJkׇ+ܵ5Zu9moh}ܞ,*Os:r?)&US,*Bo4+'W6E꜏+i&08&#}cu^]AzSԿ?wˆ|uy$ tY[{AΏ_txyUۀB(Tu VeaEYlF#xѵAIˮ"5ɝk;.]P%u*2?uS/H`οpbPˁ $jvA[! -$WkkIYmMSVR$iݖ^KU%&^/&"(-`p(b7$`u~*]8 y̖Z iJ'[O[+B=E%y1(Vk:}!^PXCBDUE]&c A͆ujz6=Á/ҹ#]am`~)ģoZ glrkBWZ$ERn5[U*NϠ\UHw )OH5 ' Kvu|mz:P5 ЋǾ gs@RsC&SO?]! 6^#aDT@\i7uBdJWPh謢*>*XrJfZ!1Br|([LOˋ5Ѭg}sy#+Ui2D J: J' b]Xllgi>.{kܧ d+h|F|'"9Ѹ3sMё(FWN9&y9Vv=}Q oBȚE$'/~3)#+U%:NDdL U@ ;ZFo G6As Լ#cS _JhxϩNmv(ۊz7fG8ԕ @g8[kTS<&[%;8-۬q#/,$7=W6l\ ^`0& 4VsB(IqEG<:L ͖0qHOeWx(@ՏmsgxÆcC SA33wךx=7cG~ hhݻkAi0;KϼZVm|GCIz7 bFlʩapwձW낞- }ug$ҡ> endobj 440 0 obj << /D [2858 0 R /XYZ 90 720 null] >> endobj 1451 0 obj << /D [2858 0 R /XYZ 90 720 null] >> endobj 1455 0 obj << /D [2858 0 R /XYZ 90 546.64 null] >> endobj 1459 0 obj << /D [2858 0 R /XYZ 90 373.95 null] >> endobj 1463 0 obj << /D [2858 0 R /XYZ 90 307.254 null] >> endobj 2857 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F102 1932 0 R /F52 359 0 R /F3 285 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2865 0 obj << /Length 2604 /Filter /FlateDecode >> stream xڵYKoϯr!~;II@3{%,)ٞjlMv,vu_bßXUJU\m?L} )4|ߴXf<.wgJ,cM2!Z̊LO<62+E ;OOobH563R2$][,uoW}#2%`; 4_ݩ9@ n8f q0ߞQNu{hW uhlLnvp0pawmsWGܶJ$p?08EUY.=ߚa " 3nG;Ge"Dm53V5u6H+pA52{s~`f^$ؐj UlfӀm3!F%(5@ehs]\}Ó1u ErIw;,m;kP1-oDs IW XCj%`|bu Twj'o5Y-eҝO#_)]4#ÉkXۥ][F]WsU8K;: "(rpv}z[6>p:<,]/oOs(#dEj~8:tF6#z-InwO O6{^'u^BEŲ~ѐMQ7:f?JK14+JL0z4`^KhQhy}b r &rWniw\V-.+ N?_̃'I{I7OzCRW"Zgk890L-2}.s3TN&/[w2+J6ՉM,6%D|&6L%WZ晶ؘ+ ؖ6[lmO &> {~11< ج MoiDfkm{(~wI1sNSqCWDqۯI][>~1zq&n ;Pk Z]hgJgJH43A&_3aO4S#ʼn<ZȏB ւ<%q+@R*ND>srU̧0I  }Rs\WrÑӁ 1,ܸඤp]kKL|Au=h=Çxm䩉֏ )H;܅-3 >"[3Xl;X"0g[NM"|&OnQl@@ =6(^C_]@~ J@>?cLHLU@^@uK"E*FQaaSLx !*ziJռ=-74^T2+rC+xYG>c Thz CcWA_R_p!2|g1b'JxiP4[Ez2S{`.ݢDr=C=-Dn/JcYGR,c)JKԒ!Н$Ő)r"ȵ;&rscשBɷdT,;b<-=Vqyxe'I IQ|ݠkTJzἑ4{dL wDU,6$9H\iREn&{_( (cn~_x#@i ޛ)\7)LM`Ia|3ќ{QK1` wɸ"wG*wI'!KHTK@3.h&ҋ2X'BPMQӡܨ *jLK܂C/tl hK84yd Tqs+2kr]$xAXb/:!fњDUhI'I'-뤹оu"q` հo1p'\X߭R^<ׇ )W_zYYfdKt/ԜYTƥ)53BۙW\A|eV}356HD λU }EYfӅy6([C)# endstream endobj 2864 0 obj << /Type /Page /Contents 2865 0 R /Resources 2863 0 R /MediaBox [0 0 612 792] /Parent 2868 0 R /Annots [ 2860 0 R 2866 0 R 2861 0 R 2867 0 R 2862 0 R ] >> endobj 2860 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [447.599 554.151 522 565.06] /A << /S /GoTo /D (var) >> >> endobj 2866 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 541 160.821 551.909] /A << /S /GoTo /D (var) >> >> endobj 2861 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [372.805 541 522 551.909] /A << /S /GoTo /D (Noweb reference syntax) >> >> endobj 2867 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 527.85 174.693 538.759] /A << /S /GoTo /D (Noweb reference syntax) >> >> endobj 2862 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 365.359 339.064 376.268] /A << /S /GoTo /D (Noweb reference syntax) >> >> endobj 441 0 obj << /D [2864 0 R /XYZ 90 720 null] >> endobj 1467 0 obj << /D [2864 0 R /XYZ 90 720 null] >> endobj 1471 0 obj << /D [2864 0 R /XYZ 90 600.486 null] >> endobj 1475 0 obj << /D [2864 0 R /XYZ 90 510.286 null] >> endobj 1479 0 obj << /D [2864 0 R /XYZ 90 411.694 null] >> endobj 2863 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F102 1932 0 R /F52 359 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2872 0 obj << /Length 1675 /Filter /FlateDecode >> stream xڭXo6_}%-: > t,D\Icw;ʒ46Ȼ#y_r(d4_yL9Q$qq:+hnLFF8: #/\w  }7~"ֲ.V>3[pdᾟpz[KZi!/&Z0Ggr'2k)>Yoy]9qJ1o^q%q23;4!zŇtق'=T1rTymƻp(ʏUV^s{4մFdmQUBHjp%_`yٽ B ЀIT$+p 1 < 2Ő+X:w@Hӷu#b7qL;L#4l&͌wпȸjpI/YQ(8ݠA pdl2ڔ2ytSe6:k)}SJZ[t2 դ:,\P/ڞTD~[#]t0tjvmUО쌡ؤPkLu_pEËngי J)8FrZSMź&]Vӊ7Kf 9|4ԬFu'7kͶ3&rU JL+&:~4i#7GU(,~$Fr> endobj 2869 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [477.454 87.422 522 98.979] /A << /S /GoTo /D (Property inheritance) >> >> endobj 2873 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [104.944 76.152 229.811 86.613] /A << /S /GoTo /D (Property inheritance) >> >> endobj 442 0 obj << /D [2871 0 R /XYZ 90 720 null] >> endobj 1483 0 obj << /D [2871 0 R /XYZ 90 555.356 null] >> endobj 2870 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F102 1932 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2879 0 obj << /Length 2170 /Filter /FlateDecode >> stream xڭY[ۺ~ϯ09fū}8Im6ArBYr%9pHYۢ2}s!bWYJdJWUG⾵Hë?YYg|o[}SoFJqvQJG\*jگe3*z*t͹-,fi\g^= :i!n(Z\(E2b\*R97*;xɔ*H)75HqlFR>{º*zežH-pm8<(0N'P/ȫj3{_Bq^E: i1<1ؿϜZ;P˥!?hn}":.Kspg b-|c+r!.9Ҵs"ͧ_pvnPI*W8L̪ nw#;o;ldl.q{%BcvFCJ}f/[Dc`rjP҆J亠:S㩂lbR ԅv烜<y됾$q+hܗvz\bɆӂmզn?N(&8UbgIǟqpztyͻ|+'uk9C)ޣP>dc\(vF%N)>aRIfI&w&ML82˟¹fǼ6Uٝ}-+tn~ \6jkH,dFZvj_n0*!!.J-rbG>}H^xLʛ;Nn'Bo'*55.)KL7HN̺Z܂@S0ER٪< ܤ [mIona=Wyۦ (>r;]bUXќ$H2 Cr@ 8E)zaĖpFP٩S:Zg6*R |P endstream endobj 2878 0 obj << /Type /Page /Contents 2879 0 R /Resources 2877 0 R /MediaBox [0 0 612 792] /Parent 2868 0 R /Annots [ 2874 0 R 2875 0 R ] >> endobj 2874 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [212.593 665.006 402.774 675.915] /A << /S /GoTo /D (noweb-sep) >> >> endobj 2875 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [162 583.748 346.818 594.658] /A << /S /GoTo /D (noweb-ref) >> >> endobj 443 0 obj << /D [2878 0 R /XYZ 90 720 null] >> endobj 1487 0 obj << /D [2878 0 R /XYZ 90 632.204 null] >> endobj 1491 0 obj << /D [2878 0 R /XYZ 90 574.521 null] >> endobj 1495 0 obj << /D [2878 0 R /XYZ 90 124.932 null] >> endobj 2877 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F102 1932 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2882 0 obj << /Length 1355 /Filter /FlateDecode >> stream xWIo6W 6YZPn"!4( gFFj3E~|(A؎C`oH"F*\$VoN hF,fhb^.v6H)=^/Rs*(o|kww;L bIDa*8WQrcB<J<R!bch/~p,ύ[^gY/y358C\)@rKI\CSƣNgIy*|p&¡0^c}A9S_dO4 . | \RQg%ьaۙ܍ʴnNiZi&+Io쌙O5r$q12Ӎ51ӂR͚"JA8 "!(g.y:#w]&(ՠ]úi3 4ζkO(&ǵ}Q,η jH(&&צJKFsXGi~i/w+$n*+<^na.8a/V6оE~noB~`.zqciM>Ӿ *unTYRI4ʲ(-(^^3C?Gs᤿ZdUϕA_Kc"PަȀ4 &wΨt$SDO_W H"k)_JQ$Ə}͒n6vL9uY4foGwY:1ץ~L+H۰3H^_w(}8;k;~}8vl6B =єy yFϭ!~oW__藥tEĶnퟖ\K !'mQ#}N,<W/]2UO| D>M3SIߊp+;qE0&'bctb endstream endobj 2881 0 obj << /Type /Page /Contents 2882 0 R /Resources 2880 0 R /MediaBox [0 0 612 792] /Parent 2868 0 R /Annots [ 2876 0 R 2883 0 R ] >> endobj 2876 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [417.87 668.257 522 679.166] /A << /S /GoTo /D (file) >> >> endobj 2883 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 655.106 131.818 666.015] /A << /S /GoTo /D (file) >> >> endobj 444 0 obj << /D [2881 0 R /XYZ 90 720 null] >> endobj 1499 0 obj << /D [2881 0 R /XYZ 90 633.007 null] >> endobj 2880 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R /F102 1932 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2887 0 obj << /Length 1709 /Filter /FlateDecode >> stream xڽXKo6W,G)RFoуc,K Ik@~|,r65$p^E|HJx]h'n<`Ib(b^z5җRz\]Jieˍ]QMnufΪ/bo COG^'--=#6iƊqPkX7x0%y ۬*4;6O>X(%Xm !`1bf1B[fe%,3A5H\/už?RG! ^s"48jV u'Wߘ^2/9&1]Td}6M)͚-G+,1'FqE/ Edp,,&c6w\N2<6#`܅٦IswX.ĵx3;w )H+-ο\(%ČiVWM\fnLP0jCxjجY$h3Hf/'9a7H55C߼[$0Hoˆ;a2uEѺ^-KG[ZnLVkʚ7 :AhOz"/ &XKK/@tJYM^Ρܝtm>YE]]M$,I׃ࢉ] Yg6nW,p"'DmO&9 fM^:#,Zh|A3wWIuhZ6a!&V3n|R/_;'mJ^5R )Nk{zzHDáKrZW7gBg#EK44?iu+MC=繧^8&]¤.cK@} ,B`:m1BvA 0. `ΥArm@,vuNqmԪIĘi&q$RC 0&bX&xL9T;1Y[f{4>{;(4pLA{oh:F}ā+zV4W]L%no,R).7cWW?b  $T8.&}vؗSKX@4Sv\ww5n,ʈL&޾O& b E_an]uE="z Ps@}AR`Ӯ{dG 0Õ׮pS!)XnmƘ' DrD5㑰IM"L%"4U| LZE`x`e̴ rM8ayAT(%q^hA8X'b7%q>ԉ{G8=C@Z4kSܒຢox.q6Oa lswm!4SA ˻Wt\r+nK23ڂs % %vp56U7`qM>2a34Wub8,8Hʙ"]g6jlc5XjQRInn7B 8EN>Xd}|3^݇Fb4G.ÐF((<Ve}ذ0#?> endobj 2884 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [215.873 353.597 363.479 364.506] /A << /S /GoTo /D (var) >> >> endobj 445 0 obj << /D [2886 0 R /XYZ 90 720 null] >> endobj 1503 0 obj << /D [2886 0 R /XYZ 90 720 null] >> endobj 1507 0 obj << /D [2886 0 R /XYZ 90 300.874 null] >> endobj 2885 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F102 1932 0 R /F52 359 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2894 0 obj << /Length 2459 /Filter /FlateDecode >> stream xڭYYo~_(foAZkIe5IFbu=r&Z&o"#A8x/HQ.77-nOχ⡷U*4&uigLXS5Wʂ=tF*>͇XFsՔki"a6IfԆ>񏛏rMʆMaqW52R ӺyS[jp_yWͻz5nIt|U伥 "RXgeM&nzʂPj+ԩ툶hHk@_i@sXPY7ԑI1^h-eGk&S#rDiM g6f=< M:8 'H,Bt6FH"Fv ڦhU--A,tj qdqc9r!O8LȶɗlcYU47t#׍k Ń&Ad]vk"!3Q\:PixF(C%c=9 Lx'9mA jZcd8Fۺ/' 1gHhiSr"#}C_'cǽ3`gM1X%ԉ3\PBg$Lec,/po$zgjj$DFϐ@e-ߘB@)-MTC;M+=n"h|/m'b2.Ģq)wBV}V Gz-=x,_*`u-S{`[DدEj} =H M_RKBY*]fF:_=îBHUK^4 M^P*1cԱCW1;>lʀG==^%dc-L0U)G H85;SEmHЂ{7܅wG3i#&ms8;$R"E* 6ݩ{˩|9OR;ف ?7kDޅ^onB4*0d :p_K1#ΘWZ%FYR2\"@OE"SԴ.[OfOǚv"Qۯ>;\7khKf'P|ipOTAТw%=²4ugnwvw:vwxXM[ȁ J>zI0ȇckB?zapA)h v0E<] {Q 51Wh=4m~xrb=v*I4Ha"ac4sp/7e`⪮N+(Qgݒrm Ȱ> endobj 2888 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [174.934 624.649 322.54 635.558] /A << /S /GoTo /D (var) >> >> endobj 2889 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [389.959 471.139 522 482.048] /A << /S /GoTo /D (shebang) >> >> endobj 2895 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 457.988 133.264 468.897] /A << /S /GoTo /D (shebang) >> >> endobj 2890 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [278.211 159.806 511.635 170.715] /A << /S /GoTo /D (Code evaluation security) >> >> endobj 446 0 obj << /D [2893 0 R /XYZ 90 720 null] >> endobj 1511 0 obj << /D [2893 0 R /XYZ 90 613.348 null] >> endobj 1515 0 obj << /D [2893 0 R /XYZ 90 543.775 null] >> endobj 1519 0 obj << /D [2893 0 R /XYZ 90 420.689 null] >> endobj 1523 0 obj << /D [2893 0 R /XYZ 90 148.506 null] >> endobj 2892 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F102 1932 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2901 0 obj << /Length 2067 /Filter /FlateDecode >> stream xڕXn6}W,>h)E P}HhwWv%b7(Pו!rP|_E*p]p^9f7#Wo{|9_mctukrFUku]ږҳ\*|i=f͑dꢭEX"RxKa ﶿ6yB`4J\XwfP2JK2}ϝﲐ\nʢnHn <` xQ+/NT:'u^ܪi*QSгb99QnۼѳUFС thu-h=ͩU6Yqfx$8Or8>ŸGvASLRX0!["ngul_!hfd0WIަ:OpH)Y,`f_Tu]x4#YXPԊRfeAڭ|H6a7.N /@\6J0E Sn/&bs]!Y/ѨzXWD .h48榰U}vLb}:w&熰;DU%mW$l66zh^0wl\c CGP;>jD0>Tk%_>q1]7 G?3@Od\"̦רiu)dLs]M;vT/H)MDRMV@PɴYv^\$^6+7yXԋ>v8qDUib]anて4.no"F.)_.˳&S)ވIيt}=!Qv#/U_[#,R WyI{]u3L'As=R9Ƙsـx\~= p'ůfU~՚ endstream endobj 2900 0 obj << /Type /Page /Contents 2901 0 R /Resources 2899 0 R /MediaBox [0 0 612 792] /Parent 2903 0 R /Annots [ 2891 0 R 2896 0 R 2897 0 R 2898 0 R 2902 0 R ] >> endobj 2891 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [173.365 624.321 324.998 635.23] /A << /S /GoTo /D (var) >> >> endobj 2896 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [302.697 247.527 479.667 258.436] /A << /S /GoTo /D (epilogue) >> >> endobj 2897 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [185.273 163.204 364.091 174.113] /A << /S /GoTo /D (prologue) >> >> endobj 2898 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [447.38 90.232 522 99.929] /A << /S /GoTo /D (results) >> >> endobj 2902 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 76.476 175.606 87.385] /A << /S /GoTo /D (results) >> >> endobj 447 0 obj << /D [2900 0 R /XYZ 90 720 null] >> endobj 1527 0 obj << /D [2900 0 R /XYZ 90 720 null] >> endobj 1531 0 obj << /D [2900 0 R /XYZ 90 322.284 null] >> endobj 1535 0 obj << /D [2900 0 R /XYZ 90 209.236 null] >> endobj 1539 0 obj << /D [2900 0 R /XYZ 90 150.996 null] >> endobj 2899 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F102 1932 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2906 0 obj << /Length 2356 /Filter /FlateDecode >> stream xڽY[s۸~ϯ>P5}4ۦ$هng K E﹁eq~*)QUZNb*C$*=,n7ytfkfY˦LT8Fxdlu$Ց}v)+B#SM(NR sJLʢص CݵmQ%&6I4lA`CFD3mbT1׽fPm39YP_ϛ,4xyc[˹*ϗ+HW|]dMnwntx?B;/K$Y #EWDZ 7yM2q"˼Fq YXl*JW~w@\h<$b{GۭP*.,°0bߴRU{J{'m;xQƩoݞUdX&[ZuJ4zcDK˳kd8-7myydDs=ltu} r`q-h4n75hkc`X2$O'," A³GG Մf;58b}a>>ZubR1 <}1Qg*IH 8\\+nUdϻVVmB>њiEp`ت6ϓPp) zf_zhkC.<Ѓ)5n Dkyr01P[`5NҶ7|9!~;فi [P v䖗uD׻C{.H=/#s"YV:dGn>c{|.$;?A]=+r LN6?wUcB6O = bNcwȗ`(d" t}w 6M`%"UWe81*.w!OR^{-` N}8&ZeU͡oFsULe@uSeN ,jI%~[0aoqݿE:Q'ddR~y9L>r_rLشϑ'LsSj37e}8[qoBƵ P&bǽR \ €A0ټ(_39l*:)Bu߳<F)*++mKYjAy_dj8JmpvoՄ)=;{6gLB=VXpxzMWܛ4HBsG@6,P,فxZ0nTy\jL 7((/ Faqa)ڨ>ʲ+X/[kyt p!〸1PD+2f c<Xi3GwԴ]EheE8DCꁝ7pW$Se=6#'[+ !Oo\W'XBuw {W3jO}J `;X_CNm]/As?t 6Zj5=|^,goBs>*S·CEaI .RI1p;VG yh`)9xU<-*kM.ro, `}'poa@YT\_4 =d$SO<"APcQ䷽;h~j47Hkz0[*xTrʙWr>9;y, lף:T CfIZV=<u/i\wVĔ$# q@8O31 7;a@_ivM0sR+?L!W"|w[-S_}skkl{ySk_x H^M*~o?g,:Kj%`/],tvdoo\{ߥY endstream endobj 2905 0 obj << /Type /Page /Contents 2906 0 R /Resources 2904 0 R /MediaBox [0 0 612 792] /Parent 2903 0 R >> endobj 448 0 obj << /D [2905 0 R /XYZ 90 720 null] >> endobj 2904 0 obj << /Font << /F51 8 0 R /F53 1758 0 R /F52 359 0 R /F72 7 0 R /F102 1932 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2911 0 obj << /Length 2086 /Filter /FlateDecode >> stream xڥXKoFϯC(dH|ALN0"LEX"lr4oߪjY, X(v㫯ĢRQ*WG!#7NBQbqqY+iR*fj,s4cU?NU#x,CJ! dS"FZ˱B("u$&ՏmUwKx< Vgs7iQPHH?:L#K?'oɶ{j͓##jr]ԡ5VMM>/"w5u;[TKx3Z( l,0Oǣ̔mĚO=7߽ywΏۡ8iYwǞ#sDc#jr&8_\g/'ȗU`,A, z.**L:uRxI,3aLeYӖc3@?bkRN&€, Hc}\&pƾwjYI$~WoL FE60]ueg.th9EϜH8b$tt*j# ;"x*mJjG0w\DE$dA'; 4W7h$h{ۙs5|EE) pwdL^6 QőN]oOSQo;MY]_jfKzi90x_+xǞmp l"H#@xO3jOGV%515 Q/Ml1ΌLwmyA-܎0%"t3G#2)|٘Y?h?|u=cg" J=N=D"aW{4ez3O4|2;VW>ײam)OG.FK+=- S @M]yE|qsVyw8? 2PcvX1w9D4I""f9Z6=Ub%)Ny'_K~Emʶi -%_d/(,n^(:#eS0Qٖɸ-G'0c:"ɵh)che\}in.ižP7XȬbxˆ#98rguLIN.,C_(KuB&?'޺]<'zs&3+RäZ~o>"1՞i]ܡnCEhy E!)z# } 0 =z% us$ca3xÈ/נR;*'ǜ ;oOMS{†<˵Fq#0 E@東X^%Nި ʜQ uvOYi1_c8W59ym@*ErzXl s&BK ^h ћ [YlcPt?3.ry֥PO_4DZ lC7X0@-k8fM A L+>?7ѽ2Ռd \M`MQLPƒ8A=R;sdqc VQ uk,!k]qeW)@vmvx5ɠ_t"66Οޑn?-=la .n񐦧Io]CK+`ǚw ,q> {rB,(hf5k9y=𷖟8P)#FvUIe٦}WC!h ڤpS9t2kVZŘ3&)%*T7;Y{{w/w[ZǓ;4dL`% u=u^2~uKXpUEyR4 |NBBU Q; Ҝ/Fs>39l\s7{΃ endstream endobj 2910 0 obj << /Type /Page /Contents 2911 0 R /Resources 2909 0 R /MediaBox [0 0 612 792] /Parent 2903 0 R /Annots [ 2907 0 R 2908 0 R ] >> endobj 2907 0 obj << /Type /Annot /Border [0 0 0] /Rect [177.652 369.662 372.378 380.571] /Subtype /Link /A << /S /URI /URI (http://www.cs.tufts.edu/~nr/noweb/) >> >> endobj 2908 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [300.069 276.317 486.45 287.226] /A << /S /GoTo /D (noweb-ref) >> >> endobj 449 0 obj << /D [2910 0 R /XYZ 90 720 null] >> endobj 1561 0 obj << /D [2910 0 R /XYZ 90 404.73 null] >> endobj 2909 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2914 0 obj << /Length 1224 /Filter /FlateDecode >> stream xڵs6Ww/Щnj{^u'MȆ3 __ ͙&3AiwFYȕ?p4sGsfx: ]@3rh_~̝bFXcRZ< ;`[[\'J=S"b hjEr B.]zqGF'VObcdO= ?FgLV䑴HoU.TU\y:8s 2Br[m Ųz\AwW<\OIICK sbTފhQߡ5YlCK8 F9kDi Z^1[A-9ҵd|.=|6>m?T4u&7iB-E &ehf/T/g $)4 Uzͼ&OS^/Y(}{'.0n0EJ t 1q$;xX&<<4 !zkMVA%T}=Lﱑf4{"BۃV;pyvԁ dzEIcu Ro HIjC+n=-YfvfkȲ4=+Mr(=k7xLS#Nſ0$MϞ v&O"ݨ.5-MȖ]opUeTɹn9?>lZjZ׵?US1Vqqԣ,MYB,ӭR*%os6!=g|xӭ|nu8N20ȷ@2Y$hӬjhD\kBPF*)̧2N}ExܶO>͛cȔ endstream endobj 2913 0 obj << /Type /Page /Contents 2914 0 R /Resources 2912 0 R /MediaBox [0 0 612 792] /Parent 2903 0 R >> endobj 450 0 obj << /D [2913 0 R /XYZ 90 720 null] >> endobj 1565 0 obj << /D [2913 0 R /XYZ 90 720 null] >> endobj 1569 0 obj << /D [2913 0 R /XYZ 90 232.864 null] >> endobj 2912 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F58 1759 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2917 0 obj << /Length 516 /Filter /FlateDecode >> stream xڽTAo0WDB8[ !`v"qI&qpSgNj E=AлpMRhyw ,`x-ykF^VSdҮ*q !-H/NN[˃* L/1B&*;jJ0~FAo JjIh?nqwG[JQs҆ UIUE:K >MAfm JݹU1pf9jOOu]1]>Zp0C)\k 3\Џ7_?)@Ns^C5;Q ?%WǬ~}&c whKS)_0J*h[ endstream endobj 2916 0 obj << /Type /Page /Contents 2917 0 R /Resources 2915 0 R /MediaBox [0 0 612 792] /Parent 2903 0 R >> endobj 2918 0 obj << /D [2916 0 R /XYZ 90 720 null] >> endobj 2915 0 obj << /Font << /F51 8 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2923 0 obj << /Length 2664 /Filter /FlateDecode >> stream xڭ]6=b>TۮxDQRq/tȡ" z\[^"K$g3!-y$~09"=á'/"KQb}1ɣOOT^HQ!/1MlcvC]I22T* ^TkӔ cFIGOn4?CxDR_L2ULΕ"dz:^\2Khh1*v! vK2TmC[Ҁ2.h,$8}i0PEpȃհJ@=ϽB Lèn;XwOmkѭ߾/{:b4)? -VGq_[XF!S/ Lװ>˂1D]W-B'5tXrs7'$:neHXnk,E骝UE1Jx'`kdкeNvkA'3=7 ;je: a(sIłtHjS[u;e>u[6BFho9 UsO3Іmi@ |Lu`%AO #!L m 8kQVDCe"XO(m\*;` =&ۿdbHG; ŦӀ>#v+.ȿJ>9!0G`B̉q$US9Z6yBV h@eߺ|%@.XsOPfzX3rD9 #'ѰP02~c&])X㐙ǚO #ّv+>-%@u4Ƙ.RkR $ĒZe,t=cNpiLmJ ۟oi)1U/!f~ ytV"}PYRڅ"G׍!rpCD;![ Z5=+YwF?B01jVP4Q 2 yVOv?_>_\#!fg/X1:[NqwpѵQD_Ym3A1q`]iB2J-QQ{74+B }Lod:wxn^#WJ%[%B*_}y/!\VynLGQAE؅`{LX2Ű=粄W1 0XUr6B+$l90|\١$Ͱ":()äd M!mXrΊJl>H}׳$:iQd0*s(tj5[^[bX$R{u@E$t|qk{)JKrMh ޼% 1;s_4OitB[jO9uK&*jM eW\ MDPɉ&ؔ15`2eGFy,m5gӫ!ϧ$_\TɘN,J.>.Fq캖g {CL\6į{A"um~98UjuHzF72<a;D|5&MPt@/{E b+*ลqON YW>lB+縑P=L%hTJ8*#*- '|079J`"i1=g1JHR56Dn?4 ej̾ 5XOPdކBfT-! b>Qzo_-߾*8򨹯P,&j,nS#&/Uᱏ%}kwR8| b`G7X4@f < 䞛15diFyJ( g܈k7b(?3vCeêRǀoGCQ׈)]Sw Ȕ例nu}P`/mt, d\R=s),zq_f$_BM:nģm4X99W+/I{?MSqrAj}katOq4{|\LT]9{MOF 6aN4/lksa %U{+MYt{s5?lesZ]hX 1DZأqˁt!ز}%cHS;|6~* qgT|qiwz%Ǥi~ZDaKstq"ޕ;FY)AL1zmY8X9Ps_/S G738|gpg4sQ؞% (C82Qq~կ7Go|7 endstream endobj 2922 0 obj << /Type /Page /Contents 2923 0 R /Resources 2921 0 R /MediaBox [0 0 612 792] /Parent 2903 0 R /Annots [ 2919 0 R 2920 0 R 2924 0 R ] >> endobj 2919 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [213.331 413.678 377.635 424.587] /A << /S /GoTo /D (Setting tags) >> >> endobj 2920 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [369.684 354.633 522 365.542] /A << /S /GoTo /D (Link abbreviations) >> >> endobj 2924 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 341.482 205.564 352.391] /A << /S /GoTo /D (Link abbreviations) >> >> endobj 494 0 obj << /D [2922 0 R /XYZ 90 720 null] >> endobj 1573 0 obj << /D [2922 0 R /XYZ 90 720 null] >> endobj 1577 0 obj << /D [2922 0 R /XYZ 90 658.597 null] >> endobj 1581 0 obj << /D [2922 0 R /XYZ 90 227.717 null] >> endobj 2921 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F52 359 0 R /F58 1759 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2927 0 obj << /Length 2376 /Filter /FlateDecode >> stream xڍYohhܧ(GsXWܡ- zEK[|Û"p7õO]-"Ie*WP_)́a~neJE2ZñN{I*{3i|4Un6,J8*f^j=74B*-TiUO)B"fޭr?u)>tr\$U,'cnD^扊啗y^}5H.fs+: >~|$cܺ,ԿCP[fiQz: @(>I믔ԟDwm2_80^ev$˾>l] iDkرiyZN CBB/Pfufp$;XkJ2TF8`aINy=L3"vOsZtf;T@;(qt$A^#ujLz  *fDFi!0oȥ y89ؙBCp7rBORCcyZopi C#eNN>dp3<ȇA}@yK^WG_/קm2M @.Q芞F/mW5V85%=F#*r{a&g\Pq 8P+U/+BBQ %'Bְ;HA9}`z | \DCdc㇚yns>pw#mN~fv*|k1[RlAs!Ab$:W/> endobj 495 0 obj << /D [2926 0 R /XYZ 90 720 null] >> endobj 1585 0 obj << /D [2926 0 R /XYZ 90 475.152 null] >> endobj 1589 0 obj << /D [2926 0 R /XYZ 90 317.011 null] >> endobj 2925 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2934 0 obj << /Length 2625 /Filter /FlateDecode >> stream xڭkoCh"GH E\Z.a%_P+eh p3~Ħ7QMuz7oGE\~f;2m>[MSu7m:A/7xfP'+!+$ E&U$">w$j:;LG9?Oߎu \PyVY{cb`M|Jikt ciM2[4:c|VT!tH+BHWLܺW( ϫ4kLY$; \wȽm7`zp6%ؚAA E˗a*Ʊf } UL,}pVPxae;APJh@a?Z/5 fqgI8ypqq_c߮I,t fEt"$rO@;HiB$+qK0#a4< ƭĔNcڬ ǎd&x%~&\T-J3} er SD%/"fE"QA.o((;b-cc.ڍy88V&&K:dttcOs ^iv'@J =P7ZyQ_<%]ׂ׌i.;n mF~~B d`385\pr]A+QE\![X/Hɥ>cp'\ucu\iY;?2ci)f)"$ gHܥ[-r{eIΟ, 4>G9Ig"-y|R~=4g2 dJ0dьsfF77J&/F΀W"5ʫKi6sbOGu/[lKPɘq}^!kTτP^ֺKT|~+F}Jx:.4yό)9E/_T.L[y=r,xK@q0.wը-\Lg(Tz 1=a}9[DϊCc+snT_N|uy!UJl'ؤ_KaziRHJdܛ݈rpob$dj_ndns/p3jTN*ԁf88U~9ENlx .KCM&_wH%97|WDRUPUDi Rs3kN`YΟpucq!m`eeyU(j5Cv p܃kwB`X3.F]M%RLzʟ߅9QJVco;~,!ƮRe=\͗w> endobj 2929 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [433.025 474.882 522 485.791] /A << /S /GoTo /D (External links) >> >> endobj 2935 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 461.731 237.164 472.64] /A << /S /GoTo /D (External links) >> >> endobj 2930 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [259.812 334.11 440.97 345.019] /A << /S /GoTo /D (The spreadsheet) >> >> endobj 2931 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [369.105 218.443 522 229.352] /A << /S /GoTo /D (In-buffer settings) >> >> endobj 2936 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 205.293 131.818 216.202] /A << /S /GoTo /D (In-buffer settings) >> >> endobj 496 0 obj << /D [2933 0 R /XYZ 90 720 null] >> endobj 1593 0 obj << /D [2933 0 R /XYZ 90 306.721 null] >> endobj 1597 0 obj << /D [2933 0 R /XYZ 90 190.448 null] >> endobj 2932 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F54 1750 0 R /F72 7 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2940 0 obj << /Length 2394 /Filter /FlateDecode >> stream xڽYmoF_!(B%o_j>rj6l\[(i-II5ofgdIڝ]<3,D `G>0#-_HΤ2f|r3{u:ӜZkOF'~Fޛ]+S_őОɯ/FJ}@"x*Rz$R!~Ԙ) HqvOSo2@#a0R2n*Eeh陎-f}RﶸK^YRowE]Mܚj!'~"a+ ˒گ|\d$|k7J4whi'zQʂRY^_}Rg$(Aoa۠7G+V"طDߞHoشՀ/3$:RĞL^ [٘8c% y٪鑈ˆ&iEgI޺n,jST[ߟD1WN\ n>@ `ff`Mh_:SDCA(WgWo?gѢ" F$##W"aq yr`wXɹ\j:L ^x0~3U@( D ^7VIޗvPV<έ2rX[R[XRpaeA1 ֝t'pDu:ųZq +"NH(i؂ πً?9vBE  ka[JxsK"ĤwA,hPkU-Q m ";dx$-SX#ؔUk/y r&I@2<8iGvJUszyvt;#z{#{X|da13^%)--"pw6Yg_v[k AL§ݡ1-J9P:0lk pށQ"{B`feQ}|Ǯ fidY:d3?̿tmz5Hcr^$q Dvx 5f }d6Q#n3y( byVVYnz<˷YX#@ضc9yE0)Qtv=CbK <-*{!"0R.TT3wKC`L%߯5r&8?{3oѩr*zKkjfS`(wirYYk 6caćvuu,x|Q4GG0;L)#VT:8{8i_{Nٕ||kZ3T\""2bTC5 40KZ¬wij}Aۖc0N(f:mz"p5j?bx]8>Q>d@HY+؆'Uk{ +@K(#7¢ MqE{$?ba.R O<zKKvRrA{\!L0I΀ɐ>'4'˂ZC‰a8P3ĺ˫bpw[l9MY?R yݢ[uc"-c 1U9Lo5E ʦ?̾X0zC=`2p-cHL?MԚW+[ك9k?2aV6?e$^7W*xhm\}vjaYp1lOU%ߺV6\ie0ཬS}|yuq9ZeP^BoP%~Ry`ԪU`QNK=pRP!WkfR[dŵre{;kP h`y-)LBp/I I:'xN(p0QWܼ֡5qS}=_x/(ͳTDd[m Z6m4ǟ/"t4 g D{lyEe9etb_ym{.*|Ġ' 9`g6.olWc0w}xG/q10"LQYFߚzGuA:@ٰ2(ɉ]G;[Z%w' DYzׄLAqҷ4+mor2WbEا1\*X5`5UMf:+\GObiasBgg\F/S(2@F8#Z"3VHۜY88SC"r(  ^ߡcLRpA`ۮўINYjJHh4LJ>@%&z炴[~{<(WEwܷb$n<D~5 I)&Ģ ^_NVyo-UGLg˳+N\LI4(0}58 ~mDhb3Q`I#>9x~uqo$:., G0Mp}o endstream endobj 2939 0 obj << /Type /Page /Contents 2940 0 R /Resources 2938 0 R /MediaBox [0 0 612 792] /Parent 2928 0 R /Annots [ 2937 0 R 2942 0 R ] >> endobj 2937 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [468.585 347.38 522 358.289] /A << /S /GoTo /D (Link abbreviations) >> >> endobj 2942 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 334.229 282.887 345.138] /A << /S /GoTo /D (Link abbreviations) >> >> endobj 2941 0 obj << /D [2939 0 R /XYZ 90 720 null] >> endobj 2938 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2945 0 obj << /Length 2159 /Filter /FlateDecode >> stream xYo6_Gx"{ko[>0m +K$'f8,i8n"@Dѣ|I<eR2).E $~x?SqɃ\Cc#)eӿGIn4G"Kc 𯻏ӂWH-|" ו9vF?!tCkUm^%QUӐv/auw5ڎ@Rzliu܌}}# ~*EiykWȅ60e Ds.2 ١xi(eP^HeWxHC]ӀGk5Ũd,:uP+07:Op\cj>;Abx )Z}' VS 18֟Hqt*^,MɿN}%$Y!I:F!󌀐a[I _zC d47%=1wjgGZV7N.iqY>ꮧAoO"qw 0tr7y hU[EgHr̈9,l `tԚO痩L9KY?}y'o"kH_9KRN_T|ē/%N҉3m ़g3!!9KZE62| Z+{U{ѭ:p$F 'DGXr}lGŌxbx2Y&KjDڙeaQV٣!+Ncw$TUFQ75!# FD"wve ×&pSݏK2C60,K( 3+%8)e @d4UP1m|Օ kXKK6 e*ݓ.HaX9ovditK7Y#q0䙾+ }Dzԇa$3glli1})"L3h mN=$-A\oqB%E""!+vɊƂɂh˜H@yR&+V6!\Q+"+]~E|ՌK4 k0a&\Ʌ#F 0F^fvHϮUYIT݈zT{S-+Ժm Ko62$Q>5.XWm܌7`=2^1 l^k:cn|Du(:Թ5̿;? oF[u Ƃ~Cge" |^ owɱ/Тa<4߆{YfSDe`RF(ҏ԰_}}@52~ uN66ݺϐC1s5=5b_ǀc7@glԽjcqskp%qP4LEl7৻*, b(_2e%F9xPqXKReO=r7[ GA_VSTw]8 endstream endobj 2944 0 obj << /Type /Page /Contents 2945 0 R /Resources 2943 0 R /MediaBox [0 0 612 792] /Parent 2928 0 R >> endobj 2946 0 obj << /D [2944 0 R /XYZ 90 720 null] >> endobj 2943 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F3 285 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2949 0 obj << /Length 2000 /Filter /FlateDecode >> stream xYKsϯ-T%^|1M*9rݪ"d1C*>4d;sH ~7!?Pe%s_PJ@8~f*/Il_V&'TIɿip6)eF?mJn !%$ZD< Go; "P*蛳 ccG$=IǓ}=ޮF[FEώp$)*=~ }PK>fDm@F3֯6aLzEV&RaEI67zj; N崚FI5w q3m 9ΧE(gnh4Cu^P8ORp ZHܥZUREipOa?mfp'{|R8kpvG` Q=nIoV ھQgS< k 'I%[-L F5|2?9HO* Pa +6*uVҘQyF$([oIC&CMwoQYIJZ@ -A1˓֮$&EhԾ>;m'$^RAv11K xkYZF'|Zp@_ GmzZuB2oyiG}Y9MԘ])IYt^Z,; (1p$qiS2$`f\Sq>GBFg0^qzp\vSr*-@4؝ڕ]C :ڮ oW6=; M,}U4ʜ:EZ0~O: h|Y">J|0VRWP/5yG>:iGַ"bћ# Iq|s ̾xC (2czwyV} Llo:(b ;^O ˔t[NoVz5p~|GyOTw";\I9 箱&ĞİЅ3 RN$-dРr<)r82_y$zmİv7e8 XV&Q 9ۊl?Pɰ YnO"]w=l1u'& )eAV[i/ڎ0[AEzH)n]!|ђsF?3%/8k%r1Eh̘b.LsOs=PߏuzLjgګ1uî^Q1Nzv \|ɿ_38O6dwvL c^]uIoA1ǀAwk7%t"*(-s_s.rIk!x[ ǰ{N5l"`i4z[Ws_(Mڣ9ar*+}\p5Lpg_=iWB3j{5uGAP]p ?}Σ6?޵o@^l=!縭3vlQ+T^'Gfu`GMpܚÂ%̲@R3UxSOͿ?2 :@i5c;OX weNREpiށݨ+"E0 Gf8K2Rjxfj1X5LYL丝z7~M]3 JLdQzد?U}1a endstream endobj 2948 0 obj << /Type /Page /Contents 2949 0 R /Resources 2947 0 R /MediaBox [0 0 612 792] /Parent 2928 0 R >> endobj 2950 0 obj << /D [2948 0 R /XYZ 90 720 null] >> endobj 2947 0 obj << /Font << /F51 8 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2957 0 obj << /Length 2936 /Filter /FlateDecode >> stream xڵkoF{~qp4]>NKEz"-H߼HQ4-;r8;3;:GQhy3%?-g^WCrܴY}1=9U&8)*+8Y|Ty5SYOV5/;ȼJ"{H l$eBrެjaHKi˪3.r2˕ B(*iZ8";YyUN>n5 qQ3 !rf ]Ѓ=Ap(<,2VӔ)v;WjT@q p/Rpn'~vphNR)k窪7"i=]ʑYٲ-n(AnҺq$f8s:hLJ:j ۢo:`0y 70 Eߔ}wLDR}@NO hyC*ܔޣ=֬E&t8Q>]]SM#W̸?E2$77EJݢ-)':/Ss~>nQcbS#{ Rɲqp=Udl"sv6~cDLJ z"cZ&L1ccUw UsDMmj@9Q{ߍ/p3wT(w!O"40\݋w'.Di-Ox"OΟɛ_ޟr p<J>a]/)św8:{sF.|poψc>uoOu+q 8O_ONu;گCqɎ'WWA>BՐ~9֞qw=ڧ7~|7_H5!~uzg17ТwG*3 <:gSiUۅT઺L؇Ѻ )Ou_Qjo)j%$]*¼N;8u4s8p"3j,<2g';O%# @5FpT ~2Ntx'- "kPQUәC5M%#d+Iŋ:/||ߗFş ){ 9մ=ĺNXqcD̯@ N#7qN^09ojP;^@yĮͰθ*u6-w;SΒho:v }O+ClNؽ^FVk%8K~Fh %k ] e|qCZ8jC\n-Gk" DU|_ ܨ[dR jMbA#>8m-ݲz >8^+9_Ahe7EȩO@Y&-T&v]WպJ Bo}:;RI . uK^ږ]3l8sNl'8m$M:XQwrB>}:K"wWPSޡlvSAe5P"}'+ ^܅86S`7thyh-Fl]g%0bB88_,z4mR.Im7YRRSm2P ?v4 @k_JWD/Yu"iilqjim,7r ɒzɄW[L9R/zм!M1T, "UF}|qPl7=Ng=D86 x&(~DN߿nqӁ?ce۫y7 3;C=C8+ X[uuk{pezyvUW$d\n&l,{ηtY ]Q${=uۑMJWgjFNJx&rJkJsr[7d7lY'M_w4#I1[,UdҺzsQڄ²^p:_a `tN{nBc%3E `l7 $]'_]oliPn%6HqT!>>vH 2 lj|Y0h,=T9׵#M Rm6Q0m$//WJa@ݤ2ٶGvw yºMۺ+cQ{?Y#M&^H Hr"|v>*d%PJ:r p=(p;B ra]uu`7NZ'@3&fWZDR#e6Dw҄EfRy+6-G:,uIjgU )y 6%QbЉRCǾkw.SVr@ oI&3|u=F5XUF_=>q;J ;yu Oz nWo= endstream endobj 2956 0 obj << /Type /Page /Contents 2957 0 R /Resources 2955 0 R /MediaBox [0 0 612 792] /Parent 2928 0 R /Annots [ 2951 0 R 2952 0 R 2958 0 R 2953 0 R 2959 0 R 2954 0 R 2960 0 R ] >> endobj 2951 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [200.102 580.851 402.541 591.76] /A << /S /GoTo /D (Using multiple #+TBLFM lines) >> >> endobj 2952 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [419.165 580.851 522 591.76] /A << /S /GoTo /D (Editing and debugging formulas) >> >> endobj 2958 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 567.7 307.691 578.609] /A << /S /GoTo /D (Editing and debugging formulas) >> >> endobj 2953 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [465.277 470.584 522 480.281] /A << /S /GoTo /D (Export settings) >> >> endobj 2959 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 456.827 275.782 467.736] /A << /S /GoTo /D (Export settings) >> >> endobj 2954 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [473.726 351.843 522 362.752] /A << /S /GoTo /D (Tags) >> >> endobj 2960 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 338.692 160.686 349.602] /A << /S /GoTo /D (Tags) >> >> endobj 497 0 obj << /D [2956 0 R /XYZ 90 720 null] >> endobj 1601 0 obj << /D [2956 0 R /XYZ 90 400.365 null] >> endobj 2955 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F52 359 0 R /F54 1750 0 R /F72 7 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2963 0 obj << /Length 2727 /Filter /FlateDecode >> stream xYmܸ _1}.Yd\9٢8\3OmnRǗoˌ= M&?ɣM$*7n;dQ⇛ꍎTzss;gqSn~~/NCm$Im_mCclǺUMSo8Q:r776 R\F ʵݤ(}E٥ڪY`MTooYa_s׷L ~<5$AS ՁasBY.hq5=C1EzUF(LEnvi# r>Rފv5dWNWʉ?1x1ʔ#oimo,T(>dYV@5?jO# up28Ƥ_U H(cA mQfƧup$F!`,3֋pieP_j"=|KBc a$Ia脢8yTkSF5w! FoĽLL %"%!DlX5殢籪9)*"_'FiY耽}};LIY%J̚2-MFg &"hAq~òMCϑApZDpp(ʊjChB+`U~"FYck&tQ6JU(69nֿXSV?幐No? "7߽ye=3 LX1aΕ}}}9:~H2ZtM] Z_ڗ*űz.L?SQN2>Fw$ n 4Мh5GtU[p[Wi}/0*<4RJ ,^̪>qߏ]t"k;Jicw7c}6'ڪ ߳.\MFxyD:)g*C {j lT8ݮL.jf$6?L>k䷅dT<[|oliʮf+2~+e%"IS.C Rr=#h(u߯6^S6~ I/tf t&SK\&ZGZ8*iwrG#N8 D]W" 4'܈s1Di:g,Ǫ+ `/yl8> endobj 498 0 obj << /D [2962 0 R /XYZ 90 720 null] >> endobj 1605 0 obj << /D [2962 0 R /XYZ 90 616.416 null] >> endobj 2961 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F52 359 0 R /F72 7 0 R /F54 1750 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2967 0 obj << /Length 2646 /Filter /FlateDecode >> stream xڍnܸ=_1@VZZI$u٢٤pm<]\Ic5-oyxHBVyJ rW@o_E2`ټVQa67#6W|_ [J)/2?}귶ƶ~lj Gz.6&Bb|$Y%"8SO1#$ ]UV(7W۵R3f"}tƿי#Io[4<8s#A .ְ(+U q=C > h=싁fPm0a HH=]xv_umo6L{-:1s%*1MZ<VtJ. y۶-YwebDT1$W}UZ_X_Q\ySo_4;; ցɢ9mVPڻcv>rS[^=aEdp0i">\m^|CF^*)ro^dܟ\_,")D'1l:6m;諮iYWp_SNw1!ϝ3E!0!0Ĵ!̵XR8,Ȃs5cȳ΂oomHhm<~W`e(sYCZ@7-Pq͋Q_ r/{Qiԉ J(&̼co{] r]QX%o lqL hxoG%c!2".dO{%G-~h$H3ԝd*Y2aXneC =ȅ0^P0/ެ"s{^JI!p;U ce .X%G+*CK֦L2:I#V& 4<-nUM2ׄ@R(fQ[ /~B-almrGݘX|YY[n0"R03eGGuFN Ne*Pe-K'oY>C(l%"󢑈&#s | ^`L MXs& @L~<ᆿuݒG8Az&k -^\(DjZ=S*w 'ticc6\&R!㐡w/KH!6: )$Knj- T(I(8 N̐C͢)f$Y|"/_q.50w[ ulCbiؤbt_K\0Tc@ǃOpu&fS40F ,l6T<0e0_jL^mA3q8h5U3O]t;A&Kx}9KwaKT 8|&Z5u#ݖې cxN5,|9? OwjAy="l9Ofy6)I mQo]O3~ Mxyvs䄟V|m24H?vFAJ^EJ$b/YG¥4{++`%9U=>D r_W.B}`xd}"ջo7Sl)|ytr) Aϵ0<l+|iw_O| |-^k:ʟ$+`8f p".xHFvbAc$$0? +Ohy6:sJr!s4i {:)@9vZH&4:"[V2r?.[RXQ@+ȱ0f}D@[@yKeP-|`;VrSg9XZ 0 :7+󧫏^xf|&t}; 3~5!lҎIk a]'ybrWŎsoW* ln>dzN,5/rdI-*S?w%UR! JJZq$L5ΏW&g;H b ܗX@*ΗlIP,9%5{<hyWrb/K7rFAЏJbz T7h?iۚ KRjֶƫ h B,@{خ 8gI~1C??T\AÔJ[Ʋq@G^/Jz|vL;ޏ@ S(r./uq9**x|jwQ)\ {%;zR7w]+[+p*?7 ] endstream endobj 2966 0 obj << /Type /Page /Contents 2967 0 R /Resources 2965 0 R /MediaBox [0 0 612 792] /Parent 2964 0 R >> endobj 499 0 obj << /D [2966 0 R /XYZ 90 720 null] >> endobj 1609 0 obj << /D [2966 0 R /XYZ 90 308.453 null] >> endobj 2965 0 obj << /Font << /F51 8 0 R /F54 1750 0 R /F52 359 0 R /F4 1765 0 R /F58 1759 0 R /F72 7 0 R /F53 1758 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2975 0 obj << /Length 2378 /Filter /FlateDecode >> stream xڽYݏ۸_a2qOIyKw7i!W$Tkkmaeɐl;ádIw{}(p8o\_"*Y"G}|(pիw/x(Xj\C7PJpf*E2.Cat$^ݮ /h*%3LT~+T:\rw:N: Z*!^]/RHɉ4YxVaezRx2$>)/.T I")q[ ]apx܊\mds!>jn2K;n4?>;Kİ{秅/DwwXpŤ23$Ɉq.H׌GP| ٺ+ :x*ng1lK#ltPq0f DPߖ" `|򠨈 iuSn~ ?&>[Y@,"ہd- 6=#"q]SMfȟ%B3'CL(Ȅ`XLlTD8bG5~ ΤqcPTeXgO)pkI(Qe"Sq:5mmhkЅHc on|ߋjKɳM,:]]ѵ85HGmkSB/QL'A[DLq5yHE}*.i|Yp4:L\ݶnRLDs\U24&.'wZH@Boeh 5Ov_i A؁hD)JBAdޖė)S&d o7]aF=Ӯ&O4IypyL}6#I(mD.藬%ҽBUeb;41FSX&2?$ ޺յWhgFwMGVq^ 7E5⽭e  (#'RfC/#C0@jh&2Eؒg>(G!r҆i2C[B yT3T}&Ox=i<8R,A1c}s'.my@ J-ޙEf֩Gʺ )h"MXwW8b!LՌLz3oKk9Vujz5mgCz_T#)uaY/nSV]\]=== e*r=WPj\׹ZSp s%6:鯼/ 4`&N$#k. /beۢ(!'-}dV.}cܰ#7=Imݱ3,pHc iT9\ =h]m \784#&֥oR(I8LN:f"MRLM|I,!~ `Hd[lo@K# o~"m|GdDh!u"kzV@1 lgeV;$NH E5Icp.#Ifݧ4DC_A&d] &W` m; }&8]pay^kxuSYlk@/*jK~#b[$W\([{,<3@7PWCZL/?.Tԕ>R[Ӭ!yfl4!o+N$z|R[;>)߸1.ك#/jf nM}.U2"68lgsuo?ݱ endstream endobj 2974 0 obj << /Type /Page /Contents 2975 0 R /Resources 2973 0 R /MediaBox [0 0 612 792] /Parent 2964 0 R /Annots [ 2968 0 R 2969 0 R 2976 0 R 2970 0 R 2971 0 R 2972 0 R ] >> endobj 2968 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [202.425 361.856 388.598 372.765] /A << /S /GoTo /D (The spreadsheet) >> >> endobj 2969 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [487.454 309.859 522 319.556] /A << /F (calc.pdf) /S /GoToR /D (Embedded Mode) >> >> endobj 2976 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 298.829 379.984 306.405] /A << /F (calc.pdf) /S /GoToR /D (Embedded Mode) >> >> endobj 2970 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.114 262.345 449.475 273.254] /A << /S /GoTo /D (The spreadsheet) >> >> endobj 2971 0 obj << /Type /Annot /Border [0 0 0] /Rect [206.61 196.895 424.244 206.895] /Subtype /Link /A << /S /URI /URI (http://www.astro.uva.nl/~dominik/Tools) >> >> endobj 2972 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.479 123.383 489.6 134.292] /A << /S /GoTo /D (CDLaTeX mode) >> >> endobj 500 0 obj << /D [2974 0 R /XYZ 90 720 null] >> endobj 1613 0 obj << /D [2974 0 R /XYZ 90 482.017 null] >> endobj 1617 0 obj << /D [2974 0 R /XYZ 90 427.19 null] >> endobj 2973 0 obj << /Font << /F51 8 0 R /F58 1759 0 R /F72 7 0 R /F52 359 0 R /F55 1860 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2981 0 obj << /Length 2800 /Filter /FlateDecode >> stream xڝYYܸ~H#:E^bF؅Y ݭ'S*nٱ c],U ៸ÛL MѼ`ʇ bƫwoq# sqs_nq_>h/DΏ S׺54(MBE"qӋ7Ip5Kђ%A|82&&.Ku;#toP7rdAB"9/uPj0 O[UcGA4;ls)C_AhM$W I?nE%@* g"˂ OSqA(4y0}`ꭓyK BOݱ*s31X}h4֎Cx:y%:Nf4ٙF"ڎ]{pVV˙%J~x1%M_K@ߟ,JJÇqk @JOS &[ƣizi``Y Z[0\&ےzɪ*/[~+9qc3#Ca:k]?.ˀ%CFx3 MK-gf`p۸IYk| 5H9k.^AKx">TzF롣K~}v-а{3##v=g{5 &[;az{cNuf_fw;8e1Q%鳂4]bO da6#E j덓@  )P= GzdI~]s1IwQ8Si=f 3Pק::9*sE(q"*n, HXL~ބL7喖8~/ Ġ Z3ޝ_-;sq%s׀ͺfkYnFe "r<(G(/9E]DZԂuf56gE dwhZ z0XM@3-wHOS,jA*~ͯL (M7i CdRvS' E~j d` ##p"W~Z0yCvoRVLl͵9` ="!a- ,Jw0]ޒyg'.;w4J 3_ b^nPBEePG"0^P5U Ȱ-C3d@eY~1xTdi,IH[IHG+ǡEZَDe]]~C =M˓QLieNjufr@8Hl|▰3zK*OrHuQv{bI&SVr;0֍ /%l[ 2}% ,XAsCGT9*3uRi.{,DPCCvoۧ/ v%/KL``658BnH l .#3s)8-0v@`:H\WLhGmnGm^ ~2PX9iAڏ {2Tp9]q`X8g=+q_֠a}"w 7&ߌYyϩ6Y1J@0ľF{r#x@s@Jj؜@ғLR6ņ {NĽ]Jg¡⇷ֹ>Wۣw SNyܳ&sahDg+e-5V;0=s C&Q x<ο\1y _lIeS;@#@D=$?lސFĕ&]_1, nq\-U.]AF@z|A}:ZJք RMmk 3 ?'@\!vRI 6o5SAkk!1Wd%QTIb@33k D+őC Tjw*\;V{&ybGt|l@s1|/ktK4 q(Fq72v `uH8yE#&HYZ+8?bXZ|8EA̳P?n-dҲq TLenX5usni%=?"7$|ҮпWV%ƶ?sLi+D=Lu Ҕ~r3= B5o0L@`Kӧfd- :x̚NyX\?!ơ(Ϩ*40ͧ]rt$}$%7CBEW4]C Lk }wkךHHV#CWlq"?iZZQq]i=iJmͨEP tn3RPGa +^|~:l;e \'ΤTr *Y VO', Tq:;Vd.m8ɴ%]hiT Bij3>ZɭjBANMw"N+4W8֢lC! endstream endobj 2980 0 obj << /Type /Page /Contents 2981 0 R /Resources 2979 0 R /MediaBox [0 0 612 792] /Parent 2964 0 R /Annots [ 2977 0 R 2978 0 R 2982 0 R ] >> endobj 2977 0 obj << /Type /Annot /Border [0 0 0] /Rect [234.802 467.293 446.708 478.203] /Subtype /Link /A << /S /URI /URI (http://sourceforge.net/projects/table) >> >> endobj 2978 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [405.865 237.621 522 248.53] /A << /S /GoTo /D (Footnotes) >> >> endobj 2982 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 224.471 183.964 235.38] /A << /S /GoTo /D (Footnotes) >> >> endobj 501 0 obj << /D [2980 0 R /XYZ 90 720 null] >> endobj 1621 0 obj << /D [2980 0 R /XYZ 90 216.667 null] >> endobj 2979 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2987 0 obj << /Length 2679 /Filter /FlateDecode >> stream xڵYܶ/֡"QuR;qEp T+Qiw^ |g8$Wړ}g,I yf]/‹ E՛'@(~k]DaYtq]͏./>x?èKsEť/C&oU7 >e=%~]({#x8A؜!^1Tx,,3jsRcὭ(}~g]0`a|G<$V06u[vY-ﷴPta$bwѸSth3长&sBJK׵sdRS?tP/N[S]UFiPQU%hq߁^hP53̌N#:N4@."H1,8 P*FߕjRmv"9Wۺk?{b"@Γ@;%mIiT4&E(0 dٙBޠ;ȫb|{ Ծdu4wfkBK]BX:vu5MI5Q$)n ǃR$"<iCnk %"!mvqyo*Z?^&佢4@hýMtMi4+HCsy0$.MΜ@ہ{ .pͥK_t@<&jXsܐzuE^Uft7\kT$x*ˬ J~^Y]IC]O5v9o-py@9`N"H5XJ?_Yo]>]W&/_aUEs[Suw aXF$X5J1‘ST?~#i`P!z`1 졥,̤ LkhHsJHKN\9-s&17HdմZN=|T4rbF 8e.RSB(0.g(v& b1#}W?0N}C|vCk MX8Օ˫H%/wN]5?Jo&DK%ݷ;n@8Zܙk2vDՀtS !3.C'ޫco4 EfB3s.1|-s7Gi@ !2 *8¯2=es}\d^`bi A{UtCFռ+5/y?|ߴ[8!"%םLΆPy?ci14KΎԼ6Xm; ()xn.OY/HB$PFne /X*iK @ƁL_O(/^ M~4{D,/_CSjp]{NIkrU^Pz߃SoMCS]h$oƁpcv Օ~kX=СhN,E.EõD8!c4LpZjP:my|'6HNv ]`kJ^Tc+-njl%FJ:,CVB XT]>lTRV(Bzy[fl6no"o,SҨӿ̙/ǍR8Y Xeh&,HEE`!JF64TP\t^4p'={AOR\PG W`P=a.F.>vC+z%]7Tj 5Μ5h!ß/jOyz2mZR}7, 6'裏&/JmJt"yoMoQ&@YN]/! ekK;-Ma5Ȱ;Sкs*d!qũ{ IL^jo.՝C+ko@R[*—VB%EGmL#,kB904o|0]^f%Qtˇ:,.{kpcCuATM}c`1uB6w|-ߘΖ1Z|2M5?+m}82"X1Ebքk up0#SDyõklS^~Opݻӭj<$~qҽȥ% RS,ǧpZj8eˆhTՄ BL(tTҳX#৊^fR2K `hId09ib@@{/?|2tXMwv:}|OasIU~1<4!& ZnT,ľCoN-Jo\, M͓}:OX2/Z1G^ͶSҞ`V&gqߪՕW`8xԞVGSC>> endobj 2983 0 obj << /Type /Annot /Border [0 0 0] /Rect [305.727 486.329 385.908 496.329] /Subtype /Link /A << /S /URI /URI (mailto:larsi@gnus.org) >> >> endobj 2984 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [147.6 407.122 316.531 418.031] /A << /S /GoTo /D (Orgtbl mode) >> >> endobj 2988 0 obj << /D [2986 0 R /XYZ 90 720 null] >> endobj 2985 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F60 13 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2991 0 obj << /Length 2003 /Filter /FlateDecode >> stream xڝXmܶ_p?T[XE׽i`/$@bOwC y3c;cˢt7/|}|,傀Ëَ^glP.U<w?k0 (E]V߻At_?LAPKIA{,HvIy,Ȯ/D)[>΅gQD[vK)}t2]z~',~uzau%}>6~te̋x㖚;Q"^upȟz!%7q_A`7 ׺d{"S'-}vv܆./ʢ2:s%#lI&4ɽ-2 M̎󹖘dWg;ߖĺ>~ °j+H`ё+ڇfmr9Z8Ui5ٟs;!`Q@ZA[*MDůM$K^mfZ鲄UxwHӹ~oJ&W]E]홃|(Z鈛P%: (ڻwp0zetܛ7K j G0#ۨBmLw+g-}%K= ~WpApR֢kF/t: >%O ݌e:WSgjueӹ8MmEyQ$AU'QbFI\FI0%^EbdǔY՜~ f|#ه e@F:?-ֽ ]a:DJd^h ͂̍d hSBpˑ#mEK{t`j$6fVBAbX=GS{ӭ./h*Fm/@ى5š<3yG3 = '?7A>-w/y=-;ոK|)? J/>__^ BqdԀZYO{7HL;")($LWG^tIO%MFWeu|7j/ No_F_[co8!Q._ֿ-VovS(vBY]RA0Hs:d=3ZuYCg_QҞ2+皷7⹴8p]FU <4?;=XmuĎ'L۪ τpvLJyne#fO׼pmݕQSmmVݽ g>z#[҅iϘ;qqJxsnq7y3.{ĽA SQ:J-"B-xRD N`=B,@8-u98tǨ3aTe&T-ō endstream endobj 2990 0 obj << /Type /Page /Contents 2991 0 R /Resources 2989 0 R /MediaBox [0 0 612 792] /Parent 2964 0 R >> endobj 502 0 obj << /D [2990 0 R /XYZ 90 720 null] >> endobj 1625 0 obj << /D [2990 0 R /XYZ 90 454.562 null] >> endobj 2989 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2998 0 obj << /Length 2040 /Filter /FlateDecode >> stream xڍXYo6~_˨,hI'f`'1n)kt~XnI-;a,u~,Zl\D$AIw.Sl`'|xw](6u7TCyvk{}߷I[/[avdcC JۈDb8pLY(v#`,/x;'C=$M4-R;fJ(d"KCOS:Elc;+5xY~]t(ZŀK!K+;X> =v#vNs__$8 |ke05:`3&7G" w \HC.@ +!2HlJ>1e.UcA@M (8Td.J-JS&_ՒK 7A7.y =a^WJv<'皬q]밨0;Y#U03#T?|\(A $ᄐx|.oo.U6g<͊`^ho:)i/=ׇ޿<&͠j][p=%p"˾3MVnϢ*s 4ԋ7(qPwWE&$d^{¼ untNWu,wހz?d?C<slw=貨DyqL'j)ҷVo\ב>ڼA"V(K!"KAwYwk;׉X8?|Mgb{6~`"GR\dn|X|3~ bWgK;o4nZUOM„PA{ _oZ-u3OT3eXUfV\ma0SM3p&8%?]f- M9T497k~w蚱ۮ5K0OH4#mkkW/7ez^ Et+,f`rk|`͙̂YO:SALPEEj|ljakNL+Ҁ> endobj 2992 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 569.393 370.633 579.393] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-configs/org-hooks.php) >> >> endobj 2993 0 obj << /Type /Annot /Border [0 0 0] /Rect [269.443 494.045 372.533 504.045] /Subtype /Link /A << /S /URI /URI (http://orgmode.org) >> >> endobj 2994 0 obj << /Type /Annot /Border [0 0 0] /Rect [241.879 467.743 448.058 477.743] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-contrib/) >> >> endobj 2995 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [352.384 421.06 502.769 431.969] /A << /S /GoTo /D (Hyperlinks) >> >> endobj 503 0 obj << /D [2997 0 R /XYZ 90 720 null] >> endobj 1629 0 obj << /D [2997 0 R /XYZ 90 720 null] >> endobj 1633 0 obj << /D [2997 0 R /XYZ 90 644.216 null] >> endobj 1637 0 obj << /D [2997 0 R /XYZ 90 558.081 null] >> endobj 1641 0 obj << /D [2997 0 R /XYZ 90 456.432 null] >> endobj 2996 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3002 0 obj << /Length 2481 /Filter /FlateDecode >> stream xڍY[۸~ϯ0(Vn#V[ 4E-E@5lkǖ3S(Q9 yHwnpp4TnMy~PF>Sn@AnͿ/3jv֏(:W7JP`?x?^k5ce,B&Ɍ #ˮ ul᠘&mw.K\C_ƒw<5QIl0Ra/w!* VQ[cFѣe7GLkrDFpXaV휇* {܊V3  w^[쪝/sޙFTEehyQ8VuBH/v;NoV;(1 `?nuZt<?,W8qծlkDX8!8_ft *j0yٮJDsmH8f/׸ĠF?dDY9l~Q2Y!gxY|1խlmE@gȘtxPBjksnϟ}P C.a /zDcӜ˦4DL鑆/`[ĩO!m8 UA{9AvD0 GrSAl.]B/R5fmuP&McѬ[`EQKLYt,_u3m,n@(JUnǑ"KYvWX|,2dX?T:8 WqU Ky u$U\;اM endstream endobj 3001 0 obj << /Type /Page /Contents 3002 0 R /Resources 3000 0 R /MediaBox [0 0 612 792] /Parent 2999 0 R >> endobj 3003 0 obj << /D [3001 0 R /XYZ 90 720 null] >> endobj 3000 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3009 0 obj << /Length 2988 /Filter /FlateDecode >> stream xڝێ6=_aVaMZbE`9m #K^IΌ~υ%[ #^y7ZB'VyJ rЮ>v?<~3\}k?<ӔڗRz.Q=W5[J0o~Q⊰4Z HD$S'@NYzƞyjn>#]@DȲG7 eAȃݛOհƏD`p<[ya0  @:L.4۪1]<{^?a ݟx4`W4 #vd bfT9-xӵ{EXi%yah'> AùR@uX{I='HOk+^yQwC b3f $G4l@Q>HdBB%AEf"4[@@bea(CY$dSHCywOD?ɽm>( QM؀d!rD>fku?C@u]?|J^MݲY\z`SϒdQJ~zd|U(8ܠdײ$" #x8A=ܦ[x*`Di =7- \UQ>7Svd<׼M^:n}1|+:Hm ?,cNb@!=&rT,֝!VTU͋U+dhU<|×N`kq<Lmmξ@,!S@s!u`ɬ(dIFɍ_SXg3m{$Z%Aʌ$/z:X_Rg( -Ѥ+*/,&&dE7lUczw/'I+͝V bI$>-!VـL2ct㪌ʑ d:M?fҠ;q |Ӄe:w bo<(0p/V́'#NRmyßB*k<:Ib1Js&W N/='Uap 0KG}gV#8(zDp !yNozdSVVF *Q8Ev#UN~>3ut'#$f[Ip~X1FEm@x_MƳ_˴En8_sUƳDpr'{X]j̾)rgc+At.; cGI*3r}8KBOCq-[AJgW vP=S>Ec@9W---Wx4}USɷTUL$@Kϰ$)ױCa@A b|^g ȏ W> && UbmS{mb{+C{zHK.E$Fbg+"0<W%8JTTOڇѰtT endstream endobj 3008 0 obj << /Type /Page /Contents 3009 0 R /Resources 3007 0 R /MediaBox [0 0 612 792] /Parent 2999 0 R /Annots [ 3004 0 R 3005 0 R 3006 0 R 3010 0 R ] >> endobj 3004 0 obj << /Type /Annot /Border [0 0 0] /Rect [320.702 457.78 488.702 467.476] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/dev/org-export-reference.html) >> >> endobj 3005 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [226.025 393.609 470.101 404.518] /A << /S /GoTo /D (The very busy C-c C-c key) >> >> endobj 3006 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [411.161 87.422 522 98.979] /A << /S /GoTo /D (Working With Source Code) >> >> endobj 3010 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [104.944 76.152 198.921 86.613] /A << /S /GoTo /D (Working With Source Code) >> >> endobj 504 0 obj << /D [3008 0 R /XYZ 90 720 null] >> endobj 1645 0 obj << /D [3008 0 R /XYZ 90 720 null] >> endobj 1649 0 obj << /D [3008 0 R /XYZ 90 442.434 null] >> endobj 3007 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F58 1759 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3013 0 obj << /Length 2971 /Filter /FlateDecode >> stream xڽYܶb6zP/KuдhZ'qJQHZv-%p8op_+]~]yzY(L8,f~$܅_E>.Y\W{_C{!cZ(W8+Qqi$\8h*?Vi$X`~?$i] X+K* ,E!rc xCX]w<9扻wJWIU,hWϭiMv=ؓ#\K3rCw+ڕȱ {}+VbcS1}'l%cJwwˮK0ya J 3T,6WZ9|*c˾L< 2r8fwJf OaLŁpe8!apH55D;[8 c'ZEWa@Ll7$JGH"vr81 z%4(4Y˞6S$-۰DEC6`֌&MdVOrUqތ}eZmDe"r!t߲#K t(t3eXY/Afx$j5 ht:L0h'1;1H@A^i;Ԕ9ddP48FW3>IK* )G!fء2 8 &K!"ubׄEa) ޠ^0ƅrd0-^4X4(lWL!s;j" d]wVd`py Hv~G+$΂uY}z1L l7IOo7J`Y1}XG`~[vs4 CM dakB9rB>0 +=4˒($pAt$"(AoeVkc7`VS0y3!~CeUٝN&^0*_$ ^%oЎI%7sWv}R Ԕ<^]}Wof՗Wm￾~f8,wLS.); .ڊ2 rp`rP78bQ|`*kdJűyàm7Ea^me\+`97ը\ŝ~-N| (*}E.!a*Z校/g瘪eqqCBg5W/ VƧ sf>f8 -'q?6nN4jӥo)aEԷH_<ZoGK b7 3%"Jq5(Rk#B_˚4T@{i"нt/N[]dt- BE|*ֽi(}|M鍊@w SI#Gphv> ;H#?MFE_!1Z9z: - 8C&S A4v<&>8ֺ8`* SCQ RVD!';x75+*l:+P !LR_d&cћrҬ"~%&Tjt/) "A"1nQlŠ`z4i-uй~u ya |V a8`$^sv2LG즆^rQbb5u+^m,67"*.GTxm+zЃ}NUhbUOCn#X(GMaje_6GD/uῩ6c4tϼf 9;Bw'Ry5.K A uCo<78芩5Amu|ôIm2]o6# RK]#DjC m4J7%zDE}LQyN @ ALFI_IO-yG.r'38K=6=sQk6'L+WzT̈Q~ { ύzp g <܇8爏=kyӂc)8^q`|yQ'*_!ޜsq%"MVb@pJ㢘JMŻ{N]<^!~AjA#ذkƖ@دeCevakDi֛|z|1A9C^Yз;)JMQ.ؐ*"6gL=Lx!lY\Vĭ1fpo} 8h3X-vTYGt4P`]O X9i@AOx}ץ) c!@TU+DHSGDa *c֡pplͫY~ a]~Qt̍\={ZTpAcx>9 v\eCv7]p':>kV⢐rzF$!J9攳(E!4ѫKQ_@F^ endstream endobj 3012 0 obj << /Type /Page /Contents 3013 0 R /Resources 3011 0 R /MediaBox [0 0 612 792] /Parent 2999 0 R >> endobj 505 0 obj << /D [3012 0 R /XYZ 90 720 null] >> endobj 1653 0 obj << /D [3012 0 R /XYZ 90 720 null] >> endobj 1657 0 obj << /D [3012 0 R /XYZ 90 511.868 null] >> endobj 3011 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F3 285 0 R /F54 1750 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3016 0 obj << /Length 2861 /Filter /FlateDecode >> stream xYܶb8.dzQ)vΉAm"P.N=[;R=N]53 W,B/yȢ(cXmzyO؞ь{'b! sXn[,׋'݉/guq}GQ=Dfg0QNθXNS0,R"c! $iù:}Vޗkf]WfVyeM3AhBm[S!k6 (-4yuӹp,:sd /@$,s;VK0Wǘ'Ӫ^U/U%3{?"yjͧQ-GۖEeڀO-ʏiϲt8ۈ.g-H8vho‘b4LNezc9'*ϒ@n}ܤӝq $SmOvEG!ȝe / Ef9S]ҡ2{e9:4S}kf46Ǥ -L" ,tBIgapsn8 -{>Iy;4#v8ʼ}Y@VKZ좋e>zua*aJB4CO5hM Bňx7L@橷&<## HWc _֬RvVr#!z_-pG\?/rvloNAңV_VTHe;t:-o>b6%ސCc X B/ܺ^ORHU`,q+CiRQdazf?6 2NH<"cG`%j.WU.&][⳶IEJv)0-CmV|9t{΁EP.oPrZ "|s9b@MdP4u5B:8`ȷ10΃0˧fXSCf#Pa'$aMx 'tK_CIx\H-z "d%A;TWoYZ[X -s M]fk Q FMb'ID>)ZaZŚ޵znWX/"EiY@;$AѴ]8n<4c;i(q|'>?n}`.W R%rYr@L8#%Э  -S[=tĉ7!%)kNqSyLU - ͽT`.\snI%TyXP1 X0,~} +/^s;叟||ǂv+F|ܜēO!o-?v;QLG\gAVjOfG=0T?z3STL  U] ڪ.6v# lF7";uUsP ]@>Dz&H=0EM>G)05Y@2v(3IzYq=h?M \A^ I!6"ĉqCI㣬aѦbaҦV7cMc4]&`Yk ơngV@QL:NIGEC([8헀/T|UWh#N ucOn43vds'ͤ+dt,2وDzIZķc9;ULwt0Pw iթՠNWq 7Ň;v!\W=/u 6}nއIX}ts5 z/츷zuɟz;<>sꮪ;Ljsj$Q.l SuERB33魐ix}3)tT=A bbxGZ-gm½eA|k9=kw8Ҷ)2\#u(/exrf9I[q_poA.D\d P?at1^'g ,T3Dh^ b:ݙޗBd! p@HN{CELR1/1@I$hxA&wT_H嫗~'**MM7FPbˉt E*v*- A;˰A;#<!$1UW)50/y/c$E17&anx]/%gpD 4#4C9ngheT 3 E[E[6veՁ&m.tWiZYj̡ -\{ˣ_2O+[O (HC?v >}ko ez{Q#Wd3%R+eS~tYH<]L5@wl._?k3pp"(+&*$Wz=ӥV-65`=Ϥ g|  W)oXW˭>$#[K<2P2iY59 Lyo8qzc{ oS s {#}/TޭeqSN=4K49Zp?PA 'BeCg#9Xa endstream endobj 3015 0 obj << /Type /Page /Contents 3016 0 R /Resources 3014 0 R /MediaBox [0 0 612 792] /Parent 2999 0 R >> endobj 506 0 obj << /D [3015 0 R /XYZ 90 720 null] >> endobj 1661 0 obj << /D [3015 0 R /XYZ 90 571.917 null] >> endobj 3014 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F52 359 0 R /F54 1750 0 R /F3 285 0 R /F58 1759 0 R /F72 7 0 R /F2 1766 0 R /F4 1765 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3020 0 obj << /Length 2747 /Filter /FlateDecode >> stream xڝko8{mne4mۢⶾŦc!z$I.kəg>ğERDųU̷g܎`Z>uggr3WuG˳R[jsTz .ûwJ xAUU bQњaiSO O *戩]QHWE1peXcyUK+cz=k, aU-H164#Y*'Pҭ#YĈ!]S~Dt}WYyyZ?u]?Llz"D]6#Ž_һafJףuzhuzu4/o~AuꝽ#uɮ@כQ.>{7M1]uN%rF|e U}^拶Z[4i ,bo6xk W>ԇ=±-g4oA#s Q!y{AE25EX>>c}?fZziұ›(܇{ [xBB|)Eۡ qZaSA⽣-r$ɝ,Ù`b\"p7Ґ2?DtiED f_ 鄣~X:g}hD&0W0i^w.[\֯kαR8A̔jH#.,[2)X|6׬BdHB`#"f~5!6܆!i}m)Vu9\t-7)^xĢ,M#r h%X_ck .Zc!GA y!R׻Z Kl<ˤwM iT4BA|^_i`&bX &a6p䉌HGMn8g!4DA5RĜ4_Nm^i!&r{84`b6Fz|2EY$PЛ0AȐ2j'cCG^"fJ|3U=Nw.fu^v;>̰87)\$~<42bdmG„Ʀే]DV]]-I h.q=\V& Lcm>'"+,8`(qҼx;-D@>aU(d#HfLil<3'dF+u(H`SQч}B],ȈU}HK5% aF3!E2`E'{NNkH@ £5M]2df<-JMVuE0q7%S獩Clk#yXkWR:egݹnz~Qt'{17있Pڎ 2Њ:si[hL*#׸H] xNΫx_6a 5|^N&n22mpu> endobj 3017 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [401.946 400.729 522 411.638] /A << /S /GoTo /D (Translator functions) >> >> endobj 3021 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [90 387.578 184.909 398.487] /A << /S /GoTo /D (Translator functions) >> >> endobj 507 0 obj << /D [3019 0 R /XYZ 90 720 null] >> endobj 1665 0 obj << /D [3019 0 R /XYZ 90 156.728 null] >> endobj 3018 0 obj << /Font << /F51 8 0 R /F54 1750 0 R /F52 359 0 R /F3 285 0 R /F72 7 0 R /F4 1765 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3026 0 obj << /Length 3044 /Filter /FlateDecode >> stream xڕkoܸ{~b%ROIʻܵjdH8{EVvr%Crf8og> 2,1Feaz9z"g2? ήw#gWWkO+[mk7f:Xb@:Zߠ 1N 34T w7V)6x 72;hZ{q~\00+W`!?F%. I7PPxB WE۱%YͯC*é!_gA}&G$ !YF%q +mk0ǂ;@ΐ/cSLv4&~`y.?Q;\6T('G<.Z%Q2ѻxLJԂA!KV G^sdӢt iud̘k,LSo$bEINy0A΅ͬ* څxunGx] VY[N>?qK$Y.Hkح6Ce'׌b8yI) 1˩,!KB7^[[ߜ%9gZ~&F*FhDD8@q)~6"Y>Zn9iȘׯdwoް;`jc=8Ϗp1zEv6nRlWI6~Dzc Zd*ΑD$- >= ) L6(4߱kkĐT9G( ט1!*= S}\r0 Pb1^|1p(0&)Nv8(j#55߶aCSt, ?TF)r6-[r^eEC%^lX5h@ƚ~X6tnOj07V `fKn>@6d-|\!֢IFp_ҳa]݀r$+gBȢ^xpKB.)xa9z¿F%/_x:&Wh!%pg p 9%ća,kETŌ%?i:Hf^0"N.&|Z.:{nZHeF%8@Қ׊vC SWu*8(0khj v!SY`F>%/B?blyBY|h9x})[u_brcR靳fTFsƴ.#uǒ肺pZac?fAnE IVՖNir )sd}- i홖_ no=9߻;R4 L8mQg!QK_QZ)dk [q3n1]C=X.H|x|̵"@`UnyTˎȷZi4Nixhp`Q'z8Y*|IQi9mA?Է8J7/BгK d#IY;~eʏh_yBHGGd$ȗRYȹ]iYܿAJHcb8KIҞ4vi}{ی%/.r֦ 4~3cU5$(6,7*j.đ0 \%>8T< OdCqnp-60aoqj9wuȜy E,iL]D~i!Yǟ㠔W~A䇟c `@;0pǹoZ?~D۾:*ω a딌(N`2ur't-ћK{'Z%M\5a҈}csXYmT+ج)L$QBH( %؊/=sqEz} ;BI)qh,GG_p岱H fJB($,4DZ򘳷\7P83 DŽ\sp̏y9DJO],[}A0G ZؗTnLJ;o> endobj 3022 0 obj << /Type /Annot /Border [0 0 0] /Rect [312.075 202.227 432.346 212.227] /Subtype /Link /A << /S /URI /URI (mailto:emacs-orgmode@gnu.org) >> >> endobj 3023 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [142.693 134.567 321.988 145.476] /A << /S /GoTo /D (Radio tables) >> >> endobj 508 0 obj << /D [3025 0 R /XYZ 90 720 null] >> endobj 1669 0 obj << /D [3025 0 R /XYZ 90 180.902 null] >> endobj 3024 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F55 1860 0 R /F3 285 0 R /F72 7 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3031 0 obj << /Length 2169 /Filter /FlateDecode >> stream xڽXm6_aXF*FԻIM\{h;4`Y2q~3MwX`M#rf83+*uW4HV˳gG8w^|ʕtErunq[|8^Ϋ]inKoTq#ERz^gwñ}A/R,rg"*J!.4B"JBZKpwYڛJHvc;n+GtA݀vxHh\zo;0^? Wσ/^92^/ m *Ju_w5jKuE%K`oԮiXm;xMS0;F.oZUSF%OX\H~,ʒtsmwk}peд=]~bBݢ-]9A"]"0~7,W=rT+%rZ A1!ov?I:\l Zy=(vg랦pZwccQi4J|k[wIJ@+\O4ws_`,nr뿼էS^uIi-~8yp0b?َsHVO?Pm'As@_RS_;Z5;IOr4sf|^?$\GOˆs'X.-H@H扱2Y1hdPѦ4Y*D$6` X3?`-U ?bêNX ݡ€=PЭC 54i&\d+PT俓j5ԳwyhĎ +E חJ 8Xߗ6mmpu[sOS}Bӕ8 U M .,\;] ](ѪT,E#SqE~gr~V=7bD2@w-υ{퉦E ᚹBO9 )N_:e@'VXQ?Ze-u7<O3<@O(VpHs/% aBM]CLWt:EQ ƖHc> FLPm|4 }*rфYg"liG[HJ濽9Q$쒑u)[zaq%Hc!-}͌%sB?,ĝUc(28PVj^Ai(sagۮ鳮7SHAmzٻEN]mMXZѫxbMH3eCeV/`g mC97lt gh 3WZj)x2'~_?ne*u&ّ &>rћ,XarދdHs\\g: r, /k(X_dNfim83u:R zkKo NϨ^oh){5z.(p061p=cbo,{֙޼tVK(\c eM3 ~jpL7(4OuB 'w8w,O5B✶G x3\K냀s ,?RX' ~ }P 90hyfq?%ױb怇\= :Sǡ\m?u?# ' 7\a5x$M thq6 ✶w/L'݇RCAPSTQ-^cy(X6X„?ġt+[xvMЩ0o""G 6_uM3ШGO2"ZczM 7BiRZ֢_;r frvB +<777o,|f{ft"ݹnl{1n)*?`d&Gӕ_2m/1Xz endstream endobj 3030 0 obj << /Type /Page /Contents 3031 0 R /Resources 3029 0 R /MediaBox [0 0 612 792] /Parent 3027 0 R /Annots [ 3028 0 R ] >> endobj 3028 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [299.272 391.245 497.182 402.154] /A << /S /GoTo /D (Clocking work time) >> >> endobj 509 0 obj << /D [3030 0 R /XYZ 90 720 null] >> endobj 1673 0 obj << /D [3030 0 R /XYZ 90 455.342 null] >> endobj 3029 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F52 359 0 R /F58 1759 0 R /F3 285 0 R /F72 7 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3034 0 obj << /Length 2741 /Filter /FlateDecode >> stream xڕko{~`PY.t?zI/C.Jb-:>w^ˇD9vgggggM& C/Ͷz 񍒑  /oXm~69byw:ݺA昺(޺a:z{rzX Az7ߏA _qX0gL6Iy*_/no@4-=eox< /+x[]u0R,8ڸ*T<?~ڂjhc3y횶=E GUv ۿkTYwsn~ԝ <XwJDTvMy$!]{ŅCۚپ'7 8UO| <9߂A=Cҏf axЂGϵ-CA$[1n'Æ7.J-"096ñ*EAtU:{JrTsۗM-Ysxi]QTq&P^%v#΁o<:;TR\7_uu:5N!SK&dC<1+/ c[{cyE~!Ծ~eH'481P˚ =oDSXdo , ;-X3ϐTNM*H`J+e#@K*{F1qj)6^Vem؄G =߻4Vo?U稇V3( sxMve#Y' yb3Sw uAu?a͒MwYk]F,1ߪP@>܉ܥRd\͔@cc,i`C,G{$>lqCN$gnw@DGIS+"E5 ꊼ VL^6CNqnecJ:vtվLmE7Z=sd5(}З7 .[Z|'jGҗGƁпYjVDuvLSvnsG#z/1I3rp~Ϻnw7 O*kqS0D? Xjc{j!<)Vc⪴@P3`{ɻH{V[we^4vy5 9Z:cF33)e>6H2WӽUض(̚SrjgD,Ѫ. ᮜKSo]*ƽ76TLF}0ҪxݤG..t'Ӷ%b.dV n>3Sj$H]Sj L4.uJΊtы+}*>kZu}ǵ!`*z9>P5 GO4UWMe3c,O=QY D>7BT6gª %7?͛^yeIC/JE+d^ P+OPT'99xZ> endobj 510 0 obj << /D [3033 0 R /XYZ 90 720 null] >> endobj 1677 0 obj << /D [3033 0 R /XYZ 90 541.291 null] >> endobj 3032 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R /F38 1820 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3037 0 obj << /Length 1634 /Filter /FlateDecode >> stream xko6{~/w> lKQjS$&֬GIMw#)nMZ8ދwǻ?d)߬nNyM [|cϸXvDʶ>, ܧg9/"q7KV5B(D|zvrړ_Ƹnix(qe+U^$vo| haP254e _˞V~~2͹a-ZZ"UNϠPKM5-ЗqWH5I=◵VM5Ƚt#Mnp? ~c7 :IB㚿 VE' a\j9F]jlSf[ﴠ%8 hGX&=ƟxBL"IX@Q=?YO3?pOleI~(# &7:Eےh ilԵ햹oguv69ܞzYb @W-+RF\{[AWV2[Mڹ`MWL1cdY69Ǝ&yݣ!fDU^;wTEwHY̶@(y0yYWPE-د,)m[?VyOGz}.jęd >*ULҹct cE7% q4dU NtR fEijZLZقb /(zZ̈́&Ψ#Q48V[&7=MLMq0)KވuHkSR8KD2؉~ x$ jyw}ͦX ^@CiΚf&,CςX==ڽJU%ꥲb4N h;A5nC leeU؛wS3RFC5PW'Rl"Ɖ,LY_C8)8POt[#i}1`k= |> endobj 3038 0 obj << /D [3036 0 R /XYZ 90 720 null] >> endobj 2349 0 obj << /D [3036 0 R /XYZ 522 341.719 null] >> endobj 3035 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3042 0 obj << /Length 2389 /Filter /FlateDecode >> stream xڥk۸{~/'VD=-wɡ[qq84ʕi]YI>~{祇%a֐pCUjU,"WU(@> 37n~j  $6?ڏr[81:ʼ\GXsW7#[E_8b8XTI< Tb4>cYSę'>a98J<!LԢ@E"[<Pn=BTmGNvޑښQG+4Meso,R9)O8h³M37s6YYk?I=MkHwTNCMkJG24I~:@8uP|)>in%)!0eX#dR"b/t"b|}]7]39w- ϲ}>0)'Q /OD'2i lͩwM|AǬȡEw3wՐMXX/1sQ P{䇑%qb$:Yu >CڌRH5=L Rs<5 K-?813r%fT8kG> H]߂vp$PQ{Xk:4 n g`k{*Ō&gm ۲ez`mkPP90뮻$IX$ g)P:+~ag 5IRV3 }O ru"L_3`3s*>GbĕѰ;^اSejR*W>ɏA..P!wK֔*%ða06X+z%@mЃRc3FԢ G5`޴–&HDX}43=.HyZLRQm"gY;VjőpB)<,^Jk!,J6R$sx%\bLkTXPi* baԩo͑P 9edTq8:l|" MR:!V([`R cPuLgm6nEW&gc@{/[ݹ.gxYHc@K>[ ";@qnbGxg0fa%OFo?q>&P#I:N]\圏wߠB`b p# X :o a ɀXpCaa[HJ xIf 7J=(C)3 |gqM&sr=cIzu!ZB75zNHqcH8oƚ{x_K4?ME¬(¥NT uu܁_M8y"..M}|KGzxYʃN;P]G*JlJh8ȱ{D6{ȼ-br5|"5'~z!/XO4<wip&\_Lu;.^l ueh!C!m{|#n#bzcgB/PuP$pDfhɫ/͚ endstream endobj 3041 0 obj << /Type /Page /Contents 3042 0 R /Resources 3040 0 R /MediaBox [0 0 612 792] /Parent 3027 0 R /Annots [ 3039 0 R 3043 0 R ] >> endobj 3039 0 obj << /Type /Annot /Border [0 0 0] /Rect [446.358 468.225 522 477.922] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/agenda-optimization.html) >> >> endobj 3043 0 obj << /Type /Annot /Border [0 0 0] /Rect [90 455.075 111.818 464.772] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/agenda-optimization.html) >> >> endobj 511 0 obj << /D [3041 0 R /XYZ 90 720 null] >> endobj 1681 0 obj << /D [3041 0 R /XYZ 90 720 null] >> endobj 1685 0 obj << /D [3041 0 R /XYZ 90 444.357 null] >> endobj 3040 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3046 0 obj << /Length 1535 /Filter /FlateDecode >> stream xڝXmo6_`Xΰvݗ1`hh[%j(߾;ɖ ։^(UZj-KQ #Sڼ<捬h NS/"ZakMZk0HEJĻo޿]dlN6Pk A $a_Q#Y|:]z.7ol %f+p uakֈu_mvpv;DwRr_:_U:'-NNjbϾx:tdU섿&em :9u0Ҏ=<3E=lK{~,!BRi-[Ñ\GGT= mS!W!Eś%yȔ6%ٱ۔6y݈~34^l(2!EDi Mᇦ/$j1V|ׅ6voot$n&يނ-Y3n؁0<*;T.d}('h-|@VAQĘc] 2’6 Hsw?v..9tSݸ]Dn1E>J<ل(A |JE++4~ Hczm>:60j/6d9Mh iЅHʗ(0k]ӄ#n,D3=RP{ _xWDNJ"A͙1-i"oN^hU+Gӂ(M!_n NpO"TVj*&j:e|fʚ m͟68ʊkpTYibίq'8J$8ewd͍rC+ӋCZYD4=f\jFx*I=w#JŘP^LdJ ݑpYcO=p/mjvax J@ik8e"-] ն3)IΌ?< rO翳iCo6*Zw݆1\_ń;~ɖnaQmul.f-Gyrtyݬ*{&)KVkRK=LiR4@!xW] 1C`لm% jܳbàDȊ4e鶉j{f^߈6 z>~a_`&C; > endobj 3047 0 obj << /D [3045 0 R /XYZ 90 720 null] >> endobj 3044 0 obj << /Font << /F51 8 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3050 0 obj << /Length 2082 /Filter /FlateDecode >> stream xZ[oܶ~ϯاS-E7Mk^E[D{k%C!eM'kt!Ùoᆮ"GWYJ8'HWEdGo_P{@8robɢ6)6n4PMY9x̋5K5 FKIdū͸lK؊ …dV1 BJa,ys4I [7w] snXo~ЌPf}:z}Aꋮ0po axW CWl޶->TpCnTO6V<%qe:Q ͟v`OJ86 ~v7jepF9,ymeMHA(춶U9#qBR&*kǼP 5?h`]i'UVd.`vca|4sdUfk`%ޗf(ׯq;X/aIpoz7V`?tg;uheYi6TVϛҧrQf[^'F9؇cpTDT4NP5xŽq:X tjwukUՏZ7{`2!D:XrbN`_]mqmc:vgZ_4Q,^#:^@DЙ}w'4T/hBhʜv${?X;wB]iષ}!~rd~A{A'hಷ|t+ԿzYQgW{7@]407&΢{@ܭqC23>GUVu'yD1GHGdDdn7o_yvo-I f#:`y)al4q˲.YIc =`zUVw{c0X80;@uMX@O ZOf&XjR/XKW?^z{zC(XY }rF4 ?;BdE*Bs'N"#gȀ&: 㠙A}C`z5(ĮMݼUQSR$u"Y, taFc{GMy |"2+IL"tNk,^ h^֏A,yA GaXvɛ $k,ޅ{+-*`WÀ{Ւ$QQLR.3γC)d >$=D,4˛IL< ԍ9O ʗ6MĐDcSLY9_.o*H,a_u3~ǽ__n[Xh*0ӠZc$;*tc[#P5G ղ0g 9@=ms=gM\5=(9򇱂[)9"+{w}=2iX8 uXQ|bT.~S8l/A=~x AN EH;ɘzz1$OX:OB&8䷟'|$<3􄙀ɳ6s4;S0l0bmI QLAwEPMg`.>fqcwD1_{F$"[gtG/9*W@T'9%Y:H@jPEu-"Eˠt8=ݧgr`p^ͧ0</y~eHGN0]B); z2poSc8~*YvZE膗Eci,3­S^ 9s#)Ή9&sZO:dr$r}Z?Gi9C-@Qݩ;hptBSzN̲$~_~~=exf}AP endstream endobj 3049 0 obj << /Type /Page /Contents 3050 0 R /Resources 3048 0 R /MediaBox [0 0 612 792] /Parent 3051 0 R >> endobj 512 0 obj << /D [3049 0 R /XYZ 90 720 null] >> endobj 1689 0 obj << /D [3049 0 R /XYZ 90 720 null] >> endobj 3048 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F52 359 0 R /F53 1758 0 R /F55 1860 0 R /F54 1750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3054 0 obj << /Length 2622 /Filter /FlateDecode >> stream xڭYK8WiVbE)έ7H,6`3,[DOHSnc#*N^Rx-WWU&ջ7)@ (yS^INfl~2[Eݚ"~OϪZdetH#"Ulog r! ɼE!S!I~ 'iFӵiv:'|}W]&LcSn=6El܁_QcaNh"T%^Ǿ v"8zX8AaH˫E^ 2(O_~B\y^pF@ϮմsY, \)(^?&>sϪk8Ze,SEˉURth= '{|dM[У,h[<>p\ȁ;t5a(rGdv,^l=v!d S'5inб1vylyfV޲dCYO] яJQ:;àQ_ek`@̥K8`"O?~/QEK-M8kM)'< SQez"if3OBqZf`E~A;sI2)-䀇 E(/i|Xo Hj>}0.}N*0\s%Xlca'aK:WE`PkRXN~ִ-"X%$rNU`VC3w ;EW:6 3W @5X> /sR4Ex.OЉri5byl+ O'C4z嚬-LcPxoRD 3ki$Y&XnXK`ee/WP5thHؕIiA׻Pj? MZTZ\9uA8ᤱս%k,ltos"{cSLY=<̱Q75␴SA{MB.]`ȅa0h" G bkQ]5~^"8Ai4*WfU[Q#b!ZFybUw``-(oKkzD,"EY<б(fn-?N'ڻ( {J衹t|۶0+;G}qcp^{\ R cͻ5"DYT#oYx_pysG JCqu})J2v-=_,X̅*ZrZa~~#^,\D$AEIdYގsleLExL:P"^CS_4V2T}J2)n{[qwCn;/ݓ^*3f[)/CQ2 2\9D,K1=6yhCi R[}n ҇'&76;,ae|POG{mL(dX#Qqk%ڗe8Y5-r"__U-3.e+_\0 =w^Ag\PM^Z}p@[ 2kUεE+|qëI}V?K>zNŨl^}D6)[hDZ/7dd z,SD+'gHx`AI)"- J &XK|ӘCZ=S@c] )f k,\w785$x']~ 6s}uw-j*.zUaqd!(lGEA Pv%y=rݎD} _MO1O!M endstream endobj 3053 0 obj << /Type /Page /Contents 3054 0 R /Resources 3052 0 R /MediaBox [0 0 612 792] /Parent 3051 0 R >> endobj 513 0 obj << /D [3053 0 R /XYZ 90 720 null] >> endobj 1693 0 obj << /D [3053 0 R /XYZ 90 604.02 null] >> endobj 3052 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F72 7 0 R /F55 1860 0 R /F53 1758 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3058 0 obj << /Length 1716 /Filter /FlateDecode >> stream xڭr8_ajaIe-t;K@(J~t$v eNgj]:βh&9'YVȝޝQ  A<{q%F$2:[n(٧b, T.Cyp9ݜeU/^/;G2>c4Dd,IcBymժ-u5 "5~-=6nR I*}ݢ\_Q`68<6"ȷ[ PqDӔ$\0/@yܕ}?%O ,d"!Q渦xhVU꛱u"dvju 9^}4!R*%_-[-8¹U4xWQym}1o#kI.꧚تG"j6D2YBX&, \Æ=4Fi|-S`\}XŘu Z{\/bWӱTqA :MZiF0Kǿ-r0D띮@ }Ij9*e`fHp*[1R)2"] ruVpc+6 i|EOQ>. waU7(9ʘg]YvA>JES(%teK/ǜMI& ^nZ;P$I!{7:P1(7STSFD$־VH7,W \5m޺C=G,xE\kU֮{=a:S`T)q9iʯ[UTR0a;#,PSz^kJBS恈厦O!u>Ly tl?lBIP>)\ ?iҠe@se n8q!)$1"> BlWpVp5pD0Ə30kڋfJ_<&2LR0T(*lbʬ'u@7VQoi?)2lzd=Z mԉ0F Oe0:C]9K#p5g*cF8e[myӱ셉ggNa {iF%(6j}[B(nclUU,b/Z/; zfFƌޔfuE( endstream endobj 3057 0 obj << /Type /Page /Contents 3058 0 R /Resources 3056 0 R /MediaBox [0 0 612 792] /Parent 3051 0 R /Annots [ 3055 0 R ] >> endobj 3055 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [202.056 593.537 440.45 604.446] /A << /S /GoTo /D (Using the property API) >> >> endobj 3059 0 obj << /D [3057 0 R /XYZ 90 720 null] >> endobj 3056 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F53 1758 0 R /F55 1860 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3068 0 obj << /Length 3644 /Filter /FlateDecode >> stream xڕZ[6~ϯ0`H$u[@ tn؇*b[$O2}s.:I1"sh/Z*6]_U 67^G( 0V)wdT֟6oC}~mw H8YxÊ1_`(nxJ*JNyJ2DMxSmdtkػɃ42"AO&;̺aeiG0ZIȳ9Sݜd`ش2XeuOnmuCWxַL~P|8z4y כQTdũS6u,+ 0Le'o~#[,HOi}dէTvWLmsi5m/=ʳ ҡgEj)&$HXE ;sWG2t݊*5f-?Kk<.}1SX4mmRD/N;?auדh[|?jm]u+a_]{_A'$rA쁁hd6LȬP'bQ`Sn3di4g턘E fm) ^vߜۆ q6\?ܥ 4ݣ(L=20Y@ZzY=۪) l):1P0Y;Ѯ/ZG?5{W/M[ihXƧd}l:Oҩa)%3+]UnR`K.s>,c7w}s9K(LV[N|!Kc6(,2f/n&Ky5,VQXM\"N7f |U9"/EKgym$,$fխ/u2P4NM/֥A ;3%}58Ӄ[wǪ qFX_9$RljaDT8-+2+CCz*azDIi*El9j;,R%fGW1|,zE率Z,NƬCYwC!j}{$ 7O:K,!K/:&@,eO @Œ]PȱUTU\K8Uת-hxCc%߷ecLS֨}^zhHU֘ ZHl,iFt ³/=,R18#J-8@w+O{NL!L+ĤI Rr>42#Wo7-X ʓXa-Cٜ IsAf㙽M,a(vɑ51Kt%>3IKH8d<;Ūrیw*Ag ]f+JUEX*bL GFZ$ޡ8~ w]]u<1/!/RU,rD3yIP*<9`:0H1˗L,Ϗ>xt0הT_Aky̹(uč-ԓS=&61# rhCvz‰!qwzjS73]sݫ ijo99FY:bx*_sR93 74zǾj{jxs44U' QUNâP[iF#5ozP7 ؖP1đщt%fIyQ|q9@c<+|7vMNh>c=/W |%1Hh@=Nj.Mj s)vK阈ډa-&3yêMef* &J(VNY `ZQ5& 2ʦƀ>.i2$8/ j-rX- wδ HA0A!!8(Ya$wI7P}1+5f PfzA>m*"F/< M2K،؅Kϧ^d tÀc\ mASb$8瀕rsi #\]>1$$ݫHMAH,2 UFK>BD W!#\P͚]Xq46QISqDrDB03$=4T\άicT}j-8> endobj 3060 0 obj << /Type /Annot /Border [0 0 0] /Rect [155.056 612.252 251.372 623.161] /Subtype /Link /A << /S /URI /URI (https://github.com/MobileOrg/) >> >> endobj 3061 0 obj << /Type /Annot /Border [0 0 0] /Rect [139.671 586.557 233.507 596.254] /Subtype /Link /A << /S /URI /URI (http://wiki.github.com/matburt/mobileorg-android/) >> >> endobj 3062 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [210.591 460.545 405.786 471.454] /A << /S /GoTo /D (Per-file keywords) >> >> endobj 3063 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [134.97 447.394 296.849 458.303] /A << /S /GoTo /D (Setting tags) >> >> endobj 3064 0 obj << /Type /Annot /Border [0 0 0] /Rect [376.232 330.894 440.051 341.468] /Subtype /Link /A << /S /URI /URI (http://dropbox.com) >> >> endobj 3065 0 obj << /Type /Annot /Border [0 0 0] /Rect [458.116 88.518 501.016 98.979] /Subtype /Link /A << /S /URI /URI (http://orgmode.org/worg/org-faq.html#mobileorg_webdav) >> >> endobj 514 0 obj << /D [3067 0 R /XYZ 90 720 null] >> endobj 1697 0 obj << /D [3067 0 R /XYZ 90 720 null] >> endobj 1701 0 obj << /D [3067 0 R /XYZ 90 434.635 null] >> endobj 1705 0 obj << /D [3067 0 R /XYZ 90 245.331 null] >> endobj 3066 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F52 359 0 R /F4 1765 0 R /F2 1766 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3071 0 obj << /Length 3597 /Filter /FlateDecode >> stream xڝZY~_oQnE#nᾩF{O(0ܦfd@q *("-y[u۬6e134(零{= }?X-JEcKڰ*apऍ 6L+uSNU 0ItdPvm~SI savX^z8ا*d` '\1YFךЊi'&.pL`T&aOf7%\_\wPݻbNE2ݵӌXÉgZ;3 {Ep :nW3DϐCoK[}4(3⍇qZNn+fO2y+um:Kp0^-xOy;c O&{W;U@18hKMh8m#ZyA<37g,4rhG;K\ HhEYdcsd=NHqMEqǃ`o 5"%9 Ɏ601FiF歼zf)ęH[@`xfY"zxw51B>0&)#i;lg7_gvtm\!dt%j.2e/Ceiᅻ49^>Mjl{6r7Ko ;>ܺD^Eب:˫˵k.0]P0 (i2]&q}" y%<X`#ObDb\]K! vl3r|C1!n3?PA##:h:TG>bFޝʪdvè.9 Nܐg"ZܻpM5p! <|fʀr8vf쁲:1 5n\"o|Q|q^Q|bB'"6STk)px+KAU$^[*^S$ BqSv<#\=ԣj)8t/4AHIJg_@btcg7.qINWׅɱ}$R;Mfrq3yޥ`FW ]-~50Y 7| "@iS{>M#]#D8NXT F$ɱ|`VJGYB?4q7R7e݃!KYDHiFɄRϢLȬtiY@x܎xJ,UO.'qW‘=nkX{h9ϖ=Rxcұpl mEqPSxd=Zɨ tU>:3'IlL^I)H>Ҧr/ID8;Hq1GJhxp]Y03W"4yVUakW?Y-'K\'B GzW8!8P"t8d?C[66AHN7VW_rܬte^| 6,Pҕ=|勣Jj{4yU <vVz:΋UBj)BZ ݎknmc\#&`4wެtXjdlVuUU GR75G|lsqIP[|=9.5dHOPEިXˬۂQXsi土ZZ==]) r3^@jLQjRIWپ.)?d6 h{jdKߐWYCywJ!q3)%91)&׌prL{?ZYr@߯"qt/l**h¤6 0!d"}ʬuEAއI`M à! 0_ (ǯ?j cSGZt)*Mݏo_ {i\dN`y6veYZN9{oSc HGv.!Y>)e %Q--II2hJM4(+`x?r0+}/Ztզp9-f2Y^F ,Kﭡ Z^kP= Aҋ$bp/=PܻO6ϔ^_R Ã=:NCJ9ܧ PN"KN԰7lۭdwH^j!KjKEz⧵p ,|A),a#dBU]>-FڡC`ڹqB,S֒L<B< Wm%\-eX~Bhc,aQGO:j>sȰܭSκ2nh_zT1t!7XŒHB6o_=靦 3L.Uj{:tl\sfkL_itfbmŪgq)5^m4%H(-B&[nG.Z1)E),It0n,Jn9E/ݐ;s_࿌eR7\^.bNU>--0vA d^ߚT6h҈z azjSM@?![RMժ5"{SdCf5vx%Y~˗t&[̖Kb;Xm QFB>':F~¿DS|OþUZf y 3tuXf*rfeXc2@~&n1k .N{wi> 6W endstream endobj 3070 0 obj << /Type /Page /Contents 3071 0 R /Resources 3069 0 R /MediaBox [0 0 612 792] /Parent 3051 0 R >> endobj 515 0 obj << /D [3070 0 R /XYZ 90 720 null] >> endobj 1709 0 obj << /D [3070 0 R /XYZ 90 614.467 null] >> endobj 3069 0 obj << /Font << /F51 8 0 R /F52 359 0 R /F4 1765 0 R /F54 1750 0 R /F72 7 0 R /F58 1759 0 R /F2 1766 0 R /F38 1820 0 R /F31 1767 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3075 0 obj << /Length 3161 /Filter /FlateDecode >> stream xڕYY~7s S+aC@ $%{g1!yΊk;X`,vWWWUMx/+<2)@? utĄfW}]ޅ_exweq{}Qᙾq{_)7v^V=>9u<a_*YE :D< s? Deϊd#{f[AiPEǢUt!:?N.(.dGw2ơq #Ut8&E}$uUl墮yY⁲Y9}ֺܒ>C$ g,3,n~5p%DfQn'`[;2ꧺ%QvB-ݚKuCZ;WYQĐfOnH .q42b-}NIn\duRuF02vdk#n qԭn6̽wHXH+K1I5r1::h( z1bsr ^Ono;.>?E]c^]u*#0ދhO[H:H)gJiJ(?沴z,#苌) /U\8VܿGk=I䖰,PM=ˡ͞m8Pu]iWa ^dY/JVe~[pyP:^pl&#zF#,Nj!$^]ˑFj'7 4۶ܥ]#i`5+%GE>9ƐzA绸)9!C`ъyU/F-al? ɓ8',/fv2a(|f#Saz=.}=:Vۀ ֒āAa<w5?5I2xݟ !!# JZ,Tp;q!+ bL:,OP*mNw"KH bG_F W!>9 .7{LZ&x>g)SC[A^(>y)Xy,;+TR ydZc\d*ү:ʊa9`4GYSUhNY3x®LWKH}[L(N҉cMAG9Z-bH~bɊ˟3yiXr6av@U.soaCJAzwj#n).BrV5g2DZv~A zJ1=TP$W<{|-KeƃQ29Y545"Ou U@3ѨVZRyRg%Kپǭ@43}I'Jcư gNօ)dЩqNx,WQpVt&Fzutq)/jhB Fv& cc/0q@_UHR<_3ŸJg.|vhn Ɠn$Lܰ\eOr< 6СDIneN(?z9Q2%ś$HoH\иۣуZ ڱw0-,.)Af8B@"?P^iM|vχ|\ȱ}û V=ά_iU `H yB8X0!f]jt}Evd)KZQZCka^.NP[? rSrR %Yp7>R zĒNk4#FplgxJςd/bYظs 1Uj pop RI(8Tn@~SnNCBpMЙ}$2:kУ ׭DqZTZBPvHyօO{1-.-&[%P=i\PS D3>p]*A@7UNz!a%H}6;@X9FnԢ?J? Peh(~8lctje$O4+."I:f`$%Q( ,|F5qUJ w˵JGOKRghpMdLPQiNPĬTW?/P&$"$GߞGuT$/~E[QQmQML ؿ61QhajmOh ] o4,FvhO&DZz URЊwn% I]JG*ǧ\n]~^/|a@ L .֮{z.G52=#8e:9v.΅g@]]%]= PDɷнXC7Q,tRc.e[ps9gK}M8q%w{s_B\!K3E2 ;\/vKeM([wøD:dbFcG XY3G(^!V?/#WNb@N.P.2G8Jא,F3>ìx[/o]nk:> endobj 3072 0 obj << /Type /Annot /Border [0 0 0] /Rect [401.729 460.5 522 470.5] /Subtype /Link /A << /S /URI /URI (mailto:emacs-orgmode@gnu.org) >> >> endobj 516 0 obj << /D [3074 0 R /XYZ 90 720 null] >> endobj 1713 0 obj << /D [3074 0 R /XYZ 90 720 null] >> endobj 3073 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F52 359 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3078 0 obj << /Length 2508 /Filter /FlateDecode >> stream xڝYߏܶ~_qyU$7M C[;K+[_{,0 B u5km'7V`3f؈i0ݑd߇[sr+I[B}[ \ۃxjVp},8Mz6lh.t)J~"d`j6e$hLFGZAF1D9Zfnih~+DȐٝƑ{gF}AB&: 6" z"Aki:J26jzI|`ٴ ry=@T [P%3!vwV#*ճB[@qFi,hǵzj0@{_љx/%da"#=\#a/?k#(rւ;@梡+%me4yC&&ƞn@Mk=/ciB(:`YrUa^X!pEE%͔r" B̟f(I3hnA3sM#HC}HTiAO):Q6J5=qPY$Nk||j{%r/[l1r!deԟȏ}OcӰU1%+,W72VϗT*c<pR AP6yeR,r s6dcnq~!kZF50c%>vCB5仼X{=ColZ{emse8Eben#++`˻R'0KoTݢ#$J\~ c]M l#d|[c砌]<7}}ј䄰}W'$ImiY-qr$ȚQ9h_r jQ{zB^CrU`p5ύ\ $\F|"ss?{+W_Q)XIfU} Iyo[L}.I ]߀\By( RgB1 ͡ v-,|}}! jRHGq^&> endobj 517 0 obj << /D [3077 0 R /XYZ 90 720 null] >> endobj 3076 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F54 1750 0 R /F52 359 0 R /F60 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3082 0 obj << /Length 2758 /Filter /FlateDecode >> stream xڵZY~7SŰys|^ 1HjK" 9קǤŁQ/]_-'*"~6v<~W_t~qsO5[}ZGQ=~]o{|=liV+~h VjU[E!DQG/Gʒ0 3`B{UǾbeg|W~$pu7$ɡMÇ }mkzELw绁(n֛vj,Ghp]IY8^Ӟ@Ņv-R? ]%z']%?CIEs{Umq{4{LfGsaȊ vRZuJE 3H-ѷ/rKr&Fy{T|x[o,{mZՙ3J񊪏='A-aoVI t &)͗mwhwlܮ-nT+uHξG-ze8L/5^YA J ؊2beEginhtiچ+3n+mP deDXlّCbgtW?Z^OWaUËAiuV#U.RT8=~2- Z3@F]%d}\0""^ˆ) ;wv4u{#Run,IA~p~&?;q Pmcnf[#f%4`w ii- C;tvN੗JѰU9T,;: ]x[rbӶHNǗ,Y֥lѕ`~Z(&1@wb@q<$BOcJ7_D Dޣ@q|: !;B l!Sŗh735W0Ncg6z F;\Wf=g6HcR2Vo] vt,םskx", -fmA`]E.s T0ZWw٣q,_{Zr&PֶRKX 0w0S<;&3 个OfRq{ޑ̏NH9)>L- yq.tH!*FjyP?wV|,Z\5@ϒEkX𝵈K#X2 6kVpgh-ȸNVΪ3"&k˹1)cp*9L="^ɃlM-KXϙ}ĝ}O: "6?`HY1*ogv^5l 1坺o+jhdן%K,wL\%|Ղ~17wሐ2>8a1 3 %UMU`cjK-b_F$`ʚuKo ]y,>o Jx==m!|"|IY T_F"'<ځPInٝj2ⳭYDohmè_XOin~x%6 j!S1Z室 C=1x%CR%$Zb\7g:ղ'г] 3Mtmb 6/t`ec^eC&sDwAmH- Y6 C9n4g'a:Z"dmURu- Ϫw͠ y>,1%[2~]ZaRQadKO"> endobj 3083 0 obj << /D [3081 0 R /XYZ 90 720 null] >> endobj 3080 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F54 1750 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3086 0 obj << /Length 2904 /Filter /FlateDecode >> stream xڵZmoܸ_aK@V~$9'N/FQWbWoGI}f8e"W(jf83ð ̻HbW=3W[=_tm#\oA8Foe7oB9J*Qum,c,t ݳ˛Q :x"{dOat˂c ~ O2ߍ&-7~ ]/kP"J7IM^GLqz,ߡ~:v1T\>гfm\(ft+sI (b7 үRݨK0.QAb_̕޹G}!H\pٴvSiF //x3]{Fd_tFoz?,̝f9vxhe ߍ?Z@Ha8-jJ\nOE`xI@aë就Q^|q-;u]mܲe /T3 xCai&>ϗMkui?HQvcoM-BL`CTmrry}Ҹ(LP&PJ\'Fa4(r4:~Ͱr̾ĝjz-0s*~73ìA<-F!X9;.I5y54w 凱맩Q(DqrE Z<'? |`峰- G qr:wͧi8ڰAw]/Z1"Z1Bi])W[KϣB?  }(K㛮_Sz1ѼF*I6&2`QVBꯍ."Ǡ` :=k D1YV?K@|ݪ70(vY292>L QtZ ɂi+|@ :M&4Y@S*>W~zV = 3yN7 AxC t?0As/5MJ8B.ڷJF)˼;v*YiIYQɳlXA#&r$Xrmm5t}E%95db3z4&r&ҟQR'/zxWqC7CPPSGYϛao M40aX5%?5_ly=P1 16sμ,Vݚϋt`,㮛:Gy`^Aw]6PmS;Z !sny'WOS7`YD{7u-7\B$`u7.+ TP6#-Y, ֚vM:psk}'Jt%gT,sh8t>~Pz`˃<$n+vdAIJL $N]b~}M/tQOסyPma<o~6eA'9 W A^ S U ~_.|7 X ԹQ`֞[^)Ore9&fd9Hbl wՊ 2H |WgyC-w2xZ69`0$nPj5P |i#+lɂ%?8Ovǔxz]-?0\Y 71η ! iQ%f5`& R'ΛOHC9pj5s8Vv?z}_~u`v\>F%AF;V V/{wa@Rbx(8XG/Ï[7~>Ob es9g<0r\ϖN*9D8 wkѭ@p3B5@+[R7;s?-Q;^r;oMEw endstream endobj 3085 0 obj << /Type /Page /Contents 3086 0 R /Resources 3084 0 R /MediaBox [0 0 612 792] /Parent 3079 0 R >> endobj 3087 0 obj << /D [3085 0 R /XYZ 90 720 null] >> endobj 3084 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F54 1750 0 R /F52 359 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3090 0 obj << /Length 2818 /Filter /FlateDecode >> stream xڭZms6_djB|oNܤnVs7sHXbE*H&v~brz2@ g3?Ke"=/|;{h V/^Yglu7~Ī8wy8,Aꩺ(0 ˶k^O|wu?+Ulq.<\xY Y":J?=Y CA_zZ8fmtbuJMm7(Y3=HCmW҉̗xEw%<ЬihI$^Â{] w흺h]iP-.X|@xFaB$ޒG$c-MHS-3UspC7xZ»oњtNɮE ltATwZ-tVL2'a/S Q'艷{nY$1emR A{7/M%k00?HܳN ;C'poR=?]r & 36i`QKAB4J̘abJ{֥ήDsljrᤖ9Mu4%69yI e' 5yńT -F4`a%ѶMQMol pݖ FF`)yzG[TMOتpMj,KhbaZ$ǂEi6iENʶ7 7+ʽ9c\3؛$,S4z/;uَR{ITH9t# Nr?P F g hyz51"˪p=#oFuSM#=7fTR-ʿ><*v3l>O" ;3 +[̝M(ݔUFCZb ^͹lۑt\s6{Eܫ'.gi KP!qr2Wa ᒹjm}|O@@j&#W}j&RE~W)+K}f"NC9jcFIoJ*$ a*=989;Xpk]Vs&}lvKz,!m|}.ADS2dXYUM15û`,|w~,Sä ,$R_( e VIGw(-vOӔyzӭ+8X֜0 ^խ{(ej#{CBS3q#cj5V4՝Ҫ|.uqA%&k{X[&`6 5mgXp$ TJ-mkA-0ae0(]-*dۿjRŹ Jb"QuzWZ[˙sLE7+<=qq9C0r>]@ߗE7dّ e]m44}SLGpFƮQߚ<`!l[/vHpQִnjVϒ(ʼKM5Xa\#}F#DA;O5kMŞCE)e. ]{@k4 +8Zr)*C<0fNqanmMKBAMd|qbǁ;H - X Zwgszkck@%npN&숶ǵFKtqp2C8;M@3 iՁ^)Ņc:#7gi߄I_A+$b>4-tmdx   , M!"2_$׻/!M~t:ׅ,HS9CQMXts&h*z36qgȞVW;+su+{o= E30&NjZ'xÀޱ 6ཎSU:'g.MSWp r"fQ:w[Ma57+G"UM3n l7 ,^x >I(MQ MN WU kxn"dƃ!.o/|WZ!Fj(4災# R6vh0:S-붒6_2*y^3Tq ߑdY²7r@R: , ]gcl8Bӣ~]Y6&kgq((Kx6~ . @p%QY~%d P{ӓe鍎\~)0 K 'T"oC;q$?V2k]@!$ޝ>`b`;׮އs3qOf>c'8& <=pg/>M B;-H,~Rdpn H=r)l͡NA ޞ;8H;yCL|$0DՊfK>Ipn{tEA^o endstream endobj 3089 0 obj << /Type /Page /Contents 3090 0 R /Resources 3088 0 R /MediaBox [0 0 612 792] /Parent 3079 0 R >> endobj 3091 0 obj << /D [3089 0 R /XYZ 90 720 null] >> endobj 3088 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F54 1750 0 R /F52 359 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3094 0 obj << /Length 1161 /Filter /FlateDecode >> stream xڭVێ6}߯[)bEF-IIlnSkqm’^_PCFbM3gΜ! bcAE2Uo3qɂŪ ~#/0₨a$ y5>hۛHl+ܕwqZUFn0b%c)) X\͑eG(v/ )eIyK[iezQ]#<2sXDzGPSz堈i䘸C(.vP~s,b -H8.}N"΃harfAN㜹d*,vXrWqSY9"k1 @ 0F,'f ɰ6J!I:ddfݠnzl=.okW7! C !Fv- E990FﱰyF$>nuLԩU/7r9 7}-6H] l޿1.WCv6P$QGZ Ⱥ{)ߎx+EdMF6թ]}?9ou !!Oйی͘Eub\L Qt:}=U',q@!T1C S4 "O"lU#d 2r F|d+-FF)vd|ԍ+aJ W[뷧G?;ae˫aKJijkW7Ǻgmކ<:mk/{4fc1OG꽧xuҸKR& endstream endobj 3093 0 obj << /Type /Page /Contents 3094 0 R /Resources 3092 0 R /MediaBox [0 0 612 792] /Parent 3079 0 R >> endobj 3095 0 obj << /D [3093 0 R /XYZ 90 720 null] >> endobj 3092 0 obj << /Font << /F51 8 0 R /F60 13 0 R /F54 1750 0 R /F3 285 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3099 0 obj << /Length 2837 /Filter /FlateDecode >> stream xڅY[۸~ϯ20VD],i4$)٠X4}H,=7J"oOݔM$a7U$o]p}xCnTQn%wfik}M$x7lM1{<ƣi7`|i0\$x󯇿z01s为Dߨ%flY:SgC,2̓g;/Qrd?-v t8eǣ+ l~ɶkk<7SuzTܪTՊh6GzLҒ=훗"Uq8-ܮccx3F WNM.wA `u(߁wcl4ܮ'Wq|a&vr`d>ʀ.yb.f'?Z" p? (8Kgc5Y44lG+u^]Wx`ѭ,5-5 H'VcwstGbt(<ƹGgx&#, 28ъ2MOrzӚ#R?]Vk=H>Ys 1&X$)OOlKؘ ]C &"`^@^({b8UI$GM~KH<)'sq#rh 2ࠕ^JH&+bZyDYrú^eC765vdALW+DžH`vblcd-XUe ZlӤ R5gx"9XpR 62H3A-7fNVxB<.9Ѹrot_79TbѻCiC(Z|50j+4[E֭g$vt`Ci\e-@宠+=$=CF@ػϟ?|<;)tpۧ/LM:tjѓE7 ́O&Y:ߥ.)!5٭0!+dwҪRI O @6ķQ]{ P\r$L2< E(ͻאʃ6lPy|1h/ N sbQdz  e  )ivB8[}= B:i#g J!j-C3p0Ssy]R+IxDe=?iSRUj+^/[:ɓϴ@!sz@ӮpKR81ơ6 r25_[ph]@pO]!`| ;n2 #DBWVTdqms%eud.+L8%. m//i>}87]1<2Ѓ-: eiAi(9/L!|(^wޕ#l|rB[Ijd 9j"̔MF|9Dz-OO4D1'fZo<57 VAw>H_q&}1_cQR5ZP_D63:F[zpI4i_6"~_-×3C>5߫ftR"Pq7 `OLC,Y: C 9> Ȗ<1'4ƪʽ)_,⧱rڀ.Jvր> 4%NtR=pBq11wj r@`U@'}DJ[Á*K l&+C{HPIrUu y@ A J^'?td4W2PTК)]T<Juaer7E3naʹ.88mEpvr^Zh\> endobj 3096 0 obj << /Type /Annot /Border [0 0 0] /Rect [118.8 628.168 204.708 638.168] /Subtype /Link /A << /S /URI /URI (http://fsf.org/) >> >> endobj 518 0 obj << /D [3098 0 R /XYZ 90 720 null] >> endobj 1726 0 obj << /D [3098 0 R /XYZ 90 720 null] >> endobj 3097 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F60 13 0 R /F52 359 0 R /F55 1860 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3102 0 obj << /Length 2927 /Filter /FlateDecode >> stream xڅYr9}WH.I&SIƵdvt7e"uk2ޔ$ Pr_r/Y6]͖Eo/mMa2x~V-1&$ɢt]g7b?s`ILld3죯Jې,*ZtTd S`N!ZTu8uu[ ^Z殜E#mQWiV.Z6`d$Ǯlݮfc?b%iqt'b)m+y&ӂ<238:6*[|.#]}oڇ Watܑmj:_ `oauH39t"nOY:RbmWR/n9PD;: 3 TXU]o-2Ĥ88JjE{^/QN̓i[s{;Vrs-K$&=IlRГ;ꆿy8 ȧn4:|e_[t}ps[{|Y*e#(C.$rfV.N*r6 3R]-I F SҵE7<=gڈg.O8,fxIS(#7FHeIi@r[ )5rOS.!o, `2ǾjFt_2ox|;la4*{NAI(3~;:17c0bYLj栭9+v}i1pI~ϯߋG!+ɴFLS=`0.FO_?[3>;tAgy\i|~o*Mo8\7<ļH(Ykd'į4 wn?{ 1_XoG\D4Kw \s.+e >LHBa*BN/TX.q֕d/sc<30ɶmݴ?vÍf)Ӕ\¨r_lV^4KfulZKw;B}mQy"D | Aa:R1"yRI:\GͧU]ٛcك䮯R;*D -(m 0_ZNipA9X'*L$vkq!Q_@NB7>֭E;zR˥Rp3#'-xѠV X do|ʀO7Ø- c_BROx-34?[ /;ux9EdF!O-WEرdEHR h{pC`P?ZrxnAeƋvc7$2ԌdOEGM^Qxpȴ^==GSNğKk~dǟ1ϫk M~:_5Y'@`"`{$lA5_@ TڕaG F-šO.L",][|:_іvG|WQ1oZ?KX5 endstream endobj 3101 0 obj << /Type /Page /Contents 3102 0 R /Resources 3100 0 R /MediaBox [0 0 612 792] /Parent 3104 0 R >> endobj 3103 0 obj << /D [3101 0 R /XYZ 90 720 null] >> endobj 3100 0 obj << /Font << /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3107 0 obj << /Length 2909 /Filter /FlateDecode >> stream xڅYK۸W-*k—Dro~ěI7q\0$4bLZ>\i[+mȂr:뮕-ԥmB(J8M{W?xDE7]DI*|'A7]o( .;y3VAUc_?L`eߗ(ຕawmUOQp 'k"z/k4z&Jn\3Lz ۆap;,=F #e얗m7]lkT=#wQl%Yq0fD>\ѬI,"v9toMRM% XM#zkoJC ܋$H`b (Nda vLD{;ЁLm@ _Q.z Q]ͧgїȇ. x Sό߅xvS9 e'FY>[S= d=Ua'=!Yw zH gX*x'&UYSSĔ=2&[sNoPp_ƃi&{wyCnm\!٦tu'߱nLhehn";1b:mմSOL3 Lh5"H^U}i,,݄Yq.}5iLm`:;^]c+. .‰Ms~6;2w|{ӛϼ}m7*virA'}-Fˌ !38k9} )2صUO$F8ЙIOW/sC2Ƌ *N;iPw3V_hD9ю1z=b=;18h$f5e!a`i`௬xpdXCzXРC!jDŝ~wI0 zwaC\`Cd?\f`6 \ ;Bxk8}8˿|֋RYT0gr0i:~O> cͫP,yP{ڃ82esl4wZΤ9w:8¡O5s :'3rjԣ#/u,Pr2iu\$ɕ 2⁸6_"%@3:AɯpVr$$(8Xެ?*fe$] oc=JRijT Jf ҹH|˲w4<9 (e+[+BWOĹ0[ Nc8VVJ3LtH5JL{PzqXZ$qs*[@ \,#Z`o gHiX0=QN]v~Wái_vtt"lH[W GcmJzamj" ]kv"h'Ӹܡ';䐔b 7GI::\Ḍ}YqgQ 'L& tS43W҉#<7fȨe$.Ev7*?"О)PM^ Ѷ `ڳs6 ߩ2>0@:}+)ڦ3@f*[!FfRx]&5[cq& -Xf0l )2?k-tl ".FS-LRfkr Z2m0oyųn_wcJAkvuZv TL0Zp*\yFM?~p'5rj9YPT gRLd8 R2_O0g8Q endstream endobj 3106 0 obj << /Type /Page /Contents 3107 0 R /Resources 3105 0 R /MediaBox [0 0 612 792] /Parent 3104 0 R >> endobj 3108 0 obj << /D [3106 0 R /XYZ 90 720 null] >> endobj 3105 0 obj << /Font << /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3111 0 obj << /Length 2522 /Filter /FlateDecode >> stream xڅYYs~ׯ`%*7٤lٖ*1N<;5K>} 0Xb˵{{z6ME"o/_RÀ37߽O?~<4wnkmȻ;X哺ji{hn2z Z Y[ғV3*s"sў (,}>Q.)ig,tlqEo-m5;@gBFЎAa'5H%84ReʌNr-J>`H}צxda{,bURRf5}u! XH o}KBMᚊ^p9,TqxtGe&AL`s΍soψsW ְxƐ aa#y4)ydVG3P,&iNIrY<2"NFGQLzel|Q(jR</!f> (iHmie5 _ K$kmo*2 FIsMptQh&2?A֞,{J%76~/#x5y)Oecֵ"9 'AxmZh^_<3ApR.%a%Cy0S=A;8|I0uA`MkB@ZxSeu?nzS|2r|XC^s&4pW%]5f OL| R57 J퇁Za==}̚H\S+gPfX#xVېY`U56] b'i|pt>l`"a ʽ#-a4|*-z^m,F BhX7e-)u؜ي9 xvT%Q"F(G@e-~⠾D1wQ_{OĮ!0l/-DYއf>(ml|& -EyF<ƏJ+ Z#S81n"e˥٪Zjԏ,|aCNAq!hA tAAt BNmU`PrȣtA?_{`(j•nlEӜ9!3n3LT{™j Lpp0ͫWe\``V"C_T ]0CIaLT_Y2=P4fx BfAfzsK3 ȆrR=a#@jpTFķ[ l2n0#|B]CMGbe(R; VvEH5'dvBlm*iMGw0.Br4]tp_X)6S _b8I6AcFܷzT= 5"nخ?U{+ P؂_z4'vyr[ Z Fy dL:,zB(LHMGDK|_%j`A<:Ooc8GSs2U3t0N5qDY޲D0,; `3 mķ@א endstream endobj 3110 0 obj << /Type /Page /Contents 3111 0 R /Resources 3109 0 R /MediaBox [0 0 612 792] /Parent 3104 0 R >> endobj 3112 0 obj << /D [3110 0 R /XYZ 90 720 null] >> endobj 3109 0 obj << /Font << /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3115 0 obj << /Length 2574 /Filter /FlateDecode >> stream xڅYIspe*K!=9Mo5JsEHB, ʏ.<oW>ܿJpG@ZKtf|ؼӗ8 UfؔW~=u橪ϋeާ?߱y_Y5JqS Ro۟TFWtxWUU 4Bo%mƊ?9! X%WI0st;2{A1ێ[n@ht)$t5u[J"U2Ezia/STZ,6t w yBzzl"p]meh'KAGzar 6$sxHJ}˄stZS=Q]c/ZeBC,斸C3A+kSt(Znw8/q Hi9]0;ԍ0gvs6(*҃[wZhʷ.nR Ew. |3/؇>#ܠ)[a ~AGOT ,sFKDiFS(:Ou_G0˟xd=61I Ij߳pe6wD>|_yɎ _ʼ#eMB0,8.e5nHؘTBߔLJ aQl}Piyy=He9ㆌJ Wl0}DTۄIȶzB O: ͠0ʧ{F+?Tz`h?~DiRD|=OBcL待3BZ%L6 wbׯ?nn1/R_E=\^cGhBUK{S+z4{c[uϸ%Gp ,X8^i;$3ϖJ VO4,2y cot1$ C`{kT-ǣ"R üӤw# >c)cEcZ(_%IHPmy÷ jUNzS$E'>_6f' gouF;k &9` x9 y}Yz$v"р/o/gi3{&_@k]pyRDF?K Q9,ڜ}p5V hUp;1{AwJ0͑3Z+p4ø(A 7S̟,B endstream endobj 3114 0 obj << /Type /Page /Contents 3115 0 R /Resources 3113 0 R /MediaBox [0 0 612 792] /Parent 3104 0 R >> endobj 3116 0 obj << /D [3114 0 R /XYZ 90 720 null] >> endobj 3113 0 obj << /Font << /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3120 0 obj << /Length 2770 /Filter /FlateDecode >> stream xڍYIsW|fD[} |eWy]Wa1aiat[ ;7虧bzDŽZ[|Dj8~/s`aQYkPm->ҞL iA%Wؐ;8½򌥂AH`8i}$Ԥ-eU;=_6$At;D4^AQY{e=MwDl;5iwZ쳉d\dӵLۘu ڀ(` tqD. lj>p>0pW_H3 bcJ :Q Cp,VLN㈬,4 =U-4y^4Vdhղ&Y9'4ƹ ڜFʖ8<elp^FQf}pALr dإ4^WXrC$ijY=x#ˤ5>gN{2VdgNqzэĄi종F=4ZCpQ[Q3W|׻1`^Fͬ\9ksLeZܽjd9+恘Xac'#r]UT=ÂN] q,hoC:wjҨ@~494Žf{g(WYU0i4s qr(L`h K%>!].]2kX&sr7$K4_>`>'fU&%bnLT g$3m-~FVy|֜]ONu~-Y dB p>cre+3$`*̃zk9$nY;}03peZ 5VzNӍ)ap:@+c9*i'P׀ e)dgeAWRqmP,Sqf3{%KR[w<'ǣLK>~/ pJt ȅ\ޗh2 a:8K1&ǽ*i)(d2rIf7:@aE:`&1 w-MY yi9p%8˲atFbÖah2찼I5&n]cܞ;TI<ֈ>jGR"wmGINF6g) Q!8ٝ`ֲU@uƞpoTj9ÅPh 1mA]U^BXb/@ y#o, ч8q͉crjZ"ZIf Rk*Lq዇ý(&Vc1224(fq8DQE{E2yЪ]:s'|;XjkTr$<$ﬞK:egF x"5'0+Cȃĸ <RuNAZ4shC |D̄oW/(u"woc̡:j|P[oi9u̿CcV? =J| ;$ wiևؒPV^<ɐ <G##2#2Gu0‰39n*O+y$ƨs)C>NoD;o^M=UTzDUSDt˘[ܢ$Qf!Ŗީћ>a\ XEr=‘rѭA2(9ojq9VՔ `_WkS\G}[/xP'LH?tp|sߕWϡC endstream endobj 3119 0 obj << /Type /Page /Contents 3120 0 R /Resources 3118 0 R /MediaBox [0 0 612 792] /Parent 3104 0 R >> endobj 3121 0 obj << /D [3119 0 R /XYZ 90 720 null] >> endobj 3118 0 obj << /Font << /F51 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3124 0 obj << /Length 2240 /Filter /FlateDecode >> stream xڅX[o~_a(@숺oiAY@KtL,o;Jb "p ->E/0\Q(|~ xˇۏXXl]/Op^R^a}}xE^~i`C^0e Uw(R!B/˨b?r(Y$YaDe/?=:~yM/~\TrKМ*QB@ZxͶvuٚ.$HKdyaSnG+:(KATIqA=d1*^ ԽM-42u HN!c,I`b6* y9 CoO~6Kҧlae5f2#,wp %Sh@x0=.d$YsNrwM2&.r%,| K<ՀRckym#ʟ+֙Un?=Pwy=3֊'u\?14TKϽ{<ִŅƨ{LJ݄{_LUIk_39Mm0'@Z{K< 9կ;j%M98Yu #Hbe ne̐^|cL@)iɀ 0 D@8#6so-@4P=x_]+1鍐R84 ~H|r{h$kL Qdr/x$uJ=*DXC)_N`2qmJ Ku ,,z&puN?\ߡId:Y[VMfo,ߝQo5<U-\}WcBL_Gc}Fb5I{ps V$/!uXz'R-҈7Z] 9uZd\n/B!x<%FwEsJ~L۠AgʕՌ-FjvZ[N 6ChgSQ/<9.\` w!?xTNȒX/xOu`; )+(!ܦEÃ4cDO}gQDYj" үD<1(4ZYd=mV(q/b |?ECi~({FbFZB M{N$1㚮ijthB lě _1`l =@LNL^ 4a~C$,NomF)8/M9+[߁T endstream endobj 3123 0 obj << /Type /Page /Contents 3124 0 R /Resources 3122 0 R /MediaBox [0 0 612 792] /Parent 3104 0 R /Annots [ 3117 0 R ] >> endobj 3117 0 obj << /Type /Annot /Border [0 0 0] /Rect [130.994 626.119 291.356 636.119] /Subtype /Link /A << /S /URI /URI (http://www.gnu.org/copyleft/) >> >> endobj 3125 0 obj << /D [3123 0 R /XYZ 90 720 null] >> endobj 3122 0 obj << /Font << /F51 8 0 R /F52 359 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3128 0 obj << /Length 1336 /Filter /FlateDecode >> stream xڍWYs6~􉚱)ԝ4*}@"4$h[X&qvߞXY,fa&Y0,&WnlƢ026[o*~?_4Pu_ !DzO_BTRD $AT=ͭ65|х[`d c"2z6 Ǚ 1 soDʐ X>}]}'73,x!vmluK+B;g?4H:LQZ7EN gYȸz]h>ۺ͜H❜6ns1v^m,s(DM;Q٭B{"dKHH.)SF tc ́JCzDP 6ȖNZ?X 7Zm+=ENYfq,1p" 98鍻1{/2 |ӉtqsA倀8.Pw½ cr/:/!_&B3:n[WiM^[U_pᚖnm:3Δzs^ci\@ .U xyQ̧3BpqV^S#K5,G8Fo@^{Un{\S}Pvpoؗ Xz /*=~W?獆Pxm@1]ܘZڞɥc^bK /u!gl"k 6wjYƁ ((9 wxzԐ*$"}r2T&e%}> 5ϛ;3ʬA/Xp'9Nw uJ׾ =^q2 cQi"A#})lQ jju00} R岗9Wq %ؤ/ N::N&br=RFw7yU(?7gOHm.2Dߍ{p»;ƽ[AB0H .o$'>Z5D 7 8ngLYcuC]E &S?x0'| endstream endobj 3127 0 obj << /Type /Page /Contents 3128 0 R /Resources 3126 0 R /MediaBox [0 0 612 792] /Parent 3130 0 R >> endobj 3129 0 obj << /D [3127 0 R /XYZ 90 720 null] >> endobj 3126 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F31 1767 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3262 0 obj << /Length 6153 /Filter /FlateDecode >> stream x[SSvt+I1aggX =s[GRٚpL< _tIF0R2wUۏӶ7/'k7x\7X|oWgӛm)|7>黽I*_ bFlp*֠qk`tmK1j~7LUTkmĆeUV X,Byp?uвf\mnx?1_o+ s kr #_"n zAV 7]"ܲx9_EԬPLT:F6.BYKd`s3K[ޜL:_H׶ƹl񥱼tqϋuRaI0bI1"t2WeS,Etb3R/vg޽~tQkslmD$&`$l|8@k9k?Ndzz7ɪZ*Pā*NfoN,C7Ƒͦd@LJPHz5-HzcpJL0b#q(0!13_lmK%6.|56BWqOaMY+\Ax, u (n˿OWaTy6 kw;?z,1ڡT S1ܘW.a'f!糢 BP 9!B^WގBbՄȏ%C~z}3qw2(L!HH3W@zZc Mzk2zc1=b )ɀUڌ$jdum.#7IN¢a4B2&u@y1ejywɒоq'`TQTAq́0E!a! A/;o䎙%+@]3q(0! 5ZR1F2[]һ\Ģ|MJcB@HѩB%mL9,nYN.zfZ?95yP% z'u(wP Y͜y.3x=ƌyPM{Rq2zc7JbR)L:@y1mj'3Äpڭ9F1:lx 7@ab@JEZ*Jv薦 UR kF j׽\.]f2zc:Q+udN$V_ezT͌P0Q[6P )걺ݝmg((1lq@P9jT)pO]vuwd0{6O= ˢ y1>΃1-:v3 L(ɹJZ8d \J uB2.ӕv懣-7lx{dlj=\HoC+)@̍vpݛÓLghkW=`& W} ХP!*grӆG'НN2hǸ1ёXFpx|PPpW9Xٛw8W6*skЛ t." 5F %H)b|,P^쵽HH!Qά'z dU# J\jNj &)ױOiG-ީa B2P hZJN_WGtp1 $2ǚ)?Rkh_OoK(>dGמ1#3[Vy~dsUu ܊ U*4z-_QF`o>d ЇJv:n "ZwΉ֜9kÖ2s]pߣ )C7Ƒd@̌vo ^}ᾈ,W{[VcSuO& ]չ :SЪf\5,L-kf1">h^4\pe[ *@cJԮ('õ[u,I<9zuQBJMjʺﻠ4DMHB)-ӭ{_ T*k ޏn"n8b'S4P8hEJvKcAK+n2&ehpwoΩ5FoaQB*"4Ƨ/^ A Jk7_0:x"O>v},<dtzW1q`\&FF${wf^^}m ɂ d@QJ*c&#sM}4P3.1e8G0G@㈐Jpho}ĭ{xuQ(zc%6k~jbJ ZHx_6 R_yY+s20 k0q  &ᜒ> (KQY 4w6N?NgW/)!]}Nڼˌ÷2œ'{ gU #&(LƸ}/ӫWwml}T6^ t$^(ŗ+񣉺/xzQ%y.?U!QI`Fr^_\$(IJ*E־fgS[y I N$}wk 3}v=$ Ā F7)HUOۧv! mO&iN\Q?o9'.?A*EO3O=?A2OPE%iRvX`<]^$S}NO '&^43,+S).Ye@C TX uAka5O߾^͆}y\7tlM(JV~6azu~]w>{GѫeD80LDQB*!$v>~l|&Oo3אV'1:1@0",sOt+7yZwlq@t\vb2 /'I^ts2ymU+*VXܶ?Nxw 盜 R IA…|1Jg/w 5{0ʞ4a8ghbq'  |̨:tw}Y^~jb狢O E8RR)b :?n|i׷b Cxf;0rBIE' ̮g.i2&k&tS^f39f7Uf7Cu@ !B, rϵXbC˂A";iX$;r],H0g-c VlqYzc06,\1.C,\@ !> ٵ.>]^cfrR7W>IFY${c<н\d7ՠ(IB*EC:Wg"yrI4۽N;GE7#Á f(yB|#%Ϻ=.]\7 -VjW;.: PA`FpV߷H)V4ҋهdS!iR]/?6vvoϳkJ㹀 hIY@{c<ɂg_P (!iZ.KP7A'-w3ud#kt1;{6OEPJ%w wie˗^Yì1Z\<]ȫ| DhR)Z!ۇy?{yzs?ʛ{!QY|{c<"b%R|^,0z$1Ybi–{=bC//oZ&! Xe HBR m-Y;Hcɘ`JuHo8kTlg";ܠy,*5,f K#K2ߓR-kEE7߀HfW٬Qj%XB~DR)Yo!gӋũ'z6ii)D1e8D0D@JUSU| vD-%54}˄0kxܹs]ٌ7g0.{ jbQ'[bг"i󿜇"z[#M L~/7eSka0\qmϯ떹`V endstream endobj 3261 0 obj << /Type /Page /Contents 3262 0 R /Resources 3260 0 R /MediaBox [0 0 612 792] /Parent 3130 0 R /Annots [ 3131 0 R 3132 0 R 3133 0 R 3134 0 R 3135 0 R 3136 0 R 3137 0 R 3138 0 R 3139 0 R 3140 0 R 3141 0 R 3142 0 R 3143 0 R 3144 0 R 3145 0 R 3146 0 R 3147 0 R 3148 0 R 3149 0 R 3150 0 R 3151 0 R 3152 0 R 3153 0 R 3154 0 R 3155 0 R 3156 0 R 3157 0 R 3158 0 R 3159 0 R 3160 0 R 3161 0 R 3162 0 R 3163 0 R 3164 0 R 3165 0 R 3166 0 R 3167 0 R 3168 0 R 3169 0 R 3170 0 R 3171 0 R 3172 0 R 3173 0 R 3174 0 R 3175 0 R 3176 0 R 3177 0 R 3178 0 R 3179 0 R 3180 0 R 3181 0 R 3182 0 R 3183 0 R 3184 0 R 3185 0 R 3186 0 R 3187 0 R 3188 0 R 3189 0 R 3190 0 R 3191 0 R 3192 0 R 3193 0 R 3194 0 R 3195 0 R 3196 0 R 3197 0 R 3198 0 R 3199 0 R 3200 0 R 3201 0 R 3202 0 R 3203 0 R 3204 0 R 3205 0 R 3206 0 R 3207 0 R 3208 0 R 3209 0 R 3210 0 R 3211 0 R 3212 0 R 3213 0 R 3214 0 R 3215 0 R 3216 0 R 3217 0 R 3218 0 R 3219 0 R 3220 0 R 3221 0 R 3222 0 R 3223 0 R 3224 0 R 3225 0 R 3226 0 R 3227 0 R 3228 0 R 3229 0 R 3230 0 R 3231 0 R 3232 0 R 3233 0 R 3234 0 R 3235 0 R 3236 0 R 3237 0 R 3238 0 R 3239 0 R 3240 0 R 3241 0 R 3242 0 R 3243 0 R 3244 0 R 3245 0 R 3246 0 R 3247 0 R 3248 0 R 3249 0 R 3250 0 R ] >> endobj 3131 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 627.53 297.029 635.5] /A << /S /GoTo /D (96) >> >> endobj 3132 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 616.952 297.029 624.922] /A << /S /GoTo /D (140) >> >> endobj 3133 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 606.373 297.029 614.344] /A << /S /GoTo /D (141) >> >> endobj 3134 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 595.795 297.029 603.765] /A << /S /GoTo /D (143) >> >> endobj 3135 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 585.217 297.029 593.187] /A << /S /GoTo /D (146) >> >> endobj 3136 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 574.639 297.029 582.609] /A << /S /GoTo /D (151) >> >> endobj 3137 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [224.841 564.06 238.664 572.03] /A << /S /GoTo /D (157) >> >> endobj 3138 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [244.296 564.06 258.119 572.03] /A << /S /GoTo /D (158) >> >> endobj 3139 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 564.06 277.574 572.03] /A << /S /GoTo /D (159) >> >> endobj 3140 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 564.06 297.029 572.03] /A << /S /GoTo /D (164) >> >> endobj 3141 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 553.482 297.029 561.452] /A << /S /GoTo /D (142) >> >> endobj 3142 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 542.904 297.029 550.874] /A << /S /GoTo /D (142) >> >> endobj 3143 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 532.325 297.029 540.296] /A << /S /GoTo /D (142) >> >> endobj 3144 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 521.747 297.029 529.717] /A << /S /GoTo /D (142) >> >> endobj 3145 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 511.169 297.029 519.139] /A << /S /GoTo /D (142) >> >> endobj 3146 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 500.591 297.029 508.561] /A << /S /GoTo /D (142) >> >> endobj 3147 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 490.012 297.029 497.982] /A << /S /GoTo /D (81) >> >> endobj 3148 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 479.434 297.029 487.404] /A << /S /GoTo /D (69) >> >> endobj 3149 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 468.856 297.029 476.826] /A << /S /GoTo /D (226) >> >> endobj 3150 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 458.278 297.029 466.248] /A << /S /GoTo /D (140) >> >> endobj 3151 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 447.699 297.029 455.669] /A << /S /GoTo /D (142) >> >> endobj 3152 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 437.121 297.029 445.091] /A << /S /GoTo /D (128) >> >> endobj 3153 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 426.543 297.029 434.513] /A << /S /GoTo /D (129) >> >> endobj 3154 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 415.964 297.029 423.935] /A << /S /GoTo /D (129) >> >> endobj 3155 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 405.386 277.574 413.356] /A << /S /GoTo /D (145) >> >> endobj 3156 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 405.386 297.029 413.356] /A << /S /GoTo /D (146) >> >> endobj 3157 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 394.808 297.029 402.778] /A << /S /GoTo /D (151) >> >> endobj 3158 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 384.23 297.029 392.2] /A << /S /GoTo /D (128) >> >> endobj 3159 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 373.651 277.574 381.621] /A << /S /GoTo /D (130) >> >> endobj 3160 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 373.651 297.029 381.621] /A << /S /GoTo /D (178) >> >> endobj 3161 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 363.073 297.029 371.043] /A << /S /GoTo /D (128) >> >> endobj 3162 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 352.495 297.029 360.465] /A << /S /GoTo /D (140) >> >> endobj 3163 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 341.916 297.029 349.887] /A << /S /GoTo /D (181) >> >> endobj 3164 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 331.338 277.574 339.308] /A << /S /GoTo /D (129) >> >> endobj 3165 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 331.338 297.029 339.308] /A << /S /GoTo /D (146) >> >> endobj 3166 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 320.76 297.029 328.73] /A << /S /GoTo /D (107) >> >> endobj 3167 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 310.182 297.029 318.152] /A << /S /GoTo /D (66) >> >> endobj 3168 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 299.603 297.029 307.573] /A << /S /GoTo /D (26) >> >> endobj 3169 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 289.025 297.029 296.995] /A << /S /GoTo /D (15) >> >> endobj 3170 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 278.447 297.029 286.417] /A << /S /GoTo /D (58) >> >> endobj 3171 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 267.869 297.029 275.839] /A << /S /GoTo /D (185) >> >> endobj 3172 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 257.29 297.029 265.26] /A << /S /GoTo /D (185) >> >> endobj 3173 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 246.712 297.029 254.682] /A << /S /GoTo /D (145) >> >> endobj 3174 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 236.134 297.029 244.104] /A << /S /GoTo /D (148) >> >> endobj 3175 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 225.555 297.029 233.526] /A << /S /GoTo /D (148) >> >> endobj 3176 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 214.977 297.029 222.947] /A << /S /GoTo /D (148) >> >> endobj 3177 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 204.399 297.029 212.369] /A << /S /GoTo /D (131) >> >> endobj 3178 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 193.821 297.029 201.791] /A << /S /GoTo /D (149) >> >> endobj 3179 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 183.242 297.029 191.212] /A << /S /GoTo /D (151) >> >> endobj 3180 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 172.664 297.029 180.634] /A << /S /GoTo /D (150) >> >> endobj 3181 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 162.086 297.029 170.056] /A << /S /GoTo /D (150) >> >> endobj 3182 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 151.507 297.029 159.478] /A << /S /GoTo /D (150) >> >> endobj 3183 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 140.929 297.029 148.899] /A << /S /GoTo /D (150) >> >> endobj 3184 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 130.351 297.029 138.321] /A << /S /GoTo /D (43) >> >> endobj 3185 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 119.773 297.029 127.743] /A << /S /GoTo /D (132) >> >> endobj 3186 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.904 109.194 258.119 117.164] /A << /S /GoTo /D (37) >> >> endobj 3187 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 109.194 277.574 117.164] /A << /S /GoTo /D (129) >> >> endobj 3188 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 109.194 297.029 117.164] /A << /S /GoTo /D (178) >> >> endobj 3189 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 98.616 297.029 106.586] /A << /S /GoTo /D (26) >> >> endobj 3190 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 88.038 297.029 96.008] /A << /S /GoTo /D (157) >> >> endobj 3191 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 77.46 297.029 85.43] /A << /S /GoTo /D (127) >> >> endobj 3192 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 641.684 522 649.654] /A << /S /GoTo /D (226) >> >> endobj 3193 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 631.084 522 639.054] /A << /S /GoTo /D (222) >> >> endobj 3194 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 620.485 522 628.455] /A << /S /GoTo /D (223) >> >> endobj 3195 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 609.885 522 617.856] /A << /S /GoTo /D (35) >> >> endobj 3196 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 599.286 522 607.256] /A << /S /GoTo /D (54) >> >> endobj 3197 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 588.687 522 596.657] /A << /S /GoTo /D (62) >> >> endobj 3198 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 578.087 522 586.057] /A << /S /GoTo /D (181) >> >> endobj 3199 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 567.488 522 575.458] /A << /S /GoTo /D (48) >> >> endobj 3200 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 556.888 502.545 564.858] /A << /S /GoTo /D (137) >> >> endobj 3201 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 556.888 522 564.858] /A << /S /GoTo /D (209) >> >> endobj 3202 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 546.289 522 554.259] /A << /S /GoTo /D (209) >> >> endobj 3203 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 535.69 522 543.66] /A << /S /GoTo /D (59) >> >> endobj 3204 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 525.09 487.698 533.06] /A << /S /GoTo /D (29) >> >> endobj 3205 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 525.09 502.545 533.06] /A << /S /GoTo /D (32) >> >> endobj 3206 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 525.09 522 533.06] /A << /S /GoTo /D (212) >> >> endobj 3207 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 514.491 522 522.461] /A << /S /GoTo /D (32) >> >> endobj 3208 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 503.891 522 511.861] /A << /S /GoTo /D (32) >> >> endobj 3209 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 493.292 522 501.262] /A << /S /GoTo /D (127) >> >> endobj 3210 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 482.692 522 490.663] /A << /S /GoTo /D (127) >> >> endobj 3211 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 472.093 522 480.063] /A << /S /GoTo /D (48) >> >> endobj 3212 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 461.494 522 469.464] /A << /S /GoTo /D (48) >> >> endobj 3213 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 416.641 522 424.611] /A << /S /GoTo /D (43) >> >> endobj 3214 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 406.042 522 414.012] /A << /S /GoTo /D (236) >> >> endobj 3215 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 395.442 522 403.412] /A << /S /GoTo /D (172) >> >> endobj 3216 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 386.586 522 392.585] /A << /S /GoTo /D (3) >> >> endobj 3217 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 374.243 487.698 381.986] /A << /S /GoTo /D (11) >> >> endobj 3218 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 374.243 502.545 381.986] /A << /S /GoTo /D (21) >> >> endobj 3219 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 374.243 522 381.986] /A << /S /GoTo /D (155) >> >> endobj 3220 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 363.644 522 371.614] /A << /S /GoTo /D (219) >> >> endobj 3221 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 353.044 522 361.015] /A << /S /GoTo /D (221) >> >> endobj 3222 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 342.445 522 350.415] /A << /S /GoTo /D (100) >> >> endobj 3223 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 331.846 522 339.816] /A << /S /GoTo /D (99) >> >> endobj 3224 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 321.246 522 329.216] /A << /S /GoTo /D (98) >> >> endobj 3225 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 310.647 522 318.617] /A << /S /GoTo /D (120) >> >> endobj 3226 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 300.047 522 308.017] /A << /S /GoTo /D (98) >> >> endobj 3227 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 289.448 522 297.418] /A << /S /GoTo /D (120) >> >> endobj 3228 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 278.848 502.545 286.819] /A << /S /GoTo /D (119) >> >> endobj 3229 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 278.848 522 286.819] /A << /S /GoTo /D (123) >> >> endobj 3230 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 268.249 522 276.219] /A << /S /GoTo /D (120) >> >> endobj 3231 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 257.65 522 265.62] /A << /S /GoTo /D (229) >> >> endobj 3232 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 247.05 522 255.02] /A << /S /GoTo /D (227) >> >> endobj 3233 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 236.451 522 244.919] /A << /S /GoTo /D (120) >> >> endobj 3234 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 225.851 522 233.822] /A << /S /GoTo /D (120) >> >> endobj 3235 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 215.252 522 223.222] /A << /S /GoTo /D (125) >> >> endobj 3236 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 204.653 522 212.623] /A << /S /GoTo /D (229) >> >> endobj 3237 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 194.053 522 202.023] /A << /S /GoTo /D (121) >> >> endobj 3238 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 183.205 522 191.424] /A << /S /GoTo /D (210) >> >> endobj 3239 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 172.854 522 180.824] /A << /S /GoTo /D (22) >> >> endobj 3240 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 162.255 522 170.225] /A << /S /GoTo /D (101) >> >> endobj 3241 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 151.655 522 159.626] /A << /S /GoTo /D (232) >> >> endobj 3242 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 141.056 502.545 149.026] /A << /S /GoTo /D (70) >> >> endobj 3243 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 141.056 522 149.026] /A << /S /GoTo /D (231) >> >> endobj 3244 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 130.457 502.545 138.199] /A << /S /GoTo /D (71) >> >> endobj 3245 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 130.457 522 138.199] /A << /S /GoTo /D (102) >> >> endobj 3246 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 119.857 522 127.827] /A << /S /GoTo /D (102) >> >> endobj 3247 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 109.009 522 117.228] /A << /S /GoTo /D (102) >> >> endobj 3248 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 100.402 522 106.628] /A << /S /GoTo /D (96) >> >> endobj 3249 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 88.059 522 96.029] /A << /S /GoTo /D (95) >> >> endobj 3250 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 77.46 522 85.33] /A << /S /GoTo /D (140) >> >> endobj 526 0 obj << /D [3261 0 R /XYZ 90 720 null] >> endobj 1730 0 obj << /D [3261 0 R /XYZ 90 720 null] >> endobj 3260 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F2 1766 0 R /F31 1767 0 R /F8 3263 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3373 0 obj << /Length 5879 /Filter /FlateDecode >> stream x[rS[dnvͼ{lrs$‘`4(On/E{i \\ÿXK_?~WuYFw\oO_5EïnGܬsf]vë,duBW}txXO 4kJ:JKK9J4awoTexuUOYh0?5O;?8b!t4/7-&cJxk`|ByƁ"m,%SU3.m<ﶯ^ XPzsc^Dc< FAt mT%+axOJ>:J#< g{ O# K !hDR8mv4RJŚRD K,6{b#yd8!LCՓڏSXOeFp綽}eEy==6u6/qҠL*c d{  ƣS@HXPMDUb׷}~ؽK63gF{PMIZZ %{D~vvkE>VL2#wUV-Z~{4]gBr&CJ/C2?dځ V^xBaa 6!iafkT^X/y,/. 1Θ Kh@xkz*שL5r-8V'Jr4K2t-/8 S I RVȮd/>w_<=]?$m1\1kyУ1b)脤np퇐n7;CYL=3WLs6QK&gc\Ȅ <0XYTwa\ntg{N}9}vk1>C+t)%Μ}۬ D op˹0/1 CT6 ˺f54 oa,3vUyUu4ƫj[.6HlJV~tPvi]JݭTr{C{;{3_ܸھki2/ś^M#- dy%&OIZBna߅~qzV\en`׌@#) ɏ G4\/`َK?_Oc $(u~Njٸ!1t S!AHڀuDcx fy3\'柦ypCTmӲĜf3>Vw ݵPC]*zE=ANns@`1Nc)_%r jhB # L!i㨨bain;%}bv]ơMvuDۛc&|$8g{ O=Ё; MbhţGъ.ECEGXEGhPBhiɐ;e,}]/=mL&Ҩ<܄TU `V3p`$0A$YԜzZc周&L)Ϸ[uqThb䁺zٙb!MlKaxK~Ȫ 1ZA[$ԥ(b%0Tl^zr_%xF4c5@ BƆ*YahW{[^lEs yt+iTqQY~di`w*Bвwh^,Dc< !^p $mN썘\1) {<`]hz+(0 L#$-0!0]ݾú\}}s1z~.pli=5c_{gsy4] ?)圳J֙#c)98fw*%18&M&<-yp0(L !iå.~g0W5kOeD z+滫hrcMꚛu~6q~</-:w\^Ec<`$0w;LqMi8ijN[%E1Q^ߔ@yeedf$uVPN)ZuE}?z?a2!LxOlq;Rq9cS*v1j^HHj^f3NƤ)p$YG7k0FQר@EZXem~zӵ[0/fuDQ&cB^PVMލ`BItIwYߧ'Eyͮu̫1^-C65R@(@0iRU*Ƶ(ncyޯZɣIIzZ]12,{uKBѲ4~oPBKHZ+h?*IiqT^BJ/k˹L ;|İBa*U16Dc >PbCHZ6dakW[Ww&y~&Ӳz:C Ect"qL5u>,7Am)\E }f\G4D,h)XQ~A4=ԦmHy9NhÅ+Ls3SjŬ`;o8l~t@(L&$-l{y>xȯc|\n҃ Z7O|0arA?oӋ(IC,7d }?l7| '̈́2w{<>'='=!PDHNaul?ezˁX#Ŵ3Y\-:@JK"qHi1բRbf~:^YD-J 4eB55_p OL?QG Ӆ/-yv&u'T7ބp G:ĨpDVk$qg{ O=p:ƥHpB)kq ܮ6x}.O1_Om4^=Z4ƩA_VUĨJl$wULZ|W[.B%EEIδl &n\zX3)r\4Ƌ&B hbͤa6  Dzӻjv^4`EcdAq bI.3SH5[ğaqNqB"Q 8! 86Ey=bYNqT'mj?:ŰWq,WHO(Xu( @{]m[)j1|+)D(RJ07@(.\w{wY[au-2}oU1Zf.BhR]g&xy]/s( 砼=4%۪Iv0__li̪9 BQp5G})f Ί<~TP3^3$dMBmT6URt!fK&͓k[81FňRfyM=b#gCjU_8dU+VC^UZ!H1HI r RB*iYeb)21LHHL3Cj{dWOqqV a%VL"vz&Ha?~RqUqD[ސZqU Hő1Hr0B*D~h#.jyK4ƓT41|RWȘ&=z8Մw'R'E 8xGcxChX|I͸Ug83_~,jVmU{$[NME9d(;OO#48(&/~… N0c1@cx$X!qv5-']d:2lq7ളAYG ?gKRv@ɅGTK{Z_76v㗶Sjn)5&O/s7^DWo $3 1#3a*}vz%/xֱ|Hd"Ov 1^"Dc@́( datQawp Oy_eeTͨf2hb ,T߈y*[ ȍqrj~w+/bAH ̤`\Vz<%%6h<  Eh`f6kD%eXR\P]x;\DcO9dBS. S끕bhqwa}`ҟ1iЧ}%NmwgzYnV 9UVNќj V(Q&q~eovOuvέSx/e.\JsV^ixiYq&[ߵٟHU<' \$Q%Q;[}/NɩͿ|rX*2UVg! Ṉ\&G(Ɛ Ǧ.䤥LHI^8=>hR<FQ"\'Q9f~wړ–0;s*f Fhc"9)E1T )$HɕhmO,no;etkPo;d 51pR%ȕ}Яwh < }-0ĨJja0Pci.N﫼j7.t(@QTrv#&G#豦}߻Ll!?޵uXcz(*-b|y)AHٻ ,FF1:"5s|rD Jb @qrs|X> endobj 3251 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 684.134 297.029 690.361] /A << /S /GoTo /D (94) >> >> endobj 3252 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 673.569 297.029 679.795] /A << /S /GoTo /D (92) >> >> endobj 3253 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 663.003 297.029 669.23] /A << /S /GoTo /D (3) >> >> endobj 3254 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 652.438 297.029 658.664] /A << /S /GoTo /D (3) >> >> endobj 3255 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 608.085 297.029 616.056] /A << /S /GoTo /D (183) >> >> endobj 3256 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 597.52 297.029 605.49] /A << /S /GoTo /D (182) >> >> endobj 3257 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 588.698 297.029 594.924] /A << /S /GoTo /D (4) >> >> endobj 3258 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 576.388 297.029 584.259] /A << /S /GoTo /D (216) >> >> endobj 3259 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 567.566 297.029 573.793] /A << /S /GoTo /D (38) >> >> endobj 3264 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 555.257 297.029 563.128] /A << /S /GoTo /D (101) >> >> endobj 3265 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 544.692 297.029 552.562] /A << /S /GoTo /D (141) >> >> endobj 3266 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 534.126 297.029 542.096] /A << /S /GoTo /D (121) >> >> endobj 3267 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 523.56 297.029 531.53] /A << /S /GoTo /D (56) >> >> endobj 3268 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 512.995 297.029 520.965] /A << /S /GoTo /D (16) >> >> endobj 3269 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 502.429 297.029 510.399] /A << /S /GoTo /D (128) >> >> endobj 3270 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 491.365 297.029 500.332] /A << /S /GoTo /D (103) >> >> endobj 3271 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 481.298 297.029 489.268] /A << /S /GoTo /D (3) >> >> endobj 3272 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 436.692 297.029 444.562] /A << /S /GoTo /D (212) >> >> endobj 3273 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 426.126 297.029 434.096] /A << /S /GoTo /D (24) >> >> endobj 3274 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 417.304 297.029 423.53] /A << /S /GoTo /D (215) >> >> endobj 3275 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 404.995 282.182 412.965] /A << /S /GoTo /D (21) >> >> endobj 3276 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 404.995 297.029 412.965] /A << /S /GoTo /D (24) >> >> endobj 3277 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 394.429 297.029 402.399] /A << /S /GoTo /D (119) >> >> endobj 3278 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 383.863 297.029 391.833] /A << /S /GoTo /D (101) >> >> endobj 3279 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 373.298 297.029 381.268] /A << /S /GoTo /D (74) >> >> endobj 3280 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 362.732 297.029 370.254] /A << /S /GoTo /D (87) >> >> endobj 3281 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 352.166 297.029 360.136] /A << /S /GoTo /D (117) >> >> endobj 3282 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 341.601 297.029 349.122] /A << /S /GoTo /D (107) >> >> endobj 3283 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 331.035 297.029 339.005] /A << /S /GoTo /D (109) >> >> endobj 3284 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 319.971 297.029 328.938] /A << /S /GoTo /D (104) >> >> endobj 3285 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 311.647 297.029 317.874] /A << /S /GoTo /D (215) >> >> endobj 3286 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 299.151 297.029 307.209] /A << /S /GoTo /D (134) >> >> endobj 3287 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 288.772 297.029 296.743] /A << /S /GoTo /D (56) >> >> endobj 3288 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 279.95 297.029 286.177] /A << /S /GoTo /D (56) >> >> endobj 3289 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 269.385 297.029 275.611] /A << /S /GoTo /D (55) >> >> endobj 3290 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 257.076 297.029 265.046] /A << /S /GoTo /D (49) >> >> endobj 3291 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 246.51 297.029 254.48] /A << /S /GoTo /D (6) >> >> endobj 3292 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 237.688 297.029 243.914] /A << /S /GoTo /D (213) >> >> endobj 3293 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 225.379 297.029 233.349] /A << /S /GoTo /D (78) >> >> endobj 3294 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 214.813 297.029 222.783] /A << /S /GoTo /D (80) >> >> endobj 3295 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 204.247 297.029 212.217] /A << /S /GoTo /D (204) >> >> endobj 3296 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 193.682 297.029 201.652] /A << /S /GoTo /D (179) >> >> endobj 3297 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 183.116 297.029 191.086] /A << /S /GoTo /D (181) >> >> endobj 3298 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 172.55 297.029 180.52] /A << /S /GoTo /D (179) >> >> endobj 3299 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 161.985 297.029 169.955] /A << /S /GoTo /D (180) >> >> endobj 3300 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 151.419 297.029 159.389] /A << /S /GoTo /D (183) >> >> endobj 3301 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 140.853 297.029 148.824] /A << /S /GoTo /D (204) >> >> endobj 3302 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 130.288 297.029 138.258] /A << /S /GoTo /D (183) >> >> endobj 3303 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 119.722 297.029 127.692] /A << /S /GoTo /D (182) >> >> endobj 3304 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 109.156 297.029 117.127] /A << /S /GoTo /D (203) >> >> endobj 3305 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 98.591 297.029 106.561] /A << /S /GoTo /D (201) >> >> endobj 3306 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 88.025 297.029 95.995] /A << /S /GoTo /D (178) >> >> endobj 3307 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 77.46 297.029 85.43] /A << /S /GoTo /D (129) >> >> endobj 3308 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 682.391 522 690.361] /A << /S /GoTo /D (128) >> >> endobj 3309 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 673.563 522 679.79] /A << /S /GoTo /D (30) >> >> endobj 3310 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 661.248 522 669.218] /A << /S /GoTo /D (66) >> >> endobj 3311 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 650.677 522 658.647] /A << /S /GoTo /D (125) >> >> endobj 3312 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 640.105 522 648.076] /A << /S /GoTo /D (25) >> >> endobj 3313 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 629.534 522 637.504] /A << /S /GoTo /D (111) >> >> endobj 3314 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 620.706 522 626.933] /A << /S /GoTo /D (129) >> >> endobj 3315 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 608.391 522 616.361] /A << /S /GoTo /D (206) >> >> endobj 3316 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 597.82 522 605.79] /A << /S /GoTo /D (41) >> >> endobj 3317 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 587.249 522 595.219] /A << /S /GoTo /D (206) >> >> endobj 3318 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 576.677 522 584.647] /A << /S /GoTo /D (41) >> >> endobj 3319 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 566.106 502.545 574.076] /A << /S /GoTo /D (48) >> >> endobj 3320 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 566.106 522 574.076] /A << /S /GoTo /D (206) >> >> endobj 3321 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 555.534 522 563.505] /A << /S /GoTo /D (206) >> >> endobj 3322 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 544.963 502.545 552.933] /A << /S /GoTo /D (58) >> >> endobj 3323 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 544.963 522 552.933] /A << /S /GoTo /D (206) >> >> endobj 3324 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 534.205 522 542.362] /A << /S /GoTo /D (206) >> >> endobj 3325 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 523.82 502.545 531.79] /A << /S /GoTo /D (46) >> >> endobj 3326 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 523.82 522 531.79] /A << /S /GoTo /D (206) >> >> endobj 3327 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 513.249 522 521.219] /A << /S /GoTo /D (26) >> >> endobj 3328 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 504.421 522 510.648] /A << /S /GoTo /D (215) >> >> endobj 3329 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 491.857 522 500.076] /A << /S /GoTo /D (211) >> >> endobj 3330 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 481.535 522 489.505] /A << /S /GoTo /D (211) >> >> endobj 3331 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 470.963 502.545 478.933] /A << /S /GoTo /D (8) >> >> endobj 3332 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 470.963 522 478.933] /A << /S /GoTo /D (210) >> >> endobj 3333 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 460.392 522 468.362] /A << /S /GoTo /D (7) >> >> endobj 3334 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 449.821 522 457.791] /A << /S /GoTo /D (221) >> >> endobj 3335 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 439.249 522 447.219] /A << /S /GoTo /D (84) >> >> endobj 3336 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 430.421 522 436.2] /A << /S /GoTo /D (161) >> >> endobj 3337 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 419.85 522 425.628] /A << /S /GoTo /D (161) >> >> endobj 3338 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 407.535 522 415.505] /A << /S /GoTo /D (25) >> >> endobj 3339 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 396.964 522 404.706] /A << /S /GoTo /D (94) >> >> endobj 3340 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 386.392 522 394.362] /A << /S /GoTo /D (9) >> >> endobj 3341 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 377.564 522 383.791] /A << /S /GoTo /D (86) >> >> endobj 3342 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 365.249 522 372.992] /A << /S /GoTo /D (72) >> >> endobj 3343 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 354.678 522 362.648] /A << /S /GoTo /D (147) >> >> endobj 3344 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 345.85 522 352.077] /A << /S /GoTo /D (217) >> >> endobj 3345 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 333.535 522 341.505] /A << /S /GoTo /D (120) >> >> endobj 3346 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 322.466 522 331.432] /A << /S /GoTo /D (75) >> >> endobj 3347 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 312.392 522 320.363] /A << /S /GoTo /D (44) >> >> endobj 3348 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 303.565 522 309.564] /A << /S /GoTo /D (208) >> >> endobj 3349 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 291.25 522 299.22] /A << /S /GoTo /D (211) >> >> endobj 3350 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 280.678 522 288.648] /A << /S /GoTo /D (9) >> >> endobj 3351 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 270.107 522 278.077] /A << /S /GoTo /D (14) >> >> endobj 3352 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 259.536 522 267.506] /A << /S /GoTo /D (98) >> >> endobj 3353 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 248.964 522 256.934] /A << /S /GoTo /D (45) >> >> endobj 3354 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 238.393 522 246.363] /A << /S /GoTo /D (6) >> >> endobj 3355 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 193.745 522 201.715] /A << /S /GoTo /D (100) >> >> endobj 3356 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 183.173 522 191.144] /A << /S /GoTo /D (75) >> >> endobj 3357 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 172.602 522 180.572] /A << /S /GoTo /D (72) >> >> endobj 3358 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 162.031 522 170.001] /A << /S /GoTo /D (71) >> >> endobj 3359 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 151.459 522 159.429] /A << /S /GoTo /D (71) >> >> endobj 3360 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 142.631 522 148.858] /A << /S /GoTo /D (87) >> >> endobj 3361 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 130.316 522 138.287] /A << /S /GoTo /D (73) >> >> endobj 3362 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 121.489 522 127.715] /A << /S /GoTo /D (71) >> >> endobj 3363 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 109.174 522 117.044] /A << /S /GoTo /D (178) >> >> endobj 3364 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 98.602 522 106.572] /A << /S /GoTo /D (75) >> >> endobj 3365 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 89.774 522 96.001] /A << /S /GoTo /D (71) >> >> endobj 3366 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 77.46 522 85.43] /A << /S /GoTo /D (33) >> >> endobj 3374 0 obj << /D [3372 0 R /XYZ 90 720 null] >> endobj 3371 0 obj << /Font << /F51 8 0 R /F2 1766 0 R /F8 3263 0 R /F72 7 0 R /F31 1767 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3485 0 obj << /Length 5731 /Filter /FlateDecode >> stream xmo9rл$۬w6%QiʹA>d7gX%fYK[Y.~EHV0WMqUKɚR_-7?~kcp ,?/XS4~??ZJ跫׍Z%?&|/`-ξҬWd\nȖb0t~?hͤ2b7׼OįCq(b L!&$-⒳ wʵ6vufι`|*1ZqhEc(*h䬬5t.bq&TuhsNE8=29'ΣqjЏԀ0EԄIkhK۲>qˍV#ni+$ɨt |yiF4 .EPt̤C6*YWYPްzFbS c絩h)Gj+L,<))ʗ ^ ` Ў A@I Ѥ);WЋ h& )QDMϼ&>P"MZҵfu##}uӛvt|~:9q&BckHZf4[& 5 SI˫fwM?9.?`ycx_Hs:䑍8YkJSd IKVլn݇~֮ƬٻOl }նS;LcG[Y-0Fۙ K/B*kƵ| }dvźߦdžR>:熼VV9ޟa"!i)ʊUJI am;zdolo5T礼 ^3K!&-bQ1.xqd~ڹN4}lzGjb38!4O7.EPbJ)B6&9$)7ky1؈R1B()+K ]!<ͷ-y41N:XХh$~ws' 3iQO_IV+\FwNͷ$eO>-Xl?>)IFѾ˩]۝iŎqlDb3z#F޹.|4CBiP"OHZdJ~VԐ}]/gr& 8Oa%3R4z%e%b=_kާsMgEw>($jXoa~3Vv\ 蛑Ր1ڐg t2tBRMUu˶>tCoOIDs!X )`&S3N0+t:~ 7l:mxYc];hkHJ}9Х‚PaaRf)]F8v|؅19;ȍSz(KE !h#,Yئ]y31\e}u΅y]E4ƻ ȤSKh@LT%;mV1ߘ?/J&UxA1?c>!Wx)b'4LHkߞ/UGFz8kf Ϊvh16ӳ 8*i1Pΰpi]pkbM! C9k {h3'p)=4(L졑'Ee=i,J-ICp6̪LU/r[2 T_j7h5]ia?.G%s^ 4] Ѧ;4t0\5gdҭm;~-Qz{ׇ~~RZwAh>e)%XsV(ߞ"ke)kexox'18cu.q@bLHZƕ}AKa˴q]hsQh>-FaB.4v?ZxRq$7XH:W䑌8I[W(L$$-IٰRUX[ݛ)WOmVU~%#h< ]Ou@MHZQ COGfLG5+dEctx )lf)R볞vܔJ57LԯQdD8ED4#2^ LE!i#T%'GuwX^FCf-ct1m\n iGыiYO=@8ȓh$$M4rcϽ: F7y2?ju.&,9pJU9gkm/{j"fe֯pŸIL&4KL`LQ`\Zԥ` #aownui/O9)q4C78bK!&-J) +g>3sn hW.A]*E& xjǿ?2'0?682o H ƉSN$ʭ@w2-Ȁ[=ՒE!"4 guJ䕐PEHyX~]8-qZxYAKeCQ$>(. ^lOu܂?giվ/܈5+{D뿷nOkHWY/ab?&cSeyCZ*3֢1k;md5 !bҡX7=W=PfhB crR`>U2-ܹlpXлmfPJ5e.xsCqvХ Gx@w"WLMw4}1={hQ ܉Tҡ\BEct)bNbU)ϝ Fc"t,bO 5bDP 1c1@x"8&P06zd(K|PGIz~~nV~yx{:3ܯX.JTr&jDSf%'t$$1bP f7 C;C>yPb ~~`.\4G%\揦3p׻.aI-/{/|4C Z'x%Ljs;LH4^֬,&'Ru=crq}@)TM3N>(.o ƘkPsFz"_.9Mئ~(NՔ,csn1ANH<M, /ڤ"|/jO5cOx7ay!=GcACz-Kb @PLm}x{y-vxH^Cu}EEuy6v 41R7֐~L7 ,I5K\0s<gIdĘJlV+ Ǫ8,Cm؏.A@zXݳzX`3gpYESRan=qY=| 0F2Yl 51R[F4^^zU/#n#q␃LN&FP +ӇΈN7j/׋ԮZZV/;*q4Cϧ$1&cU3oOtܯӁ^_;,e F=^hJ512R S֬GLntD.JE(e:Q!|A2vp-^웦f< t41'J/@7a>yl"/+yb*0#ٌ8Tr5"BH|Gw8srLJ&_oYCu. ->B'" NMbc׮_WL 3f?&^P7?/mnƓcܞ I0C\X8yЁHJnAQ,x=Mqd-X'>aw0߻h: |OHߏg&ضs"j).c{)k g3'K$Ɨ|Ǔu .4t60]|E[4WI@ALx(~OMKﻱSbչ_'zL1qQAhi'7bSt endstream endobj 3484 0 obj << /Type /Page /Contents 3485 0 R /Resources 3483 0 R /MediaBox [0 0 612 792] /Parent 3130 0 R /Annots [ 3367 0 R 3368 0 R 3369 0 R 3370 0 R 3375 0 R 3376 0 R 3377 0 R 3378 0 R 3379 0 R 3380 0 R 3381 0 R 3382 0 R 3383 0 R 3384 0 R 3385 0 R 3386 0 R 3387 0 R 3388 0 R 3389 0 R 3390 0 R 3391 0 R 3392 0 R 3393 0 R 3394 0 R 3395 0 R 3396 0 R 3397 0 R 3398 0 R 3399 0 R 3400 0 R 3401 0 R 3402 0 R 3403 0 R 3404 0 R 3405 0 R 3406 0 R 3407 0 R 3408 0 R 3409 0 R 3410 0 R 3411 0 R 3412 0 R 3413 0 R 3414 0 R 3415 0 R 3416 0 R 3417 0 R 3418 0 R 3419 0 R 3420 0 R 3421 0 R 3422 0 R 3423 0 R 3424 0 R 3425 0 R 3426 0 R 3427 0 R 3428 0 R 3429 0 R 3430 0 R 3431 0 R 3432 0 R 3433 0 R 3434 0 R 3435 0 R 3436 0 R 3437 0 R 3438 0 R 3439 0 R 3440 0 R 3441 0 R 3442 0 R 3443 0 R 3444 0 R 3445 0 R 3446 0 R 3447 0 R 3448 0 R 3449 0 R 3450 0 R 3451 0 R 3452 0 R 3453 0 R 3454 0 R 3455 0 R 3456 0 R 3457 0 R 3458 0 R 3459 0 R 3460 0 R 3461 0 R 3462 0 R 3463 0 R 3464 0 R 3465 0 R 3466 0 R 3467 0 R 3468 0 R 3469 0 R 3470 0 R 3471 0 R 3472 0 R 3473 0 R 3474 0 R 3475 0 R 3476 0 R 3477 0 R ] >> endobj 3367 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 682.391 297.029 690.361] /A << /S /GoTo /D (9) >> >> endobj 3368 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 671.857 297.029 679.827] /A << /S /GoTo /D (49) >> >> endobj 3369 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 661.323 297.029 669.293] /A << /S /GoTo /D (119) >> >> endobj 3370 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 650.788 297.029 658.758] /A << /S /GoTo /D (101) >> >> endobj 3375 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 640.254 297.029 648.224] /A << /S /GoTo /D (206) >> >> endobj 3376 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 629.72 297.029 637.69] /A << /S /GoTo /D (171) >> >> endobj 3377 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 619.186 297.029 627.156] /A << /S /GoTo /D (99) >> >> endobj 3378 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 608.651 297.029 616.621] /A << /S /GoTo /D (112) >> >> endobj 3379 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 598.117 297.029 606.087] /A << /S /GoTo /D (161) >> >> endobj 3380 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 589.326 297.029 595.553] /A << /S /GoTo /D (6) >> >> endobj 3381 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 577.049 297.029 585.019] /A << /S /GoTo /D (127) >> >> endobj 3382 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 566.514 297.029 574.484] /A << /S /GoTo /D (215) >> >> endobj 3383 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 555.98 297.029 563.95] /A << /S /GoTo /D (48) >> >> endobj 3384 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 545.446 297.029 553.416] /A << /S /GoTo /D (117) >> >> endobj 3385 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 534.912 297.029 542.882] /A << /S /GoTo /D (62) >> >> endobj 3386 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 524.377 297.029 532.348] /A << /S /GoTo /D (51) >> >> endobj 3387 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 515.587 297.029 521.813] /A << /S /GoTo /D (15) >> >> endobj 3388 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 503.309 297.029 511.179] /A << /S /GoTo /D (28) >> >> endobj 3389 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 492.775 277.574 500.745] /A << /S /GoTo /D (147) >> >> endobj 3390 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 492.775 297.029 500.745] /A << /S /GoTo /D (160) >> >> endobj 3391 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 482.24 297.029 490.211] /A << /S /GoTo /D (226) >> >> endobj 3392 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 471.706 297.029 479.676] /A << /S /GoTo /D (213) >> >> endobj 3393 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 427.08 297.029 435.299] /A << /S /GoTo /D (217) >> >> endobj 3394 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 416.795 297.029 424.765] /A << /S /GoTo /D (19) >> >> endobj 3395 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 406.261 297.029 414.231] /A << /S /GoTo /D (31) >> >> endobj 3396 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 395.727 297.029 403.697] /A << /S /GoTo /D (8) >> >> endobj 3397 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 386.936 297.029 393.163] /A << /S /GoTo /D (84) >> >> endobj 3398 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 374.658 297.029 382.628] /A << /S /GoTo /D (109) >> >> endobj 3399 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 364.124 297.029 372.094] /A << /S /GoTo /D (38) >> >> endobj 3400 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 355.333 297.029 361.46] /A << /S /GoTo /D (3) >> >> endobj 3401 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 344.799 297.029 350.577] /A << /S /GoTo /D (94) >> >> endobj 3402 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 332.521 297.029 340.491] /A << /S /GoTo /D (158) >> >> endobj 3403 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 321.738 297.029 329.957] /A << /S /GoTo /D (211) >> >> endobj 3404 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 311.204 277.574 319.423] /A << /S /GoTo /D (133) >> >> endobj 3405 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 311.204 297.029 319.423] /A << /S /GoTo /D (211) >> >> endobj 3406 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 300.918 297.029 308.889] /A << /S /GoTo /D (73) >> >> endobj 3407 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 290.384 297.029 298.354] /A << /S /GoTo /D (211) >> >> endobj 3408 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 279.85 297.029 287.82] /A << /S /GoTo /D (167) >> >> endobj 3409 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 269.316 297.029 277.286] /A << /S /GoTo /D (137) >> >> endobj 3410 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 258.782 297.029 266.752] /A << /S /GoTo /D (136) >> >> endobj 3411 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 248.247 297.029 256.118] /A << /S /GoTo /D (155) >> >> endobj 3412 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 237.713 297.029 245.583] /A << /S /GoTo /D (137) >> >> endobj 3413 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 227.179 297.029 235.149] /A << /S /GoTo /D (221) >> >> endobj 3414 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 216.645 297.029 224.387] /A << /S /GoTo /D (136) >> >> endobj 3415 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 206.11 277.574 214.08] /A << /S /GoTo /D (119) >> >> endobj 3416 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 206.11 297.029 214.08] /A << /S /GoTo /D (123) >> >> endobj 3417 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 195.576 297.029 203.319] /A << /S /GoTo /D (129) >> >> endobj 3418 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 185.042 297.029 193.012] /A << /S /GoTo /D (46) >> >> endobj 3419 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 174.508 297.029 182.478] /A << /S /GoTo /D (96) >> >> endobj 3420 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 165.717 297.029 171.943] /A << /S /GoTo /D (38) >> >> endobj 3421 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 153.439 297.029 161.409] /A << /S /GoTo /D (146) >> >> endobj 3422 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 109.062 297.029 117.032] /A << /S /GoTo /D (49) >> >> endobj 3423 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 98.528 297.029 106.398] /A << /S /GoTo /D (1) >> >> endobj 3424 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 89.737 297.029 95.964] /A << /S /GoTo /D (3) >> >> endobj 3425 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 79.203 297.029 85.43] /A << /S /GoTo /D (25) >> >> endobj 3426 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 684.134 522 690.361] /A << /S /GoTo /D (29) >> >> endobj 3427 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 673.599 522 679.826] /A << /S /GoTo /D (24) >> >> endobj 3428 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 663.064 522 669.29] /A << /S /GoTo /D (38) >> >> endobj 3429 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 650.785 522 658.755] /A << /S /GoTo /D (43) >> >> endobj 3430 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 640.249 522 648.219] /A << /S /GoTo /D (41) >> >> endobj 3431 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 629.714 522 637.684] /A << /S /GoTo /D (98) >> >> endobj 3432 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 619.179 522 627.149] /A << /S /GoTo /D (98) >> >> endobj 3433 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 608.643 522 616.613] /A << /S /GoTo /D (172) >> >> endobj 3434 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 597.859 522 606.078] /A << /S /GoTo /D (217) >> >> endobj 3435 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 577.112 522 585.082] /A << /S /GoTo /D (109) >> >> endobj 3436 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 566.576 522 574.546] /A << /S /GoTo /D (168) >> >> endobj 3437 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 555.792 522 564.011] /A << /S /GoTo /D (211) >> >> endobj 3438 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 545.505 522 553.475] /A << /S /GoTo /D (211) >> >> endobj 3439 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 534.97 522 542.94] /A << /S /GoTo /D (211) >> >> endobj 3440 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 524.434 522 532.405] /A << /S /GoTo /D (211) >> >> endobj 3441 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 513.899 522 521.869] /A << /S /GoTo /D (211) >> >> endobj 3442 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 503.115 522 511.334] /A << /S /GoTo /D (211) >> >> endobj 3443 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 492.579 522 500.798] /A << /S /GoTo /D (211) >> >> endobj 3444 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 482.293 522 490.263] /A << /S /GoTo /D (6) >> >> endobj 3445 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 471.757 522 479.727] /A << /S /GoTo /D (11) >> >> endobj 3446 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 461.222 522 469.192] /A << /S /GoTo /D (41) >> >> endobj 3447 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 450.687 502.545 458.657] /A << /S /GoTo /D (128) >> >> endobj 3448 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 450.687 522 458.657] /A << /S /GoTo /D (216) >> >> endobj 3449 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 441.895 522 448.121] /A << /S /GoTo /D (16) >> >> endobj 3450 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 429.616 522 437.586] /A << /S /GoTo /D (128) >> >> endobj 3451 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 419.08 522 427.05] /A << /S /GoTo /D (26) >> >> endobj 3452 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 408.545 522 416.515] /A << /S /GoTo /D (37) >> >> endobj 3453 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 398.009 522 405.98] /A << /S /GoTo /D (130) >> >> endobj 3454 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 387.474 522 395.444] /A << /S /GoTo /D (33) >> >> endobj 3455 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 376.939 522 384.909] /A << /S /GoTo /D (31) >> >> endobj 3456 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 366.403 522 374.373] /A << /S /GoTo /D (26) >> >> endobj 3457 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 355.868 522 363.838] /A << /S /GoTo /D (29) >> >> endobj 3458 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 345.332 522 353.303] /A << /S /GoTo /D (29) >> >> endobj 3459 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 334.797 522 342.767] /A << /S /GoTo /D (30) >> >> endobj 3460 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 324.262 522 332.232] /A << /S /GoTo /D (21) >> >> endobj 3461 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 279.876 522 287.846] /A << /S /GoTo /D (215) >> >> endobj 3462 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 269.341 522 277.311] /A << /S /GoTo /D (7) >> >> endobj 3463 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 258.805 522 266.775] /A << /S /GoTo /D (3) >> >> endobj 3464 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 248.27 522 256.24] /A << /S /GoTo /D (102) >> >> endobj 3465 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 237.735 522 245.705] /A << /S /GoTo /D (7) >> >> endobj 3466 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 228.943 522 235.169] /A << /S /GoTo /D (38) >> >> endobj 3467 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 216.664 522 224.634] /A << /S /GoTo /D (35) >> >> endobj 3468 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 206.128 522 213.65] /A << /S /GoTo /D (61) >> >> endobj 3469 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 195.593 522 203.563] /A << /S /GoTo /D (104) >> >> endobj 3470 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 185.057 522 193.028] /A << /S /GoTo /D (23) >> >> endobj 3471 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 142.415 522 148.642] /A << /S /GoTo /D (52) >> >> endobj 3472 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 130.137 522 138.107] /A << /S /GoTo /D (219) >> >> endobj 3473 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 119.414 522 127.571] /A << /S /GoTo /D (150) >> >> endobj 3474 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 109.066 522 117.036] /A << /S /GoTo /D (127) >> >> endobj 3475 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 98.53 522 106.5] /A << /S /GoTo /D (8) >> >> endobj 3476 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 87.995 522 95.965] /A << /S /GoTo /D (58) >> >> endobj 3477 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 77.46 522 85.43] /A << /S /GoTo /D (9) >> >> endobj 3486 0 obj << /D [3484 0 R /XYZ 90 720 null] >> endobj 3483 0 obj << /Font << /F51 8 0 R /F2 1766 0 R /F8 3263 0 R /F72 7 0 R /F31 1767 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3593 0 obj << /Length 5379 /Filter /FlateDecode >> stream xmo9ϧ𻳁5n.7^ pv%&~#fu7xY2qbEa/⢔ժ{?][k`o7}G/x7#n|^5Ok)b5o>yYKoBb Ejc7b\N}3/f봾cLe i綆zuKG ݉Q 0QٿLj(^ TdӈVR2YpycP]s/mL]"B*fk|Ax'EH4#R#R2|"Ɗ*r}) q.~q_~JԗW\oJ'l!6vH.O>| ,.@7[ъ. VB=eG $5g~>&Ic' ?{hΤa!ЩU`Y:K;,3@:PX6[<g -Da-!؊35]oޭyQ񨀜 LE!颂6 Dvx|@bh|a*>IEwe7lf΍˛6˷ݟOO]`m+nF?]hÁ 0p~&wyQ,ڂG3?$5n]hƹղPCA61H@f0Fbk&taz >6oa|81. S|Iǧ1u$E n Ny`{o8l~. S Iۨ`+V , Yh#_ L!'$rbnDo~%9{:spMhDa,!*Pud :[;?ov~}\9μIb%d Y20Ag 7JU$: K.5f\Rs]y\NudOlq"$غ\Yf)EV;|◡j>6/RYRWrUk obPƓgUK+&vTUR~tZib4l٬MFUL<ʦE `Њ%&€tA`S0|,M7]>f;70]. cqл\W(K L$$K-*rwv4l_˹ltPܹbJ܉2d f'K%]%5ǮI֩&;lǯz+Cg{ [΅(Le %GEezҾdGǚ`I&$]K~qͣny^3 ]]\7ЦG3gCqdЉԐ)dC&F*lr(!&fvTyHuuԽ; _4Arw@GH:~A~Ŭ3^v1+g- Y, Y x@\†a# &amnϲeY%0F@]8耻?J} fجYN{Y2v/IϵY}0FL5:@ B҅N†!fu}{e[s=6Y&R,DIy1z]h)Ƅcl Wv/a=>%nG<whw%]-j RrߝEfmp)?6Xϝ$1$#DwAa Hr|0@*P'vV,*;:RANT_P8M^h* /%,Cn_W,ޝL[Er}9Lh/ct! S$Yk? KVPGl?];W>y!Clx֬!Cy^|(LI#¸:HI6LUsU6o:#d{\ u%eRqQrփaGɎ>мaGHL"@*ucy#n ).[fт ~z*Gkp yKb% SYBtR7~芉Rĭ y5h(L !F [;#۾.c]_ }8(cPN(:|PnW]R{mJXy͗h+ YmJatGb͖%8 T2!^OQרof]kx R@PVޮh4U8Euv,wE ҧfP#bPJE@#`~䂻.+ Ϙ_c8ϡ0"`~-;v7w[s+Lm각1a)b$߯WMnJv~a`+90;IH7xA=_\:*9J\7k? P MnVmܤIR]'X_PJxQfǒn[ht@?OՃv1qzUt:Ylc>ڢý7Nb&}6.u9x?1%!]ܑ?,׷e?g\mA0bܐl$u詷$@I- PfEQ(jyW܎~;HL.W\ҽh50N~`Wrā&F|}QZͲzw'fA\Un[ζdD.80\2iӠ}_*Q D$,eDFkp 6r*܏緝 )/Ƣ1c|bwc@1B*Ęy{Wjy!0Hh #E"#BGiãR.֣:Xʣ hde2YXXR}X{ԱEUؕ.:|d[gkZ@蜙- 2E,p>Qiu|L(,XxgI4ƣ~&@BU3.ffbls*/΢1g>Q,>du$~Ӧ!{aW 'b⇐U8?֝6n6~$/A ~w8#a ⃐Ý*7_•+-J#c}/Q$ b2J0L~mSɴ깮˨ ]<>}8B*QfEwv^]󌪘x[x nBQ\%CQ9%#Bϻlm_lRwY|րpw^>Q^В(haQ8^$'P@HJe%Chqi~{]bR'ҬmJc lo?gHzQi ފTpqOC~R a)9a#2ֺ\<.vmΊNڜS;*s41C黴[@LH`aיl[͐(ʼno76xdm>nĹ * -H~iٴn}ͷ|M?Q^x.JkYQ !ӐI4zϻW7%Q/ M{-EcA *ݩM 83ͧ)`adxWEA4ƣkhbQ@(QP}Y k>zwx;J@9.yodr'x2w{ Hvw +Loӯ^1lmTFj)Q/NnۑRQֻnp'j'2? J:1(ym,m kc@0Js( SpHryQbw4R4)Aa(Fi$k6PHNESVMcB=+Ufe÷r=0F]?pz(~,v}^P\X&nmpAo#.L4@oad(Ff$&S*&`tϖǥűWaT"efb$3Fl7;*qCw`GRik7 c5>.L4@oad(Ff$&cgBULz8 hx> endobj 3478 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 684.134 297.029 690.361] /A << /S /GoTo /D (6) >> >> endobj 3479 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 673.301 297.029 679.528] /A << /S /GoTo /D (6) >> >> endobj 3480 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 660.724 277.574 668.695] /A << /S /GoTo /D (16) >> >> endobj 3481 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 660.724 297.029 668.695] /A << /S /GoTo /D (211) >> >> endobj 3482 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 649.891 297.029 657.861] /A << /S /GoTo /D (211) >> >> endobj 3487 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 639.058 297.029 647.028] /A << /S /GoTo /D (213) >> >> endobj 3488 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 628.224 297.029 636.195] /A << /S /GoTo /D (236) >> >> endobj 3489 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 619.135 297.029 625.361] /A << /S /GoTo /D (219) >> >> endobj 3490 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 606.558 297.029 614.528] /A << /S /GoTo /D (141) >> >> endobj 3491 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 595.538 297.029 603.695] /A << /S /GoTo /D (154) >> >> endobj 3492 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 584.891 297.029 592.861] /A << /S /GoTo /D (129) >> >> endobj 3493 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 575.801 297.029 581.928] /A << /S /GoTo /D (132) >> >> endobj 3494 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 563.225 297.029 571.095] /A << /S /GoTo /D (144) >> >> endobj 3495 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 552.391 297.029 560.262] /A << /S /GoTo /D (147) >> >> endobj 3496 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 541.558 297.029 549.528] /A << /S /GoTo /D (224) >> >> endobj 3497 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 530.725 297.029 538.695] /A << /S /GoTo /D (37) >> >> endobj 3498 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 519.891 297.029 527.861] /A << /S /GoTo /D (219) >> >> endobj 3499 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 473.331 297.029 481.301] /A << /S /GoTo /D (166) >> >> endobj 3500 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 462.498 297.029 470.468] /A << /S /GoTo /D (158) >> >> endobj 3501 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 451.665 297.029 459.635] /A << /S /GoTo /D (83) >> >> endobj 3502 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 440.831 277.574 448.801] /A << /S /GoTo /D (147) >> >> endobj 3503 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 440.831 297.029 448.801] /A << /S /GoTo /D (160) >> >> endobj 3504 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 429.998 297.029 437.968] /A << /S /GoTo /D (158) >> >> endobj 3505 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 419.165 297.029 427.135] /A << /S /GoTo /D (146) >> >> endobj 3506 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 408.144 297.029 416.301] /A << /S /GoTo /D (153) >> >> endobj 3507 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 397.498 297.029 405.468] /A << /S /GoTo /D (42) >> >> endobj 3508 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 388.408 297.029 394.635] /A << /S /GoTo /D (215) >> >> endobj 3509 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 375.831 297.029 383.801] /A << /S /GoTo /D (208) >> >> endobj 3510 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 364.998 297.029 372.741] /A << /S /GoTo /D (72) >> >> endobj 3511 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 354.165 297.029 362.135] /A << /S /GoTo /D (131) >> >> endobj 3512 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 343.331 297.029 351.301] /A << /S /GoTo /D (210) >> >> endobj 3513 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 332.498 297.029 340.468] /A << /S /GoTo /D (132) >> >> endobj 3514 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 321.665 297.029 329.635] /A << /S /GoTo /D (175) >> >> endobj 3515 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 312.575 297.029 318.801] /A << /S /GoTo /D (38) >> >> endobj 3516 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 299.998 297.029 307.968] /A << /S /GoTo /D (65) >> >> endobj 3517 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 289.165 297.029 297.135] /A << /S /GoTo /D (58) >> >> endobj 3518 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 278.331 297.029 286.302] /A << /S /GoTo /D (129) >> >> endobj 3519 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 267.249 277.574 275.468] /A << /S /GoTo /D (42) >> >> endobj 3520 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 267.249 297.029 275.468] /A << /S /GoTo /D (210) >> >> endobj 3521 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 256.665 297.029 264.635] /A << /S /GoTo /D (42) >> >> endobj 3522 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 245.831 297.029 253.802] /A << /S /GoTo /D (146) >> >> endobj 3523 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 234.811 297.029 242.968] /A << /S /GoTo /D (153) >> >> endobj 3524 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 224.165 297.029 232.135] /A << /S /GoTo /D (41) >> >> endobj 3525 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 213.332 297.029 221.302] /A << /S /GoTo /D (206) >> >> endobj 3526 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 204.242 297.029 210.468] /A << /S /GoTo /D (2) >> >> endobj 3527 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 193.408 297.029 199.635] /A << /S /GoTo /D (37) >> >> endobj 3528 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 180.832 297.029 188.802] /A << /S /GoTo /D (146) >> >> endobj 3529 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 171.742 297.029 177.968] /A << /S /GoTo /D (1) >> >> endobj 3530 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 160.908 297.029 167.135] /A << /S /GoTo /D (234) >> >> endobj 3531 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 150.075 297.029 156.302] /A << /S /GoTo /D (38) >> >> endobj 3532 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 137.498 297.029 145.468] /A << /S /GoTo /D (128) >> >> endobj 3533 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 90.938 297.029 98.908] /A << /S /GoTo /D (8) >> >> endobj 3534 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 667.973 522 675.943] /A << /S /GoTo /D (3) >> >> endobj 3535 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 657.266 522 665.236] /A << /S /GoTo /D (48) >> >> endobj 3536 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 611.439 522 619.596] /A << /S /GoTo /D (150) >> >> endobj 3537 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 600.731 522 608.789] /A << /S /GoTo /D (132) >> >> endobj 3538 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 590.024 522 598.081] /A << /S /GoTo /D (150) >> >> endobj 3539 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 579.317 522 587.474] /A << /S /GoTo /D (133) >> >> endobj 3540 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 568.609 522 576.766] /A << /S /GoTo /D (132) >> >> endobj 3541 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 557.902 522 566.059] /A << /S /GoTo /D (134) >> >> endobj 3542 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 547.195 522 555.352] /A << /S /GoTo /D (150) >> >> endobj 3543 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 536.488 522 544.545] /A << /S /GoTo /D (132) >> >> endobj 3544 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 525.78 522 533.838] /A << /S /GoTo /D (150) >> >> endobj 3545 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 515.073 522 523.23] /A << /S /GoTo /D (223) >> >> endobj 3546 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 504.303 522 512.523] /A << /S /GoTo /D (210) >> >> endobj 3547 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 493.845 522 501.716] /A << /S /GoTo /D (140) >> >> endobj 3548 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 482.64 522 491.606] /A << /S /GoTo /D (104) >> >> endobj 3549 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 472.431 502.545 480.401] /A << /S /GoTo /D (155) >> >> endobj 3550 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 472.431 522 480.401] /A << /S /GoTo /D (156) >> >> endobj 3551 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 461.723 522 469.693] /A << /S /GoTo /D (111) >> >> endobj 3552 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 452.76 522 458.986] /A << /S /GoTo /D (43) >> >> endobj 3553 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 440.309 522 448.279] /A << /S /GoTo /D (206) >> >> endobj 3554 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 429.602 522 437.572] /A << /S /GoTo /D (41) >> >> endobj 3555 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 420.638 522 426.864] /A << /S /GoTo /D (37) >> >> endobj 3556 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 408.187 522 416.157] /A << /S /GoTo /D (38) >> >> endobj 3557 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 396.982 522 405.948] /A << /S /GoTo /D (42) >> >> endobj 3558 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 386.772 522 394.742] /A << /S /GoTo /D (40) >> >> endobj 3559 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 376.065 522 384.035] /A << /S /GoTo /D (146) >> >> endobj 3560 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 365.358 522 373.328] /A << /S /GoTo /D (157) >> >> endobj 3561 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 354.65 522 362.621] /A << /S /GoTo /D (37) >> >> endobj 3562 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 343.943 522 351.913] /A << /S /GoTo /D (174) >> >> endobj 3563 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 333.236 522 341.206] /A << /S /GoTo /D (38) >> >> endobj 3564 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 322.529 522 330.499] /A << /S /GoTo /D (42) >> >> endobj 3565 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 311.821 522 319.791] /A << /S /GoTo /D (28) >> >> endobj 3566 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 301.114 522 309.084] /A << /S /GoTo /D (222) >> >> endobj 3567 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 290.407 522 298.377] /A << /S /GoTo /D (128) >> >> endobj 3568 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 279.699 522 287.67] /A << /S /GoTo /D (12) >> >> endobj 3569 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 268.992 522 276.962] /A << /S /GoTo /D (12) >> >> endobj 3570 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 258.285 522 266.255] /A << /S /GoTo /D (129) >> >> endobj 3571 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 247.329 522 255.548] /A << /S /GoTo /D (210) >> >> endobj 3572 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 236.621 522 244.84] /A << /S /GoTo /D (210) >> >> endobj 3573 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 226.163 522 234.133] /A << /S /GoTo /D (51) >> >> endobj 3574 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 215.207 522 223.426] /A << /S /GoTo /D (210) >> >> endobj 3575 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 204.499 522 212.719] /A << /S /GoTo /D (210) >> >> endobj 3576 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 193.792 522 202.011] /A << /S /GoTo /D (210) >> >> endobj 3577 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 183.085 522 191.304] /A << /S /GoTo /D (210) >> >> endobj 3578 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 172.378 522 180.597] /A << /S /GoTo /D (210) >> >> endobj 3579 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 161.67 522 169.889] /A << /S /GoTo /D (210) >> >> endobj 3580 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 150.963 522 159.182] /A << /S /GoTo /D (210) >> >> endobj 3581 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 140.256 522 148.475] /A << /S /GoTo /D (210) >> >> endobj 3582 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 129.548 522 137.768] /A << /S /GoTo /D (210) >> >> endobj 3583 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 118.841 522 127.06] /A << /S /GoTo /D (210) >> >> endobj 3584 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 108.134 522 116.353] /A << /S /GoTo /D (210) >> >> endobj 3585 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 97.676 522 105.646] /A << /S /GoTo /D (30) >> >> endobj 3586 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 86.968 522 94.938] /A << /S /GoTo /D (216) >> >> endobj 3594 0 obj << /D [3592 0 R /XYZ 90 720 null] >> endobj 3591 0 obj << /Font << /F51 8 0 R /F2 1766 0 R /F8 3263 0 R /F31 1767 0 R /F3 285 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3714 0 obj << /Length 6134 /Filter /FlateDecode >> stream x]ms_oGi07Ŧc$KQTrh.m~3xE¦lkIV"l+?+.j).W釯̀/÷Bw?οnLJy,ۏ毼\?/28 jqK&J/qY_Ң[q0]U519X\|V)ϻ ?Yuy"S qVxdf~C (K4}dk>!FwÉD#(YUӘho ΀q>i}f#C iRg\y6V|olC%U+4r+n%UlgP{KTh5Qj&qO٭ڝk^??IS;5h7q`A4qLI@Z:e*&.cOȚOZ '0.wyRj Dc> ^5,6`뒕'O^cxcJ`^˭Dla贰4wž|߮]b(U2ڥz^x%J#-qEͤ^.ThŋzqW71l#*V> Y11cD0@\B7MY%4vn^_7ݠ[_YMmD+֨߿/@ڷhVhys)HSy2[fW}piw$};_7֊l&L$#Ϣ.K8<VƠt-ab3n~|]^gS]/S<I.}h(^^pxh-րHbYM(.]۵E^̅1f8b@Үc^68H@ּ:=yFc@S|R@k a ?DW'՛:{'dQQ G^%("a1vnO\>igo_u&7s|2~ctp;r#x@X&w_!)0nf\Tbtq@` ]U?t66ϸtq(0E.%Yղ}.z @U2BWŪ;%STqy+CrLgqqC8dk&xpF$ܸ ^LoU r#0YǠ1ށJɤ$¸Y#e>F@{0EA;ZMdFMċ +=Xhp1/g|Tx'E 9 `']Ӡ Ƅ`e)}k_Kc'*0V\X8+M+bey a^-A`2| 3ϵ|jW<1t&@pWpVj?c!gu"Po{3hG)&S'W{6}61RjJVKz;QA~B)L{w-:.XUR}4U(h=D)B&#j޷S4yxOfiF<ݴ3hG)&LW](?sv͉硬3}=lI0KI^2]-'w{x6Ҟ}e߹Ii΀=5MB BeG݅0}::P thU4u>ɜC& $u Ui-"uf33s)}✐1WtRO?n0D=ݧ=k?h(y;0&1iqFi5/۞Yw,Vs^ȣ/AbPA*0(9&ˠ=4{F yIeqW<1 tkb]gb PAQ:W]gn-ISiV%=-lS(B xyZ?R͸#ΊD> vR`[ɤpJ%pya* Nxvj$|l-jn1n+PI(YSZ$}WVUs?uDxd1 QfGF:0KAff}blImjQqʠ t2QF@ꦟcEID_1Uˇg+ho9" =PRn9zv}gռ|^Z|$zכ΀mb7*a6T#Ԡo"E!>a2C ;.ЍDRt-{PAǪѫ-Anf>Jh߁5tˣ>C>5= ԗUL-^ CcR_[וLaw&ݕ 3`_Rd``?&2'Gj1HSZ Mʑ-?wF,鼜hҖA}?C^jg۷rzZI cL3Үvϣ,AOI$F(02EgL6fM6ctyM;,vӢcOv\ vW$]^U/ɲLs7:}dy␐\Wƣ>nvRK7ZkA+>zmy]r"QP9fͯ{OZm-rpTN*iW<1N'Y+QG@s垹~88ݾDž\5㍼ׯٹ)h?F<\%p+V(7iobomX%P+7s`^ÎxÆpO!(=7R+ͧ}+c C?HR =$}X.^ZÈ2&F8/_܏5369kRޱyƸ& S<911MH^RWfҚx:~X+LS5hUnYBډY)7r-3㿻N ?"7/ԪY]0F\%@PD-TPKjٷV_nqwm=s.1G($z=sxs'dKfbV'cy!h*4$Uݹk;B3:P !W[B\*'-&x:A8NGqӹ&ls2^Y=yKeޡY50FsCɽ]SPX !nnnC&{;M硼88 ]9CL\)_ri֌JES?Q(<5Dc\ #U&015HA G5LfJ-xo\ hW>:4t#/!c qrؽL^]eYWɍyog4'$@aQM  r~7~e1ʌN̊wC^kxk~ECPBS(  &R|-^~Խ9Ʋ/Yc`GNND@HQ (00Omo.Vq5>͊#pbbr * s\KyK.ww -9!-vb%ATb_8-ޗS5Ѱݹdtr \e&(wx2oo;FTxUI|3?P4ƃtpܧ 11* @e,ryߚnYa?l#y$h ]\%'!&F&Ȕ #dyLĮ9oCyFc\*911r @G)Bb5_'6K{;ܕt4ƙGR`W/0 \+C'vow&f(li~uCSԛ^՟zQ>qqZE@KY1^^$暋_m0zv].C8X(1*hXQ.9JŃ I6# F7'Ś &V%ܤNdzQ(L_q1PHA,fbt8J?ߘŤxEPP0`B;)Kz9<_%XkPP+#-CoRda'}w]rA~ׯ^ &B_> endobj 3587 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 668.447 297.029 676.417] /A << /S /GoTo /D (132) >> >> endobj 3588 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 659.715 297.029 665.714] /A << /S /GoTo /D (3) >> >> endobj 3589 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 647.496 297.029 655.366] /A << /S /GoTo /D (232) >> >> endobj 3590 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 637.02 297.029 644.99] /A << /S /GoTo /D (42) >> >> endobj 3595 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 626.544 297.029 634.514] /A << /S /GoTo /D (155) >> >> endobj 3596 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 616.068 297.029 624.039] /A << /S /GoTo /D (34) >> >> endobj 3597 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 607.336 297.029 613.563] /A << /S /GoTo /D (103) >> >> endobj 3598 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 595.117 297.029 603.087] /A << /S /GoTo /D (103) >> >> endobj 3599 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 584.641 297.029 592.611] /A << /S /GoTo /D (103) >> >> endobj 3600 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 574.165 297.029 582.135] /A << /S /GoTo /D (58) >> >> endobj 3601 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 563.689 297.029 571.659] /A << /S /GoTo /D (132) >> >> endobj 3602 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 554.957 297.029 561.184] /A << /S /GoTo /D (147) >> >> endobj 3603 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 544.481 297.029 550.708] /A << /S /GoTo /D (159) >> >> endobj 3604 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 534.005 297.029 540.232] /A << /S /GoTo /D (38) >> >> endobj 3605 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 521.786 297.029 529.756] /A << /S /GoTo /D (18) >> >> endobj 3606 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 513.054 297.029 519.281] /A << /S /GoTo /D (23) >> >> endobj 3607 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 500.835 297.029 508.805] /A << /S /GoTo /D (234) >> >> endobj 3608 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 490.359 297.029 498.329] /A << /S /GoTo /D (26) >> >> endobj 3609 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 479.883 297.029 487.853] /A << /S /GoTo /D (111) >> >> endobj 3610 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 469.407 297.029 477.377] /A << /S /GoTo /D (8) >> >> endobj 3611 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 425.457 297.029 433.427] /A << /S /GoTo /D (26) >> >> endobj 3612 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 416.725 297.029 422.951] /A << /S /GoTo /D (26) >> >> endobj 3613 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 404.505 297.029 412.475] /A << /S /GoTo /D (47) >> >> endobj 3614 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 395.773 297.029 402] /A << /S /GoTo /D (22) >> >> endobj 3615 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 383.305 297.029 391.524] /A << /S /GoTo /D (210) >> >> endobj 3616 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 372.829 297.029 381.048] /A << /S /GoTo /D (211) >> >> endobj 3617 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 362.602 297.029 370.572] /A << /S /GoTo /D (211) >> >> endobj 3618 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 352.126 277.574 360.097] /A << /S /GoTo /D (16) >> >> endobj 3619 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 352.126 297.029 360.097] /A << /S /GoTo /D (211) >> >> endobj 3620 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 341.651 297.029 349.621] /A << /S /GoTo /D (210) >> >> endobj 3621 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 330.926 277.574 339.145] /A << /S /GoTo /D (42) >> >> endobj 3622 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 330.926 297.029 339.145] /A << /S /GoTo /D (210) >> >> endobj 3623 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 320.45 297.029 328.669] /A << /S /GoTo /D (210) >> >> endobj 3624 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 309.974 297.029 318.193] /A << /S /GoTo /D (210) >> >> endobj 3625 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 299.498 297.029 307.718] /A << /S /GoTo /D (210) >> >> endobj 3626 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 289.023 297.029 297.242] /A << /S /GoTo /D (210) >> >> endobj 3627 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 278.547 297.029 286.766] /A << /S /GoTo /D (210) >> >> endobj 3628 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 268.071 297.029 276.29] /A << /S /GoTo /D (210) >> >> endobj 3629 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 257.595 297.029 265.814] /A << /S /GoTo /D (210) >> >> endobj 3630 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 247.119 297.029 255.339] /A << /S /GoTo /D (210) >> >> endobj 3631 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 236.644 297.029 244.863] /A << /S /GoTo /D (210) >> >> endobj 3632 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 192.693 297.029 200.663] /A << /S /GoTo /D (11) >> >> endobj 3633 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 183.961 297.029 189.739] /A << /S /GoTo /D (120) >> >> endobj 3634 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 171.742 297.029 179.712] /A << /S /GoTo /D (211) >> >> endobj 3635 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 161.266 297.029 169.236] /A << /S /GoTo /D (213) >> >> endobj 3636 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 152.534 297.029 158.661] /A << /S /GoTo /D (155) >> >> endobj 3637 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 140.314 297.029 148.185] /A << /S /GoTo /D (155) >> >> endobj 3638 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 129.839 297.029 137.809] /A << /S /GoTo /D (206) >> >> endobj 3639 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 119.363 297.029 127.333] /A << /S /GoTo /D (121) >> >> endobj 3640 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 108.887 297.029 116.857] /A << /S /GoTo /D (208) >> >> endobj 3641 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 98.411 297.029 106.381] /A << /S /GoTo /D (173) >> >> endobj 3642 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 89.679 297.029 95.905] /A << /S /GoTo /D (12) >> >> endobj 3643 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 77.46 297.029 85.43] /A << /S /GoTo /D (3) >> >> endobj 3644 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 682.391 522 690.261] /A << /S /GoTo /D (18) >> >> endobj 3645 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 671.82 522 679.79] /A << /S /GoTo /D (100) >> >> endobj 3646 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 661.248 522 669.218] /A << /S /GoTo /D (88) >> >> endobj 3647 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 650.428 522 658.647] /A << /S /GoTo /D (218) >> >> endobj 3648 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 639.856 522 647.627] /A << /S /GoTo /D (218) >> >> endobj 3649 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 629.534 522 637.504] /A << /S /GoTo /D (211) >> >> endobj 3650 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 618.963 507.153 626.933] /A << /S /GoTo /D (15) >> >> endobj 3651 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 618.963 522 626.933] /A << /S /GoTo /D (63) >> >> endobj 3652 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 608.391 522 616.361] /A << /S /GoTo /D (225) >> >> endobj 3653 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 597.82 522 605.563] /A << /S /GoTo /D (211) >> >> endobj 3654 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 587.249 522 595.219] /A << /S /GoTo /D (171) >> >> endobj 3655 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 576.677 522 584.647] /A << /S /GoTo /D (18) >> >> endobj 3656 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 566.106 502.545 574.076] /A << /S /GoTo /D (23) >> >> endobj 3657 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 566.106 522 574.076] /A << /S /GoTo /D (222) >> >> endobj 3658 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 555.534 522 563.505] /A << /S /GoTo /D (216) >> >> endobj 3659 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 546.706 522 552.933] /A << /S /GoTo /D (6) >> >> endobj 3660 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 536.135 522 542.362] /A << /S /GoTo /D (6) >> >> endobj 3661 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 525.564 522 531.79] /A << /S /GoTo /D (6) >> >> endobj 3662 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 513.249 522 521.219] /A << /S /GoTo /D (7) >> >> endobj 3663 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 502.677 502.545 510.648] /A << /S /GoTo /D (8) >> >> endobj 3664 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 502.677 522 510.648] /A << /S /GoTo /D (210) >> >> endobj 3665 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 458.029 522 466] /A << /S /GoTo /D (215) >> >> endobj 3666 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 447.458 522 455.428] /A << /S /GoTo /D (128) >> >> endobj 3667 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 436.887 522 444.857] /A << /S /GoTo /D (9) >> >> endobj 3668 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 426.315 522 434.186] /A << /S /GoTo /D (150) >> >> endobj 3669 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 415.744 522 423.714] /A << /S /GoTo /D (48) >> >> endobj 3670 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 405.173 522 413.143] /A << /S /GoTo /D (12) >> >> endobj 3671 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 394.414 522 402.571] /A << /S /GoTo /D (153) >> >> endobj 3672 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 384.03 522 392] /A << /S /GoTo /D (39) >> >> endobj 3673 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 373.458 522 381.428] /A << /S /GoTo /D (35) >> >> endobj 3674 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 362.887 522 370.857] /A << /S /GoTo /D (107) >> >> endobj 3675 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 352.316 522 360.286] /A << /S /GoTo /D (1) >> >> endobj 3676 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 341.744 522 349.487] /A << /S /GoTo /D (12) >> >> endobj 3677 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 331.173 522 338.916] /A << /S /GoTo /D (54) >> >> endobj 3678 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 320.601 522 328.572] /A << /S /GoTo /D (108) >> >> endobj 3679 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 310.03 522 318] /A << /S /GoTo /D (51) >> >> endobj 3680 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 299.459 522 307.429] /A << /S /GoTo /D (171) >> >> endobj 3681 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 288.887 522 296.857] /A << /S /GoTo /D (9) >> >> endobj 3682 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 278.316 522 286.059] /A << /S /GoTo /D (62) >> >> endobj 3683 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 267.744 502.545 275.615] /A << /S /GoTo /D (70) >> >> endobj 3684 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 267.744 522 275.615] /A << /S /GoTo /D (231) >> >> endobj 3685 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 257.173 522 265.143] /A << /S /GoTo /D (66) >> >> endobj 3686 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 246.602 522 254.572] /A << /S /GoTo /D (65) >> >> endobj 3687 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 236.03 522 244] /A << /S /GoTo /D (64) >> >> endobj 3688 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 225.459 522 233.429] /A << /S /GoTo /D (64) >> >> endobj 3689 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 214.888 522 222.758] /A << /S /GoTo /D (155) >> >> endobj 3690 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 204.316 522 211.838] /A << /S /GoTo /D (62) >> >> endobj 3691 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 193.745 522 201.267] /A << /S /GoTo /D (63) >> >> endobj 3692 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 183.173 522 191.044] /A << /S /GoTo /D (62) >> >> endobj 3693 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 172.602 522 180.472] /A << /S /GoTo /D (127) >> >> endobj 3694 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 162.031 507.153 169.901] /A << /S /GoTo /D (65) >> >> endobj 3695 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 162.031 522 169.901] /A << /S /GoTo /D (96) >> >> endobj 3696 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 151.459 522 159.33] /A << /S /GoTo /D (94) >> >> endobj 3697 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 140.888 522 148.758] /A << /S /GoTo /D (94) >> >> endobj 3698 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 130.316 522 138.187] /A << /S /GoTo /D (142) >> >> endobj 3699 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 119.745 522 127.616] /A << /S /GoTo /D (142) >> >> endobj 3700 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 109.174 522 117.044] /A << /S /GoTo /D (141) >> >> endobj 3701 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 98.602 522 106.473] /A << /S /GoTo /D (142) >> >> endobj 3702 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 88.031 522 95.901] /A << /S /GoTo /D (141) >> >> endobj 3703 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 77.46 502.545 85.33] /A << /S /GoTo /D (65) >> >> endobj 3704 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 77.46 522 85.33] /A << /S /GoTo /D (107) >> >> endobj 3715 0 obj << /D [3713 0 R /XYZ 90 720 null] >> endobj 3712 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F2 1766 0 R /F8 3263 0 R /F31 1767 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3836 0 obj << /Length 6307 /Filter /FlateDecode >> stream x[s7҆+tIUvp)FݭhjlBZ!HJ"J\ؑx4N=?{Qoۡ18]~5k]E\^k|6noVRWZ_[Zl<ثYS闵b\Nf198~X?qv 5+4"|p+!zǷeuu0xÁ.(7PbR=M\ފVVvCL:ΖE!TͶ:+Rg%n㬫r (1 L#$-1YĎ]p97?U*qN+`Mֹ0FcB&BR@()3lޜL .̌Mq?'cX-lj&d|}81Il, g3g`u@ 3B҆0i}0q qh{Ӧq3ʢ0B_]$`|5 YI"+5>Td6Cu`0]?D` !{*A=[O|Ma\)S06#YPW`WoBaR 4W[WT's .еP׳qQNI큑e肕| CjɴM=ƛTb943 ΊV$?\r>>O RQ'EfJ tI4۹ZfO^t3dLT`vclqDR q=QWUtE٬Ki{MTVMyN^_BDkΪFE_pq|JIGdcee1Ss, u78(xgUԧh~k klhhAmBbB5YM臓?$kVU.tX:Ej4#T 4R.⠨-Sl@l3T!R Ed<>?NLSWtkyIO;C`, &˛IY1irgE+BѷfG ^BW44;JqPԖfSH~]E]ED̤e{[ߌ'iC"yɴ6/|ܐ1_K%ԥ "׬TN3/lU0byĢ1N : t)b%fEu'bnzCg fun1bWA t)gtR>(Irb,rkvHz]}^]215g!6b9 CD3ХR%s*nifBFݤZFEr…ɣߌ WY0FǿGRE~|/^>N U|mXEct REJ Pl!f:GsL`C~&FQ ).g*n/JvJ=WsVhs'@]4hQKn"Q.&KFc(1R@ E TN@ߜ\3i X4yȢ1 z@t)dEC-/z//ߞ&!W `h#] hHӣUnw46(cck8VK`-ֺa߭]:ؾzny:C*(㈠D@BD(ZDUZ< A^tEѬ%^d7=9JXqK'-f\˳yJ{N$h4ƉB'D.EPDuޝWwNMY9V`X{%vLBa &!ia*cWe1w'ɕEc l8ιyp IM(W Kq%-WY2 s|ŏ)XK&{Wg/}rw̦EBȪ{y%NG]#;ݼ><RTi:rNL\N2iͤY%Rxs^@yΏCTբڍ]!|e.f??25LG:Yʼn'6-Rp9PGCdq28 jJ< 0~ZMΜf{A*F L@pIU Rf:zus{\nZ[]|qj2m׈'jLͣ!( 3:f9(aoo&aYwtV‹dޱ4=*/ۗO$yN)3%l{bPBJY/g3iƬg <E S Iß7jm;Ђq\{dR5+贰FKDhVLه6߯1ib73F]h0:[yBђ7_m/Zߛl ʒIt<9>ԥz)M-t`_ԓ69+kߏǼ(x@0RRQ@((0xkE;_]3 ]pN]b.qЧR.P`ʯ{SicW}%/"!4uH m$HBKFfPTiKy-N8?D)+8J#||+3uCq\K%-^^h+"u\M.V![3mS}nhzQ85HХZaR[sa\=v>#qĨ t)„!\7)qZFjWLhR׾@`Jo^5볟mӰ♙Q4TLkCE>ڢ!7%r+T Ea2hOvK ROelVf}ےؽ_n|[ъU#̬ggJZB0Zz+RpXTjz-=n %Z=I^t,r2Yh!^$} 'i?@lh_=rgw1v} \61 nsuq9WI@@H`UQfpwgrYǖ ^uUqLwIL@DHL0]vv5OdJҹ#e4QBb((($ҁ辘̃xd{*k o"9dJ)@kǝgd˜˟SASv\@>!*9BM=ĕ}%;;d ?WWqi>+wជRhn$`&ಂk| iKq4Xo Gc8P$q'q]Պc{yJݢ*F;C``/Ɠȁ$ U'篎NNq&;Cb^&ӗe@Z|4[_֞a-W,wnDVbOY+1`z盟Y3cB*0L۹?;~t3M&QYHwprh`%y-6-X$PI(O??pYJ^_.S༙IxX J! _/q3v1%F}'\Gcׇx'(1v ;]Q]w(Jn$Hl+|UaU}hm{1DSJ۶\_[T۫ibɄv` hL:& RY3".oM!ou{Y|E{yWPĨ:YU/&7Q 7 {R}=PyPW<@'='DrE1FT+jw$[ݬ&swPw)X|jt婗'X뼑FcU(@JdQT\-Lo|ݫɼ>q*|NBf q~S Y=뛽f`=0HH PR![/;ҩciwXV{h{(3d&Jd=pyׂ<39het-Q/!*LSx};I&M,5z!yM5-L@Zřq8fhfY6Yw)ܫL!݇ʪ1u.kp;́rجFӌ_"vʛӟ)u@nCvsW^x:b Z;vjz nz5ӯG>؝/Z{4ƛ;9 @8i؁03k(tz?އy1BI@~B)>NޯUbY]}w@ 7yX1:Gqa(R3j9o4h S0B*2>mqaR4J^R哾3~='AI2!)u%)M|,'&Z~ѪM\~t7&yg1(+̠$Œ PD=f{M4>ya_][y1z6Hb lR)Wvaz_t#qi@#IW)'WW0]k{a8vH#9;Pr:+T )fL'6>7UuzU]3?kdL_?ӟ@YJpX}ON=ìfږZr KYq~j_VTK͚)?,\ ,a]Œ%2ÌH]u a&Y{L`yY>Lx{h<b`7Yף 1fOތwrrnﺩg]uPEc3("drX _]Y9|y?wlqlH" 췁. f:K&yl怜<60F=1`J)X% /o߭mZ ,ROYK;`.zOnЅaB(Xoc]۝-f]ߨG@!{ݻ7khurHXhR!4J W 4mG_v55*Y| th^X( bҬ[vtպ EŇkeN\&^\_<Gw@Q !P`\yJaW=>!sCqdЏi"(!#2) '>fʚ5U@< ̫&*b8q@Sأ&MOMo4X3Qqc蜑1wy@Q#!@.Aq^hf᷇!y01zk@IHEa\-5w$Fy!`4 BxP#HHy+99kl:-UQh҅.G@@aKx:hvMOO7QS+ endstream endobj 3835 0 obj << /Type /Page /Contents 3836 0 R /Resources 3834 0 R /MediaBox [0 0 612 792] /Parent 3838 0 R /Annots [ 3705 0 R 3706 0 R 3707 0 R 3708 0 R 3709 0 R 3710 0 R 3711 0 R 3716 0 R 3717 0 R 3718 0 R 3719 0 R 3720 0 R 3721 0 R 3722 0 R 3723 0 R 3724 0 R 3725 0 R 3726 0 R 3727 0 R 3728 0 R 3729 0 R 3730 0 R 3731 0 R 3732 0 R 3733 0 R 3734 0 R 3735 0 R 3736 0 R 3737 0 R 3738 0 R 3739 0 R 3740 0 R 3741 0 R 3742 0 R 3743 0 R 3744 0 R 3745 0 R 3746 0 R 3747 0 R 3748 0 R 3749 0 R 3750 0 R 3751 0 R 3752 0 R 3753 0 R 3754 0 R 3755 0 R 3756 0 R 3757 0 R 3758 0 R 3759 0 R 3760 0 R 3761 0 R 3762 0 R 3763 0 R 3764 0 R 3765 0 R 3766 0 R 3767 0 R 3768 0 R 3769 0 R 3770 0 R 3771 0 R 3772 0 R 3773 0 R 3774 0 R 3775 0 R 3776 0 R 3777 0 R 3778 0 R 3779 0 R 3780 0 R 3781 0 R 3782 0 R 3783 0 R 3784 0 R 3785 0 R 3786 0 R 3787 0 R 3788 0 R 3789 0 R 3790 0 R 3791 0 R 3792 0 R 3793 0 R 3794 0 R 3795 0 R 3796 0 R 3797 0 R 3798 0 R 3799 0 R 3800 0 R 3801 0 R 3802 0 R 3803 0 R 3804 0 R 3805 0 R 3806 0 R 3807 0 R 3808 0 R 3809 0 R 3810 0 R 3811 0 R 3812 0 R 3813 0 R 3814 0 R 3815 0 R 3816 0 R 3817 0 R 3818 0 R 3819 0 R 3820 0 R 3821 0 R 3822 0 R 3823 0 R 3824 0 R 3825 0 R 3826 0 R 3827 0 R 3828 0 R 3829 0 R ] >> endobj 3705 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 682.391 277.574 690.261] /A << /S /GoTo /D (65) >> >> endobj 3706 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 682.391 297.029 690.261] /A << /S /GoTo /D (209) >> >> endobj 3707 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 671.856 282.182 679.726] /A << /S /GoTo /D (55) >> >> endobj 3708 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 671.856 297.029 679.726] /A << /S /GoTo /D (56) >> >> endobj 3709 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 661.32 282.182 669.191] /A << /S /GoTo /D (37) >> >> endobj 3710 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 661.32 297.029 669.191] /A << /S /GoTo /D (40) >> >> endobj 3711 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 650.785 297.029 658.655] /A << /S /GoTo /D (167) >> >> endobj 3716 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 640.249 297.029 648.219] /A << /S /GoTo /D (84) >> >> endobj 3717 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 629.714 297.029 637.584] /A << /S /GoTo /D (139) >> >> endobj 3718 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 619.179 297.029 627.049] /A << /S /GoTo /D (150) >> >> endobj 3719 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 599.926 297.029 605.704] /A << /S /GoTo /D (150) >> >> endobj 3720 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 587.647 297.029 595.517] /A << /S /GoTo /D (127) >> >> endobj 3721 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [253.511 577.112 262.727 584.982] /A << /S /GoTo /D (40) >> >> endobj 3722 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 577.112 277.574 584.982] /A << /S /GoTo /D (69) >> >> endobj 3723 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 577.112 297.029 584.982] /A << /S /GoTo /D (166) >> >> endobj 3724 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 566.576 297.029 574.447] /A << /S /GoTo /D (167) >> >> endobj 3725 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 556.041 282.182 563.911] /A << /S /GoTo /D (51) >> >> endobj 3726 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 556.041 297.029 563.911] /A << /S /GoTo /D (79) >> >> endobj 3727 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 545.505 282.182 553.376] /A << /S /GoTo /D (52) >> >> endobj 3728 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 545.505 297.029 553.376] /A << /S /GoTo /D (65) >> >> endobj 3729 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [258.119 534.97 267.335 542.84] /A << /S /GoTo /D (49) >> >> endobj 3730 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 534.97 282.182 542.84] /A << /S /GoTo /D (56) >> >> endobj 3731 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 534.97 297.029 542.84] /A << /S /GoTo /D (57) >> >> endobj 3732 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 524.434 297.029 532.405] /A << /S /GoTo /D (64) >> >> endobj 3733 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 513.899 297.029 521.869] /A << /S /GoTo /D (64) >> >> endobj 3734 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 503.364 297.029 511.334] /A << /S /GoTo /D (64) >> >> endobj 3735 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 492.828 277.574 500.798] /A << /S /GoTo /D (64) >> >> endobj 3736 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 492.828 297.029 500.798] /A << /S /GoTo /D (125) >> >> endobj 3737 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 482.293 277.574 490.263] /A << /S /GoTo /D (64) >> >> endobj 3738 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 482.293 297.029 490.263] /A << /S /GoTo /D (126) >> >> endobj 3739 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 471.757 297.029 479.727] /A << /S /GoTo /D (64) >> >> endobj 3740 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 461.222 297.029 469.192] /A << /S /GoTo /D (64) >> >> endobj 3741 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 450.687 297.029 458.657] /A << /S /GoTo /D (64) >> >> endobj 3742 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 440.151 297.029 448.121] /A << /S /GoTo /D (64) >> >> endobj 3743 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 429.616 297.029 437.586] /A << /S /GoTo /D (64) >> >> endobj 3744 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 419.08 297.029 427.05] /A << /S /GoTo /D (64) >> >> endobj 3745 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 408.545 297.029 416.515] /A << /S /GoTo /D (64) >> >> endobj 3746 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 398.009 297.029 405.98] /A << /S /GoTo /D (64) >> >> endobj 3747 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 387.474 297.029 395.444] /A << /S /GoTo /D (64) >> >> endobj 3748 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 376.939 297.029 384.909] /A << /S /GoTo /D (64) >> >> endobj 3749 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 366.403 297.029 374.373] /A << /S /GoTo /D (64) >> >> endobj 3750 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 355.868 297.029 363.738] /A << /S /GoTo /D (167) >> >> endobj 3751 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 345.332 297.029 353.203] /A << /S /GoTo /D (8) >> >> endobj 3752 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 334.797 297.029 342.667] /A << /S /GoTo /D (79) >> >> endobj 3753 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 324.262 297.029 332.132] /A << /S /GoTo /D (79) >> >> endobj 3754 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 313.726 297.029 321.696] /A << /S /GoTo /D (94) >> >> endobj 3755 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 303.191 297.029 311.161] /A << /S /GoTo /D (171) >> >> endobj 3756 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 258.805 297.029 266.775] /A << /S /GoTo /D (109) >> >> endobj 3757 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 216.163 297.029 222.39] /A << /S /GoTo /D (225) >> >> endobj 3758 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 205.628 297.029 211.855] /A << /S /GoTo /D (222) >> >> endobj 3759 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 193.349 297.029 201.319] /A << /S /GoTo /D (38) >> >> endobj 3760 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 182.814 297.029 190.784] /A << /S /GoTo /D (29) >> >> endobj 3761 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 172.278 297.029 180.248] /A << /S /GoTo /D (25) >> >> endobj 3762 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 161.743 297.029 169.486] /A << /S /GoTo /D (71) >> >> endobj 3763 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 151.207 297.029 159.178] /A << /S /GoTo /D (33) >> >> endobj 3764 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 142.415 297.029 148.642] /A << /S /GoTo /D (24) >> >> endobj 3765 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 130.137 297.029 138.107] /A << /S /GoTo /D (26) >> >> endobj 3766 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 119.601 297.029 127.571] /A << /S /GoTo /D (26) >> >> endobj 3767 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 109.066 297.029 117.036] /A << /S /GoTo /D (26) >> >> endobj 3768 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 98.53 297.029 106.5] /A << /S /GoTo /D (24) >> >> endobj 3769 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 87.995 297.029 95.965] /A << /S /GoTo /D (25) >> >> endobj 3770 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 77.46 297.029 85.43] /A << /S /GoTo /D (94) >> >> endobj 3771 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 682.391 487.698 690.134] /A << /S /GoTo /D (11) >> >> endobj 3772 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 682.391 502.545 690.134] /A << /S /GoTo /D (21) >> >> endobj 3773 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 682.391 522 690.134] /A << /S /GoTo /D (155) >> >> endobj 3774 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 671.82 522 679.79] /A << /S /GoTo /D (104) >> >> endobj 3775 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 662.992 522 669.218] /A << /S /GoTo /D (85) >> >> endobj 3776 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 652.42 522 658.647] /A << /S /GoTo /D (216) >> >> endobj 3777 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 641.849 522 648.076] /A << /S /GoTo /D (102) >> >> endobj 3778 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 629.534 522 637.504] /A << /S /GoTo /D (117) >> >> endobj 3779 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 618.963 522 626.933] /A << /S /GoTo /D (115) >> >> endobj 3780 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 608.391 522 616.361] /A << /S /GoTo /D (115) >> >> endobj 3781 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 599.563 522 605.79] /A << /S /GoTo /D (26) >> >> endobj 3782 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 587.249 522 595.219] /A << /S /GoTo /D (77) >> >> endobj 3783 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 576.677 522 584.647] /A << /S /GoTo /D (80) >> >> endobj 3784 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 567.849 522 574.076] /A << /S /GoTo /D (83) >> >> endobj 3785 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 555.534 522 563.505] /A << /S /GoTo /D (7) >> >> endobj 3786 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 546.706 522 552.933] /A << /S /GoTo /D (38) >> >> endobj 3787 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 534.392 522 542.362] /A << /S /GoTo /D (149) >> >> endobj 3788 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 523.82 522 531.79] /A << /S /GoTo /D (25) >> >> endobj 3789 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 514.992 522 521.219] /A << /S /GoTo /D (94) >> >> endobj 3790 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 502.677 522 510.199] /A << /S /GoTo /D (175) >> >> endobj 3791 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 458.029 522 466] /A << /S /GoTo /D (75) >> >> endobj 3792 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 447.458 522 455.428] /A << /S /GoTo /D (71) >> >> endobj 3793 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 436.887 522 444.857] /A << /S /GoTo /D (178) >> >> endobj 3794 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 426.315 522 434.285] /A << /S /GoTo /D (229) >> >> endobj 3795 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 415.744 522 423.714] /A << /S /GoTo /D (43) >> >> endobj 3796 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 405.173 522 413.143] /A << /S /GoTo /D (44) >> >> endobj 3797 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 396.345 522 402.571] /A << /S /GoTo /D (106) >> >> endobj 3798 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 384.03 522 392] /A << /S /GoTo /D (61) >> >> endobj 3799 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 373.458 522 381.428] /A << /S /GoTo /D (106) >> >> endobj 3800 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 362.887 522 370.857] /A << /S /GoTo /D (64) >> >> endobj 3801 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 352.129 522 360.286] /A << /S /GoTo /D (150) >> >> endobj 3802 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 341.744 522 349.487] /A << /S /GoTo /D (58) >> >> endobj 3803 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 332.916 522 339.143] /A << /S /GoTo /D (38) >> >> endobj 3804 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 322.345 522 328.572] /A << /S /GoTo /D (14) >> >> endobj 3805 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 311.773 522 317.552] /A << /S /GoTo /D (216) >> >> endobj 3806 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 299.459 522 307.429] /A << /S /GoTo /D (7) >> >> endobj 3807 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 288.887 522 296.857] /A << /S /GoTo /D (7) >> >> endobj 3808 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 278.316 522 286.286] /A << /S /GoTo /D (7) >> >> endobj 3809 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 267.744 522 275.715] /A << /S /GoTo /D (7) >> >> endobj 3810 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 258.917 522 265.143] /A << /S /GoTo /D (6) >> >> endobj 3811 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 246.602 502.545 254.572] /A << /S /GoTo /D (8) >> >> endobj 3812 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 246.602 522 254.572] /A << /S /GoTo /D (210) >> >> endobj 3813 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 235.781 502.545 244] /A << /S /GoTo /D (8) >> >> endobj 3814 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 235.781 522 244] /A << /S /GoTo /D (210) >> >> endobj 3815 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 225.459 522 233.429] /A << /S /GoTo /D (211) >> >> endobj 3816 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 214.888 522 222.858] /A << /S /GoTo /D (174) >> >> endobj 3817 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 204.316 522 212.286] /A << /S /GoTo /D (108) >> >> endobj 3818 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 193.745 522 201.715] /A << /S /GoTo /D (15) >> >> endobj 3819 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 183.173 522 191.144] /A << /S /GoTo /D (9) >> >> endobj 3820 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 172.415 522 180.572] /A << /S /GoTo /D (154) >> >> endobj 3821 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 162.031 522 170.001] /A << /S /GoTo /D (204) >> >> endobj 3822 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 151.459 522 159.429] /A << /S /GoTo /D (183) >> >> endobj 3823 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 140.888 522 148.858] /A << /S /GoTo /D (178) >> >> endobj 3824 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 130.316 522 138.287] /A << /S /GoTo /D (179) >> >> endobj 3825 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 119.745 522 127.715] /A << /S /GoTo /D (181) >> >> endobj 3826 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 109.174 522 117.144] /A << /S /GoTo /D (179) >> >> endobj 3827 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 98.602 522 106.572] /A << /S /GoTo /D (180) >> >> endobj 3828 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 88.031 522 96.001] /A << /S /GoTo /D (178) >> >> endobj 3829 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 77.46 522 85.43] /A << /S /GoTo /D (178) >> >> endobj 3837 0 obj << /D [3835 0 R /XYZ 90 720 null] >> endobj 3834 0 obj << /Font << /F51 8 0 R /F2 1766 0 R /F8 3263 0 R /F72 7 0 R /F31 1767 0 R /F3 285 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3955 0 obj << /Length 5887 /Filter /FlateDecode >> stream x[o8vS-e+R%;X$:;"WɶxU)ގT<̴\vsMD2MYU7i) ,A?'Nj~s[cnվ 4Mn~e/D^;W.*qEO3U+5t.EX7c{P~`MZ풗\?1~`KQL$'Y9-O";p d'§ m)RR,SioSU"30&C]*E e%\EQfk6eoO1s 9rYCU@a6Q0PM> Le!2(dJvzWM2W8˔*Eet?Snrƹ9MwgcӿחqL+V {&&!&q pSзfzU+%jy VW'5Q_ԨFGu R A( w^m,lAï >LI9D~G- 80g d)bRSLؚeq0[Hv9 mhxRKaq0RX A5DlBtY]pkpCYbreqV ~x )\MJs9'sVB4$/ӄA[x e ~ӝ֌:b ָ񜀜cP BP,ʟTV,ی9 cP 5T* u})eJ]*?;80 {BRWBM}Ur4iSY3_TYqZхI:b)ndO391 vǻӵRuf>43pwþ7)q6ò \0!]cpe gq0Po.A]?%+˷h׺8x>[J9u@;4~ulӃhO?BT*D)UIl{w[+d.[{F 8EA] (ruF`3;P?萔wA/7<9(' Lq"$`#kҔ_'fѡKW@꯽*5L^rVP5pLgch?. ʐ* _믁ٚ|Dqa+8H!j0Lb3aBR.3?E\Uܢ~ꌇ6q q]څT*yɔoliFP=8K<#&4#QO겒UhN5.+ IRMOmkoc D._"my ROBR񔯛&nks˛`BGƉs+0ETDS8^}piW I73CAU)θ,xڔ 6jtrcWhZS$_@olƉ0o@bJH*.O -'Mthw[}/ee__o.ŜPT̓D͘ڦo#VV8Mȸ44d |t4 eT5=+&>ҁV\eTB) οgbKۙ:)C M8 ,:\tO*:V|8dE8ķ\ MyR1^QfN,4ڒ#m4:rQR"t%`ed˒K ȟz %v_Rs׽YDxG "o1H(K/}Iz~}S 7UG (* Kh3A}Rڜ+2",| ~S $ tR. #_@K`Exfd 3p2~Y:) ihG냽Rssޠ;Wˏy`hMzji܄ 힦fyβ- a#R%4UBQKL!|`)p*%\lYRj^!v`g.V)9*|6%Tē %eb7bJH 6Q6CwyoE )N\%Bb+S I(9ɝ;xۿ.Gu /‰˷dk^!5']4|BNV]!.9?SL#|6Y $!]tR.Ivp, ߫yð , )Cy_&9@h+4w9@HfRS\5BkV`6n_c2:.;m-+s>3Q\sfzc{׼Bhіa:%ЕʧXfחvi#af\ 5?mJ)4Hn<Г'嵫:g0߻6] >ܼIW0 h{u's䫼c_e~GN+0bjL#&br5xy}~v焧mvL³E:6̣#\: #=4:Bɡ6V r\7rs('+dMuzo0߻V] MO`!Wa߫Mu#><UeŇa- 'yTa: %e kVCy4<%,0a,5z a,B/9/jfs/orlBv%Sp7yT#4BUMIy]D'_(F8ʣ{}ۄ1Uuz1vb%5fI/1PrCB_x6BQ=(|QBM .":lG6s^ 3 bbƵ@Wo pȱeuѬ'LfY~&:qT}a+ 7XBʑU&՜66 3Ag&q]/w M?N_}ssc:,! Yn_ !dnhb %[~`l&ۛ>9X+yww$v-i], D\ }6,r R"6x&5W`B0@KBʥCR}1xjFr۵C7L;NhG x`f# !,^rxm%еzsˮ35o>O63uZ(WOKPYvZӉn ]TWwtz&0GOӔ, #dB}|0$KLF`Jpܫw߇M#} aCx(r L m0':SgdDm;?wu&&qݷ/w0EV)* =MRVs;}`qn{aI]-Tt{a#4,%]FzE$o7]np?n?pģR;AD&9,Ѭ:3& NtBI6| endstream endobj 3954 0 obj << /Type /Page /Contents 3955 0 R /Resources 3953 0 R /MediaBox [0 0 612 792] /Parent 3838 0 R /Annots [ 3830 0 R 3831 0 R 3832 0 R 3833 0 R 3839 0 R 3840 0 R 3841 0 R 3842 0 R 3843 0 R 3844 0 R 3845 0 R 3846 0 R 3847 0 R 3848 0 R 3849 0 R 3850 0 R 3851 0 R 3852 0 R 3853 0 R 3854 0 R 3855 0 R 3856 0 R 3857 0 R 3858 0 R 3859 0 R 3860 0 R 3861 0 R 3862 0 R 3863 0 R 3864 0 R 3865 0 R 3866 0 R 3867 0 R 3868 0 R 3869 0 R 3870 0 R 3871 0 R 3872 0 R 3873 0 R 3874 0 R 3875 0 R 3876 0 R 3877 0 R 3878 0 R 3879 0 R 3880 0 R 3881 0 R 3882 0 R 3883 0 R 3884 0 R 3885 0 R 3886 0 R 3887 0 R 3888 0 R 3889 0 R 3890 0 R 3891 0 R 3892 0 R 3893 0 R 3894 0 R 3895 0 R 3896 0 R 3897 0 R 3898 0 R 3899 0 R 3900 0 R 3901 0 R 3902 0 R 3903 0 R 3904 0 R 3905 0 R 3906 0 R 3907 0 R 3908 0 R 3909 0 R 3910 0 R 3911 0 R 3912 0 R 3913 0 R 3914 0 R 3915 0 R 3916 0 R 3917 0 R 3918 0 R 3919 0 R 3920 0 R 3921 0 R 3922 0 R 3923 0 R 3924 0 R 3925 0 R 3926 0 R 3927 0 R 3928 0 R 3929 0 R 3930 0 R 3931 0 R 3932 0 R 3933 0 R 3934 0 R 3935 0 R 3936 0 R 3937 0 R 3938 0 R 3939 0 R 3940 0 R 3941 0 R 3942 0 R 3943 0 R 3944 0 R 3945 0 R 3946 0 R 3947 0 R 3948 0 R ] >> endobj 3830 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 682.391 297.029 690.361] /A << /S /GoTo /D (183) >> >> endobj 3831 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 671.82 297.029 679.79] /A << /S /GoTo /D (182) >> >> endobj 3832 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 661.248 297.029 669.218] /A << /S /GoTo /D (203) >> >> endobj 3833 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 650.677 297.029 658.647] /A << /S /GoTo /D (201) >> >> endobj 3839 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 640.105 297.029 648.076] /A << /S /GoTo /D (178) >> >> endobj 3840 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 629.534 297.029 637.504] /A << /S /GoTo /D (178) >> >> endobj 3841 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 618.963 297.029 626.933] /A << /S /GoTo /D (77) >> >> endobj 3842 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 608.391 297.029 616.361] /A << /S /GoTo /D (45) >> >> endobj 3843 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 597.82 297.029 605.79] /A << /S /GoTo /D (58) >> >> endobj 3844 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 587.249 297.029 594.77] /A << /S /GoTo /D (11) >> >> endobj 3845 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 576.677 297.029 584.647] /A << /S /GoTo /D (135) >> >> endobj 3846 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 565.919 297.029 574.076] /A << /S /GoTo /D (154) >> >> endobj 3847 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 555.534 297.029 563.505] /A << /S /GoTo /D (208) >> >> endobj 3848 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 544.963 297.029 552.933] /A << /S /GoTo /D (132) >> >> endobj 3849 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 534.392 297.029 542.362] /A << /S /GoTo /D (207) >> >> endobj 3850 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 523.571 297.029 531.79] /A << /S /GoTo /D (216) >> >> endobj 3851 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 513.249 297.029 521.219] /A << /S /GoTo /D (24) >> >> endobj 3852 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 502.677 297.029 510.648] /A << /S /GoTo /D (39) >> >> endobj 3853 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 492.106 297.029 500.076] /A << /S /GoTo /D (56) >> >> endobj 3854 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 481.535 297.029 489.505] /A << /S /GoTo /D (55) >> >> endobj 3855 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 470.963 297.029 478.933] /A << /S /GoTo /D (40) >> >> endobj 3856 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 460.392 297.029 468.262] /A << /S /GoTo /D (217) >> >> endobj 3857 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 449.821 297.029 457.791] /A << /S /GoTo /D (128) >> >> endobj 3858 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 439.249 297.029 447.219] /A << /S /GoTo /D (9) >> >> endobj 3859 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 430.421 297.029 436.648] /A << /S /GoTo /D (6) >> >> endobj 3860 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 418.106 277.574 426.076] /A << /S /GoTo /D (156) >> >> endobj 3861 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 418.106 297.029 426.076] /A << /S /GoTo /D (162) >> >> endobj 3862 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 407.535 297.029 415.505] /A << /S /GoTo /D (58) >> >> endobj 3863 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 396.964 297.029 404.934] /A << /S /GoTo /D (103) >> >> endobj 3864 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 386.392 297.029 394.362] /A << /S /GoTo /D (133) >> >> endobj 3865 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 375.821 297.029 383.791] /A << /S /GoTo /D (6) >> >> endobj 3866 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 365.249 297.029 373.22] /A << /S /GoTo /D (6) >> >> endobj 3867 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 354.678 297.029 362.648] /A << /S /GoTo /D (9) >> >> endobj 3868 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 344.107 297.029 352.077] /A << /S /GoTo /D (6) >> >> endobj 3869 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 333.535 297.029 341.505] /A << /S /GoTo /D (9) >> >> endobj 3870 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 322.964 297.029 330.486] /A << /S /GoTo /D (1) >> >> endobj 3871 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 312.392 297.029 320.135] /A << /S /GoTo /D (133) >> >> endobj 3872 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 301.821 297.029 309.791] /A << /S /GoTo /D (203) >> >> endobj 3873 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 291.25 297.029 299.22] /A << /S /GoTo /D (26) >> >> endobj 3874 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 246.602 297.029 254.572] /A << /S /GoTo /D (19) >> >> endobj 3875 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 236.03 297.029 244] /A << /S /GoTo /D (216) >> >> endobj 3876 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 225.459 297.029 233.429] /A << /S /GoTo /D (30) >> >> endobj 3877 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 214.888 297.029 222.858] /A << /S /GoTo /D (127) >> >> endobj 3878 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 206.06 297.029 212.286] /A << /S /GoTo /D (216) >> >> endobj 3879 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 195.488 297.029 201.715] /A << /S /GoTo /D (19) >> >> endobj 3880 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 183.173 297.029 191.144] /A << /S /GoTo /D (146) >> >> endobj 3881 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 172.415 297.029 180.572] /A << /S /GoTo /D (151) >> >> endobj 3882 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 162.031 277.574 170.001] /A << /S /GoTo /D (157) >> >> endobj 3883 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 162.031 297.029 170.001] /A << /S /GoTo /D (164) >> >> endobj 3884 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 151.459 297.029 159.429] /A << /S /GoTo /D (222) >> >> endobj 3885 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 140.888 297.029 148.858] /A << /S /GoTo /D (129) >> >> endobj 3886 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 130.316 297.029 138.287] /A << /S /GoTo /D (206) >> >> endobj 3887 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 119.745 297.029 127.715] /A << /S /GoTo /D (109) >> >> endobj 3888 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 109.174 297.029 117.144] /A << /S /GoTo /D (58) >> >> endobj 3889 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 98.602 297.029 106.572] /A << /S /GoTo /D (61) >> >> endobj 3890 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 88.031 297.029 95.553] /A << /S /GoTo /D (58) >> >> endobj 3891 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 77.46 297.029 85.202] /A << /S /GoTo /D (103) >> >> endobj 3892 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 682.391 522 690.361] /A << /S /GoTo /D (120) >> >> endobj 3893 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 671.82 522 679.341] /A << /S /GoTo /D (61) >> >> endobj 3894 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 661.248 522 668.991] /A << /S /GoTo /D (58) >> >> endobj 3895 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 650.677 522 658.647] /A << /S /GoTo /D (120) >> >> endobj 3896 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 640.105 522 647.627] /A << /S /GoTo /D (120) >> >> endobj 3897 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 629.534 522 637.504] /A << /S /GoTo /D (180) >> >> endobj 3898 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 618.963 522 626.933] /A << /S /GoTo /D (37) >> >> endobj 3899 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 608.391 522 616.361] /A << /S /GoTo /D (38) >> >> endobj 3900 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 597.82 522 605.79] /A << /S /GoTo /D (55) >> >> endobj 3901 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 587.249 522 595.219] /A << /S /GoTo /D (77) >> >> endobj 3902 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 576.677 522 584.647] /A << /S /GoTo /D (206) >> >> endobj 3903 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 566.106 502.545 574.076] /A << /S /GoTo /D (156) >> >> endobj 3904 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 566.106 522 574.076] /A << /S /GoTo /D (162) >> >> endobj 3905 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 555.534 522 563.505] /A << /S /GoTo /D (88) >> >> endobj 3906 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 544.776 522 552.833] /A << /S /GoTo /D (132) >> >> endobj 3907 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 534.205 522 542.262] /A << /S /GoTo /D (132) >> >> endobj 3908 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 523.633 522 531.79] /A << /S /GoTo /D (206) >> >> endobj 3909 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 513.249 522 521.119] /A << /S /GoTo /D (147) >> >> endobj 3910 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 504.421 522 510.648] /A << /S /GoTo /D (106) >> >> endobj 3911 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 493.85 522 500.076] /A << /S /GoTo /D (236) >> >> endobj 3912 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 481.535 522 489.505] /A << /S /GoTo /D (78) >> >> endobj 3913 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 470.963 522 478.933] /A << /S /GoTo /D (75) >> >> endobj 3914 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 460.392 522 468.362] /A << /S /GoTo /D (108) >> >> endobj 3915 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 449.821 522 457.691] /A << /S /GoTo /D (28) >> >> endobj 3916 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 439.249 522 447.219] /A << /S /GoTo /D (73) >> >> endobj 3917 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 428.678 522 436.648] /A << /S /GoTo /D (107) >> >> endobj 3918 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 419.85 522 426.076] /A << /S /GoTo /D (105) >> >> endobj 3919 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 407.535 522 415.505] /A << /S /GoTo /D (105) >> >> endobj 3920 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 396.964 522 404.706] /A << /S /GoTo /D (72) >> >> endobj 3921 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 388.136 522 394.135] /A << /S /GoTo /D (71) >> >> endobj 3922 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 375.821 522 383.564] /A << /S /GoTo /D (71) >> >> endobj 3923 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 365.249 522 372.992] /A << /S /GoTo /D (72) >> >> endobj 3924 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 354.678 522 362.648] /A << /S /GoTo /D (71) >> >> endobj 3925 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 344.107 522 351.849] /A << /S /GoTo /D (71) >> >> endobj 3926 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 333.535 522 341.278] /A << /S /GoTo /D (72) >> >> endobj 3927 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 322.964 522 330.934] /A << /S /GoTo /D (49) >> >> endobj 3928 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 314.136 522 320.263] /A << /S /GoTo /D (45) >> >> endobj 3929 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 301.821 522 309.791] /A << /S /GoTo /D (102) >> >> endobj 3930 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 291.25 522 299.22] /A << /S /GoTo /D (104) >> >> endobj 3931 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 280.678 522 288.648] /A << /S /GoTo /D (47) >> >> endobj 3932 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 270.107 522 278.077] /A << /S /GoTo /D (206) >> >> endobj 3933 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 259.536 522 267.506] /A << /S /GoTo /D (102) >> >> endobj 3934 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 248.964 522 256.835] /A << /S /GoTo /D (47) >> >> endobj 3935 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 240.136 522 246.363] /A << /S /GoTo /D (46) >> >> endobj 3936 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 227.821 522 235.792] /A << /S /GoTo /D (120) >> >> endobj 3937 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 218.993 522 225.22] /A << /S /GoTo /D (120) >> >> endobj 3938 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 206.679 522 214.649] /A << /S /GoTo /D (109) >> >> endobj 3939 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 196.107 507.153 204.077] /A << /S /GoTo /D (11) >> >> endobj 3940 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 196.107 522 204.077] /A << /S /GoTo /D (21) >> >> endobj 3941 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 187.279 522 193.506] /A << /S /GoTo /D (155) >> >> endobj 3942 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 176.708 522 182.935] /A << /S /GoTo /D (224) >> >> endobj 3943 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 164.393 522 171.915] /A << /S /GoTo /D (11) >> >> endobj 3944 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 153.822 522 161.792] /A << /S /GoTo /D (6) >> >> endobj 3945 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 143.25 522 151.22] /A << /S /GoTo /D (214) >> >> endobj 3946 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 132.679 522 140.649] /A << /S /GoTo /D (47) >> >> endobj 3947 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 88.031 522 96.001] /A << /S /GoTo /D (128) >> >> endobj 3948 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 77.46 522 85.43] /A << /S /GoTo /D (115) >> >> endobj 3956 0 obj << /D [3954 0 R /XYZ 90 720 null] >> endobj 3953 0 obj << /Font << /F51 8 0 R /F2 1766 0 R /F8 3263 0 R /F3 285 0 R /F31 1767 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3978 0 obj << /Length 1543 /Filter /FlateDecode >> stream xn7ٻq.4PEڸ +A8O_RiIjhKRQn#1\fg߫36`"~=~*`91#^b2fj{>fee5/>هȨPL]LGހ:HɽԜMUnzT8HewQߟAAǟ6_pjFh.:ōl;(n]qAWDkS^ǎQp|2ŎtS$PyF(-~l'm0L:]pQS ݔ)3ʛŋN| ic H7E;h(XEΖmD0y}oIxQH8@Rp¸0Hmg"Pt]`)vy]~BT@ 5_L}Z0(8J}hGw1NMI:!DCol\oVVxMŎ&Mi_*P6zPEʻFnYB1V?X מUi]O@ dn:w7v' %߹vvYe8@ %$1h9}[5)"RY[N'fa0)ĭSIH:cțvZnܺMחZe_xzSh3c(`]>5ɦ'v}{ɗ]b'bXgWX710R X˪ܖE9pOl_6)o}Ά.8o1xF) Ar¹Ae4[\m[@鶝ƨvOѰw49(`P=+鿢yss@.>}ԬVl;(8j=ZĬu8Tܿa۵{_⽋^6g?xrS mDi13]qۃ}\ FNOȴ|!^˦E5Nf0No&T$k;F} E?σhwBε~b|WNo2_U[ y}҆1 2ƀ'Z뚻_/o[6p'la&&w3; јIRI" sK7}|no 哗W./\2k ]p1TE1(JKIbtgK;0Cm۳)>v_!`Ɉu"HQk MUV6$: W߲#=A2:8hOhb|O-y@*ܞG=\>#RDɇcRl7d* endstream endobj 3977 0 obj << /Type /Page /Contents 3978 0 R /Resources 3976 0 R /MediaBox [0 0 612 792] /Parent 3838 0 R /Annots [ 3949 0 R 3950 0 R 3951 0 R 3952 0 R 3957 0 R 3958 0 R 3959 0 R 3960 0 R 3961 0 R 3962 0 R 3963 0 R 3964 0 R 3965 0 R 3966 0 R 3967 0 R 3968 0 R 3969 0 R 3970 0 R 3971 0 R 3972 0 R 3973 0 R 3974 0 R 3975 0 R ] >> endobj 3949 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 684.134 297.029 690.134] /A << /S /GoTo /D (175) >> >> endobj 3950 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 673.45 297.029 679.677] /A << /S /GoTo /D (156) >> >> endobj 3951 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 661.022 297.029 668.992] /A << /S /GoTo /D (33) >> >> endobj 3952 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 652.081 297.029 658.308] /A << /S /GoTo /D (38) >> >> endobj 3957 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 641.397 297.029 647.624] /A << /S /GoTo /D (38) >> >> endobj 3958 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 628.969 297.029 636.839] /A << /S /GoTo /D (140) >> >> endobj 3959 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 583.496 297.029 591.466] /A << /S /GoTo /D (208) >> >> endobj 3960 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 572.812 297.029 580.782] /A << /S /GoTo /D (26) >> >> endobj 3961 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 562.127 297.029 570.097] /A << /S /GoTo /D (128) >> >> endobj 3962 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 551.194 297.029 559.413] /A << /S /GoTo /D (218) >> >> endobj 3963 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 540.758 297.029 548.729] /A << /S /GoTo /D (6) >> >> endobj 3964 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 530.074 297.029 538.044] /A << /S /GoTo /D (15) >> >> endobj 3965 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 519.39 297.029 527.36] /A << /S /GoTo /D (8) >> >> endobj 3966 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 508.705 297.029 516.675] /A << /S /GoTo /D (12) >> >> endobj 3967 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 499.764 297.029 505.991] /A << /S /GoTo /D (39) >> >> endobj 3968 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 669.79 522 676.017] /A << /S /GoTo /D (39) >> >> endobj 3969 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 657.375 522 665.345] /A << /S /GoTo /D (100) >> >> endobj 3970 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 646.704 522 654.674] /A << /S /GoTo /D (216) >> >> endobj 3971 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 637.776 522 644.003] /A << /S /GoTo /D (218) >> >> endobj 3972 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 625.361 522 633.331] /A << /S /GoTo /D (46) >> >> endobj 3973 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 581.727 522 587.854] /A << /S /GoTo /D (2) >> >> endobj 3974 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 536.354 522 544.573] /A << /S /GoTo /D (217) >> >> endobj 3975 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 490.976 522 498.719] /A << /S /GoTo /D (155) >> >> endobj 3979 0 obj << /D [3977 0 R /XYZ 90 720 null] >> endobj 3976 0 obj << /Font << /F51 8 0 R /F2 1766 0 R /F8 3263 0 R /F31 1767 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4026 0 obj << /Length 1757 /Filter /FlateDecode >> stream xMD+| "_Sd " H$H PN=.]MDZ9fuvjOD'(5D^2uHRx򍕃Exo࠵`]qT(o_|}uJUNXW5L\0 g|&# htqFtg'Cɒtr! H@h;]E-'o 4A ;8fٺP!}&q1iHe"LStE&WxuܩMj̙, `g YcCtr+ bFN%nKJ+`]j+)kHF <8=¨fb.;B\ $^qCd odUђ}JwHv9 Вej!*~_5Ǚwuy rh+QE[K𾱰#1֤)MRO_YS(Ӵ6m$f"N[Vsƅ]Cv˕mrdzWnK|ǭ^O_s)O9jf܏+߆/w9;HxwLyЛڏ?nLYH̲5iJlaS-jŰ%]:YI4Ĥ2)R ;8ЪGb)L9fj.:7wM6nf1 ؑdqC$\b"׼׼j^Tccɛ,YYRJHȑl !xف> endobj 3980 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 628.209 297.029 635.183] /A << /S /GoTo /D (115) >> >> endobj 3981 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 582.461 297.029 589.435] /A << /S /GoTo /D (118) >> >> endobj 3982 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 538.257 297.029 544.035] /A << /S /GoTo /D (135) >> >> endobj 3983 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 493.256 297.029 499.035] /A << /S /GoTo /D (117) >> >> endobj 3984 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 449.426 297.029 455.204] /A << /S /GoTo /D (116) >> >> endobj 3985 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 404.35 297.029 411.374] /A << /S /GoTo /D (116) >> >> endobj 3986 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 361.765 297.029 367.544] /A << /S /GoTo /D (116) >> >> endobj 3987 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 317.935 297.029 323.713] /A << /S /GoTo /D (113) >> >> endobj 3988 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 272.187 297.029 279.161] /A << /S /GoTo /D (109) >> >> endobj 3989 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 261.454 297.029 268.428] /A << /S /GoTo /D (114) >> >> endobj 3990 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 218.371 297.029 224.149] /A << /S /GoTo /D (116) >> >> endobj 3991 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 173.295 297.029 180.319] /A << /S /GoTo /D (86) >> >> endobj 3992 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 130.71 297.029 136.488] /A << /S /GoTo /D (69) >> >> endobj 3993 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 119.977 297.029 125.755] /A << /S /GoTo /D (74) >> >> endobj 3994 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 107.501 277.574 115.022] /A << /S /GoTo /D (99) >> >> endobj 3995 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 107.501 297.029 115.022] /A << /S /GoTo /D (110) >> >> endobj 3996 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 98.511 297.029 104.289] /A << /S /GoTo /D (114) >> >> endobj 3997 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 87.778 297.029 93.556] /A << /S /GoTo /D (19) >> >> endobj 3998 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 629.389 522 635.168] /A << /S /GoTo /D (110) >> >> endobj 3999 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 618.868 522 624.646] /A << /S /GoTo /D (115) >> >> endobj 4000 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 576.579 522 582.358] /A << /S /GoTo /D (69) >> >> endobj 4001 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 566.057 522 571.836] /A << /S /GoTo /D (74) >> >> endobj 4002 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 555.536 522 561.314] /A << /S /GoTo /D (99) >> >> endobj 4003 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 545.014 522 550.792] /A << /S /GoTo /D (117) >> >> endobj 4004 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 502.726 522 508.504] /A << /S /GoTo /D (235) >> >> endobj 4005 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 457.523 502.545 465.493] /A << /S /GoTo /D (110) >> >> endobj 4006 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 457.523 522 465.493] /A << /S /GoTo /D (113) >> >> endobj 4007 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 413.317 522 420.291] /A << /S /GoTo /D (110) >> >> endobj 4008 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 371.776 522 377.554] /A << /S /GoTo /D (110) >> >> endobj 4009 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 359.511 502.545 367.033] /A << /S /GoTo /D (115) >> >> endobj 4010 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 359.511 522 367.033] /A << /S /GoTo /D (135) >> >> endobj 4011 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 318.092 522 324.744] /A << /S /GoTo /D (135) >> >> endobj 4012 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 275.43 522 281.209] /A << /S /GoTo /D (135) >> >> endobj 4013 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 232.395 522 239.369] /A << /S /GoTo /D (110) >> >> endobj 4014 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 188.986 522 195.96] /A << /S /GoTo /D (110) >> >> endobj 4015 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 145.577 522 152.551] /A << /S /GoTo /D (110) >> >> endobj 4016 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 135.055 522 142.029] /A << /S /GoTo /D (114) >> >> endobj 4017 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 91.646 522 98.62] /A << /S /GoTo /D (110) >> >> endobj 4018 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 81.124 522 88.098] /A << /S /GoTo /D (115) >> >> endobj 527 0 obj << /D [4025 0 R /XYZ 90 720 null] >> endobj 1734 0 obj << /D [4025 0 R /XYZ 90 720 null] >> endobj 4024 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R /F102 1932 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4161 0 obj << /Length 4777 /Filter /FlateDecode >> stream x]$9qW.5o0f/ocn@؋6vZY,10 =|*KRTiYg757_}, NHW,'TKīO?_ӓ'~l4ɧŋz}':wobd!9UR p5g>SS gڟ'S$HfqUӓ=o[SʋY l\Y˪0kQ7 /v(EKqfqugܓ:+MU;z˦X\6)Ʈ3d,U1!Fw X~fqzPqȏ&NQ$kˎ%XҮ6Mr 91rX&Z'5rew[)5O]1BbMty.lE-i]ћI{!"?FNTZ[DrF뒋[ p̈́=eqa,5 h.q5eW%ؚr c4LNF2!PcԜ{vl4K ¼~мy.>H`_AI:<7M,s3Y1ո!7:oMh 41hXQjXLo 4ɔ&4? d8dX,bcbqYl8Y>=׿9ŭuON\G|H9V/X83Ujǎz#8xs/;N,weZp\}5ZcGKKhx Z c4L _"-W8vCp[ghI˃hp2-85 _ѲDSR"|c Z c4L _DW8RZ|;:nIch=D 'ӂ}ZcGK &W:nW\0v04LyjОO5io[g֝/jP鎤:MvmI)<ӜMᨧ-ISBOamabjK4]zz|ew`\ c3Y~@BB=J˨9+" P9_"Ɏ Jȓޟ9ZHL7K=2DJw$MIe$# rT}׎KyO;7[?hH eZp7jǎLz Z c4L Ο_-1B_ n)/ HESј@0ib$ b_ aN08a2&8qI|։}5LcMValg|i_5C +Ďq*5%6ʚ벅R?*=5-SwIsP8*G[hv-F=O<SGol_ܻ/ָW_n!՘ش'$ %x/CP)h%ut궤kGƃN?HxZ#g&YuBp,{ &Q뷎^PA*ĉG%F'* *M,o<%TJtUs񼓌[f!c4 Οe=%TJ&?QyO@Pib?ǏU qQ9o ̈́ϽuY9oaV i19Թ Qc"5[Iػ@WPݢLA7x='YJ#ssٓ|x/,4vCJI˵g.|1AĊ#jw<O:c H,ұ˘@6V<d+Ow&e:pƜg,TXtb%ttOx&ҁL%:Oz</'e:pƬ@Ċ#&8p5clܴ2(]ֱQcsIG28cxJp+M\V:c oؖ;8"~K{J'dь@ib8!N<#׼F]2౻Lw1xd*Ax:.@?1t8Ϡ{_((uhOH}" PI|Do*ݑ4} eWnoN8(.ĕ'J5M ;klUm E(.sl",7bK!:Xc1aM:OGq篵b n1H+U]JB vUfHҫH7AT%iJZƥv |5HQ=֡TKҔUVXOA{`o>gzOo4Kڔ`gA3&J4se>>b;4@@bqK6# N<yU"q1_, M,s%p<%.E:J$.ep㢉e.p.q⹈ބ%.ά{؎q28Yݛ=%.Epy?> endobj 4019 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 670.064 297.029 675.843] /A << /S /GoTo /D (111) >> >> endobj 4020 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 627.661 297.029 633.439] /A << /S /GoTo /D (69) >> >> endobj 4021 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 617.123 297.029 622.902] /A << /S /GoTo /D (115) >> >> endobj 4022 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 606.586 297.029 612.364] /A << /S /GoTo /D (112) >> >> endobj 4023 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 564.182 297.029 569.961] /A << /S /GoTo /D (113) >> >> endobj 4027 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 553.645 297.029 559.423] /A << /S /GoTo /D (118) >> >> endobj 4028 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 511.242 297.029 517.02] /A << /S /GoTo /D (119) >> >> endobj 4029 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 500.704 297.029 506.482] /A << /S /GoTo /D (119) >> >> endobj 4030 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 490.167 297.029 495.945] /A << /S /GoTo /D (34) >> >> endobj 4031 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 479.629 297.029 485.407] /A << /S /GoTo /D (98) >> >> endobj 4032 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 467.846 297.029 474.87] /A << /S /GoTo /D (98) >> >> endobj 4033 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 457.68 297.029 464.332] /A << /S /GoTo /D (115) >> >> endobj 4034 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 448.016 297.029 453.795] /A << /S /GoTo /D (95) >> >> endobj 4035 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 437.479 297.029 443.257] /A << /S /GoTo /D (72) >> >> endobj 4036 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 426.941 297.029 432.72] /A << /S /GoTo /D (57) >> >> endobj 4037 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 415.657 297.029 422.63] /A << /S /GoTo /D (96) >> >> endobj 4038 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 405.119 297.029 412.093] /A << /S /GoTo /D (42) >> >> endobj 4039 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 395.329 297.029 401.107] /A << /S /GoTo /D (42) >> >> endobj 4040 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.904 383.048 258.119 390.57] /A << /S /GoTo /D (31) >> >> endobj 4041 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 383.048 277.574 390.57] /A << /S /GoTo /D (131) >> >> endobj 4042 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 383.048 297.029 390.57] /A << /S /GoTo /D (179) >> >> endobj 4043 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 374.254 297.029 380.032] /A << /S /GoTo /D (216) >> >> endobj 4044 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 361.973 282.182 369.495] /A << /S /GoTo /D (11) >> >> endobj 4045 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 361.973 297.029 369.495] /A << /S /GoTo /D (15) >> >> endobj 4046 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 353.179 297.029 358.957] /A << /S /GoTo /D (33) >> >> endobj 4047 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 342.641 297.029 348.419] /A << /S /GoTo /D (21) >> >> endobj 4048 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 330.858 297.029 337.882] /A << /S /GoTo /D (54) >> >> endobj 4049 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 319.823 282.182 327.344] /A << /S /GoTo /D (15) >> >> endobj 4050 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 319.823 297.029 327.344] /A << /S /GoTo /D (20) >> >> endobj 4051 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 311.029 297.029 316.807] /A << /S /GoTo /D (72) >> >> endobj 4052 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 299.744 297.029 306.718] /A << /S /GoTo /D (12) >> >> endobj 4053 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 289.206 297.029 296.18] /A << /S /GoTo /D (218) >> >> endobj 4054 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 278.669 297.029 285.643] /A << /S /GoTo /D (77) >> >> endobj 4055 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 268.131 297.029 275.105] /A << /S /GoTo /D (77) >> >> endobj 4056 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 257.594 297.029 264.568] /A << /S /GoTo /D (77) >> >> endobj 4057 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 247.056 297.029 254.03] /A << /S /GoTo /D (61) >> >> endobj 4058 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 236.519 297.029 243.493] /A << /S /GoTo /D (64) >> >> endobj 4059 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 224.736 297.029 232.955] /A << /S /GoTo /D (65) >> >> endobj 4060 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 215.444 297.029 222.417] /A << /S /GoTo /D (12) >> >> endobj 4061 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 204.906 297.029 211.88] /A << /S /GoTo /D (45) >> >> endobj 4062 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 193.87 297.029 200.894] /A << /S /GoTo /D (129) >> >> endobj 4063 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 184.578 297.029 190.357] /A << /S /GoTo /D (72) >> >> endobj 4064 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 174.041 297.029 179.819] /A << /S /GoTo /D (30) >> >> endobj 4065 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 163.503 297.029 169.282] /A << /S /GoTo /D (31) >> >> endobj 4066 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 152.966 297.029 158.744] /A << /S /GoTo /D (72) >> >> endobj 4067 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 142.428 297.029 148.206] /A << /S /GoTo /D (31) >> >> endobj 4068 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 131.891 297.029 137.669] /A << /S /GoTo /D (10) >> >> endobj 4069 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 120.606 297.029 127.58] /A << /S /GoTo /D (98) >> >> endobj 4070 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 110.068 297.029 117.042] /A << /S /GoTo /D (98) >> >> endobj 4071 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [258.119 98.535 267.335 106.056] /A << /S /GoTo /D (11) >> >> endobj 4072 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 98.535 282.182 106.056] /A << /S /GoTo /D (15) >> >> endobj 4073 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 98.535 297.029 106.056] /A << /S /GoTo /D (20) >> >> endobj 4074 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 89.741 297.029 95.519] /A << /S /GoTo /D (21) >> >> endobj 4075 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 77.46 277.574 85.43] /A << /S /GoTo /D (31) >> >> endobj 4076 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 77.46 297.029 85.43] /A << /S /GoTo /D (135) >> >> endobj 4077 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 682.391 507.153 690.361] /A << /S /GoTo /D (31) >> >> endobj 4078 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 682.391 522 690.361] /A << /S /GoTo /D (32) >> >> endobj 4079 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 672.774 522 679.748] /A << /S /GoTo /D (61) >> >> endobj 4080 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 662.162 522 669.135] /A << /S /GoTo /D (64) >> >> endobj 4081 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 651.549 522 658.523] /A << /S /GoTo /D (19) >> >> endobj 4082 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 640.936 522 647.91] /A << /S /GoTo /D (22) >> >> endobj 4083 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 631.07 522 636.849] /A << /S /GoTo /D (216) >> >> endobj 4084 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 620.457 522 626.236] /A << /S /GoTo /D (5) >> >> endobj 4085 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 609.845 522 615.623] /A << /S /GoTo /D (106) >> >> endobj 4086 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 599.232 522 605.01] /A << /S /GoTo /D (106) >> >> endobj 4087 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 588.619 522 594.397] /A << /S /GoTo /D (235) >> >> endobj 4088 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 578.006 522 583.784] /A << /S /GoTo /D (100) >> >> endobj 4089 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 567.393 522 573.172] /A << /S /GoTo /D (120) >> >> endobj 4090 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 556.78 522 562.559] /A << /S /GoTo /D (124) >> >> endobj 4091 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 546.168 522 551.946] /A << /S /GoTo /D (106) >> >> endobj 4092 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 535.555 522 541.333] /A << /S /GoTo /D (61) >> >> endobj 4093 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 524.942 522 530.72] /A << /S /GoTo /D (64) >> >> endobj 4094 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 514.329 522 520.107] /A << /S /GoTo /D (103) >> >> endobj 4095 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 501.973 487.698 509.495] /A << /S /GoTo /D (61) >> >> endobj 4096 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 501.973 502.545 509.495] /A << /S /GoTo /D (65) >> >> endobj 4097 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 501.973 522 509.495] /A << /S /GoTo /D (103) >> >> endobj 4098 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 493.103 522 498.882] /A << /S /GoTo /D (106) >> >> endobj 4099 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 480.747 502.545 488.269] /A << /S /GoTo /D (46) >> >> endobj 4100 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 480.747 522 488.269] /A << /S /GoTo /D (102) >> >> endobj 4101 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 471.878 522 477.656] /A << /S /GoTo /D (102) >> >> endobj 4102 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [502.545 459.522 507.153 467.043] /A << /S /GoTo /D (5) >> >> endobj 4103 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 459.522 522 467.043] /A << /S /GoTo /D (87) >> >> endobj 4104 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 450.652 522 456.43] /A << /S /GoTo /D (88) >> >> endobj 4105 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 440.039 522 445.818] /A << /S /GoTo /D (15) >> >> endobj 4106 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 427.683 502.545 435.205] /A << /S /GoTo /D (93) >> >> endobj 4107 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 427.683 522 435.205] /A << /S /GoTo /D (116) >> >> endobj 4108 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 418.814 522 424.592] /A << /S /GoTo /D (93) >> >> endobj 4109 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 408.201 522 413.979] /A << /S /GoTo /D (93) >> >> endobj 4110 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 397.588 522 403.366] /A << /S /GoTo /D (93) >> >> endobj 4111 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 386.975 522 392.753] /A << /S /GoTo /D (93) >> >> endobj 4112 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 376.362 522 382.141] /A << /S /GoTo /D (93) >> >> endobj 4113 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 365.749 522 371.528] /A << /S /GoTo /D (93) >> >> endobj 4114 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 355.137 522 360.915] /A << /S /GoTo /D (94) >> >> endobj 4115 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 344.524 522 350.302] /A << /S /GoTo /D (93) >> >> endobj 4116 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 333.911 522 339.689] /A << /S /GoTo /D (93) >> >> endobj 4117 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 323.298 522 329.076] /A << /S /GoTo /D (93) >> >> endobj 4118 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 312.685 522 318.464] /A << /S /GoTo /D (93) >> >> endobj 4119 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 302.072 522 307.851] /A << /S /GoTo /D (93) >> >> endobj 4120 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 291.46 522 297.238] /A << /S /GoTo /D (93) >> >> endobj 4121 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 280.847 522 286.625] /A << /S /GoTo /D (93) >> >> endobj 4122 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 268.491 502.545 276.012] /A << /S /GoTo /D (8) >> >> endobj 4123 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 268.491 522 276.012] /A << /S /GoTo /D (143) >> >> endobj 4124 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.55 257.878 447.765 265.399] /A << /S /GoTo /D (14) >> >> endobj 4125 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [453.397 257.878 462.612 265.399] /A << /S /GoTo /D (17) >> >> endobj 4126 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [468.244 257.878 477.459 265.399] /A << /S /GoTo /D (19) >> >> endobj 4127 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [483.091 257.878 492.306 265.399] /A << /S /GoTo /D (31) >> >> endobj 4128 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 257.878 507.153 265.399] /A << /S /GoTo /D (32) >> >> endobj 4129 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 257.878 522 265.399] /A << /S /GoTo /D (56) >> >> endobj 4130 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 249.008 522 254.787] /A << /S /GoTo /D (59) >> >> endobj 4131 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 236.652 507.153 244.174] /A << /S /GoTo /D (63) >> >> endobj 4132 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 236.652 522 244.174] /A << /S /GoTo /D (68) >> >> endobj 4133 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 227.783 522 233.561] /A << /S /GoTo /D (70) >> >> endobj 4134 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 215.426 507.153 222.948] /A << /S /GoTo /D (72) >> >> endobj 4135 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 215.426 522 222.948] /A << /S /GoTo /D (80) >> >> endobj 4136 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 206.557 522 212.335] /A << /S /GoTo /D (81) >> >> endobj 4137 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [415.511 194.201 424.727 201.722] /A << /S /GoTo /D (87) >> >> endobj 4138 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [430.358 194.201 444.181 201.722] /A << /S /GoTo /D (134) >> >> endobj 4139 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [449.813 194.201 463.636 201.722] /A << /S /GoTo /D (181) >> >> endobj 4140 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [469.268 194.201 483.091 201.722] /A << /S /GoTo /D (204) >> >> endobj 4141 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 194.201 502.545 201.722] /A << /S /GoTo /D (212) >> >> endobj 4142 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 194.201 522 201.722] /A << /S /GoTo /D (216) >> >> endobj 4143 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 185.331 522 191.11] /A << /S /GoTo /D (64) >> >> endobj 4144 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 174.718 522 180.497] /A << /S /GoTo /D (64) >> >> endobj 4145 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 164.106 522 169.884] /A << /S /GoTo /D (64) >> >> endobj 4146 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 153.493 522 159.271] /A << /S /GoTo /D (63) >> >> endobj 4147 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 141.137 502.545 148.658] /A << /S /GoTo /D (76) >> >> endobj 4148 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 141.137 522 148.658] /A << /S /GoTo /D (116) >> >> endobj 4149 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 132.267 522 138.045] /A << /S /GoTo /D (136) >> >> endobj 4150 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 121.654 522 127.433] /A << /S /GoTo /D (167) >> >> endobj 4151 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 111.041 522 116.82] /A << /S /GoTo /D (167) >> >> endobj 4152 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 100.429 522 106.207] /A << /S /GoTo /D (167) >> >> endobj 4153 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 89.816 522 95.594] /A << /S /GoTo /D (12) >> >> endobj 4154 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 79.203 522 84.981] /A << /S /GoTo /D (144) >> >> endobj 4162 0 obj << /D [4160 0 R /XYZ 90 720 null] >> endobj 4159 0 obj << /Font << /F51 8 0 R /F102 1932 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R /F72 7 0 R /F58 1759 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4298 0 obj << /Length 4559 /Filter /FlateDecode >> stream xMܶ{<o&TٮĩA9%9D_mY?f@~ѓѢ|v^v?<7Ks3uYXp">~,bo)?G}>=Mo3vю8ڶ#7YƱ?8v+?t_\3bƾ=<ɺlB;wm$L;oEncO$2't}RxL.){TR2`̙W': b)0`% J0bPQA 1sAV2`hM ^U 602t.vhD Ha+`[3]/+ |u`:)0`% :k@JAE!Vf !"C*|u`:tU@ # Xf1s?H|bPQA 1s b@ # XI,` 60 " ha/`0fVMŠo,c@0 d4_]1(`ۨ йi1 d8n 0mae \0€L0F3 VD+3@Uz hX"`m!e\0L03 VgUգw) $ Ҵ}tӎim/ѴYdmo-LG_>{vn1X6m?6)J&Ӷt㗹Zc-w> ,[: I'^1V0dӝ͉ᷕﴎ,sBG'sB"NXAIt6,'K3VNr,L>tcO$8e%Km~;́'Ζ%tWmRwˡnf> WdKqۈ Vw>e f[qo4JPIJ$;c#o,F‘++^eHoׂZwZw-kA::ZE 'v&/qPw>1X>YuEd ͼ-\[##dY A"2XENFszzny疽Ӫs -щIZp &̣YAI]AZA֪V, YZ*&dL>O[F!ϡxbO$8;&t(mh] Y* S eYBEYq0S69 8%0='t3bO$81w6HoMҺIXoM4,1K4*&v߻za/ }u1X07,L8{3M[_W>8.uu̞#}7u,#xJZJ&4/hxRiM 1X@ #XɄv+ O+ W໩!4 HaD+`yh9W K n`:bL "F Mk xR (;# Б HaD+ hSiOOz$Y~a`yt$h0LeW 2t$RJ& [+P wPG@ #AˆV2!_L2_W 2t$RJ&t|Y (;# Б HaD+Nf|h J@A1X&@ #XɄ; _T byǪhz uӑV`,=` "ha@/0>u%@,@G dBԛɂ}J@A1X&@ #XɄ7oeH0"L:/`c%@,@G dB@ߚ~p ?'@ӏUwiG0|Ac<~:4RJ&ǽ>]%@,@G dB>P wPG@ #AˆV2!ƙ@Z (;# Б HaD+ 3[  T?Ɗ'UY=>iJgkTqcEl*;p,%Ԟy ANJEB5O(p c DԁCIxQI:l|z?f:w^c{'t1)gޣ`I* CőFacB6>\S`۞/ w WmGd6K)@ml˶ 5(\ۑ !г@@@ ھ}땄+HP# @Bjۑ4; kۓp v yBDm_H@۾uە+HPH# @BpۑdہIx[Iw;ʰGAy*GfX{pcB[{ Gٶ{X{Bgcu'O`[3̓JB;O^y.qD 8U.vq $n\vυ\܁ =ru  4pCnн%Ǿnrua;B~I޽bus}^^g߽ P +7Wxb +8W&0yh%oxw ;BdoA`@iy]ޕ;" +Y:lGnhv&0~A罖\u[wqw"7Ow*o7}\+חW((yB#Cmd:,>> ٹyB7Fp2,N+TTE餫 >*S'y4WhX}0b?=㣼8d=8zxqZB+qumסkA<;l=0Kv~>25z=Y:Qf2n T%5Ш1[Բ{N|xg8~Y׺48>Y:p:/z endstream endobj 4297 0 obj << /Type /Page /Contents 4298 0 R /Resources 4296 0 R /MediaBox [0 0 612 792] /Parent 3838 0 R /Annots [ 4155 0 R 4156 0 R 4157 0 R 4158 0 R 4163 0 R 4164 0 R 4165 0 R 4166 0 R 4167 0 R 4168 0 R 4169 0 R 4170 0 R 4171 0 R 4172 0 R 4173 0 R 4174 0 R 4175 0 R 4176 0 R 4177 0 R 4178 0 R 4179 0 R 4180 0 R 4181 0 R 4182 0 R 4183 0 R 4184 0 R 4185 0 R 4186 0 R 4187 0 R 4188 0 R 4189 0 R 4190 0 R 4191 0 R 4192 0 R 4193 0 R 4194 0 R 4195 0 R 4196 0 R 4197 0 R 4198 0 R 4199 0 R 4200 0 R 4201 0 R 4202 0 R 4203 0 R 4204 0 R 4205 0 R 4206 0 R 4207 0 R 4208 0 R 4209 0 R 4210 0 R 4211 0 R 4212 0 R 4213 0 R 4214 0 R 4215 0 R 4216 0 R 4217 0 R 4218 0 R 4219 0 R 4220 0 R 4221 0 R 4222 0 R 4223 0 R 4224 0 R 4225 0 R 4226 0 R 4227 0 R 4228 0 R 4229 0 R 4230 0 R 4231 0 R 4232 0 R 4233 0 R 4234 0 R 4235 0 R 4236 0 R 4237 0 R 4238 0 R 4239 0 R 4240 0 R 4241 0 R 4242 0 R 4243 0 R 4244 0 R 4245 0 R 4246 0 R 4247 0 R 4248 0 R 4249 0 R 4250 0 R 4251 0 R 4252 0 R 4253 0 R 4254 0 R 4255 0 R 4256 0 R 4257 0 R 4258 0 R 4259 0 R 4260 0 R 4261 0 R 4262 0 R 4263 0 R 4264 0 R 4265 0 R 4266 0 R 4267 0 R 4268 0 R 4269 0 R 4270 0 R 4271 0 R 4272 0 R 4273 0 R 4274 0 R 4275 0 R 4276 0 R 4277 0 R 4278 0 R 4279 0 R 4280 0 R 4281 0 R 4282 0 R 4283 0 R 4284 0 R 4285 0 R 4286 0 R 4287 0 R 4288 0 R 4289 0 R ] >> endobj 4155 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 684.134 297.029 689.913] /A << /S /GoTo /D (144) >> >> endobj 4156 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 673.522 297.029 679.3] /A << /S /GoTo /D (141) >> >> endobj 4157 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 662.909 297.029 668.687] /A << /S /GoTo /D (141) >> >> endobj 4158 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 652.296 297.029 658.074] /A << /S /GoTo /D (150) >> >> endobj 4163 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 641.683 297.029 647.461] /A << /S /GoTo /D (150) >> >> endobj 4164 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 629.078 297.029 636.849] /A << /S /GoTo /D (150) >> >> endobj 4165 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 620.457 297.029 626.236] /A << /S /GoTo /D (141) >> >> endobj 4166 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 609.845 297.029 615.623] /A << /S /GoTo /D (155) >> >> endobj 4167 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 599.232 297.029 605.01] /A << /S /GoTo /D (155) >> >> endobj 4168 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 588.619 297.029 594.397] /A << /S /GoTo /D (155) >> >> endobj 4169 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 578.006 297.029 583.784] /A << /S /GoTo /D (177) >> >> endobj 4170 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 567.393 297.029 573.172] /A << /S /GoTo /D (177) >> >> endobj 4171 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 554.788 297.029 562.559] /A << /S /GoTo /D (177) >> >> endobj 4172 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 546.168 297.029 551.946] /A << /S /GoTo /D (177) >> >> endobj 4173 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 534.808 297.029 541.781] /A << /S /GoTo /D (140) >> >> endobj 4174 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 524.195 297.029 531.169] /A << /S /GoTo /D (140) >> >> endobj 4175 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 514.329 297.029 520.107] /A << /S /GoTo /D (8) >> >> endobj 4176 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 501.724 297.029 509.495] /A << /S /GoTo /D (8) >> >> endobj 4177 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [277.574 491.36 282.182 498.882] /A << /S /GoTo /D (7) >> >> endobj 4178 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 491.36 297.029 498.882] /A << /S /GoTo /D (88) >> >> endobj 4179 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 482.491 297.029 488.269] /A << /S /GoTo /D (41) >> >> endobj 4180 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 471.878 297.029 477.656] /A << /S /GoTo /D (8) >> >> endobj 4181 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 461.265 297.029 467.043] /A << /S /GoTo /D (17) >> >> endobj 4182 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 450.652 297.029 456.43] /A << /S /GoTo /D (41) >> >> endobj 4183 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.904 438.296 258.119 445.818] /A << /S /GoTo /D (72) >> >> endobj 4184 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 438.296 277.574 445.818] /A << /S /GoTo /D (112) >> >> endobj 4185 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 438.296 297.029 445.818] /A << /S /GoTo /D (204) >> >> endobj 4186 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 427.434 297.029 435.205] /A << /S /GoTo /D (8) >> >> endobj 4187 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 416.821 297.029 424.592] /A << /S /GoTo /D (31) >> >> endobj 4188 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 406.208 297.029 413.979] /A << /S /GoTo /D (58) >> >> endobj 4189 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 397.588 297.029 403.366] /A << /S /GoTo /D (7) >> >> endobj 4190 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 386.975 297.029 392.753] /A << /S /GoTo /D (31) >> >> endobj 4191 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 374.619 277.574 382.141] /A << /S /GoTo /D (76) >> >> endobj 4192 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 374.619 297.029 382.141] /A << /S /GoTo /D (116) >> >> endobj 4193 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 364.006 282.182 371.528] /A << /S /GoTo /D (45) >> >> endobj 4194 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 364.006 297.029 371.528] /A << /S /GoTo /D (80) >> >> endobj 4195 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 355.137 297.029 360.915] /A << /S /GoTo /D (8) >> >> endobj 4196 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 344.524 297.029 350.302] /A << /S /GoTo /D (204) >> >> endobj 4197 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 333.911 297.029 339.689] /A << /S /GoTo /D (204) >> >> endobj 4198 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 323.298 297.029 329.076] /A << /S /GoTo /D (204) >> >> endobj 4199 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 312.685 297.029 318.464] /A << /S /GoTo /D (204) >> >> endobj 4200 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 302.072 297.029 307.851] /A << /S /GoTo /D (204) >> >> endobj 4201 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 291.46 297.029 297.238] /A << /S /GoTo /D (204) >> >> endobj 4202 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 280.847 297.029 286.625] /A << /S /GoTo /D (204) >> >> endobj 4203 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 270.234 297.029 276.012] /A << /S /GoTo /D (204) >> >> endobj 4204 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 259.621 297.029 265.399] /A << /S /GoTo /D (204) >> >> endobj 4205 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 247.016 297.029 254.787] /A << /S /GoTo /D (204) >> >> endobj 4206 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 238.395 297.029 244.174] /A << /S /GoTo /D (204) >> >> endobj 4207 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 227.783 297.029 233.561] /A << /S /GoTo /D (204) >> >> endobj 4208 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 217.17 297.029 222.948] /A << /S /GoTo /D (204) >> >> endobj 4209 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 204.564 297.029 212.335] /A << /S /GoTo /D (204) >> >> endobj 4210 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 195.944 297.029 201.722] /A << /S /GoTo /D (204) >> >> endobj 4211 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 185.331 297.029 191.11] /A << /S /GoTo /D (204) >> >> endobj 4212 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 174.718 297.029 180.497] /A << /S /GoTo /D (204) >> >> endobj 4213 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 162.113 297.029 169.884] /A << /S /GoTo /D (204) >> >> endobj 4214 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 153.493 297.029 159.271] /A << /S /GoTo /D (204) >> >> endobj 4215 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 142.88 297.029 148.658] /A << /S /GoTo /D (204) >> >> endobj 4216 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 132.267 297.029 138.045] /A << /S /GoTo /D (204) >> >> endobj 4217 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 121.654 297.029 127.433] /A << /S /GoTo /D (204) >> >> endobj 4218 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 111.041 297.029 116.82] /A << /S /GoTo /D (204) >> >> endobj 4219 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 100.429 297.029 106.207] /A << /S /GoTo /D (204) >> >> endobj 4220 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 89.816 297.029 95.594] /A << /S /GoTo /D (204) >> >> endobj 4221 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 79.203 297.029 84.981] /A << /S /GoTo /D (204) >> >> endobj 4222 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 684.134 522 689.913] /A << /S /GoTo /D (204) >> >> endobj 4223 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 673.522 522 679.3] /A << /S /GoTo /D (204) >> >> endobj 4224 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 660.916 522 668.687] /A << /S /GoTo /D (204) >> >> endobj 4225 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 652.296 522 658.074] /A << /S /GoTo /D (204) >> >> endobj 4226 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 639.94 502.545 647.461] /A << /S /GoTo /D (182) >> >> endobj 4227 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 639.94 522 647.461] /A << /S /GoTo /D (204) >> >> endobj 4228 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 631.07 522 636.849] /A << /S /GoTo /D (204) >> >> endobj 4229 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 618.465 522 626.236] /A << /S /GoTo /D (204) >> >> endobj 4230 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 609.845 522 615.623] /A << /S /GoTo /D (204) >> >> endobj 4231 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 599.232 522 605.01] /A << /S /GoTo /D (204) >> >> endobj 4232 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 588.619 522 594.397] /A << /S /GoTo /D (204) >> >> endobj 4233 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 576.014 522 583.784] /A << /S /GoTo /D (204) >> >> endobj 4234 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 567.393 522 573.172] /A << /S /GoTo /D (204) >> >> endobj 4235 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 556.78 522 562.559] /A << /S /GoTo /D (204) >> >> endobj 4236 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 544.424 502.545 551.946] /A << /S /GoTo /D (180) >> >> endobj 4237 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 544.424 522 551.946] /A << /S /GoTo /D (204) >> >> endobj 4238 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 535.555 522 541.333] /A << /S /GoTo /D (204) >> >> endobj 4239 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 524.942 522 530.72] /A << /S /GoTo /D (204) >> >> endobj 4240 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 514.329 522 520.107] /A << /S /GoTo /D (204) >> >> endobj 4241 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 503.716 522 509.495] /A << /S /GoTo /D (204) >> >> endobj 4242 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [463.636 491.36 472.851 498.882] /A << /S /GoTo /D (11) >> >> endobj 4243 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 491.36 487.698 498.882] /A << /S /GoTo /D (87) >> >> endobj 4244 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 491.36 502.545 498.882] /A << /S /GoTo /D (95) >> >> endobj 4245 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 491.36 522 498.882] /A << /S /GoTo /D (115) >> >> endobj 4246 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 481.245 522 488.269] /A << /S /GoTo /D (85) >> >> endobj 4247 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 471.878 522 477.656] /A << /S /GoTo /D (85) >> >> endobj 4248 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 461.265 522 467.043] /A << /S /GoTo /D (85) >> >> endobj 4249 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 449.407 522 456.43] /A << /S /GoTo /D (86) >> >> endobj 4250 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 440.039 522 445.818] /A << /S /GoTo /D (99) >> >> endobj 4251 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 429.426 522 435.205] /A << /S /GoTo /D (99) >> >> endobj 4252 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 418.814 522 424.592] /A << /S /GoTo /D (114) >> >> endobj 4253 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 407.454 522 414.427] /A << /S /GoTo /D (133) >> >> endobj 4254 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 397.588 522 403.366] /A << /S /GoTo /D (86) >> >> endobj 4255 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 386.975 522 392.753] /A << /S /GoTo /D (97) >> >> endobj 4256 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 376.362 522 382.141] /A << /S /GoTo /D (115) >> >> endobj 4257 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 365.749 522 371.528] /A << /S /GoTo /D (97) >> >> endobj 4258 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 355.137 522 360.915] /A << /S /GoTo /D (115) >> >> endobj 4259 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 344.524 522 350.302] /A << /S /GoTo /D (7) >> >> endobj 4260 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 333.911 522 339.689] /A << /S /GoTo /D (112) >> >> endobj 4261 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 323.298 522 329.076] /A << /S /GoTo /D (10) >> >> endobj 4262 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 310.942 502.545 318.464] /A << /S /GoTo /D (95) >> >> endobj 4263 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 310.942 522 318.464] /A << /S /GoTo /D (115) >> >> endobj 4264 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 302.072 522 307.851] /A << /S /GoTo /D (56) >> >> endobj 4265 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 289.716 502.545 297.238] /A << /S /GoTo /D (68) >> >> endobj 4266 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 289.716 522 297.238] /A << /S /GoTo /D (114) >> >> endobj 4267 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 280.847 522 286.625] /A << /S /GoTo /D (125) >> >> endobj 4268 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 270.234 522 276.012] /A << /S /GoTo /D (80) >> >> endobj 4269 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 259.621 522 265.399] /A << /S /GoTo /D (80) >> >> endobj 4270 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 249.008 522 254.787] /A << /S /GoTo /D (84) >> >> endobj 4271 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 238.395 522 244.174] /A << /S /GoTo /D (79) >> >> endobj 4272 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 225.79 522 233.561] /A << /S /GoTo /D (80) >> >> endobj 4273 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 217.17 522 222.948] /A << /S /GoTo /D (77) >> >> endobj 4274 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 206.557 522 212.335] /A << /S /GoTo /D (134) >> >> endobj 4275 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 195.944 522 201.722] /A << /S /GoTo /D (42) >> >> endobj 4276 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 185.331 522 191.11] /A << /S /GoTo /D (79) >> >> endobj 4277 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 172.726 522 180.497] /A << /S /GoTo /D (42) >> >> endobj 4278 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 162.113 522 169.884] /A << /S /GoTo /D (80) >> >> endobj 4279 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 153.493 522 159.271] /A << /S /GoTo /D (81) >> >> endobj 4280 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 142.88 522 148.658] /A << /S /GoTo /D (96) >> >> endobj 4281 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 132.267 522 138.045] /A << /S /GoTo /D (115) >> >> endobj 4282 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 121.654 522 127.433] /A << /S /GoTo /D (75) >> >> endobj 4283 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 109.298 487.698 116.82] /A << /S /GoTo /D (70) >> >> endobj 4284 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 109.298 502.545 116.82] /A << /S /GoTo /D (81) >> >> endobj 4285 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 109.298 522 116.82] /A << /S /GoTo /D (226) >> >> endobj 4286 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 100.429 522 106.207] /A << /S /GoTo /D (42) >> >> endobj 4287 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 88.072 507.153 95.594] /A << /S /GoTo /D (10) >> >> endobj 4288 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 88.072 522 95.594] /A << /S /GoTo /D (21) >> >> endobj 4289 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 79.203 522 84.981] /A << /S /GoTo /D (79) >> >> endobj 4299 0 obj << /D [4297 0 R /XYZ 90 720 null] >> endobj 4296 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4400 0 obj << /Length 3944 /Filter /FlateDecode >> stream x[)6o@/6WC*<P`HcȧϜsQOK#ڧBV^WfF]?uU0F$}wO>W%"޽I&uul/o1o|WV9_Z]Yd5c% =QS;ЏttE 74 =lWN8ڱ~ ЫD-] ؐ! $dԎQi2W] ɰ ՝{; yAdzh+ (pNlCyxp %CcLA6)'8A 'ֽ%fh97%|sI .Y$pⵈa][ޫ;W54l~)e`"j ut-,jp=]F N cbź?^d81(*gw`Ad96`ÆU"J ;tX+7wYM9OcŮ&)v@+v"jj؍tt-v,jp=]F F }zϿE-;8# Jކ @0d1DH]KQϩvݥe"Ӎ90KL:B5()TZy^fq1,j04+h ˑ1&-S=(4ޚh!4@0,Ce XA#&[s;F рfUrh B㝉-ȹCh@49݆HAcI&14j04>(u94b[JShI6fz M6$N"˙ӃZӟwL":L$:L{ּ{yAO^Fc^QSY|Fd /m|mRԡC'"j?t2r脕E Wu5y{~dy\l'|^hNyk^38Vk0]% @ N vgONk,>^[zWvG{1k0>^H(!CLwG9kc`thS.g:RlLR8Li^=Y3ӦC,=H1]I!04z6fz M6KP3)bUJ2C=x^O34o%  ʘoOcv_>;xKLO$o'LqPs 6և(L"?]ǝ)[(r>h4 r e9`Cauݫҭy/%>L.m,Ӓ|A !.%M2h_R 䬏-j0=6Ah!sV|agoh C u V5o ut,j0uKtI6/ 0cwJRǠ4%@ ډB:E .)M.Ba $@ TDL<;OC '/?p:ylܴ&"Ӏ(GVDZ)-!?NB^!9c`h (AdDy1)yU4ARcIFk4"@!a@˛ /s~zN.5zGQ$2_+},V姛ӿff<{E+佐wMvsd*+X&,]%p5pZoD[,Yڐ569c`hR ARDEZF. W'=| uJݕWAG@n C M 0ԯKr>Zk֥ԥT6H_LeI~]ju9bk+Y5+p$H`tYN<\1dj0 R )i/-ע{dE9;l2˜Ӱh~*@ljH-u=9M7iWY?#AgIKT"jzҚ3?M VRQ $/wfkˡe]A IJ uB%RZǥ/Dh `âD)Tbg)nC"̏aSilJ.6@I+񭩼ω24x$Z%[LJZX[q[ffG{rZٙg=v$3F(L>9I?i6֝^JV|/dO YX/XXR 4Z9E Rh!na)X&Oɇ-:>e~h۞/CI`tb"ԏaSil6@)/dګor2m&/d%!@Q -$կHxߐ569c`h% E)lQQ3+wˡ> .` (V$u< ]&m'6&g~ Lc$ߡ( c(xxƯ<K\JUF2zx_Q׭<r]9^YCH@($(#azr޲w嘒L.llԲK ФAJ}b>`:JBη$7H&47ϡ9i\2iǝxghoɡ~+9q{'·2};_W1(j0Mtt}&Rꃡ:|:çձS OЦC OHQ $GBʅud.2|Y+"5."F4)bRDY;|}}xx}:W7nj|%ZFX6]BZ& gvKW C endstream endobj 4399 0 obj << /Type /Page /Contents 4400 0 R /Resources 4398 0 R /MediaBox [0 0 612 792] /Parent 4402 0 R /Annots [ 4290 0 R 4291 0 R 4292 0 R 4293 0 R 4294 0 R 4295 0 R 4300 0 R 4301 0 R 4302 0 R 4303 0 R 4304 0 R 4305 0 R 4306 0 R 4307 0 R 4308 0 R 4309 0 R 4310 0 R 4311 0 R 4312 0 R 4313 0 R 4314 0 R 4315 0 R 4316 0 R 4317 0 R 4318 0 R 4319 0 R 4320 0 R 4321 0 R 4322 0 R 4323 0 R 4324 0 R 4325 0 R 4326 0 R 4327 0 R 4328 0 R 4329 0 R 4330 0 R 4331 0 R 4332 0 R 4333 0 R 4334 0 R 4335 0 R 4336 0 R 4337 0 R 4338 0 R 4339 0 R 4340 0 R 4341 0 R 4342 0 R 4343 0 R 4344 0 R 4345 0 R 4346 0 R 4347 0 R 4348 0 R 4349 0 R 4350 0 R 4351 0 R 4352 0 R 4353 0 R 4354 0 R 4355 0 R 4356 0 R 4357 0 R 4358 0 R 4359 0 R 4360 0 R 4361 0 R 4362 0 R 4363 0 R 4364 0 R 4365 0 R 4366 0 R 4367 0 R 4368 0 R 4369 0 R 4370 0 R 4371 0 R 4372 0 R 4373 0 R 4374 0 R 4375 0 R 4376 0 R 4377 0 R 4378 0 R 4379 0 R 4380 0 R 4381 0 R 4382 0 R 4383 0 R 4384 0 R 4385 0 R 4386 0 R 4387 0 R 4388 0 R 4389 0 R 4390 0 R 4391 0 R 4392 0 R 4393 0 R 4394 0 R 4395 0 R ] >> endobj 4290 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 682.142 282.182 689.913] /A << /S /GoTo /D (10) >> >> endobj 4291 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 682.142 297.029 689.913] /A << /S /GoTo /D (21) >> >> endobj 4292 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 673.598 297.029 679.377] /A << /S /GoTo /D (15) >> >> endobj 4293 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 663.062 297.029 668.84] /A << /S /GoTo /D (84) >> >> endobj 4294 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 652.526 297.029 658.304] /A << /S /GoTo /D (17) >> >> endobj 4295 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 639.997 297.029 647.768] /A << /S /GoTo /D (94) >> >> endobj 4300 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 631.454 297.029 637.232] /A << /S /GoTo /D (94) >> >> endobj 4301 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 620.917 297.029 626.696] /A << /S /GoTo /D (70) >> >> endobj 4302 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 608.638 282.182 616.159] /A << /S /GoTo /D (10) >> >> endobj 4303 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 608.638 297.029 616.159] /A << /S /GoTo /D (21) >> >> endobj 4304 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 598.101 282.182 605.623] /A << /S /GoTo /D (49) >> >> endobj 4305 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 598.101 297.029 605.623] /A << /S /GoTo /D (57) >> >> endobj 4306 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 587.316 277.574 595.087] /A << /S /GoTo /D (63) >> >> endobj 4307 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 587.316 297.029 595.087] /A << /S /GoTo /D (185) >> >> endobj 4308 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 576.78 297.029 584.551] /A << /S /GoTo /D (61) >> >> endobj 4309 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 568.236 297.029 574.015] /A << /S /GoTo /D (7) >> >> endobj 4310 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 555.708 297.029 563.478] /A << /S /GoTo /D (73) >> >> endobj 4311 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 545.171 297.029 552.942] /A << /S /GoTo /D (80) >> >> endobj 4312 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 534.884 277.574 542.406] /A << /S /GoTo /D (16) >> >> endobj 4313 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 534.884 297.029 542.406] /A << /S /GoTo /D (116) >> >> endobj 4314 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 524.348 277.574 531.87] /A << /S /GoTo /D (40) >> >> endobj 4315 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 524.348 297.029 531.87] /A << /S /GoTo /D (131) >> >> endobj 4316 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 515.555 297.029 521.334] /A << /S /GoTo /D (95) >> >> endobj 4317 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 505.019 297.029 510.797] /A << /S /GoTo /D (20) >> >> endobj 4318 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 494.483 297.029 500.261] /A << /S /GoTo /D (7) >> >> endobj 4319 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 483.947 297.029 489.725] /A << /S /GoTo /D (115) >> >> endobj 4320 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 473.411 297.029 479.189] /A << /S /GoTo /D (9) >> >> endobj 4321 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 461.131 277.574 468.653] /A << /S /GoTo /D (47) >> >> endobj 4322 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 461.131 297.029 468.653] /A << /S /GoTo /D (115) >> >> endobj 4323 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 452.338 297.029 458.117] /A << /S /GoTo /D (9) >> >> endobj 4324 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 440.059 277.574 447.58] /A << /S /GoTo /D (47) >> >> endobj 4325 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 440.059 297.029 447.58] /A << /S /GoTo /D (115) >> >> endobj 4326 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 430.519 297.029 437.492] /A << /S /GoTo /D (80) >> >> endobj 4327 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 420.73 297.029 426.508] /A << /S /GoTo /D (97) >> >> endobj 4328 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 410.193 297.029 415.972] /A << /S /GoTo /D (72) >> >> endobj 4329 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 399.657 297.029 405.436] /A << /S /GoTo /D (33) >> >> endobj 4330 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 389.121 297.029 394.899] /A << /S /GoTo /D (72) >> >> endobj 4331 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 378.585 297.029 384.363] /A << /S /GoTo /D (29) >> >> endobj 4332 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 368.049 297.029 373.827] /A << /S /GoTo /D (31) >> >> endobj 4333 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 357.512 297.029 363.291] /A << /S /GoTo /D (88) >> >> endobj 4334 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 346.976 297.029 352.755] /A << /S /GoTo /D (33) >> >> endobj 4335 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 336.44 297.029 342.218] /A << /S /GoTo /D (41) >> >> endobj 4336 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 325.904 297.029 331.682] /A << /S /GoTo /D (45) >> >> endobj 4337 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 315.368 297.029 321.146] /A << /S /GoTo /D (95) >> >> endobj 4338 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 303.586 297.029 310.61] /A << /S /GoTo /D (85) >> >> endobj 4339 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 294.295 297.029 300.074] /A << /S /GoTo /D (97) >> >> endobj 4340 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 283.759 297.029 289.537] /A << /S /GoTo /D (96) >> >> endobj 4341 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [253.511 271.479 262.727 279.001] /A << /S /GoTo /D (70) >> >> endobj 4342 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 271.479 277.574 279.001] /A << /S /GoTo /D (81) >> >> endobj 4343 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 271.479 297.029 279.001] /A << /S /GoTo /D (226) >> >> endobj 4344 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 262.687 297.029 268.465] /A << /S /GoTo /D (33) >> >> endobj 4345 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 252.15 297.029 257.929] /A << /S /GoTo /D (31) >> >> endobj 4346 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 241.614 297.029 247.393] /A << /S /GoTo /D (88) >> >> endobj 4347 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 231.078 297.029 236.856] /A << /S /GoTo /D (33) >> >> endobj 4348 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 220.542 297.029 226.32] /A << /S /GoTo /D (47) >> >> endobj 4349 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 210.006 297.029 215.784] /A << /S /GoTo /D (95) >> >> endobj 4350 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 199.47 297.029 205.248] /A << /S /GoTo /D (49) >> >> endobj 4351 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 188.933 297.029 194.712] /A << /S /GoTo /D (7) >> >> endobj 4352 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 178.397 297.029 184.175] /A << /S /GoTo /D (8) >> >> endobj 4353 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 165.868 297.029 173.639] /A << /S /GoTo /D (204) >> >> endobj 4354 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 157.325 297.029 163.103] /A << /S /GoTo /D (74) >> >> endobj 4355 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 145.045 277.574 152.567] /A << /S /GoTo /D (31) >> >> endobj 4356 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 145.045 297.029 152.567] /A << /S /GoTo /D (114) >> >> endobj 4357 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 136.252 297.029 142.031] /A << /S /GoTo /D (119) >> >> endobj 4358 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 125.716 297.029 131.494] /A << /S /GoTo /D (123) >> >> endobj 4359 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 115.18 297.029 120.958] /A << /S /GoTo /D (11) >> >> endobj 4360 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 104.644 297.029 110.422] /A << /S /GoTo /D (11) >> >> endobj 4361 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 94.108 297.029 99.886] /A << /S /GoTo /D (11) >> >> endobj 4362 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 81.579 297.029 89.35] /A << /S /GoTo /D (10) >> >> endobj 4363 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 670.146 522 675.925] /A << /S /GoTo /D (112) >> >> endobj 4364 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 659.649 522 665.427] /A << /S /GoTo /D (113) >> >> endobj 4365 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 617.538 522 623.317] /A << /S /GoTo /D (68) >> >> endobj 4366 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 607.041 522 612.819] /A << /S /GoTo /D (114) >> >> endobj 4367 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 564.93 522 570.708] /A << /S /GoTo /D (112) >> >> endobj 4368 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 554.433 522 560.211] /A << /S /GoTo /D (112) >> >> endobj 4369 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 510.329 502.545 518.1] /A << /S /GoTo /D (68) >> >> endobj 4370 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 510.329 522 518.1] /A << /S /GoTo /D (114) >> >> endobj 4371 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 501.824 522 507.603] /A << /S /GoTo /D (114) >> >> endobj 4372 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 459.714 522 465.492] /A << /S /GoTo /D (119) >> >> endobj 4373 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 417.603 522 423.381] /A << /S /GoTo /D (119) >> >> endobj 4374 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 407.105 522 412.884] /A << /S /GoTo /D (117) >> >> endobj 4375 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 363.002 522 370.773] /A << /S /GoTo /D (113) >> >> endobj 4376 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 352.754 502.545 360.275] /A << /S /GoTo /D (113) >> >> endobj 4377 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 352.754 522 360.275] /A << /S /GoTo /D (117) >> >> endobj 4378 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 310.389 522 316.167] /A << /S /GoTo /D (117) >> >> endobj 4379 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 299.891 522 305.67] /A << /S /GoTo /D (77) >> >> endobj 4380 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 289.394 522 295.172] /A << /S /GoTo /D (77) >> >> endobj 4381 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 247.283 522 253.061] /A << /S /GoTo /D (113) >> >> endobj 4382 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 236.786 522 242.564] /A << /S /GoTo /D (112) >> >> endobj 4383 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 194.675 522 200.453] /A << /S /GoTo /D (117) >> >> endobj 4384 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 184.177 522 189.956] /A << /S /GoTo /D (119) >> >> endobj 4385 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 173.68 522 179.458] /A << /S /GoTo /D (117) >> >> endobj 4386 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 163.183 522 168.961] /A << /S /GoTo /D (117) >> >> endobj 4387 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 150.693 522 158.463] /A << /S /GoTo /D (117) >> >> endobj 4388 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 142.188 522 147.966] /A << /S /GoTo /D (20) >> >> endobj 4389 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 129.947 507.153 137.469] /A << /S /GoTo /D (14) >> >> endobj 4390 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 129.947 522 137.469] /A << /S /GoTo /D (20) >> >> endobj 4391 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 121.193 522 126.971] /A << /S /GoTo /D (32) >> >> endobj 4392 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 110.695 522 116.474] /A << /S /GoTo /D (204) >> >> endobj 4393 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 100.198 522 105.976] /A << /S /GoTo /D (20) >> >> endobj 4394 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 87.708 522 95.479] /A << /S /GoTo /D (12) >> >> endobj 4395 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 77.21 522 84.981] /A << /S /GoTo /D (12) >> >> endobj 4401 0 obj << /D [4399 0 R /XYZ 90 720 null] >> endobj 4398 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R /F58 1759 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4541 0 obj << /Length 4796 /Filter /FlateDecode >> stream xK|reg I%,, @%<›oXV[\UIfzZj˶6ykֻ>{it_`pݿӓڦM 'Ǘ/'~G??9=.,f^:1[~wږNi7/wWXj[A~>TO1-zj{Ϙ2k` l/;Ӂ^OͫlduR'9vʆ|G`*7myY۝'Qz5@\ ' 4`VvxԒ 3)f3,[5E2tcr^q1'9'Hĉjl Y/Ӄ$e3G%%^䐸B$N, ZI19K2qO,.laƓkZu4ŘzA]x&d'~8⫏/~|?$Y͛e)qd .toPK0R<%YxK/nd31yiDw#1y7SIeF7Bh.8YجE\u>Iyڲ޺-Rc0jL`L 'ƀ.Rv7^i-^yqCiλ^=8YU{qsUVaʋ]<5LV vE,Ӫ0mGvHNW>|ER ;5~WSu^ҏeyb{vw ;$N/P1i+W;"OVb4e5kwD1p}D+W;"Bk͋"<,yES܉/j#"9,SMY鰦 |Ѧb4bjGD˪L$!FS^rGyܼuBF\1lKBf편6tBF\툺<= ļ4+wDE\eE!GU?RF3;1yx\kU+;屵zέU\ŘfkM,&Rj,].qSPVzTYm䈪ދ"ECӆAo*&=L98 Lв5I H´) {?ieH jGlWaYǗ:ZJL^Nv!/'W;;Sլu:|Վ$4kw/brr#+ 1uxY]ˆ;rwx!K2Yc:|x<ۗyV~{a {VŘۅH̋]c4E=lJtAjnD-1_ٿ3Z6Ϲ͘#/7qh$)DP<#cv.!ٖvRd2m0tCu^=Ʒ:^ZH1 kن#H vf0rsFq!miB@Ƿ G-mZ-_C&t:yLtG G.sUDأܢ8QnVv9Grs[f6CnЉrX=yImŧi a Xڻ#ǀϦ$ ;g3EVC:,s;+l|WkU(J}~7އ8;+ ʶ4UIjnRU)jiZAG^L1.@I_041;y6[zQؒM<62E"Vi3Yee & bL3<%)jPK8ˤylƫ^4N0&[9Uu5 bRUmbE/sGx:)/ v簽Ѽy:ҰѰGYEF[^9$vL'tUDcܔ82^1 !q(R 6/xL 妼!Ri^`uxARm^&ח ^nKr/Ř携Q$EW/ܒ4"^1KC(JڼZz}lrS^x)4/0DE)^T?+=o/o^nKr/ŘZ_( j8W> endobj 4396 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 682.142 297.029 689.913] /A << /S /GoTo /D (12) >> >> endobj 4397 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 671.676 297.029 679.446] /A << /S /GoTo /D (12) >> >> endobj 4403 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 663.202 297.029 668.98] /A << /S /GoTo /D (10) >> >> endobj 4404 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [262.727 650.992 267.335 658.514] /A << /S /GoTo /D (9) >> >> endobj 4405 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 650.992 282.182 658.514] /A << /S /GoTo /D (14) >> >> endobj 4406 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 650.992 297.029 658.514] /A << /S /GoTo /D (20) >> >> endobj 4407 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 642.269 297.029 648.047] /A << /S /GoTo /D (117) >> >> endobj 4408 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 631.803 297.029 637.581] /A << /S /GoTo /D (9) >> >> endobj 4409 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 621.336 297.029 627.115] /A << /S /GoTo /D (14) >> >> endobj 4410 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 609.127 282.182 616.648] /A << /S /GoTo /D (21) >> >> endobj 4411 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 609.127 297.029 616.648] /A << /S /GoTo /D (85) >> >> endobj 4412 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [262.727 598.66 267.335 606.182] /A << /S /GoTo /D (9) >> >> endobj 4413 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 598.66 282.182 606.182] /A << /S /GoTo /D (14) >> >> endobj 4414 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 598.66 297.029 606.182] /A << /S /GoTo /D (20) >> >> endobj 4415 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 588.194 282.182 595.716] /A << /S /GoTo /D (10) >> >> endobj 4416 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 588.194 297.029 595.716] /A << /S /GoTo /D (20) >> >> endobj 4417 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 579.471 297.029 585.249] /A << /S /GoTo /D (32) >> >> endobj 4418 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [243.272 567.261 252.488 574.783] /A << /S /GoTo /D (10) >> >> endobj 4419 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [258.119 567.261 267.335 574.783] /A << /S /GoTo /D (14) >> >> endobj 4420 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 567.261 282.182 574.783] /A << /S /GoTo /D (20) >> >> endobj 4421 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 567.261 297.029 574.783] /A << /S /GoTo /D (74) >> >> endobj 4422 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [277.574 556.795 282.182 564.317] /A << /S /GoTo /D (9) >> >> endobj 4423 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 556.795 297.029 564.317] /A << /S /GoTo /D (14) >> >> endobj 4424 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 548.072 297.029 553.85] /A << /S /GoTo /D (57) >> >> endobj 4425 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [243.272 535.862 252.488 543.384] /A << /S /GoTo /D (10) >> >> endobj 4426 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [258.119 535.862 267.335 543.384] /A << /S /GoTo /D (14) >> >> endobj 4427 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 535.862 282.182 543.384] /A << /S /GoTo /D (20) >> >> endobj 4428 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 535.862 297.029 543.384] /A << /S /GoTo /D (74) >> >> endobj 4429 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 525.396 282.182 532.917] /A << /S /GoTo /D (10) >> >> endobj 4430 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 525.396 297.029 532.917] /A << /S /GoTo /D (20) >> >> endobj 4431 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 516.673 297.029 522.451] /A << /S /GoTo /D (32) >> >> endobj 4432 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 506.206 297.029 511.985] /A << /S /GoTo /D (32) >> >> endobj 4433 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [238.664 493.997 247.88 501.518] /A << /S /GoTo /D (48) >> >> endobj 4434 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [253.511 493.997 262.727 501.518] /A << /S /GoTo /D (58) >> >> endobj 4435 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 493.997 277.574 501.518] /A << /S /GoTo /D (63) >> >> endobj 4436 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 493.997 297.029 501.518] /A << /S /GoTo /D (206) >> >> endobj 4437 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 483.53 282.182 491.052] /A << /S /GoTo /D (14) >> >> endobj 4438 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 483.53 297.029 491.052] /A << /S /GoTo /D (20) >> >> endobj 4439 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 474.807 297.029 480.586] /A << /S /GoTo /D (32) >> >> endobj 4440 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 464.341 297.029 470.119] /A << /S /GoTo /D (74) >> >> endobj 4441 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 451.882 297.029 459.653] /A << /S /GoTo /D (99) >> >> endobj 4442 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [258.119 441.665 267.335 449.187] /A << /S /GoTo /D (17) >> >> endobj 4443 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 441.665 282.182 449.187] /A << /S /GoTo /D (42) >> >> endobj 4444 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 441.665 297.029 449.187] /A << /S /GoTo /D (74) >> >> endobj 4445 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [253.511 431.199 262.727 438.72] /A << /S /GoTo /D (17) >> >> endobj 4446 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 431.199 277.574 438.72] /A << /S /GoTo /D (42) >> >> endobj 4447 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 431.199 297.029 438.72] /A << /S /GoTo /D (112) >> >> endobj 4448 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 420.732 277.574 428.254] /A << /S /GoTo /D (42) >> >> endobj 4449 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 420.732 297.029 428.254] /A << /S /GoTo /D (112) >> >> endobj 4450 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 376.851 277.574 384.373] /A << /S /GoTo /D (68) >> >> endobj 4451 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 376.851 297.029 384.373] /A << /S /GoTo /D (111) >> >> endobj 4452 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 334.713 297.029 340.491] /A << /S /GoTo /D (112) >> >> endobj 4453 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 324.247 297.029 330.025] /A << /S /GoTo /D (117) >> >> endobj 4454 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 280.37 277.574 288.141] /A << /S /GoTo /D (68) >> >> endobj 4455 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 280.37 297.029 288.141] /A << /S /GoTo /D (111) >> >> endobj 4456 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 271.897 297.029 277.675] /A << /S /GoTo /D (116) >> >> endobj 4457 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 228.02 297.029 235.791] /A << /S /GoTo /D (68) >> >> endobj 4458 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 217.554 297.029 225.325] /A << /S /GoTo /D (120) >> >> endobj 4459 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.904 173.673 258.119 181.194] /A << /S /GoTo /D (68) >> >> endobj 4460 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 173.673 277.574 181.194] /A << /S /GoTo /D (102) >> >> endobj 4461 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 173.673 297.029 181.194] /A << /S /GoTo /D (114) >> >> endobj 4462 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 164.95 297.029 170.728] /A << /S /GoTo /D (113) >> >> endobj 4463 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 154.483 297.029 160.262] /A << /S /GoTo /D (20) >> >> endobj 4464 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 144.017 297.029 149.795] /A << /S /GoTo /D (42) >> >> endobj 4465 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [253.511 131.807 262.727 139.329] /A << /S /GoTo /D (60) >> >> endobj 4466 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 131.807 277.574 139.329] /A << /S /GoTo /D (74) >> >> endobj 4467 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 131.807 297.029 139.329] /A << /S /GoTo /D (112) >> >> endobj 4468 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 89.669 297.029 95.448] /A << /S /GoTo /D (114) >> >> endobj 4469 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 79.203 297.029 84.981] /A << /S /GoTo /D (119) >> >> endobj 4470 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 682.391 507.153 689.913] /A << /S /GoTo /D (14) >> >> endobj 4471 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 682.391 522 689.913] /A << /S /GoTo /D (32) >> >> endobj 4472 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 673.44 522 679.218] /A << /S /GoTo /D (54) >> >> endobj 4473 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 661.001 487.698 668.523] /A << /S /GoTo /D (72) >> >> endobj 4474 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 661.001 502.545 668.523] /A << /S /GoTo /D (74) >> >> endobj 4475 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 661.001 522 668.523] /A << /S /GoTo /D (116) >> >> endobj 4476 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [408.856 650.306 418.071 657.828] /A << /S /GoTo /D (15) >> >> endobj 4477 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [423.703 650.306 432.918 657.828] /A << /S /GoTo /D (32) >> >> endobj 4478 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.55 650.306 447.765 657.828] /A << /S /GoTo /D (45) >> >> endobj 4479 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [453.397 650.306 462.612 657.828] /A << /S /GoTo /D (47) >> >> endobj 4480 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [468.244 650.306 477.459 657.828] /A << /S /GoTo /D (63) >> >> endobj 4481 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [483.091 650.306 492.306 657.828] /A << /S /GoTo /D (68) >> >> endobj 4482 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 650.306 507.153 657.828] /A << /S /GoTo /D (72) >> >> endobj 4483 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 650.306 522 657.828] /A << /S /GoTo /D (74) >> >> endobj 4484 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 641.355 522 647.133] /A << /S /GoTo /D (81) >> >> endobj 4485 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 630.66 522 636.438] /A << /S /GoTo /D (116) >> >> endobj 4486 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 619.965 522 625.743] /A << /S /GoTo /D (69) >> >> endobj 4487 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 609.27 522 615.048] /A << /S /GoTo /D (46) >> >> endobj 4488 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 598.575 522 604.353] /A << /S /GoTo /D (69) >> >> endobj 4489 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 587.133 522 594.107] /A << /S /GoTo /D (80) >> >> endobj 4490 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 577.185 522 582.963] /A << /S /GoTo /D (21) >> >> endobj 4491 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [408.856 564.747 418.071 572.268] /A << /S /GoTo /D (15) >> >> endobj 4492 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [423.703 564.747 432.918 572.268] /A << /S /GoTo /D (32) >> >> endobj 4493 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [438.55 564.747 447.765 572.268] /A << /S /GoTo /D (45) >> >> endobj 4494 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [453.397 564.747 462.612 572.268] /A << /S /GoTo /D (47) >> >> endobj 4495 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [468.244 564.747 477.459 572.268] /A << /S /GoTo /D (63) >> >> endobj 4496 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [483.091 564.747 492.306 572.268] /A << /S /GoTo /D (68) >> >> endobj 4497 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 564.747 507.153 572.268] /A << /S /GoTo /D (72) >> >> endobj 4498 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 564.747 522 572.268] /A << /S /GoTo /D (74) >> >> endobj 4499 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 555.795 522 561.573] /A << /S /GoTo /D (81) >> >> endobj 4500 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 545.1 522 550.878] /A << /S /GoTo /D (116) >> >> endobj 4501 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 534.405 522 540.183] /A << /S /GoTo /D (7) >> >> endobj 4502 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 523.71 522 529.489] /A << /S /GoTo /D (20) >> >> endobj 4503 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 513.015 522 518.794] /A << /S /GoTo /D (32) >> >> endobj 4504 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 502.32 522 508.099] /A << /S /GoTo /D (54) >> >> endobj 4505 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 489.882 487.698 497.404] /A << /S /GoTo /D (72) >> >> endobj 4506 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 489.882 502.545 497.404] /A << /S /GoTo /D (74) >> >> endobj 4507 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 489.882 522 497.404] /A << /S /GoTo /D (116) >> >> endobj 4508 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 479.187 502.545 486.709] /A << /S /GoTo /D (60) >> >> endobj 4509 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 479.187 522 486.709] /A << /S /GoTo /D (112) >> >> endobj 4510 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 435.38 522 441.159] /A << /S /GoTo /D (115) >> >> endobj 4511 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 424.685 522 430.464] /A << /S /GoTo /D (116) >> >> endobj 4512 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 413.99 522 419.769] /A << /S /GoTo /D (6) >> >> endobj 4513 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 403.296 522 409.074] /A << /S /GoTo /D (9) >> >> endobj 4514 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 392.601 522 398.379] /A << /S /GoTo /D (14) >> >> endobj 4515 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [459.028 380.162 468.244 387.684] /A << /S /GoTo /D (31) >> >> endobj 4516 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [473.875 380.162 483.091 387.684] /A << /S /GoTo /D (60) >> >> endobj 4517 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 380.162 502.545 387.684] /A << /S /GoTo /D (112) >> >> endobj 4518 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 380.162 522 387.684] /A << /S /GoTo /D (135) >> >> endobj 4519 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 336.356 522 342.134] /A << /S /GoTo /D (117) >> >> endobj 4520 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 325.661 522 331.439] /A << /S /GoTo /D (117) >> >> endobj 4521 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 282.108 522 287.886] /A << /S /GoTo /D (68) >> >> endobj 4522 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 270.666 522 277.64] /A << /S /GoTo /D (113) >> >> endobj 4523 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 260.718 522 266.496] /A << /S /GoTo /D (113) >> >> endobj 4524 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 250.023 522 255.802] /A << /S /GoTo /D (113) >> >> endobj 4525 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 239.328 522 245.107] /A << /S /GoTo /D (113) >> >> endobj 4526 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 228.633 522 234.412] /A << /S /GoTo /D (112) >> >> endobj 4527 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 217.938 522 223.717] /A << /S /GoTo /D (114) >> >> endobj 4528 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 207.243 522 213.022] /A << /S /GoTo /D (113) >> >> endobj 4529 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 196.548 522 202.327] /A << /S /GoTo /D (113) >> >> endobj 4530 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 185.853 522 191.632] /A << /S /GoTo /D (112) >> >> endobj 4531 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 175.159 522 180.937] /A << /S /GoTo /D (113) >> >> endobj 4532 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 164.464 522 170.242] /A << /S /GoTo /D (112) >> >> endobj 4533 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 153.769 522 159.547] /A << /S /GoTo /D (112) >> >> endobj 4534 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 143.074 522 148.852] /A << /S /GoTo /D (112) >> >> endobj 4535 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 130.386 522 138.157] /A << /S /GoTo /D (112) >> >> endobj 4536 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 86.58 522 92.358] /A << /S /GoTo /D (112) >> >> endobj 4542 0 obj << /D [4540 0 R /XYZ 90 720 null] >> endobj 4539 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4546 0 obj << /Length 330 /Filter /FlateDecode >> stream x=O0 >یHt51VB¯*vX2ıu|T&]Q 2CkCK'@guS-W&jZ=.6fz[eс;83 iJ<)VhX ȶϹoS+F ؖI@]O 0ƕ^=7*ؿ}aR[ do H" mvVUM'JdfуXYdM떋`n]s9qsR"d̙DvXM&ϋb308rb#3xtA19Cz}5~ endstream endobj 4545 0 obj << /Type /Page /Contents 4546 0 R /Resources 4544 0 R /MediaBox [0 0 612 792] /Parent 4402 0 R /Annots [ 4537 0 R 4538 0 R 4543 0 R ] >> endobj 4537 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 670.014 297.029 675.792] /A << /S /GoTo /D (120) >> >> endobj 4538 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 659.452 297.029 665.23] /A << /S /GoTo /D (117) >> >> endobj 4543 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 656.257 522 662.035] /A << /S /GoTo /D (116) >> >> endobj 4547 0 obj << /D [4545 0 R /XYZ 90 720 null] >> endobj 4544 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4665 0 obj << /Length 4282 /Filter /FlateDecode >> stream xr^vWgTHM,dKCQH F2mKNMʹsŃ{>7GTM$J˛x/r)_~LXTq%oK|n|$4~;~i_4Ms8M?~O&"mqGM eHU"=^Osy5n5yY!t1GB CAmKX=0L1"]RiA.?mw9BXE@f H0t,sT-8W(G]aA]yA9%dHGR&Q9sx( QOevl'|O!2mDg%xvGcZ݂S d1'j%D},I~8,[u@;e\\B獘M9135Q2#>f,V̢v{y̔UP|T%PQKoO SPAN c{i*N}Zq!wou4(-qȨلjxJ}@砆YL(`*aK:$\H4>,saL0Dq">NéD ׫]t?QC}%33]?ju͎PDlؘ`̆cC}l,IM3gFcrJ7)Sa9K!UB2fxx%c#>zgUs=YZsfսD^U cd1$j">L))DUV.ԁիn,̙0wa K! j%VsVaTL0BmQ!>*CEdFޛnu OtZ?> FOǢAOcߩnI:ǹPܨz퉈3[ܟJ S;|a23ce\|? ꙯~ïD]Q?fLY>%a/Y7p0(R2#[LR-b:cibZ<%3douj,l9I0|̭ n̤>6&KD 5=zn_F߷r&)=A}[+>;w}F"ݒt|Oz|`̀Dt()2f|Q `̀y X ~uqs'SRaLXx$c8HT}@.)3p SVaDL0FBmDŒxnE"o5x<1b ){ҳ-*-o{2kb4eO%{-3{7y:Ln4(B_u$}[\ YK|α v/pbgRI>?Wj4Sf\2JDOl{j{qj*}&[O@"-)z=PZ?>zvZODo}{$mM<_g$!Q]5#$" YR,JR7=%e%ʷ< A!3 * `R< =*ɿV 1aTM0JFT(jIT =DfFvXs 1b fӈbC Dx '}g1r%s"2K#(H2ݬ^8U\kZӔn'AQ)"PYRcw)fރYkΙa3ܩ(fIRĕm7OaXw/W eJV)?2l4id0E[Ré󥻘kW90V&E,)UZp׉ƯC/^Мs0Q"`,E|_KT`l9 #%S3w"auQ{Ew4c 0CE K!3 ڴhĜUPPFDKGg"f^t|ꚶkh>/ɔUP~G$D!X$ILybÜg$ ! QQɖ!]F>6{f%WFF=yH+wAƾل90d&3VE,)[CzƄQ5*uk=R%%S͔HV6s_PKN.!4! RQВRC8n}C5cEÀ&7ktK-:F$uպ cj"S-%D9YLtS* ƕ"x?U,*Imd_Tn+YQPOOD+Kg5|*a0L0A jTxIMe`<7!^g9 "%S.|з|r6& T`΋"OUʔ:n-gLq1 q!%s3$2CόSQ-ś^"w \h;4c.+3".ϥHDQKk6!s`1j 梨%]f@WG6M>=ݱvO"i4G0OK3S(cgc¨`L:"ZR"xZR36eBԘAA@a8ϓ> endobj 4548 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 630.613 297.029 638.384] /A << /S /GoTo /D (32) >> >> endobj 4549 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 587.604 297.029 593.382] /A << /S /GoTo /D (12) >> >> endobj 4550 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [282.182 542.856 286.789 550.627] /A << /S /GoTo /D (3) >> >> endobj 4551 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 542.856 297.029 550.627] /A << /S /GoTo /D (5) >> >> endobj 4552 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 532.271 297.029 540.042] /A << /S /GoTo /D (116) >> >> endobj 4553 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 521.685 297.029 529.456] /A << /S /GoTo /D (115) >> >> endobj 4554 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 502.631 297.029 508.409] /A << /S /GoTo /D (115) >> >> endobj 4555 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 490.053 297.029 497.824] /A << /S /GoTo /D (115) >> >> endobj 4556 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 479.467 297.029 487.238] /A << /S /GoTo /D (113) >> >> endobj 4557 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 468.881 297.029 476.652] /A << /S /GoTo /D (113) >> >> endobj 4558 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 458.296 297.029 466.067] /A << /S /GoTo /D (118) >> >> endobj 4559 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 447.71 297.029 455.481] /A << /S /GoTo /D (117) >> >> endobj 4560 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 437.124 297.029 444.895] /A << /S /GoTo /D (117) >> >> endobj 4561 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 426.539 297.029 434.309] /A << /S /GoTo /D (118) >> >> endobj 4562 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 415.953 297.029 423.724] /A << /S /GoTo /D (117) >> >> endobj 4563 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 405.367 297.029 413.138] /A << /S /GoTo /D (117) >> >> endobj 4564 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 394.782 297.029 402.552] /A << /S /GoTo /D (117) >> >> endobj 4565 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 384.196 297.029 391.967] /A << /S /GoTo /D (117) >> >> endobj 4566 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 373.61 297.029 381.381] /A << /S /GoTo /D (117) >> >> endobj 4567 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 363.024 297.029 370.795] /A << /S /GoTo /D (117) >> >> endobj 4568 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 352.439 277.574 360.21] /A << /S /GoTo /D (113) >> >> endobj 4569 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 352.439 297.029 360.21] /A << /S /GoTo /D (117) >> >> endobj 4570 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 341.853 297.029 349.624] /A << /S /GoTo /D (117) >> >> endobj 4571 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 331.267 297.029 339.038] /A << /S /GoTo /D (117) >> >> endobj 4572 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 320.682 297.029 328.452] /A << /S /GoTo /D (113) >> >> endobj 4573 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 310.096 297.029 317.867] /A << /S /GoTo /D (114) >> >> endobj 4574 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 299.51 297.029 307.281] /A << /S /GoTo /D (125) >> >> endobj 4575 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 288.925 297.029 296.695] /A << /S /GoTo /D (119) >> >> endobj 4576 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 278.339 297.029 286.11] /A << /S /GoTo /D (117) >> >> endobj 4577 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 267.753 297.029 275.524] /A << /S /GoTo /D (112) >> >> endobj 4578 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 257.167 297.029 264.938] /A << /S /GoTo /D (116) >> >> endobj 4579 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 246.582 297.029 254.353] /A << /S /GoTo /D (119) >> >> endobj 4580 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 235.996 297.029 243.767] /A << /S /GoTo /D (116) >> >> endobj 4581 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 225.41 297.029 233.181] /A << /S /GoTo /D (116) >> >> endobj 4582 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 214.825 297.029 222.595] /A << /S /GoTo /D (117) >> >> endobj 4583 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 204.239 297.029 212.01] /A << /S /GoTo /D (117) >> >> endobj 4584 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 193.653 297.029 201.424] /A << /S /GoTo /D (113) >> >> endobj 4585 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 183.067 297.029 190.838] /A << /S /GoTo /D (114) >> >> endobj 4586 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 172.482 297.029 180.253] /A << /S /GoTo /D (120) >> >> endobj 4587 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 161.896 297.029 169.667] /A << /S /GoTo /D (98) >> >> endobj 4588 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 151.31 297.029 159.081] /A << /S /GoTo /D (110) >> >> endobj 4589 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 140.725 297.029 148.496] /A << /S /GoTo /D (114) >> >> endobj 4590 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 130.139 297.029 137.91] /A << /S /GoTo /D (110) >> >> endobj 4591 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 119.553 297.029 127.324] /A << /S /GoTo /D (115) >> >> endobj 4592 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 108.968 297.029 116.738] /A << /S /GoTo /D (109) >> >> endobj 4593 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 98.382 297.029 106.153] /A << /S /GoTo /D (114) >> >> endobj 4594 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 87.796 297.029 95.567] /A << /S /GoTo /D (110) >> >> endobj 4595 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 77.21 297.029 84.981] /A << /S /GoTo /D (114) >> >> endobj 4596 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 644.782 522 652.553] /A << /S /GoTo /D (110) >> >> endobj 4597 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 634.271 522 642.042] /A << /S /GoTo /D (115) >> >> endobj 4598 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 623.761 522 631.532] /A << /S /GoTo /D (110) >> >> endobj 4599 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 613.25 522 621.021] /A << /S /GoTo /D (115) >> >> endobj 4600 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 602.74 522 610.511] /A << /S /GoTo /D (112) >> >> endobj 4601 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 592.229 522 600] /A << /S /GoTo /D (112) >> >> endobj 4602 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 581.719 522 589.489] /A << /S /GoTo /D (112) >> >> endobj 4603 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 571.208 522 578.979] /A << /S /GoTo /D (119) >> >> endobj 4604 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 560.697 522 568.468] /A << /S /GoTo /D (113) >> >> endobj 4605 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 550.187 522 557.958] /A << /S /GoTo /D (113) >> >> endobj 4606 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 539.676 522 547.447] /A << /S /GoTo /D (119) >> >> endobj 4607 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 529.166 522 536.936] /A << /S /GoTo /D (115) >> >> endobj 4608 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 518.655 522 526.426] /A << /S /GoTo /D (112) >> >> endobj 4609 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 508.144 522 515.915] /A << /S /GoTo /D (111) >> >> endobj 4610 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 497.634 522 505.405] /A << /S /GoTo /D (100) >> >> endobj 4611 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 487.123 522 494.894] /A << /S /GoTo /D (106) >> >> endobj 4612 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 476.613 522 484.384] /A << /S /GoTo /D (113) >> >> endobj 4613 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 466.102 522 473.873] /A << /S /GoTo /D (113) >> >> endobj 4614 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 455.592 522 463.362] /A << /S /GoTo /D (112) >> >> endobj 4615 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 445.081 522 452.852] /A << /S /GoTo /D (111) >> >> endobj 4616 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 434.57 522 442.341] /A << /S /GoTo /D (112) >> >> endobj 4617 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 424.06 522 431.831] /A << /S /GoTo /D (119) >> >> endobj 4618 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 413.549 522 421.32] /A << /S /GoTo /D (111) >> >> endobj 4619 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 403.039 522 410.809] /A << /S /GoTo /D (116) >> >> endobj 4620 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 392.528 522 400.299] /A << /S /GoTo /D (116) >> >> endobj 4621 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 382.017 522 389.788] /A << /S /GoTo /D (120) >> >> endobj 4622 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 371.507 522 379.278] /A << /S /GoTo /D (112) >> >> endobj 4623 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 360.996 522 368.767] /A << /S /GoTo /D (114) >> >> endobj 4624 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 350.486 522 358.257] /A << /S /GoTo /D (115) >> >> endobj 4625 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 339.975 522 347.746] /A << /S /GoTo /D (99) >> >> endobj 4626 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 329.465 522 337.235] /A << /S /GoTo /D (114) >> >> endobj 4627 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 318.954 522 326.725] /A << /S /GoTo /D (112) >> >> endobj 4628 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 308.443 522 316.214] /A << /S /GoTo /D (116) >> >> endobj 4629 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 297.933 522 305.704] /A << /S /GoTo /D (99) >> >> endobj 4630 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 287.422 522 295.193] /A << /S /GoTo /D (116) >> >> endobj 4631 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 276.912 522 284.682] /A << /S /GoTo /D (112) >> >> endobj 4632 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 266.401 522 274.172] /A << /S /GoTo /D (116) >> >> endobj 4633 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 255.89 522 263.661] /A << /S /GoTo /D (116) >> >> endobj 4634 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 245.38 522 253.151] /A << /S /GoTo /D (119) >> >> endobj 4635 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 234.869 522 242.64] /A << /S /GoTo /D (112) >> >> endobj 4636 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 224.359 522 232.129] /A << /S /GoTo /D (115) >> >> endobj 4637 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 213.848 522 221.619] /A << /S /GoTo /D (115) >> >> endobj 4638 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 203.337 522 211.108] /A << /S /GoTo /D (115) >> >> endobj 4639 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 192.827 522 200.598] /A << /S /GoTo /D (115) >> >> endobj 4640 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 182.316 522 190.087] /A << /S /GoTo /D (113) >> >> endobj 4641 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 171.806 522 179.577] /A << /S /GoTo /D (114) >> >> endobj 4642 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 161.295 522 169.066] /A << /S /GoTo /D (112) >> >> endobj 4643 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 150.785 522 158.555] /A << /S /GoTo /D (115) >> >> endobj 4644 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 140.274 522 148.045] /A << /S /GoTo /D (112) >> >> endobj 4645 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 129.763 522 137.534] /A << /S /GoTo /D (119) >> >> endobj 4646 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 119.253 522 127.024] /A << /S /GoTo /D (123) >> >> endobj 4647 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 108.742 522 116.513] /A << /S /GoTo /D (112) >> >> endobj 4648 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 98.232 522 106.002] /A << /S /GoTo /D (96) >> >> endobj 4649 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 87.721 522 95.492] /A << /S /GoTo /D (95) >> >> endobj 4650 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 77.21 522 84.981] /A << /S /GoTo /D (97) >> >> endobj 528 0 obj << /D [4664 0 R /XYZ 90 720 null] >> endobj 1738 0 obj << /D [4664 0 R /XYZ 90 720 null] >> endobj 4663 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4781 0 obj << /Length 5066 /Filter /FlateDecode >> stream x˒:)#8˙^ڻY$aIH,k~H $Lv*I^e;qT,.?vo!ퟒ! ?n'*䧯O?ݮޯ$Y}П7_o/%Q&͗_Y(W#wRTy2ӗW뎏I}Zm8t~(K_DA?%?ɟ/d*3R3gDr!Bd3& l <'S j!쳘] =    2O()BlŠQgcrLBEdeY99+#I/+%T27=Ől$`\材R!Re!]7ۦoz%Z4fSРh@7 )z2)҂c훛dvIt9'< s!^K97>} =& ֥8.' m !Hуgm<ݡ %ҴI^O^ㅆ^*S$ޤ'ͮ^A, h͔(6 epgulǦ,E.Vrl7>'qH]0@ tCH( 2g hMbXlzp`4(p E+*pjdU_cy6Эb=6&EIiOͱрe{Kr`ͱ<+^YTN4Dj)ҹ9Au!f?qh]0(@7D)zx3#z>Skrs)^eWU+%sll}^g'J BPiСhLGj[d&UR5 Y5RK@ E*D] 8.' !H#fC-87t7Oo?TQq<hS QA2!̣rjC;ic5{q7}z(A0 |ǒ,+0fߟ7ñ;45ּ4Ly*& IJ!E ;z1y GŦ* @X*@8DIzTr94R9GCB5޺a>L k& Xװ|:bY<,Db5QVSe<(!˟FѣdT:jXvˀ`h8sE^5ȍhi?VH +G&= A/nRTYR3|bۮb'֙8. .I=Z>ciDR]u! !B[ "E,UzԬ% 뺿z&= A/  C:{h6Pit׿jJu4C64eC)K mmoy%E_ᐃ7nV 8TvU_5ݙyuC`v@ ]ö~e8'qH]0@ tCH47F:δ}\uLKq]0 tC!CnefO-#AMwX+K,%[vc r3* aGv]7K`vG|F\y֜ BDAJUƇج~<{iWlűq<V AU`>77lJo.C…=\i{bB9'< 7'ⷔ0Gr'к`-4<"EWVFTZSx [j%俺2O/;f}_8׊P7;V|/2p{>\jj_,W S|Ez`DƛyX=1=6Zg`,:"EɄxhD_?@|wЉ@7;R|+Խ(&7˳P9*SÈ聿k8{X!1y<|ꆈ"E"7^7n;o'vQ̹o_?}̻ٯP7>RܗRz>KBJH]ݬ/ .PetC)zaE쾻֙8. AX #S湹+{Ƒ'$f7nYPs(w7'i*.-mX$I-B^WTՙ(⣁h#U52SlK'|21sfo4YT ѸUdf\f@Btfȇb3AR@4\pM@0 bhr)`GP6-%acyV$YMRYˆո=|XmcyVB& )ѬƫC4W΋г;]R22& xk· P"z}"xt`KhXt8f)I0$STP?NIK!"*SOdl867;NE|nSX\u"(h@h5.𓵽kgQW85  AGs 49xH7"Q/yvv M~MY WhPhe)L^AJZ9ljA0>.8,#Q9ݛZ,<2B\u|3g@#ha6u<{ dY|f 8(FB4x@{h ^v!Ś4g qFB4g#}Г=o9U[ǤI Yĵ.ogJ#(DR4]%e~܌]mߞWc9P.D8۬rm. &8llCRmJT6nc]kIOs<(I<\vPǻ(Qj05) C9@#hi&r±\.g]wOJq~`OFO H?4]{hmq*)a<J+#r;ٌ4ń2e23x28#,Ӓ''kYiy`D!)Pfp2{h+akRas(GIфNj?Lt0@I~mxcc_XJi89srs^׌f\Gs>X6_ӅҨoN}/+ȏPhJC Kɦ4 )AJ(!%x#DdǛ~D~WuS=6w#!IӦ:#eBu@TYi}fXcي:squm֟2B ɱEJ$[Y.G8o^뗆:$F{L|JIT5#(`R4bݺqQ^SCV Jrj+!/QV2=oZBTY9&|p%65^*/YJZeA]KTP?9V1 k,zY֐$[L0Epqo28t\9cb RBR9T 30p#|{ziq03`1v3D t)CoF[ۚyw3a֞(. ݦA*! -v_]HQuۅԶ7Ymk& 8;F.Gl endstream endobj 4780 0 obj << /Type /Page /Contents 4781 0 R /Resources 4779 0 R /MediaBox [0 0 612 792] /Parent 4402 0 R /Annots [ 4651 0 R 4652 0 R 4653 0 R 4654 0 R 4655 0 R 4656 0 R 4657 0 R 4658 0 R 4659 0 R 4660 0 R 4661 0 R 4662 0 R 4666 0 R 4667 0 R 4668 0 R 4669 0 R 4670 0 R 4671 0 R 4672 0 R 4673 0 R 4674 0 R 4675 0 R 4676 0 R 4677 0 R 4678 0 R 4679 0 R 4680 0 R 4681 0 R 4682 0 R 4683 0 R 4684 0 R 4685 0 R 4686 0 R 4687 0 R 4688 0 R 4689 0 R 4690 0 R 4691 0 R 4692 0 R 4693 0 R 4694 0 R 4695 0 R 4696 0 R 4697 0 R 4698 0 R 4699 0 R 4700 0 R 4701 0 R 4702 0 R 4703 0 R 4704 0 R 4705 0 R 4706 0 R 4707 0 R 4708 0 R 4709 0 R 4710 0 R 4711 0 R 4712 0 R 4713 0 R 4714 0 R 4715 0 R 4716 0 R 4717 0 R 4718 0 R 4719 0 R 4720 0 R 4721 0 R 4722 0 R 4723 0 R 4724 0 R 4725 0 R 4726 0 R 4727 0 R 4728 0 R 4729 0 R 4730 0 R 4731 0 R 4732 0 R 4733 0 R 4734 0 R 4735 0 R 4736 0 R 4737 0 R 4738 0 R 4739 0 R 4740 0 R 4741 0 R 4742 0 R 4743 0 R 4744 0 R 4745 0 R 4746 0 R 4747 0 R 4748 0 R 4749 0 R 4750 0 R 4751 0 R 4752 0 R 4753 0 R 4754 0 R 4755 0 R 4756 0 R 4757 0 R 4758 0 R 4759 0 R 4760 0 R 4761 0 R 4762 0 R 4763 0 R 4764 0 R 4765 0 R 4766 0 R 4767 0 R 4768 0 R 4769 0 R 4770 0 R 4771 0 R 4772 0 R 4773 0 R ] >> endobj 4651 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 682.142 297.029 689.913] /A << /S /GoTo /D (140) >> >> endobj 4652 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 671.529 297.029 679.3] /A << /S /GoTo /D (140) >> >> endobj 4653 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 660.916 277.574 668.687] /A << /S /GoTo /D (93) >> >> endobj 4654 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 660.916 297.029 668.687] /A << /S /GoTo /D (116) >> >> endobj 4655 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 650.303 297.029 658.074] /A << /S /GoTo /D (93) >> >> endobj 4656 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 639.691 297.029 647.461] /A << /S /GoTo /D (93) >> >> endobj 4657 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 629.078 297.029 636.849] /A << /S /GoTo /D (93) >> >> endobj 4658 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 618.465 297.029 626.236] /A << /S /GoTo /D (93) >> >> endobj 4659 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 607.852 297.029 615.623] /A << /S /GoTo /D (93) >> >> endobj 4660 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 597.239 297.029 605.01] /A << /S /GoTo /D (93) >> >> endobj 4661 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 586.626 297.029 594.397] /A << /S /GoTo /D (93) >> >> endobj 4662 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 576.014 297.029 583.784] /A << /S /GoTo /D (93) >> >> endobj 4666 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 565.401 297.029 573.172] /A << /S /GoTo /D (93) >> >> endobj 4667 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 554.788 297.029 562.559] /A << /S /GoTo /D (94) >> >> endobj 4668 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 544.175 297.029 551.946] /A << /S /GoTo /D (93) >> >> endobj 4669 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 533.562 297.029 541.333] /A << /S /GoTo /D (8) >> >> endobj 4670 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 522.949 297.029 530.72] /A << /S /GoTo /D (141) >> >> endobj 4671 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 512.337 297.029 520.107] /A << /S /GoTo /D (141) >> >> endobj 4672 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 501.724 297.029 509.495] /A << /S /GoTo /D (141) >> >> endobj 4673 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 491.111 297.029 498.882] /A << /S /GoTo /D (143) >> >> endobj 4674 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 480.498 297.029 488.269] /A << /S /GoTo /D (231) >> >> endobj 4675 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 469.885 297.029 477.656] /A << /S /GoTo /D (119) >> >> endobj 4676 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [267.335 459.272 271.942 467.043] /A << /S /GoTo /D (3) >> >> endobj 4677 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [277.574 459.272 282.182 467.043] /A << /S /GoTo /D (5) >> >> endobj 4678 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 459.272 297.029 467.043] /A << /S /GoTo /D (87) >> >> endobj 4679 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 448.66 297.029 456.43] /A << /S /GoTo /D (87) >> >> endobj 4680 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 438.047 297.029 445.818] /A << /S /GoTo /D (88) >> >> endobj 4681 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 427.434 297.029 435.205] /A << /S /GoTo /D (87) >> >> endobj 4682 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 416.821 297.029 424.592] /A << /S /GoTo /D (77) >> >> endobj 4683 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 406.208 297.029 413.979] /A << /S /GoTo /D (77) >> >> endobj 4684 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 395.595 297.029 403.366] /A << /S /GoTo /D (77) >> >> endobj 4685 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 384.983 297.029 392.753] /A << /S /GoTo /D (80) >> >> endobj 4686 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 374.37 297.029 382.141] /A << /S /GoTo /D (80) >> >> endobj 4687 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 363.757 297.029 371.528] /A << /S /GoTo /D (80) >> >> endobj 4688 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 353.144 297.029 360.915] /A << /S /GoTo /D (79) >> >> endobj 4689 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 342.531 297.029 350.302] /A << /S /GoTo /D (79) >> >> endobj 4690 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 331.918 297.029 339.689] /A << /S /GoTo /D (80) >> >> endobj 4691 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 321.306 297.029 329.076] /A << /S /GoTo /D (84) >> >> endobj 4692 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 310.693 297.029 318.464] /A << /S /GoTo /D (79) >> >> endobj 4693 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 300.08 297.029 307.851] /A << /S /GoTo /D (81) >> >> endobj 4694 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 289.467 297.029 297.686] /A << /S /GoTo /D (80) >> >> endobj 4695 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 278.854 297.029 286.625] /A << /S /GoTo /D (81) >> >> endobj 4696 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 268.241 297.029 276.012] /A << /S /GoTo /D (10) >> >> endobj 4697 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 257.629 297.029 265.399] /A << /S /GoTo /D (68) >> >> endobj 4698 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 247.016 297.029 254.787] /A << /S /GoTo /D (69) >> >> endobj 4699 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 236.403 297.029 244.174] /A << /S /GoTo /D (69) >> >> endobj 4700 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 225.79 297.029 233.561] /A << /S /GoTo /D (68) >> >> endobj 4701 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 215.177 297.029 222.948] /A << /S /GoTo /D (69) >> >> endobj 4702 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 204.564 297.029 212.335] /A << /S /GoTo /D (69) >> >> endobj 4703 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 193.952 297.029 201.722] /A << /S /GoTo /D (68) >> >> endobj 4704 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 183.339 297.029 191.11] /A << /S /GoTo /D (68) >> >> endobj 4705 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 172.726 297.029 180.497] /A << /S /GoTo /D (68) >> >> endobj 4706 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 162.113 297.029 169.884] /A << /S /GoTo /D (68) >> >> endobj 4707 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 151.5 297.029 159.271] /A << /S /GoTo /D (68) >> >> endobj 4708 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 140.887 297.029 148.658] /A << /S /GoTo /D (68) >> >> endobj 4709 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 130.275 297.029 138.045] /A << /S /GoTo /D (69) >> >> endobj 4710 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 119.662 297.029 127.433] /A << /S /GoTo /D (64) >> >> endobj 4711 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 109.049 297.029 116.82] /A << /S /GoTo /D (95) >> >> endobj 4712 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 98.436 297.029 106.207] /A << /S /GoTo /D (10) >> >> endobj 4713 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 87.823 297.029 95.594] /A << /S /GoTo /D (7) >> >> endobj 4714 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 77.21 297.029 84.981] /A << /S /GoTo /D (10) >> >> endobj 4715 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 682.142 522 689.913] /A << /S /GoTo /D (6) >> >> endobj 4716 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 671.524 522 679.294] /A << /S /GoTo /D (9) >> >> endobj 4717 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 660.905 522 668.676] /A << /S /GoTo /D (14) >> >> endobj 4718 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 650.287 522 658.058] /A << /S /GoTo /D (98) >> >> endobj 4719 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 639.669 522 647.439] /A << /S /GoTo /D (72) >> >> endobj 4720 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 629.05 487.698 636.821] /A << /S /GoTo /D (70) >> >> endobj 4721 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 629.05 502.545 636.821] /A << /S /GoTo /D (81) >> >> endobj 4722 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 629.05 522 636.821] /A << /S /GoTo /D (226) >> >> endobj 4723 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 618.432 522 626.203] /A << /S /GoTo /D (76) >> >> endobj 4724 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 607.813 522 615.584] /A << /S /GoTo /D (64) >> >> endobj 4725 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 597.195 522 604.966] /A << /S /GoTo /D (64) >> >> endobj 4726 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 586.577 522 594.348] /A << /S /GoTo /D (233) >> >> endobj 4727 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 575.958 522 583.729] /A << /S /GoTo /D (10) >> >> endobj 4728 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 565.34 522 573.111] /A << /S /GoTo /D (9) >> >> endobj 4729 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 554.722 522 562.492] /A << /S /GoTo /D (9) >> >> endobj 4730 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 544.103 522 551.874] /A << /S /GoTo /D (216) >> >> endobj 4731 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 533.485 522 541.256] /A << /S /GoTo /D (231) >> >> endobj 4732 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 522.867 522 530.637] /A << /S /GoTo /D (231) >> >> endobj 4733 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 512.248 522 520.019] /A << /S /GoTo /D (231) >> >> endobj 4734 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 501.63 522 509.401] /A << /S /GoTo /D (231) >> >> endobj 4735 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 482.543 522 488.322] /A << /S /GoTo /D (231) >> >> endobj 4736 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 469.932 522 477.703] /A << /S /GoTo /D (231) >> >> endobj 4737 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 459.314 522 467.085] /A << /S /GoTo /D (231) >> >> endobj 4738 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 448.696 522 456.466] /A << /S /GoTo /D (231) >> >> endobj 4739 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 429.609 522 435.387] /A << /S /GoTo /D (231) >> >> endobj 4740 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 416.998 522 424.769] /A << /S /GoTo /D (73) >> >> endobj 4741 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 406.38 522 414.151] /A << /S /GoTo /D (80) >> >> endobj 4742 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 395.761 522 403.532] /A << /S /GoTo /D (136) >> >> endobj 4743 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 385.143 522 392.914] /A << /S /GoTo /D (94) >> >> endobj 4744 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 374.525 522 382.295] /A << /S /GoTo /D (94) >> >> endobj 4745 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 363.906 522 371.677] /A << /S /GoTo /D (97) >> >> endobj 4746 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 353.288 522 361.059] /A << /S /GoTo /D (8) >> >> endobj 4747 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 342.67 522 350.44] /A << /S /GoTo /D (7) >> >> endobj 4748 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 332.051 522 339.822] /A << /S /GoTo /D (8) >> >> endobj 4749 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 321.433 522 329.204] /A << /S /GoTo /D (72) >> >> endobj 4750 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 310.814 522 318.585] /A << /S /GoTo /D (144) >> >> endobj 4751 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 300.196 522 307.967] /A << /S /GoTo /D (144) >> >> endobj 4752 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 289.578 522 297.349] /A << /S /GoTo /D (167) >> >> endobj 4753 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 278.959 522 286.73] /A << /S /GoTo /D (167) >> >> endobj 4754 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 268.341 522 276.112] /A << /S /GoTo /D (167) >> >> endobj 4755 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 257.723 522 265.493] /A << /S /GoTo /D (70) >> >> endobj 4756 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 247.104 522 254.875] /A << /S /GoTo /D (9) >> >> endobj 4757 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 236.486 522 244.257] /A << /S /GoTo /D (14) >> >> endobj 4758 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 225.868 522 233.638] /A << /S /GoTo /D (85) >> >> endobj 4759 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 215.249 522 223.02] /A << /S /GoTo /D (9) >> >> endobj 4760 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 204.631 522 212.402] /A << /S /GoTo /D (41) >> >> endobj 4761 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 194.012 522 201.783] /A << /S /GoTo /D (231) >> >> endobj 4762 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 183.394 522 191.165] /A << /S /GoTo /D (9) >> >> endobj 4763 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 172.776 507.153 180.547] /A << /S /GoTo /D (46) >> >> endobj 4764 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 172.776 522 180.547] /A << /S /GoTo /D (57) >> >> endobj 4765 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 162.157 522 169.928] /A << /S /GoTo /D (9) >> >> endobj 4766 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 151.539 522 159.31] /A << /S /GoTo /D (3) >> >> endobj 4767 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 140.921 522 148.691] /A << /S /GoTo /D (150) >> >> endobj 4768 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 130.302 522 138.073] /A << /S /GoTo /D (150) >> >> endobj 4769 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 119.684 522 127.455] /A << /S /GoTo /D (150) >> >> endobj 4770 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 109.066 522 116.836] /A << /S /GoTo /D (30) >> >> endobj 4771 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 98.447 522 106.218] /A << /S /GoTo /D (30) >> >> endobj 4772 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 87.829 522 95.6] /A << /S /GoTo /D (30) >> >> endobj 4773 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 77.21 522 84.981] /A << /S /GoTo /D (232) >> >> endobj 4782 0 obj << /D [4780 0 R /XYZ 90 720 null] >> endobj 4779 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4911 0 obj << /Length 5097 /Filter /FlateDecode >> stream xM۸+|BMTrٷT3V(^ 4wIڵ ~O޼+TYnfϿ! "˯wF՛:~m(M/Ӯ?'ӾC,{Ň}/h*Iʏ6F8?[T]U4?Z=Esԏ5{EFYlS?2IV_o/0aTUeFqUR gPiN%^b#<ɜxIxԭKIU]Tt{{ocEۧF[q,iI "f(2DfdLpzھue~ʤ#AUheT,!"@zR>/{8" ,VE2C5}_fe`,\H]Utڔk_ݹpFe/L7:  Xf"^rd>;^sÀ`Dd.b*:6@Go/mG4ۯEb<"qJ6iơc#N<yˆ+yu4+䱴' y+uiVA*r.9K0>Kl(X . Lh4'dSn!CCl})p8SiB!Ks}|wЧneK#p$l`yR3K"t2.~"HgM`)'UR!e9ҬNU!oU= ]4 BJE+( *Q8A5_,,IR,#"ˋ`Z!ee*?}mw迹4~oy7 j@WU 96".Tp.wodlUuY⟤`PC ,Ne4/n龬}x蔹}軘fMf$,HT\ G"4ߨ"Oaxm /6joa8Eg¦h,OєIat'ʒ.n"@؀򀥊E?f+~/M7Co QE yTð=[/w/*w%5Lj,KM&uԬ":Hm6ʯ]*#HLA`QU#eIi] )HZ.p<G\`A,.Vb]Zg%e"q#dzU'7a& RXRe%Eʬv.]לp͈q7̭ be*T&DFTXIJ8-e*%w4e:J 612* b@ # Tv°+;|ޤLF N`:`Q dU׃yY*Tv^b4Ԭ`u©l-ޟ?N_cޟviv)2Uu=O1;7 qQ.Rb\0Օk|u3:n}tۮ/u#)a$lLjH萈UT9%1=O^,㥂וExYEf V&f{^%Blr-aWc#vP?#RVM0ʇ n4t ͍ ZXqN5c zpFvAafݼR&c&=s.M$XWBM"ެ~j(}w}ʴ6mGﳉq,h^\. Z`qJܷв +PIJUҏʌT9qs(TGcťyANJ$Xaxm WReYɚCt8Ə9nJ>5+F$V 8˯P{>\ZШ8V,vuͶo4]=vqXW\4L3,kF[..ҌUt4;-\4L3,kF[{]Ri*rͪz(Z}={j|:`wBOƊ6<{*P"PY. Bmjo%AƊc )O(`ʭq2vu4}sl z<{/CꢺV*= :oXh~jΞ$ߔ*Wo(X~PPYPO9u,̑L} %3c|?(p M:hP?㴎>x A0 (@Z9@FO!A2 +4A7h4 8ڪ( dg P#NxH#A@ rxK є֔/}WjQ-b6>.p1ظioOZ!6% ) DP w[h0y| 1O(AM JudEiE7FqOXA VBdŪk* bf !R3遥Ӳg>١ä:2x0sC,2`jԐMƽflgw)"` o}OkعAsF 3nМG{vm#4_xhlggXClk'e6XT¯ņ4v T%}ȩ[ -ê[oFRw`IX.XmOv Z[d`~ Zۯ啯]B<čn =~CL ,%`"JBSBw)MΫar*pU0O!&fE&Jh9ف5W[c 2 endstream endobj 4910 0 obj << /Type /Page /Contents 4911 0 R /Resources 4909 0 R /MediaBox [0 0 612 792] /Parent 4402 0 R /Annots [ 4774 0 R 4775 0 R 4776 0 R 4777 0 R 4778 0 R 4783 0 R 4784 0 R 4785 0 R 4786 0 R 4787 0 R 4788 0 R 4789 0 R 4790 0 R 4791 0 R 4792 0 R 4793 0 R 4794 0 R 4795 0 R 4796 0 R 4797 0 R 4798 0 R 4799 0 R 4800 0 R 4801 0 R 4802 0 R 4803 0 R 4804 0 R 4805 0 R 4806 0 R 4807 0 R 4808 0 R 4809 0 R 4810 0 R 4811 0 R 4812 0 R 4813 0 R 4814 0 R 4815 0 R 4816 0 R 4817 0 R 4818 0 R 4819 0 R 4820 0 R 4821 0 R 4822 0 R 4823 0 R 4824 0 R 4825 0 R 4826 0 R 4827 0 R 4828 0 R 4829 0 R 4830 0 R 4831 0 R 4832 0 R 4833 0 R 4834 0 R 4835 0 R 4836 0 R 4837 0 R 4838 0 R 4839 0 R 4840 0 R 4841 0 R 4842 0 R 4843 0 R 4844 0 R 4845 0 R 4846 0 R 4847 0 R 4848 0 R 4849 0 R 4850 0 R 4851 0 R 4852 0 R 4853 0 R 4854 0 R 4855 0 R 4856 0 R 4857 0 R 4858 0 R 4859 0 R 4860 0 R 4861 0 R 4862 0 R 4863 0 R 4864 0 R 4865 0 R 4866 0 R 4867 0 R 4868 0 R 4869 0 R 4870 0 R 4871 0 R 4872 0 R 4873 0 R 4874 0 R 4875 0 R 4876 0 R 4877 0 R 4878 0 R 4879 0 R 4880 0 R 4881 0 R 4882 0 R 4883 0 R 4884 0 R 4885 0 R 4886 0 R 4887 0 R 4888 0 R 4889 0 R 4890 0 R 4891 0 R 4892 0 R 4893 0 R 4894 0 R 4895 0 R 4896 0 R 4897 0 R 4898 0 R 4899 0 R 4900 0 R 4901 0 R 4902 0 R ] >> endobj 4774 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 682.142 297.029 689.913] /A << /S /GoTo /D (10) >> >> endobj 4775 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 671.529 297.029 679.3] /A << /S /GoTo /D (77) >> >> endobj 4776 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 660.916 297.029 668.687] /A << /S /GoTo /D (42) >> >> endobj 4777 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 650.303 297.029 658.074] /A << /S /GoTo /D (42) >> >> endobj 4778 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 639.691 297.029 647.461] /A << /S /GoTo /D (10) >> >> endobj 4783 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 629.078 297.029 636.849] /A << /S /GoTo /D (61) >> >> endobj 4784 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 618.465 297.029 626.236] /A << /S /GoTo /D (64) >> >> endobj 4785 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 607.852 297.029 615.623] /A << /S /GoTo /D (155) >> >> endobj 4786 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 597.239 297.029 605.01] /A << /S /GoTo /D (155) >> >> endobj 4787 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 586.626 297.029 594.397] /A << /S /GoTo /D (10) >> >> endobj 4788 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 576.014 297.029 583.784] /A << /S /GoTo /D (10) >> >> endobj 4789 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 565.401 297.029 573.172] /A << /S /GoTo /D (11) >> >> endobj 4790 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 554.788 297.029 562.559] /A << /S /GoTo /D (11) >> >> endobj 4791 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 544.175 297.029 551.946] /A << /S /GoTo /D (42) >> >> endobj 4792 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 533.562 297.029 541.333] /A << /S /GoTo /D (12) >> >> endobj 4793 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 522.949 297.029 530.72] /A << /S /GoTo /D (155) >> >> endobj 4794 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 512.337 297.029 520.107] /A << /S /GoTo /D (41) >> >> endobj 4795 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 501.724 297.029 509.495] /A << /S /GoTo /D (72) >> >> endobj 4796 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 491.111 297.029 498.882] /A << /S /GoTo /D (10) >> >> endobj 4797 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 480.498 297.029 488.269] /A << /S /GoTo /D (42) >> >> endobj 4798 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 469.885 277.574 477.656] /A << /S /GoTo /D (54) >> >> endobj 4799 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 469.885 297.029 477.656] /A << /S /GoTo /D (233) >> >> endobj 4800 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 459.272 297.029 467.043] /A << /S /GoTo /D (54) >> >> endobj 4801 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 448.66 297.029 456.43] /A << /S /GoTo /D (54) >> >> endobj 4802 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 438.047 297.029 445.818] /A << /S /GoTo /D (233) >> >> endobj 4803 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 427.434 297.029 435.205] /A << /S /GoTo /D (10) >> >> endobj 4804 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 416.821 297.029 424.592] /A << /S /GoTo /D (63) >> >> endobj 4805 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 406.208 297.029 413.979] /A << /S /GoTo /D (63) >> >> endobj 4806 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 395.595 297.029 403.366] /A << /S /GoTo /D (63) >> >> endobj 4807 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 384.983 297.029 392.753] /A << /S /GoTo /D (177) >> >> endobj 4808 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 374.37 297.029 382.141] /A << /S /GoTo /D (177) >> >> endobj 4809 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 363.757 297.029 371.528] /A << /S /GoTo /D (177) >> >> endobj 4810 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 353.144 297.029 360.915] /A << /S /GoTo /D (177) >> >> endobj 4811 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 342.531 282.182 350.302] /A << /S /GoTo /D (11) >> >> endobj 4812 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 342.531 297.029 350.302] /A << /S /GoTo /D (95) >> >> endobj 4813 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 331.918 297.029 339.689] /A << /S /GoTo /D (95) >> >> endobj 4814 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 321.306 297.029 329.076] /A << /S /GoTo /D (95) >> >> endobj 4815 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 310.693 297.029 318.464] /A << /S /GoTo /D (98) >> >> endobj 4816 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 300.08 297.029 307.851] /A << /S /GoTo /D (7) >> >> endobj 4817 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 289.467 297.029 297.238] /A << /S /GoTo /D (114) >> >> endobj 4818 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 278.854 297.029 286.625] /A << /S /GoTo /D (76) >> >> endobj 4819 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 268.241 297.029 276.012] /A << /S /GoTo /D (106) >> >> endobj 4820 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 257.629 297.029 265.399] /A << /S /GoTo /D (84) >> >> endobj 4821 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 247.016 297.029 254.787] /A << /S /GoTo /D (63) >> >> endobj 4822 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 236.403 297.029 244.174] /A << /S /GoTo /D (8) >> >> endobj 4823 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 225.79 282.182 233.561] /A << /S /GoTo /D (58) >> >> endobj 4824 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 225.79 297.029 233.561] /A << /S /GoTo /D (59) >> >> endobj 4825 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 215.177 297.029 222.948] /A << /S /GoTo /D (45) >> >> endobj 4826 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 204.564 297.029 212.335] /A << /S /GoTo /D (11) >> >> endobj 4827 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 193.952 297.029 201.722] /A << /S /GoTo /D (12) >> >> endobj 4828 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 183.339 297.029 191.11] /A << /S /GoTo /D (99) >> >> endobj 4829 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 172.726 297.029 180.497] /A << /S /GoTo /D (124) >> >> endobj 4830 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [277.574 162.113 282.182 169.884] /A << /S /GoTo /D (3) >> >> endobj 4831 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 162.113 297.029 169.884] /A << /S /GoTo /D (40) >> >> endobj 4832 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 151.5 297.029 159.271] /A << /S /GoTo /D (19) >> >> endobj 4833 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 140.887 297.029 148.658] /A << /S /GoTo /D (20) >> >> endobj 4834 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 130.275 297.029 138.045] /A << /S /GoTo /D (21) >> >> endobj 4835 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 119.662 297.029 127.433] /A << /S /GoTo /D (21) >> >> endobj 4836 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 109.049 297.029 116.82] /A << /S /GoTo /D (19) >> >> endobj 4837 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 98.436 297.029 106.207] /A << /S /GoTo /D (22) >> >> endobj 4838 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 87.823 297.029 95.594] /A << /S /GoTo /D (216) >> >> endobj 4839 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 77.21 297.029 84.981] /A << /S /GoTo /D (21) >> >> endobj 4840 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 682.142 522 689.913] /A << /S /GoTo /D (20) >> >> endobj 4841 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 671.529 522 679.3] /A << /S /GoTo /D (21) >> >> endobj 4842 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 660.916 522 668.687] /A << /S /GoTo /D (31) >> >> endobj 4843 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 650.303 522 658.074] /A << /S /GoTo /D (20) >> >> endobj 4844 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 639.691 507.153 647.461] /A << /S /GoTo /D (29) >> >> endobj 4845 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 639.691 522 647.461] /A << /S /GoTo /D (30) >> >> endobj 4846 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 629.078 522 636.849] /A << /S /GoTo /D (31) >> >> endobj 4847 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 618.465 522 626.236] /A << /S /GoTo /D (22) >> >> endobj 4848 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 607.852 522 615.623] /A << /S /GoTo /D (31) >> >> endobj 4849 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 597.239 522 605.01] /A << /S /GoTo /D (31) >> >> endobj 4850 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 586.626 522 594.397] /A << /S /GoTo /D (32) >> >> endobj 4851 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 576.014 522 583.784] /A << /S /GoTo /D (32) >> >> endobj 4852 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 565.401 522 573.172] /A << /S /GoTo /D (31) >> >> endobj 4853 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 554.788 522 562.559] /A << /S /GoTo /D (32) >> >> endobj 4854 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 544.175 522 551.946] /A << /S /GoTo /D (32) >> >> endobj 4855 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 533.562 522 541.333] /A << /S /GoTo /D (32) >> >> endobj 4856 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 522.949 522 530.72] /A << /S /GoTo /D (32) >> >> endobj 4857 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 512.337 522 520.107] /A << /S /GoTo /D (32) >> >> endobj 4858 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 501.724 522 509.495] /A << /S /GoTo /D (32) >> >> endobj 4859 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 491.111 522 498.882] /A << /S /GoTo /D (31) >> >> endobj 4860 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 480.498 522 488.269] /A << /S /GoTo /D (31) >> >> endobj 4861 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 469.885 522 477.656] /A << /S /GoTo /D (20) >> >> endobj 4862 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 459.272 522 467.043] /A << /S /GoTo /D (20) >> >> endobj 4863 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 448.66 522 456.43] /A << /S /GoTo /D (20) >> >> endobj 4864 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 438.047 522 445.818] /A << /S /GoTo /D (20) >> >> endobj 4865 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 427.434 522 435.205] /A << /S /GoTo /D (33) >> >> endobj 4866 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 416.821 522 424.592] /A << /S /GoTo /D (33) >> >> endobj 4867 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 406.208 522 413.979] /A << /S /GoTo /D (20) >> >> endobj 4868 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 395.595 522 403.366] /A << /S /GoTo /D (20) >> >> endobj 4869 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 384.983 522 392.753] /A << /S /GoTo /D (20) >> >> endobj 4870 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 374.37 522 382.141] /A << /S /GoTo /D (20) >> >> endobj 4871 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 363.757 522 371.528] /A << /S /GoTo /D (20) >> >> endobj 4872 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 353.144 522 360.915] /A << /S /GoTo /D (19) >> >> endobj 4873 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 342.531 522 350.302] /A << /S /GoTo /D (20) >> >> endobj 4874 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 331.918 522 339.689] /A << /S /GoTo /D (21) >> >> endobj 4875 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 321.306 522 329.076] /A << /S /GoTo /D (20) >> >> endobj 4876 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 310.693 522 318.464] /A << /S /GoTo /D (33) >> >> endobj 4877 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 300.08 522 307.851] /A << /S /GoTo /D (33) >> >> endobj 4878 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 289.467 522 297.238] /A << /S /GoTo /D (34) >> >> endobj 4879 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 278.854 522 286.625] /A << /S /GoTo /D (20) >> >> endobj 4880 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 268.241 522 276.012] /A << /S /GoTo /D (21) >> >> endobj 4881 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 257.629 507.153 265.399] /A << /S /GoTo /D (31) >> >> endobj 4882 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 257.629 522 265.399] /A << /S /GoTo /D (32) >> >> endobj 4883 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 247.016 522 254.787] /A << /S /GoTo /D (31) >> >> endobj 4884 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 236.403 522 244.174] /A << /S /GoTo /D (21) >> >> endobj 4885 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 225.79 522 233.561] /A << /S /GoTo /D (61) >> >> endobj 4886 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 215.177 522 222.948] /A << /S /GoTo /D (64) >> >> endobj 4887 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 204.564 502.545 212.335] /A << /S /GoTo /D (65) >> >> endobj 4888 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 204.564 522 212.335] /A << /S /GoTo /D (103) >> >> endobj 4889 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 193.952 522 201.722] /A << /S /GoTo /D (72) >> >> endobj 4890 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 183.339 522 191.11] /A << /S /GoTo /D (72) >> >> endobj 4891 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 172.726 522 180.497] /A << /S /GoTo /D (106) >> >> endobj 4892 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 162.113 522 169.884] /A << /S /GoTo /D (85) >> >> endobj 4893 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 151.5 522 159.271] /A << /S /GoTo /D (85) >> >> endobj 4894 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 140.887 522 148.658] /A << /S /GoTo /D (86) >> >> endobj 4895 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 130.275 522 138.045] /A << /S /GoTo /D (72) >> >> endobj 4896 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 119.662 522 127.433] /A << /S /GoTo /D (72) >> >> endobj 4897 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 109.049 522 116.82] /A << /S /GoTo /D (72) >> >> endobj 4898 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 98.436 522 106.207] /A << /S /GoTo /D (72) >> >> endobj 4899 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 87.823 522 96.042] /A << /S /GoTo /D (80) >> >> endobj 4900 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 77.21 487.698 84.981] /A << /S /GoTo /D (45) >> >> endobj 4901 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 77.21 502.545 84.981] /A << /S /GoTo /D (80) >> >> endobj 4902 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 77.21 522 84.981] /A << /S /GoTo /D (233) >> >> endobj 4912 0 obj << /D [4910 0 R /XYZ 90 720 null] >> endobj 4909 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4932 0 obj << /Length 1342 /Filter /FlateDecode >> stream xKo6^&@R-: 4@EBlːLK˴tE`,Ox]$H?Ӆ"[O$@էϒ.hJ4{mfYn˛s~m? ]lOe|0 q͔ng؅^8]d$WJخLũkMtM$z ?}΀\q2o^ɑp A$,3&z&@ܧ@Jn}XByZgxVzǟ<Ìyڸ`oKS皤,4R,՜(}xXWɲ-VStti*H~xiQ>7M8k`DQ\7qpc0WǻgS }{ 0(DB?'Ѧ.U,m`^I`m b"R"At=(ޮY>TIcc7(c)Riڲj2ٵͮj w^aG㡻Ѵ6e)ܧ7Us9*j;mnn|CY9^Y1J8W^YGJ {f;b ftqc5LpMf4OU^Vu EcysjS Ġ%h|j%DV&eVE6LS #aDQVOilc8Crs0rٙkzwxܿkysgN1\7upM=\f}Wh:x h&jXx00}c;^*'i .q/47 9[g|6y0z(>oGdF$??C;t-p[=wSb{91 Elcƀ&d( `#z$DFRͦ$vmT7 ?94mgE=m,jЋl#*UӨ,wic9q0^%t V*n taf[W]fUc T\q/s6bbᄞNiRCHSXZ kնM|rw\ a<£' c,Hxb'd1`{yy1د/b,R\<H3 Se$MFmj&ͅ#53a%3u 22P wr[B7PʼnPlyԢ! gpv\œ3NU.j|JlAsœG?%ھ`+Cꗺ $^,{"=D5ȫ򾀀PAjn' endstream endobj 4931 0 obj << /Type /Page /Contents 4932 0 R /Resources 4930 0 R /MediaBox [0 0 612 792] /Parent 4934 0 R /Annots [ 4903 0 R 4904 0 R 4905 0 R 4906 0 R 4907 0 R 4908 0 R 4913 0 R 4914 0 R 4915 0 R 4916 0 R 4917 0 R 4918 0 R 4919 0 R 4920 0 R 4921 0 R 4922 0 R 4923 0 R 4924 0 R 4925 0 R 4926 0 R 4927 0 R 4928 0 R 4929 0 R ] >> endobj 4903 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 682.142 277.574 689.913] /A << /S /GoTo /D (46) >> >> endobj 4904 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 682.142 297.029 689.913] /A << /S /GoTo /D (102) >> >> endobj 4905 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 671.676 297.029 679.446] /A << /S /GoTo /D (97) >> >> endobj 4906 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 661.209 297.029 668.98] /A << /S /GoTo /D (56) >> >> endobj 4907 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 650.743 297.029 658.514] /A << /S /GoTo /D (11) >> >> endobj 4908 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 640.277 297.029 648.047] /A << /S /GoTo /D (42) >> >> endobj 4913 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 629.81 282.182 637.581] /A << /S /GoTo /D (49) >> >> endobj 4914 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 629.81 297.029 637.581] /A << /S /GoTo /D (57) >> >> endobj 4915 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 619.344 297.029 627.115] /A << /S /GoTo /D (233) >> >> endobj 4916 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 608.877 297.029 616.648] /A << /S /GoTo /D (75) >> >> endobj 4917 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 598.411 297.029 606.182] /A << /S /GoTo /D (7) >> >> endobj 4918 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 587.945 297.029 595.716] /A << /S /GoTo /D (70) >> >> endobj 4919 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 577.478 297.029 585.249] /A << /S /GoTo /D (57) >> >> endobj 4920 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 567.012 297.029 574.783] /A << /S /GoTo /D (10) >> >> endobj 4921 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 556.546 297.029 564.317] /A << /S /GoTo /D (8) >> >> endobj 4922 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 546.079 297.029 553.85] /A << /S /GoTo /D (8) >> >> endobj 4923 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 535.613 297.029 543.384] /A << /S /GoTo /D (8) >> >> endobj 4924 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 666.407 522 674.177] /A << /S /GoTo /D (63) >> >> endobj 4925 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 655.057 522 662.828] /A << /S /GoTo /D (12) >> >> endobj 4926 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 606.47 522 612.248] /A << /S /GoTo /D (7) >> >> endobj 4927 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 595.12 522 600.898] /A << /S /GoTo /D (7) >> >> endobj 4928 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 583.77 522 589.549] /A << /S /GoTo /D (7) >> >> endobj 4929 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 535.437 522 541.216] /A << /S /GoTo /D (11) >> >> endobj 4933 0 obj << /D [4931 0 R /XYZ 90 720 null] >> endobj 4930 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 5073 0 obj << /Length 5373 /Filter /FlateDecode >> stream x]]or}_GbDRyK{ <ݲ-Qv~}HJdŽ{|/:sd&V2ɥdeR쎿Op] "`_?ǬK~R۪kC%R6}y)nEV|o_gTVh 9}mۗ4oݗ֗_ՏDr۞G=M?VcKQ܏?nN:@0RJE~{LgOZ[#ZLW?Hb_6|O'L&Rb@K2A=Do Β+%S2y*iӡ_kw:R><1o1):t#gHG2H~S2cPKtimktީu]v]s/W?|"VǝYI8IءPbjеhphb.srʁ\1:sCi{թDSGK_cByװ? E|1Fؕr8D+2W:͓.#Z_ t=p s2ιgA{N$cFty3e<ǃӢڟ}Կk7;K\qdTԵ ]u0|󶺓R3ub3"GB.jnԌ$U笔fb<7}oQ}tX#Ve/TIL}aTlƁNII$MYlƁߞuSsW6)R#I$ Tt156fh>E-HHdr=ԧ}T۫>w*X]JmjR1M)3B`C*)Jﮇ'SGNT .^Ӽ0zc^/9I/kA:ԡwJЫŹ/uL ԪrI&T:FU k1UB`Oꅴ\ՠHZMBi#9?,H;?dY0^vTS}N-5=ֻ'tHKY)~_eJ95&L`L"{ȴ!2ժtm2x Du>ͩJot MV߷Z^jR|, z:gjh0F2dp {%$H}p@z,Nˏ"7yMlaw1;/$3B`6*ֳpk]{r_:rH s*#SɂtR),a4l/yCEijՋ1M5ݷz>-HjQrV& [BX?9=6˷4OSӂ1M'ꅴ\kPSya-[NIdC:ITplws48Dʏ}rY\`YqA,q21t2q:A|:`N><'N}-v>I)0cZ9HO9S΂t9 > ŤKY?tf&0cZ3HO3̂t43}Ŗ$)I %a.ƴcU`-)/ikwm]CXW÷,Ո!kj}dEB{ط!]}߼D,uӜ9?jD:?pkk#9q,H'qyٗUk"qBkacB&Jz>-Dw)mpvT\u']L6ș/z={n2'>%ebLgBtD^xL`eGj1 ئa3bL l1 7 -W3@H JFsYN۟bá3I$/۹a϶4 dZuAƳ-Je8?j?Tz~ꒉ2[e2E_39,`LƩ! zʂ[ej,Lp[ B d"%ߞN*&-dc'lc*wAL! MjeY$QKiw87SabLs v+[Iqk!檥ErvDat;>+v^E?<lbol#`o9G PJ  -Y<弜+dp%?Τ(;D}M0v$RVR5IFd3V^H^{Ϲ钜^صC$G'gRzчآ}[i Xjj(% &bG`j\Onh871 @R((% r)!s?t>?CP37ϋf fa1M 9?7@),(0G|+XWqQ0c6 V@hpL}ݷCL1Jb. Ա]aζ4 Lj[)B8(2\ B|oE+1BPBA H-e[¾z|ޒөiA.0&U<.r{]_Ddv7nDgP,a3bOϜ8DZi q!A$JdA"erI.SEIhh(YW=➅O%ZәdlL&'2ɂ3),Pi^j} Rv;<uuzsXS;g_B |C!ŖdR@{ ^n9P&֮7a=y\j' nB endstream endobj 5072 0 obj << /Type /Page /Contents 5073 0 R /Resources 5071 0 R /MediaBox [0 0 612 792] /Parent 4934 0 R /Annots [ 4935 0 R 4936 0 R 4937 0 R 4938 0 R 4939 0 R 4940 0 R 4941 0 R 4942 0 R 4943 0 R 4944 0 R 4945 0 R 4946 0 R 4947 0 R 4948 0 R 4949 0 R 4950 0 R 4951 0 R 4952 0 R 4953 0 R 4954 0 R 4955 0 R 4956 0 R 4957 0 R 4958 0 R 4959 0 R 4960 0 R 4961 0 R 4962 0 R 4963 0 R 4964 0 R 4965 0 R 4966 0 R 4967 0 R 4968 0 R 4969 0 R 4970 0 R 4971 0 R 4972 0 R 4973 0 R 4974 0 R 4975 0 R 4976 0 R 4977 0 R 4978 0 R 4979 0 R 4980 0 R 4981 0 R 4982 0 R 4983 0 R 4984 0 R 4985 0 R 4986 0 R 4987 0 R 4988 0 R 4989 0 R 4990 0 R 4991 0 R 4992 0 R 4993 0 R 4994 0 R 4995 0 R 4996 0 R 4997 0 R 4998 0 R 4999 0 R 5000 0 R 5001 0 R 5002 0 R 5003 0 R 5004 0 R 5005 0 R 5006 0 R 5007 0 R 5008 0 R 5009 0 R 5010 0 R 5011 0 R 5012 0 R 5013 0 R 5014 0 R 5015 0 R 5016 0 R 5017 0 R 5018 0 R 5019 0 R 5020 0 R 5021 0 R 5022 0 R 5023 0 R 5024 0 R 5025 0 R 5026 0 R 5027 0 R 5028 0 R 5029 0 R 5030 0 R 5031 0 R 5032 0 R 5033 0 R 5034 0 R 5035 0 R 5036 0 R 5037 0 R 5038 0 R 5039 0 R 5040 0 R 5041 0 R 5042 0 R 5043 0 R ] >> endobj 4935 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 585.906 297.029 593.676] /A << /S /GoTo /D (135) >> >> endobj 4936 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 575.249 277.574 583.02] /A << /S /GoTo /D (26) >> >> endobj 4937 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 575.249 297.029 583.02] /A << /S /GoTo /D (211) >> >> endobj 4938 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 529.73 297.029 537.5] /A << /S /GoTo /D (123) >> >> endobj 4939 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 484.272 297.029 491.981] /A << /S /GoTo /D (223) >> >> endobj 4940 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 438.753 297.029 446.524] /A << /S /GoTo /D (213) >> >> endobj 4941 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 428.096 297.029 435.867] /A << /S /GoTo /D (123) >> >> endobj 4942 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 417.44 297.029 425.21] /A << /S /GoTo /D (117) >> >> endobj 4943 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 406.783 277.574 414.554] /A << /S /GoTo /D (110) >> >> endobj 4944 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 406.783 297.029 414.554] /A << /S /GoTo /D (115) >> >> endobj 4945 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 396.126 297.029 403.897] /A << /S /GoTo /D (114) >> >> endobj 4946 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 377.001 297.029 382.78] /A << /S /GoTo /D (85) >> >> endobj 4947 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 364.352 297.029 372.123] /A << /S /GoTo /D (115) >> >> endobj 4948 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [226.889 353.696 236.105 361.466] /A << /S /GoTo /D (12) >> >> endobj 4949 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [241.736 353.696 255.559 361.466] /A << /S /GoTo /D (120) >> >> endobj 4950 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [261.191 353.696 275.014 361.466] /A << /S /GoTo /D (121) >> >> endobj 4951 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [280.646 353.696 294.469 361.466] /A << /S /GoTo /D (122) >> >> endobj 4952 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [108.431 345.227 122.254 351.006] /A << /S /GoTo /D (229) >> >> endobj 4953 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 332.578 297.029 340.349] /A << /S /GoTo /D (122) >> >> endobj 4954 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 321.922 297.029 329.692] /A << /S /GoTo /D (119) >> >> endobj 4955 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 311.265 277.574 319.036] /A << /S /GoTo /D (49) >> >> endobj 4956 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 311.265 297.029 319.036] /A << /S /GoTo /D (229) >> >> endobj 4957 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 300.608 297.029 308.379] /A << /S /GoTo /D (114) >> >> endobj 4958 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 289.952 277.574 297.722] /A << /S /GoTo /D (119) >> >> endobj 4959 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 289.952 297.029 297.722] /A << /S /GoTo /D (123) >> >> endobj 4960 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.904 279.295 258.119 287.066] /A << /S /GoTo /D (98) >> >> endobj 4961 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 279.295 277.574 287.066] /A << /S /GoTo /D (108) >> >> endobj 4962 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 279.295 297.029 287.066] /A << /S /GoTo /D (167) >> >> endobj 4963 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 268.638 277.574 276.409] /A << /S /GoTo /D (8) >> >> endobj 4964 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 268.638 297.029 276.409] /A << /S /GoTo /D (229) >> >> endobj 4965 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 257.982 297.029 265.753] /A << /S /GoTo /D (113) >> >> endobj 4966 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 247.325 297.029 255.096] /A << /S /GoTo /D (111) >> >> endobj 4967 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 236.668 297.029 244.439] /A << /S /GoTo /D (111) >> >> endobj 4968 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 226.012 297.029 233.783] /A << /S /GoTo /D (111) >> >> endobj 4969 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 215.355 297.029 223.126] /A << /S /GoTo /D (111) >> >> endobj 4970 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 204.698 297.029 212.469] /A << /S /GoTo /D (100) >> >> endobj 4971 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 194.042 297.029 201.813] /A << /S /GoTo /D (227) >> >> endobj 4972 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 183.385 297.029 191.156] /A << /S /GoTo /D (107) >> >> endobj 4973 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 172.729 277.574 180.499] /A << /S /GoTo /D (110) >> >> endobj 4974 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 172.729 297.029 180.499] /A << /S /GoTo /D (115) >> >> endobj 4975 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 162.072 297.029 169.843] /A << /S /GoTo /D (98) >> >> endobj 4976 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 151.415 277.574 159.186] /A << /S /GoTo /D (116) >> >> endobj 4977 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 151.415 297.029 159.186] /A << /S /GoTo /D (229) >> >> endobj 4978 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 140.759 297.029 148.529] /A << /S /GoTo /D (97) >> >> endobj 4979 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 121.634 297.029 127.412] /A << /S /GoTo /D (75) >> >> endobj 4980 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 108.985 277.574 116.755] /A << /S /GoTo /D (227) >> >> endobj 4981 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 108.985 297.029 116.755] /A << /S /GoTo /D (232) >> >> endobj 4982 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 98.328 297.029 106.099] /A << /S /GoTo /D (227) >> >> endobj 4983 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 79.203 297.029 84.981] /A << /S /GoTo /D (76) >> >> endobj 4984 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 591.752 522 597.53] /A << /S /GoTo /D (78) >> >> endobj 4985 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 579.077 522 586.847] /A << /S /GoTo /D (75) >> >> endobj 4986 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 568.394 522 576.165] /A << /S /GoTo /D (108) >> >> endobj 4987 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 557.711 502.545 565.482] /A << /S /GoTo /D (100) >> >> endobj 4988 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 557.711 522 565.482] /A << /S /GoTo /D (112) >> >> endobj 4989 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 547.028 522 554.799] /A << /S /GoTo /D (100) >> >> endobj 4990 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 536.346 522 544.116] /A << /S /GoTo /D (100) >> >> endobj 4991 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 525.663 522 533.434] /A << /S /GoTo /D (113) >> >> endobj 4992 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 514.98 522 522.751] /A << /S /GoTo /D (114) >> >> endobj 4993 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 504.297 522 512.068] /A << /S /GoTo /D (112) >> >> endobj 4994 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 493.615 522 501.386] /A << /S /GoTo /D (100) >> >> endobj 4995 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 482.932 502.545 490.703] /A << /S /GoTo /D (109) >> >> endobj 4996 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 482.932 522 490.703] /A << /S /GoTo /D (114) >> >> endobj 4997 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 472.249 522 480.02] /A << /S /GoTo /D (107) >> >> endobj 4998 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 453.098 522 458.877] /A << /S /GoTo /D (103) >> >> endobj 4999 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 440.423 502.545 448.194] /A << /S /GoTo /D (100) >> >> endobj 5000 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 440.423 522 448.194] /A << /S /GoTo /D (106) >> >> endobj 5001 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 429.74 502.545 437.511] /A << /S /GoTo /D (108) >> >> endobj 5002 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 429.74 522 437.511] /A << /S /GoTo /D (114) >> >> endobj 5003 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 419.058 522 426.828] /A << /S /GoTo /D (103) >> >> endobj 5004 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 408.375 522 416.146] /A << /S /GoTo /D (103) >> >> endobj 5005 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 397.692 522 405.463] /A << /S /GoTo /D (103) >> >> endobj 5006 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 387.009 522 394.78] /A << /S /GoTo /D (103) >> >> endobj 5007 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 376.327 502.545 384.098] /A << /S /GoTo /D (55) >> >> endobj 5008 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 376.327 522 384.098] /A << /S /GoTo /D (103) >> >> endobj 5009 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 365.644 502.545 373.415] /A << /S /GoTo /D (58) >> >> endobj 5010 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 365.644 522 373.415] /A << /S /GoTo /D (229) >> >> endobj 5011 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 354.961 502.545 362.732] /A << /S /GoTo /D (108) >> >> endobj 5012 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 354.961 522 362.732] /A << /S /GoTo /D (114) >> >> endobj 5013 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 344.279 522 352.049] /A << /S /GoTo /D (98) >> >> endobj 5014 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 333.596 502.545 341.367] /A << /S /GoTo /D (95) >> >> endobj 5015 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 333.596 522 341.367] /A << /S /GoTo /D (115) >> >> endobj 5016 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 322.913 502.545 330.684] /A << /S /GoTo /D (96) >> >> endobj 5017 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 322.913 522 330.684] /A << /S /GoTo /D (208) >> >> endobj 5018 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 312.23 522 320.001] /A << /S /GoTo /D (96) >> >> endobj 5019 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 301.548 522 309.319] /A << /S /GoTo /D (140) >> >> endobj 5020 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 290.865 522 298.636] /A << /S /GoTo /D (92) >> >> endobj 5021 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 280.182 522 287.953] /A << /S /GoTo /D (93) >> >> endobj 5022 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 269.499 502.545 277.27] /A << /S /GoTo /D (184) >> >> endobj 5023 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 269.499 522 277.27] /A << /S /GoTo /D (185) >> >> endobj 5024 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 258.817 522 266.588] /A << /S /GoTo /D (141) >> >> endobj 5025 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 248.134 522 255.905] /A << /S /GoTo /D (141) >> >> endobj 5026 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 237.451 522 245.222] /A << /S /GoTo /D (141) >> >> endobj 5027 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 226.769 522 234.539] /A << /S /GoTo /D (26) >> >> endobj 5028 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 216.086 522 223.857] /A << /S /GoTo /D (88) >> >> endobj 5029 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 205.403 522 213.174] /A << /S /GoTo /D (92) >> >> endobj 5030 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 194.72 522 202.491] /A << /S /GoTo /D (117) >> >> endobj 5031 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 184.038 522 191.809] /A << /S /GoTo /D (8) >> >> endobj 5032 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 173.355 522 181.126] /A << /S /GoTo /D (56) >> >> endobj 5033 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [483.091 162.672 492.306 170.443] /A << /S /GoTo /D (79) >> >> endobj 5034 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 162.672 507.153 170.443] /A << /S /GoTo /D (80) >> >> endobj 5035 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 162.672 522 170.443] /A << /S /GoTo /D (84) >> >> endobj 5036 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 151.99 522 159.76] /A << /S /GoTo /D (83) >> >> endobj 5037 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 141.307 522 149.078] /A << /S /GoTo /D (79) >> >> endobj 5038 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 130.624 522 138.395] /A << /S /GoTo /D (79) >> >> endobj 5039 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 119.941 522 127.712] /A << /S /GoTo /D (113) >> >> endobj 5040 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 109.259 522 117.029] /A << /S /GoTo /D (83) >> >> endobj 5041 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 98.576 522 106.347] /A << /S /GoTo /D (81) >> >> endobj 5042 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 87.893 522 95.664] /A << /S /GoTo /D (51) >> >> endobj 5043 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 77.21 522 84.981] /A << /S /GoTo /D (130) >> >> endobj 529 0 obj << /D [5072 0 R /XYZ 90 720 null] >> endobj 1742 0 obj << /D [5072 0 R /XYZ 90 720 null] >> endobj 5071 0 obj << /Font << /F51 8 0 R /F72 7 0 R /F58 1759 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R /F32 2609 0 R >> /ProcSet [ /PDF /Text ] >> endobj 5222 0 obj << /Length 6718 /Filter /FlateDecode >> stream x]Ms6Wюr1Ǎ91=PURUmݽ~/ @>vK*ĄGm9;KId)R?ѧ2M:>^~~)(Xǯ?y):O>R?Jn.]ph 4;ۯqY'?'E_?$O,HOUXE6_EQeafU.Ot}ln>x<]^~@+w$ h%xcYF.ý<_X&FH&diǐ|iC/0-Ro72Z^(.b!ZEXfgڞKӟ.ÍyH^+i\<.QXh&+8%4cwThrWaVok?1FGmbU\;{wJ¸JVV1 Tvp TqZi RZy\RM,jo]<,TgeQRECՆ|ڃkS=C(wtKWm枢RW:.g !t.>áDd3@}ΛqZ `&߂ڟ^{q_=gEs~J3Ʋ(#YvEJCՆ|JCtSpZi RZEi ;̻_Yj]]>]qf\b24H?oQ)̖C=o8U.6Nz"pDL :[ ֫ϭF@Ǖ0 ,,xXV&ئ( buIn㼼WEa7ckQjXIzfԯ\4EH DwK{qtUQ6 7^kb,mVdچ₵ Dd+P=!Xpk1D*#v [ omSK׳2ԺE"v0?bL,4.eb 0"AZĪ` ocp:]aW|~Tcj;#EZ;1lOa'tn/Ν8,5?2MXH)(1D+qJj_͵α@VH\.s~gƉ:FcVJ]vߥ}jGطKTQ 9թ2, ̻=K / )tqy-kH4b,i+bqN QJ0FMv*SI-qwݝ>_.ߏ}c,Oo(.b!ZEez'yYx> ` U^#"1Gj&T3H+EV oy ;?R%WIX$0E2D/dc,+gH5FT3H, :~;n'_& JMoP` ieb`,L<4j޾:o(븼GKX^'cOj"Q`+!++ eH YFZ `il" :G&||~Tcj{\wTQ -$,\rڵWkm.G1"b 0"AZFI >wCpQ0zU׶2 80oPk<{h 㸣S)wDyGyE\STO ژ|"Ձ``Vu$eX%~Bw.q{Th!q/+X 'eAZYJw!{ee/+X e0H++Q浕󥽶AGq;]Ыm呗ohcQ `m0F5Q\a]ڛ0á>."&"ëp!-||7|m'8rtWMt;V䴭8B AEzxkGjQ `mJ ƨƳT[s>(ê#-ɠl`Q)ZZH՝?ʉSB9ke x>ZA|$^[~;50SܲʣjLH صCIYy!.wE5ײ~^gw/[&w(JmHl5% ཷhF_]K8L &Zk-w8#Im(qk C2W#Oz肰kC ]<"5aЅt+Voh4=\zhfq Ԍ$w!0H !E[`OJ` 0qF`yw)0< @rW ®B(]{Q]8x{ypongEXVxI/m^@M=෢Ɨv_T=ZR-Cť`=S(UH^ !,UT^xo\}{'|DO Z1w6D4ߊۃݥ;;.S{e|bCíbt!H OFvF.R]Dc%s fFl w$w!6H !E[lZl."驚GE;f;ht yDjtap.Rݺ$׺sяrwt]+ģyhnJ4Ն<"5kPr8Jn.+-ɼw:"@Hps[D5HjCM5AصC&Tx'̕N;Ǽbw|¸<}>ܡt^ 7Ͼ $s}yEk ®n0RSKڨ%HM-AصCXK8JZ=׵?SS%xt4*MnF;ЎGF;vjG"խޔ󱹎_be|\ks~ͩʯb Or έayru|֓:IPw?uO31]V&D[DN^ Dа1ɶxV|sv-7Zilc{pe <] "rW: 'P-XN?;֍ r$h$Rx:7>ۯ=M5cqn[h3&J `PqX%MZɭjV y~\i@lEr7/+E']OFcvp3;55Ơ+0*Ic=?z-;x0+cKhV"@jChaAصC(4(4ZhldQEc"HPGFPv G9 AgUT|C[UcyUIttHƐiKu"i\Zsh~dr\ũ{O@0(w^*,B,u3Ϗ,5sT~)1rJ(M<ƔP)% ʝ<^:~;J7qr~@3m+f:qfJ Z83ct8=4 UW/%2b,Ϭ*Ri]@ ,s85]rPGr˯*ª&3OaW`m6wş_aK8qm@[;ƀy+ u[wckLJn|GXJ̆_"HJU^ )%YaQX\QETm!vfo5Ki/S0Crg8 X\YN TPgl Qԁ_HZcq J;TRr+ ,- SO.>*;RU1h6`JbH\ȘCl}7(^®G"-STP흺Z2F֯w*L7Sb!V/s^{z]y,`ɂ1,PL,lZFc6z;@Ssn*Ƚz['y_뿹"9^y %0d9`G]m(#R#Iv^p܈ESCt5 Y͡sqN_8]J1"%G *$CT;,cIj|Yae.PJ_򌱜]m#R>vՇtV_VU]Է|`ߜ] f=g=\hJ}6  Euf`q2€kGn [Yx]la_PRJa+W+7#tj}c2hkaStw"]_=~O_;Wu%iyl;nVVQw4tMvLj; ]ResO7>@ t9Ax9+9}wL 켫y94Od$zrs i.r'R#6vэ(]{bSR<^~KǧխIhu6SP[<$o4B7-|xQ56!$PFS5!BDYd4k=ڔ|6!'lQ:'=J|OÙHN4z4&53.hLJ]4 @rW3GFvjG"խAuZz7iĶG3L Uw5ߢ endstream endobj 5221 0 obj << /Type /Page /Contents 5222 0 R /Resources 5220 0 R /MediaBox [0 0 612 792] /Parent 4934 0 R /Annots [ 5044 0 R 5045 0 R 5046 0 R 5047 0 R 5048 0 R 5049 0 R 5050 0 R 5051 0 R 5052 0 R 5053 0 R 5054 0 R 5055 0 R 5056 0 R 5057 0 R 5058 0 R 5059 0 R 5060 0 R 5061 0 R 5062 0 R 5063 0 R 5064 0 R 5065 0 R 5066 0 R 5067 0 R 5068 0 R 5069 0 R 5070 0 R 5074 0 R 5075 0 R 5076 0 R 5077 0 R 5078 0 R 5079 0 R 5080 0 R 5081 0 R 5082 0 R 5083 0 R 5084 0 R 5085 0 R 5086 0 R 5087 0 R 5088 0 R 5089 0 R 5090 0 R 5091 0 R 5092 0 R 5093 0 R 5094 0 R 5095 0 R 5096 0 R 5097 0 R 5098 0 R 5099 0 R 5100 0 R 5101 0 R 5102 0 R 5103 0 R 5104 0 R 5105 0 R 5106 0 R 5107 0 R 5108 0 R 5109 0 R 5110 0 R 5111 0 R 5112 0 R 5113 0 R 5114 0 R 5115 0 R 5116 0 R 5117 0 R 5118 0 R 5119 0 R 5120 0 R 5121 0 R 5122 0 R 5123 0 R 5124 0 R 5125 0 R 5126 0 R 5127 0 R 5128 0 R 5129 0 R 5130 0 R 5131 0 R 5132 0 R 5133 0 R 5134 0 R 5135 0 R 5136 0 R 5137 0 R 5138 0 R 5139 0 R 5140 0 R 5141 0 R 5142 0 R 5143 0 R 5144 0 R 5145 0 R 5146 0 R 5147 0 R 5148 0 R 5149 0 R 5150 0 R 5151 0 R 5152 0 R 5153 0 R 5154 0 R 5155 0 R 5156 0 R 5157 0 R 5158 0 R 5159 0 R 5160 0 R 5161 0 R 5162 0 R 5163 0 R 5164 0 R 5165 0 R 5166 0 R 5167 0 R 5168 0 R 5169 0 R 5170 0 R 5171 0 R 5172 0 R 5173 0 R 5174 0 R 5175 0 R 5176 0 R 5177 0 R 5178 0 R 5179 0 R 5180 0 R 5181 0 R 5182 0 R 5183 0 R 5184 0 R 5185 0 R 5186 0 R 5187 0 R 5188 0 R 5189 0 R 5190 0 R 5191 0 R 5192 0 R 5193 0 R 5194 0 R 5195 0 R 5196 0 R 5197 0 R 5198 0 R 5199 0 R 5200 0 R 5201 0 R 5202 0 R 5203 0 R 5204 0 R 5205 0 R 5206 0 R 5207 0 R 5208 0 R 5209 0 R 5210 0 R 5211 0 R 5212 0 R 5213 0 R 5214 0 R ] >> endobj 5044 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [234.057 682.142 243.272 689.913] /A << /S /GoTo /D (68) >> >> endobj 5045 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.904 682.142 258.119 689.913] /A << /S /GoTo /D (85) >> >> endobj 5046 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 682.142 277.574 689.913] /A << /S /GoTo /D (114) >> >> endobj 5047 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 682.142 297.029 689.913] /A << /S /GoTo /D (125) >> >> endobj 5048 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 671.526 297.029 679.297] /A << /S /GoTo /D (97) >> >> endobj 5049 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 660.911 297.029 668.682] /A << /S /GoTo /D (208) >> >> endobj 5050 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 650.295 297.029 658.066] /A << /S /GoTo /D (208) >> >> endobj 5051 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 639.68 297.029 647.451] /A << /S /GoTo /D (208) >> >> endobj 5052 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 629.064 297.029 636.835] /A << /S /GoTo /D (44) >> >> endobj 5053 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 618.449 297.029 626.22] /A << /S /GoTo /D (221) >> >> endobj 5054 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 607.833 297.029 615.604] /A << /S /GoTo /D (6) >> >> endobj 5055 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 597.218 297.029 604.988] /A << /S /GoTo /D (7) >> >> endobj 5056 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 586.602 297.029 594.373] /A << /S /GoTo /D (7) >> >> endobj 5057 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 575.986 297.029 583.757] /A << /S /GoTo /D (14) >> >> endobj 5058 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 565.371 297.029 573.142] /A << /S /GoTo /D (96) >> >> endobj 5059 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 554.755 297.029 562.526] /A << /S /GoTo /D (6) >> >> endobj 5060 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 544.14 282.182 551.911] /A << /S /GoTo /D (75) >> >> endobj 5061 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 544.14 297.029 551.911] /A << /S /GoTo /D (77) >> >> endobj 5062 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 533.524 282.182 541.295] /A << /S /GoTo /D (87) >> >> endobj 5063 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 533.524 297.029 541.295] /A << /S /GoTo /D (89) >> >> endobj 5064 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 522.909 277.574 530.68] /A << /S /GoTo /D (54) >> >> endobj 5065 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 522.909 297.029 530.68] /A << /S /GoTo /D (209) >> >> endobj 5066 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 512.293 277.574 520.064] /A << /S /GoTo /D (75) >> >> endobj 5067 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 512.293 297.029 520.064] /A << /S /GoTo /D (173) >> >> endobj 5068 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 493.209 297.029 498.988] /A << /S /GoTo /D (42) >> >> endobj 5069 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 480.601 297.029 488.372] /A << /S /GoTo /D (217) >> >> endobj 5070 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 469.737 297.029 478.703] /A << /S /GoTo /D (49) >> >> endobj 5074 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 459.37 277.574 467.141] /A << /S /GoTo /D (15) >> >> endobj 5075 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 459.37 297.029 467.141] /A << /S /GoTo /D (209) >> >> endobj 5076 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 448.755 297.029 456.526] /A << /S /GoTo /D (179) >> >> endobj 5077 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 438.139 297.029 445.91] /A << /S /GoTo /D (179) >> >> endobj 5078 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 427.524 297.029 435.294] /A << /S /GoTo /D (84) >> >> endobj 5079 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 416.908 297.029 424.679] /A << /S /GoTo /D (128) >> >> endobj 5080 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 406.292 297.029 414.063] /A << /S /GoTo /D (128) >> >> endobj 5081 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 395.677 297.029 403.448] /A << /S /GoTo /D (19) >> >> endobj 5082 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 385.061 297.029 392.832] /A << /S /GoTo /D (49) >> >> endobj 5083 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 374.446 297.029 382.217] /A << /S /GoTo /D (132) >> >> endobj 5084 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 363.83 297.029 371.601] /A << /S /GoTo /D (44) >> >> endobj 5085 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 353.215 297.029 360.986] /A << /S /GoTo /D (140) >> >> endobj 5086 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 342.599 297.029 350.37] /A << /S /GoTo /D (136) >> >> endobj 5087 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 331.984 277.574 339.754] /A << /S /GoTo /D (137) >> >> endobj 5088 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 331.984 297.029 339.754] /A << /S /GoTo /D (167) >> >> endobj 5089 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 321.368 297.029 329.139] /A << /S /GoTo /D (168) >> >> endobj 5090 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 310.753 297.029 318.523] /A << /S /GoTo /D (168) >> >> endobj 5091 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 300.137 297.029 307.908] /A << /S /GoTo /D (137) >> >> endobj 5092 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 289.521 277.574 297.292] /A << /S /GoTo /D (137) >> >> endobj 5093 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 289.521 297.029 297.292] /A << /S /GoTo /D (145) >> >> endobj 5094 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 278.906 297.029 286.677] /A << /S /GoTo /D (137) >> >> endobj 5095 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 268.29 277.574 276.061] /A << /S /GoTo /D (138) >> >> endobj 5096 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 268.29 297.029 276.061] /A << /S /GoTo /D (173) >> >> endobj 5097 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 257.675 297.029 265.446] /A << /S /GoTo /D (136) >> >> endobj 5098 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 247.059 297.029 254.83] /A << /S /GoTo /D (173) >> >> endobj 5099 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [244.296 236.444 258.119 244.215] /A << /S /GoTo /D (127) >> >> endobj 5100 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 236.444 277.574 244.215] /A << /S /GoTo /D (139) >> >> endobj 5101 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 236.444 297.029 244.215] /A << /S /GoTo /D (173) >> >> endobj 5102 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 225.828 297.029 233.599] /A << /S /GoTo /D (136) >> >> endobj 5103 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 215.213 297.029 222.983] /A << /S /GoTo /D (136) >> >> endobj 5104 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 204.597 277.574 212.368] /A << /S /GoTo /D (138) >> >> endobj 5105 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 204.597 297.029 212.368] /A << /S /GoTo /D (173) >> >> endobj 5106 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 193.981 297.029 201.752] /A << /S /GoTo /D (173) >> >> endobj 5107 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 183.366 277.574 191.137] /A << /S /GoTo /D (138) >> >> endobj 5108 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 183.366 297.029 191.137] /A << /S /GoTo /D (173) >> >> endobj 5109 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 172.75 277.574 180.521] /A << /S /GoTo /D (139) >> >> endobj 5110 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 172.75 297.029 180.521] /A << /S /GoTo /D (145) >> >> endobj 5111 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.904 162.135 258.119 169.906] /A << /S /GoTo /D (97) >> >> endobj 5112 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 162.135 277.574 169.906] /A << /S /GoTo /D (138) >> >> endobj 5113 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 162.135 297.029 169.906] /A << /S /GoTo /D (173) >> >> endobj 5114 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 151.519 277.574 159.29] /A << /S /GoTo /D (138) >> >> endobj 5115 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 151.519 297.029 159.29] /A << /S /GoTo /D (173) >> >> endobj 5116 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 140.904 297.029 148.675] /A << /S /GoTo /D (139) >> >> endobj 5117 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 130.288 277.574 138.059] /A << /S /GoTo /D (139) >> >> endobj 5118 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 130.288 297.029 138.059] /A << /S /GoTo /D (173) >> >> endobj 5119 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.904 119.673 258.119 127.444] /A << /S /GoTo /D (16) >> >> endobj 5120 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 119.673 277.574 127.444] /A << /S /GoTo /D (139) >> >> endobj 5121 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 119.673 297.029 127.444] /A << /S /GoTo /D (173) >> >> endobj 5122 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 109.057 277.574 116.828] /A << /S /GoTo /D (139) >> >> endobj 5123 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 109.057 297.029 116.828] /A << /S /GoTo /D (173) >> >> endobj 5124 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 98.442 297.029 106.212] /A << /S /GoTo /D (173) >> >> endobj 5125 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 87.826 297.029 95.597] /A << /S /GoTo /D (139) >> >> endobj 5126 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 77.21 277.574 84.981] /A << /S /GoTo /D (138) >> >> endobj 5127 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 77.21 297.029 84.981] /A << /S /GoTo /D (173) >> >> endobj 5128 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 682.142 502.545 689.913] /A << /S /GoTo /D (139) >> >> endobj 5129 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 682.142 522 689.913] /A << /S /GoTo /D (173) >> >> endobj 5130 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 671.526 522 679.297] /A << /S /GoTo /D (139) >> >> endobj 5131 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [469.268 660.911 483.091 668.682] /A << /S /GoTo /D (134) >> >> endobj 5132 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 660.911 502.545 668.682] /A << /S /GoTo /D (139) >> >> endobj 5133 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 660.911 522 668.682] /A << /S /GoTo /D (173) >> >> endobj 5134 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 650.295 502.545 658.066] /A << /S /GoTo /D (139) >> >> endobj 5135 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 650.295 522 658.066] /A << /S /GoTo /D (173) >> >> endobj 5136 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 639.68 502.545 647.451] /A << /S /GoTo /D (139) >> >> endobj 5137 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 639.68 522 647.451] /A << /S /GoTo /D (173) >> >> endobj 5138 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 629.064 502.545 636.835] /A << /S /GoTo /D (139) >> >> endobj 5139 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 629.064 522 636.835] /A << /S /GoTo /D (173) >> >> endobj 5140 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 618.449 522 626.22] /A << /S /GoTo /D (138) >> >> endobj 5141 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 607.833 502.545 615.604] /A << /S /GoTo /D (138) >> >> endobj 5142 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 607.833 522 615.604] /A << /S /GoTo /D (173) >> >> endobj 5143 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 597.218 522 604.988] /A << /S /GoTo /D (139) >> >> endobj 5144 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 586.602 502.545 594.373] /A << /S /GoTo /D (138) >> >> endobj 5145 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 586.602 522 594.373] /A << /S /GoTo /D (173) >> >> endobj 5146 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 575.986 502.545 583.757] /A << /S /GoTo /D (139) >> >> endobj 5147 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 575.986 522 583.757] /A << /S /GoTo /D (173) >> >> endobj 5148 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 565.371 502.545 573.142] /A << /S /GoTo /D (139) >> >> endobj 5149 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 565.371 522 573.142] /A << /S /GoTo /D (173) >> >> endobj 5150 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 554.755 502.545 562.526] /A << /S /GoTo /D (139) >> >> endobj 5151 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 554.755 522 562.526] /A << /S /GoTo /D (173) >> >> endobj 5152 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 544.14 502.545 551.911] /A << /S /GoTo /D (138) >> >> endobj 5153 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 544.14 522 551.911] /A << /S /GoTo /D (173) >> >> endobj 5154 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [469.268 533.524 483.091 541.295] /A << /S /GoTo /D (127) >> >> endobj 5155 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 533.524 502.545 541.295] /A << /S /GoTo /D (139) >> >> endobj 5156 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 533.524 522 541.295] /A << /S /GoTo /D (173) >> >> endobj 5157 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 522.909 502.545 530.68] /A << /S /GoTo /D (139) >> >> endobj 5158 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 522.909 522 530.68] /A << /S /GoTo /D (173) >> >> endobj 5159 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 512.293 522 520.064] /A << /S /GoTo /D (48) >> >> endobj 5160 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 501.678 522 509.448] /A << /S /GoTo /D (60) >> >> endobj 5161 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 491.062 507.153 498.833] /A << /S /GoTo /D (41) >> >> endobj 5162 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 491.062 522 498.833] /A << /S /GoTo /D (93) >> >> endobj 5163 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 480.447 522 488.217] /A << /S /GoTo /D (128) >> >> endobj 5164 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 469.831 502.545 477.602] /A << /S /GoTo /D (17) >> >> endobj 5165 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 469.831 522 477.602] /A << /S /GoTo /D (211) >> >> endobj 5166 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 459.215 502.545 466.986] /A << /S /GoTo /D (17) >> >> endobj 5167 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 459.215 522 466.986] /A << /S /GoTo /D (211) >> >> endobj 5168 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 448.6 502.545 456.371] /A << /S /GoTo /D (17) >> >> endobj 5169 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 448.6 522 456.371] /A << /S /GoTo /D (211) >> >> endobj 5170 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 437.984 522 445.755] /A << /S /GoTo /D (17) >> >> endobj 5171 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 427.369 522 435.14] /A << /S /GoTo /D (133) >> >> endobj 5172 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 416.753 522 424.524] /A << /S /GoTo /D (134) >> >> endobj 5173 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 406.138 522 413.909] /A << /S /GoTo /D (92) >> >> endobj 5174 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 395.522 507.153 403.293] /A << /S /GoTo /D (63) >> >> endobj 5175 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 395.522 522 403.293] /A << /S /GoTo /D (85) >> >> endobj 5176 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 384.907 522 392.677] /A << /S /GoTo /D (8) >> >> endobj 5177 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 374.291 522 382.062] /A << /S /GoTo /D (9) >> >> endobj 5178 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 363.676 522 371.446] /A << /S /GoTo /D (61) >> >> endobj 5179 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 352.811 522 361.777] /A << /S /GoTo /D (214) >> >> endobj 5180 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 342.444 522 350.215] /A << /S /GoTo /D (16) >> >> endobj 5181 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 331.829 502.545 339.6] /A << /S /GoTo /D (211) >> >> endobj 5182 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 331.829 522 339.6] /A << /S /GoTo /D (214) >> >> endobj 5183 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 321.213 522 328.984] /A << /S /GoTo /D (55) >> >> endobj 5184 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 310.598 502.545 318.369] /A << /S /GoTo /D (54) >> >> endobj 5185 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 310.598 522 318.369] /A << /S /GoTo /D (209) >> >> endobj 5186 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 299.982 502.545 307.753] /A << /S /GoTo /D (144) >> >> endobj 5187 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 299.982 522 307.753] /A << /S /GoTo /D (173) >> >> endobj 5188 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 289.367 522 297.138] /A << /S /GoTo /D (144) >> >> endobj 5189 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 278.751 522 286.522] /A << /S /GoTo /D (173) >> >> endobj 5190 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 268.136 502.545 275.906] /A << /S /GoTo /D (148) >> >> endobj 5191 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 268.136 522 275.906] /A << /S /GoTo /D (173) >> >> endobj 5192 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 257.52 502.545 265.291] /A << /S /GoTo /D (148) >> >> endobj 5193 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 257.52 522 265.291] /A << /S /GoTo /D (173) >> >> endobj 5194 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [505.617 246.904 519.44 254.675] /A << /S /GoTo /D (148) >> >> endobj 5195 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [333.402 238.436 347.225 244.215] /A << /S /GoTo /D (173) >> >> endobj 5196 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 225.828 522 233.599] /A << /S /GoTo /D (173) >> >> endobj 5197 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 215.213 522 222.983] /A << /S /GoTo /D (144) >> >> endobj 5198 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 204.597 522 212.368] /A << /S /GoTo /D (144) >> >> endobj 5199 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 193.981 522 201.752] /A << /S /GoTo /D (149) >> >> endobj 5200 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 183.366 502.545 191.137] /A << /S /GoTo /D (146) >> >> endobj 5201 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 183.366 522 191.137] /A << /S /GoTo /D (173) >> >> endobj 5202 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 172.75 522 180.521] /A << /S /GoTo /D (173) >> >> endobj 5203 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 162.135 522 169.906] /A << /S /GoTo /D (173) >> >> endobj 5204 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 151.519 522 159.29] /A << /S /GoTo /D (173) >> >> endobj 5205 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 140.904 502.545 148.675] /A << /S /GoTo /D (145) >> >> endobj 5206 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 140.904 522 148.675] /A << /S /GoTo /D (173) >> >> endobj 5207 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 130.288 522 138.059] /A << /S /GoTo /D (145) >> >> endobj 5208 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 119.673 502.545 127.444] /A << /S /GoTo /D (145) >> >> endobj 5209 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 119.673 522 127.444] /A << /S /GoTo /D (173) >> >> endobj 5210 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 109.057 522 116.828] /A << /S /GoTo /D (145) >> >> endobj 5211 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 98.442 522 106.212] /A << /S /GoTo /D (148) >> >> endobj 5212 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 87.826 502.545 95.597] /A << /S /GoTo /D (146) >> >> endobj 5213 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 87.826 522 95.597] /A << /S /GoTo /D (173) >> >> endobj 5214 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 77.21 522 84.981] /A << /S /GoTo /D (146) >> >> endobj 5223 0 obj << /D [5221 0 R /XYZ 90 720 null] >> endobj 5220 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 5374 0 obj << /Length 6508 /Filter /FlateDecode >> stream x]ˎrWr8 xc1Pet;3P*ޤDIPD$=]=UYb0ӏQ$o)4Oe)cU&ŧ_]` `/CUy~ߊתkC[i_7yo$_a-6O*,q_q2~E=S;TKpQKUdA~ t_՟~tRc3x '7uo\Qj1Ym 7zJuhm([- GT?cjD5FHe^9=l-JwY̿Z%q)A*uR`I9Q.THաW}ӞCsBYJ2q8TYyU M:IYU ܨhzת|7knu4OŘWҤUK ȍ*Va/4PUTFc7Tq^@t`IQ% U%*ڮ/OŘW$%UF$aFS'csjMUj>(]yJ:,,Q 1iY*]iwݿTF BQbK `*FP J`ȍEҬÌ{Pyb+,) 7J*SM)qۮjMei|f1流dI`I&UG6vd\PK'~J,ƼI ,) 7Ju)q=SR&%S? c^H4@ L%L0YB**Q?,hcBuIȪp%UF،rOW6VyѤT7G_u[4_$,k")Rw}plMrfA}]{j'{vX?>ƋL`̒Nglc21"SEsf޾ulS_P%x`B⇹a<{wnVҋ%Qgq2g;*͓.!QQ?aw,*pM7//x _dvYTx*pL^". bS,",-3pu2,*p MΈt!QQ򌈗ӌ tٹεAnja*gZ؜6wշ#&DL fbnkbs+U)v"*F8: tݵz9 & RiÓK^)Uq^e)H3~QQK6u"*F8:G ɞQ 7Qgz:{/* k?g.| i/)+7"ǦE|+IɊwq䵦AQ -|9 AR$!n4H>  ɞα 7jmfn_w&p݅tӃ1R@>MaWb!np:~/}pk;υw~b74a+5"*F#H[7<An0T!z .CaO6<ܑ(X(VD@T2oMɎQq2U\=gwRtA/Fx5=]FĊ?/$B`A. HU>8`2ӁBUbݳ&=ȫ WTk= ^ b{ ^:[rMt!QQll t ONCDEɩs GO#~έܴ  w^Lqf7XG&OXy% 5:cXRAn0^Rbܞw}D1/,dZL5EaXyB kڹzhLN߼Ƨc1هt=%$25%?wӷo~,Ƽ6,I,i 7f6ޚc1I]@="R]"=ƳobOn`L9aQc ϵ2`GMX&&3OP؞zcUw[GwԘmy1; $+QF#㟛v=k\ReeULT*2FtckÕ*ԲN2BnlkزCu5UKxaSHn d0Ax0u\oLb/rz;to4>klٱ{͍m 0 qQ%DuS^^R1f1S$}4qdzI5i7 i3^y/H(G0 N2009T/ |9Xy )>A ht=j?fb@搯SNY;m_Y$im&BR3(-̰bW)U)=?&cI$DH4W9XDv5wZgFODmy 1Wu @N5 -@"Jvg7ѰSY窳ǜ=̅VI?\t~-sz&dF x/UiF/䪅y r1慄BHNHD i+~4-{Hbg;Tm^sp61@LA@9]Kh/9M]/wҷqE8O1,Ŕ/E)lQPAE0Wq#7D Hm䘡?02zwB%E<# 6Pv#nR`bLV2 *i_v] q2ȞJEӹfɰ]s t#`xg]WTZ=d>`g?c^0H"BPN0E o&:aQ9 _T憐=-}|$V P.nt7a#{9'-ULkS'~ܜc= qQ7%jDub^RQ*L$Qv{n[8኱w :$YyI MQDK@9I-Il3ݗ_:3'b̋ !9=A9-^/\g;}ynѐ~L^},z&:1RJFDE1g9-8k^.yTv] #{9TEWw{f>S<* 5a7ޓ?^+]X"@HaKk/®>㽮z;dmyUUD 9M0$yb=jvMͦa;tx:6b܎ _htx% 1\mwՃp!d<LV?cg|D턘9OTĘgKPYm00\:Wc^; ('!%^!~SOrχW_cU-r;aDfD;&EDT<4"î d#%s+A<ӥn]/Mn%E*]7R{e=e+žpf>AƱcXʩ(A\X8,*p|C $:P4 'N{?&7x[np55*5j .FҨ]FlC"(:Vc{ǧ^*s]6~g'6q&-|O1tFHΑVYu>ŴJb ʱO @R:0fx b]{4UϏŘ':0 09jɭ}Cc /ׇUavbg_lV8`/S4p나g^4paaaM-Yz?g$ ևAg*b]ׇRvq2PAr~R*y_ Ogze9oG[<85x *n<> endobj 5215 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 682.142 297.029 689.913] /A << /S /GoTo /D (147) >> >> endobj 5216 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 671.524 297.029 679.294] /A << /S /GoTo /D (147) >> >> endobj 5217 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 660.905 297.029 668.676] /A << /S /GoTo /D (149) >> >> endobj 5218 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 650.287 297.029 658.058] /A << /S /GoTo /D (145) >> >> endobj 5219 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 639.669 297.029 647.439] /A << /S /GoTo /D (173) >> >> endobj 5224 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 629.05 297.029 636.821] /A << /S /GoTo /D (166) >> >> endobj 5225 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 618.432 297.029 626.203] /A << /S /GoTo /D (166) >> >> endobj 5226 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 607.813 297.029 615.584] /A << /S /GoTo /D (167) >> >> endobj 5227 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 597.195 297.029 604.966] /A << /S /GoTo /D (167) >> >> endobj 5228 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 586.577 297.029 594.348] /A << /S /GoTo /D (166) >> >> endobj 5229 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 575.958 297.029 583.729] /A << /S /GoTo /D (166) >> >> endobj 5230 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 565.34 297.029 573.111] /A << /S /GoTo /D (166) >> >> endobj 5231 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 554.722 297.029 562.492] /A << /S /GoTo /D (166) >> >> endobj 5232 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 544.103 297.029 551.874] /A << /S /GoTo /D (40) >> >> endobj 5233 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 533.485 297.029 541.256] /A << /S /GoTo /D (216) >> >> endobj 5234 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 522.867 297.029 530.637] /A << /S /GoTo /D (3) >> >> endobj 5235 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 512.248 297.029 520.019] /A << /S /GoTo /D (40) >> >> endobj 5236 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 501.63 297.029 509.401] /A << /S /GoTo /D (41) >> >> endobj 5237 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 491.011 297.029 498.782] /A << /S /GoTo /D (150) >> >> endobj 5238 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 480.393 297.029 488.164] /A << /S /GoTo /D (134) >> >> endobj 5239 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 469.775 297.029 477.546] /A << /S /GoTo /D (150) >> >> endobj 5240 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 459.156 297.029 466.927] /A << /S /GoTo /D (150) >> >> endobj 5241 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 448.538 297.029 456.309] /A << /S /GoTo /D (151) >> >> endobj 5242 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 437.92 297.029 445.69] /A << /S /GoTo /D (151) >> >> endobj 5243 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 427.301 297.029 435.072] /A << /S /GoTo /D (150) >> >> endobj 5244 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 416.683 297.029 424.454] /A << /S /GoTo /D (152) >> >> endobj 5245 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 406.065 297.029 413.835] /A << /S /GoTo /D (152) >> >> endobj 5246 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 395.446 297.029 403.217] /A << /S /GoTo /D (160) >> >> endobj 5247 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 384.828 297.029 392.599] /A << /S /GoTo /D (160) >> >> endobj 5248 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 374.209 277.574 381.98] /A << /S /GoTo /D (43) >> >> endobj 5249 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 374.209 297.029 381.98] /A << /S /GoTo /D (209) >> >> endobj 5250 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 363.591 297.029 371.362] /A << /S /GoTo /D (41) >> >> endobj 5251 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 352.973 297.029 360.744] /A << /S /GoTo /D (13) >> >> endobj 5252 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [258.119 342.354 267.335 350.125] /A << /S /GoTo /D (13) >> >> endobj 5253 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 342.354 282.182 350.125] /A << /S /GoTo /D (14) >> >> endobj 5254 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 342.354 297.029 350.125] /A << /S /GoTo /D (55) >> >> endobj 5255 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 331.736 297.029 339.507] /A << /S /GoTo /D (13) >> >> endobj 5256 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 312.649 297.029 318.428] /A << /S /GoTo /D (13) >> >> endobj 5257 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 300.038 297.029 307.809] /A << /S /GoTo /D (13) >> >> endobj 5258 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 289.42 297.029 297.191] /A << /S /GoTo /D (14) >> >> endobj 5259 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.904 278.802 258.119 286.573] /A << /S /GoTo /D (52) >> >> endobj 5260 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 278.802 277.574 286.573] /A << /S /GoTo /D (113) >> >> endobj 5261 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 278.802 297.029 286.573] /A << /S /GoTo /D (210) >> >> endobj 5262 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 268.183 277.574 275.954] /A << /S /GoTo /D (51) >> >> endobj 5263 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 268.183 297.029 275.954] /A << /S /GoTo /D (116) >> >> endobj 5264 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 257.565 277.574 265.336] /A << /S /GoTo /D (79) >> >> endobj 5265 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 257.565 297.029 265.336] /A << /S /GoTo /D (210) >> >> endobj 5266 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 246.947 297.029 254.718] /A << /S /GoTo /D (95) >> >> endobj 5267 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 236.328 277.574 244.099] /A << /S /GoTo /D (78) >> >> endobj 5268 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 236.328 297.029 244.099] /A << /S /GoTo /D (210) >> >> endobj 5269 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 225.71 297.029 233.481] /A << /S /GoTo /D (51) >> >> endobj 5270 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [268.358 215.092 277.574 222.862] /A << /S /GoTo /D (54) >> >> endobj 5271 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 215.092 297.029 222.862] /A << /S /GoTo /D (209) >> >> endobj 5272 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [277.574 204.473 282.182 212.244] /A << /S /GoTo /D (9) >> >> endobj 5273 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 204.473 297.029 212.244] /A << /S /GoTo /D (14) >> >> endobj 5274 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 193.855 297.029 201.626] /A << /S /GoTo /D (155) >> >> endobj 5275 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [224.841 183.236 238.664 191.007] /A << /S /GoTo /D (104) >> >> endobj 5276 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [244.296 183.236 258.119 191.007] /A << /S /GoTo /D (211) >> >> endobj 5277 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 183.236 277.574 191.007] /A << /S /GoTo /D (214) >> >> endobj 5278 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 183.236 297.029 191.007] /A << /S /GoTo /D (227) >> >> endobj 5279 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 172.618 297.029 180.389] /A << /S /GoTo /D (161) >> >> endobj 5280 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 162 297.029 169.771] /A << /S /GoTo /D (156) >> >> endobj 5281 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 151.381 297.029 159.152] /A << /S /GoTo /D (162) >> >> endobj 5282 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 140.763 297.029 148.534] /A << /S /GoTo /D (162) >> >> endobj 5283 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 130.145 297.029 137.916] /A << /S /GoTo /D (161) >> >> endobj 5284 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 111.058 297.029 116.836] /A << /S /GoTo /D (161) >> >> endobj 5285 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 98.447 297.029 106.218] /A << /S /GoTo /D (161) >> >> endobj 5286 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 87.829 297.029 95.6] /A << /S /GoTo /D (158) >> >> endobj 5287 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 77.21 277.574 84.981] /A << /S /GoTo /D (155) >> >> endobj 5288 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 77.21 297.029 84.981] /A << /S /GoTo /D (156) >> >> endobj 5289 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 682.142 522 689.913] /A << /S /GoTo /D (166) >> >> endobj 5290 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 671.526 522 679.297] /A << /S /GoTo /D (157) >> >> endobj 5291 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 660.911 502.545 668.682] /A << /S /GoTo /D (164) >> >> endobj 5292 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 660.911 522 668.682] /A << /S /GoTo /D (165) >> >> endobj 5293 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 650.295 522 658.066] /A << /S /GoTo /D (95) >> >> endobj 5294 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 639.68 522 647.451] /A << /S /GoTo /D (125) >> >> endobj 5295 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [510.225 629.064 519.44 636.835] /A << /S /GoTo /D (13) >> >> endobj 5296 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [333.402 620.596 342.618 626.374] /A << /S /GoTo /D (15) >> >> endobj 5297 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 607.988 522 615.759] /A << /S /GoTo /D (74) >> >> endobj 5298 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 597.372 522 605.143] /A << /S /GoTo /D (54) >> >> endobj 5299 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 586.757 522 594.528] /A << /S /GoTo /D (54) >> >> endobj 5300 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 576.141 522 583.912] /A << /S /GoTo /D (232) >> >> endobj 5301 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 565.526 502.545 573.297] /A << /S /GoTo /D (171) >> >> endobj 5302 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 565.526 522 573.297] /A << /S /GoTo /D (174) >> >> endobj 5303 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 554.91 522 562.681] /A << /S /GoTo /D (177) >> >> endobj 5304 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 544.295 522 552.065] /A << /S /GoTo /D (211) >> >> endobj 5305 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 533.679 522 541.45] /A << /S /GoTo /D (74) >> >> endobj 5306 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 523.064 522 530.834] /A << /S /GoTo /D (74) >> >> endobj 5307 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 512.448 522 520.219] /A << /S /GoTo /D (73) >> >> endobj 5308 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 501.832 522 509.603] /A << /S /GoTo /D (95) >> >> endobj 5309 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 491.217 522 498.988] /A << /S /GoTo /D (95) >> >> endobj 5310 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 480.601 522 488.372] /A << /S /GoTo /D (95) >> >> endobj 5311 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 469.986 522 477.757] /A << /S /GoTo /D (95) >> >> endobj 5312 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 459.37 522 467.141] /A << /S /GoTo /D (95) >> >> endobj 5313 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 448.755 507.153 456.526] /A << /S /GoTo /D (12) >> >> endobj 5314 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 448.755 522 456.526] /A << /S /GoTo /D (80) >> >> endobj 5315 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 438.139 522 445.91] /A << /S /GoTo /D (217) >> >> endobj 5316 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 427.524 522 435.294] /A << /S /GoTo /D (42) >> >> endobj 5317 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 416.908 522 424.679] /A << /S /GoTo /D (95) >> >> endobj 5318 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 406.292 522 414.063] /A << /S /GoTo /D (76) >> >> endobj 5319 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 395.677 522 403.448] /A << /S /GoTo /D (11) >> >> endobj 5320 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 385.061 522 392.832] /A << /S /GoTo /D (11) >> >> endobj 5321 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 374.446 522 382.217] /A << /S /GoTo /D (11) >> >> endobj 5322 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 363.83 522 371.601] /A << /S /GoTo /D (11) >> >> endobj 5323 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 353.215 522 360.986] /A << /S /GoTo /D (109) >> >> endobj 5324 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 342.599 522 350.37] /A << /S /GoTo /D (96) >> >> endobj 5325 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 331.984 522 340.203] /A << /S /GoTo /D (6) >> >> endobj 5326 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [517.392 321.368 522 329.139] /A << /S /GoTo /D (6) >> >> endobj 5327 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 310.753 522 318.523] /A << /S /GoTo /D (207) >> >> endobj 5328 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 300.137 502.545 307.908] /A << /S /GoTo /D (23) >> >> endobj 5329 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 300.137 522 307.908] /A << /S /GoTo /D (210) >> >> endobj 5330 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 289.521 483.091 297.292] /A << /S /GoTo /D (8) >> >> endobj 5331 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 289.521 502.545 297.292] /A << /S /GoTo /D (210) >> >> endobj 5332 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 289.521 522 297.292] /A << /S /GoTo /D (229) >> >> endobj 5333 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 278.906 522 286.677] /A << /S /GoTo /D (210) >> >> endobj 5334 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 268.29 502.545 276.061] /A << /S /GoTo /D (42) >> >> endobj 5335 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 268.29 522 276.061] /A << /S /GoTo /D (210) >> >> endobj 5336 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 257.675 502.545 265.446] /A << /S /GoTo /D (134) >> >> endobj 5337 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 257.675 522 265.446] /A << /S /GoTo /D (210) >> >> endobj 5338 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 247.059 522 254.83] /A << /S /GoTo /D (220) >> >> endobj 5339 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 236.444 522 244.215] /A << /S /GoTo /D (106) >> >> endobj 5340 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.483 225.828 487.698 233.599] /A << /S /GoTo /D (14) >> >> endobj 5341 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 225.828 502.545 233.599] /A << /S /GoTo /D (15) >> >> endobj 5342 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 225.828 522 233.599] /A << /S /GoTo /D (216) >> >> endobj 5343 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 215.213 522 222.983] /A << /S /GoTo /D (19) >> >> endobj 5344 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 204.597 522 212.368] /A << /S /GoTo /D (21) >> >> endobj 5345 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 193.981 522 201.752] /A << /S /GoTo /D (28) >> >> endobj 5346 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 183.366 522 191.137] /A << /S /GoTo /D (22) >> >> endobj 5347 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 172.75 522 180.521] /A << /S /GoTo /D (209) >> >> endobj 5348 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [473.875 162.135 483.091 169.906] /A << /S /GoTo /D (26) >> >> endobj 5349 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 162.135 502.545 169.906] /A << /S /GoTo /D (209) >> >> endobj 5350 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 162.135 522 169.906] /A << /S /GoTo /D (215) >> >> endobj 5351 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [497.938 151.519 507.153 159.29] /A << /S /GoTo /D (24) >> >> endobj 5352 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 151.519 522 159.29] /A << /S /GoTo /D (31) >> >> endobj 5353 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.33 140.904 502.545 148.675] /A << /S /GoTo /D (59) >> >> endobj 5354 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 140.904 522 148.675] /A << /S /GoTo /D (212) >> >> endobj 5355 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 130.288 522 138.059] /A << /S /GoTo /D (58) >> >> endobj 5356 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 119.673 522 127.444] /A << /S /GoTo /D (59) >> >> endobj 5357 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 109.057 522 116.828] /A << /S /GoTo /D (58) >> >> endobj 5358 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 98.442 522 106.212] /A << /S /GoTo /D (58) >> >> endobj 5359 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [463.737 87.826 472.952 95.597] /A << /S /GoTo /D (58) >> >> endobj 5360 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [478.55 87.826 487.765 95.597] /A << /S /GoTo /D (61) >> >> endobj 5361 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [493.363 87.826 502.579 95.597] /A << /S /GoTo /D (65) >> >> endobj 5362 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 87.826 522 95.597] /A << /S /GoTo /D (103) >> >> endobj 5363 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 77.21 522 84.981] /A << /S /GoTo /D (75) >> >> endobj 5375 0 obj << /D [5373 0 R /XYZ 90 720 null] >> endobj 5372 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R >> /ProcSet [ /PDF /Text ] >> endobj 5402 0 obj << /Length 1799 /Filter /FlateDecode >> stream xZMs6W3͡큑`[Di(}"H[Id<> |UEV(pzC_n,w7o W{fnMn;}xm6#|botD"2 WRr3 YrL >>n#:]N޾+)"9y3"bV ay.i15,p$֮Kͅc B-AaʬP6!8`D"}g@XDtYBtB*o.!< ! JI?8rR-zJ.2fpZ.;,ޜ\c gpQ"B K>NDqp(a]sCE@ .S&ڀt w!<@" 4\(1 (KJգO%.h5w$\_р|g&*3[q* ._P ˠ,>[NG8XQRxbUvJ*cmŅ,=m.~8><6BRs8LJʍX9 <@K)- z`ԭޠc{8{Fc/JD )[RRONٰ,BLm6`%sx#a3DB¬>Cku=4) ƾDJ!!+L C#&p)dRc RX?u^D'YR¸LVŽMF 7(6a8L V UB0KDPԵu7[}Z?SO3e1 x8Sa@!hcLy=Xjҿ ?4c~@oHDb38- <*řcN-QAT6sDъ|}[ ,'s"L3+)l;]c?7:AjHhH)D!-+͌)\x`kE{mw}z0z 2>/kղ"MQWGa U&7~M\CբnzRLa^c:j"MQݽ_4iVb;eĪ؂= =,aXpqcDe)}S)x:'d58x(? endstream endobj 5401 0 obj << /Type /Page /Contents 5402 0 R /Resources 5400 0 R /MediaBox [0 0 612 792] /Parent 4934 0 R /Annots [ 5364 0 R 5365 0 R 5366 0 R 5367 0 R 5368 0 R 5369 0 R 5370 0 R 5371 0 R 5376 0 R 5377 0 R 5378 0 R 5379 0 R 5380 0 R 5381 0 R 5382 0 R 5383 0 R 5384 0 R 5385 0 R 5386 0 R 5387 0 R 5388 0 R 5389 0 R 5390 0 R 5391 0 R 5392 0 R 5393 0 R 5394 0 R 5395 0 R 5396 0 R 5397 0 R 5398 0 R 5399 0 R ] >> endobj 5364 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 682.142 297.029 689.913] /A << /S /GoTo /D (211) >> >> endobj 5365 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 671.681 297.029 679.452] /A << /S /GoTo /D (72) >> >> endobj 5366 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 660.971 297.029 669.937] /A << /S /GoTo /D (49) >> >> endobj 5367 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 650.759 297.029 658.529] /A << /S /GoTo /D (49) >> >> endobj 5368 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [234.057 640.297 243.272 648.068] /A << /S /GoTo /D (45) >> >> endobj 5369 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [248.904 640.297 258.119 648.068] /A << /S /GoTo /D (46) >> >> endobj 5370 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [263.751 640.297 277.574 648.068] /A << /S /GoTo /D (102) >> >> endobj 5371 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 640.297 297.029 648.068] /A << /S /GoTo /D (212) >> >> endobj 5376 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 629.836 297.029 637.607] /A << /S /GoTo /D (77) >> >> endobj 5377 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 619.375 297.029 627.146] /A << /S /GoTo /D (46) >> >> endobj 5378 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [272.966 608.914 282.182 616.685] /A << /S /GoTo /D (49) >> >> endobj 5379 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 608.914 297.029 616.685] /A << /S /GoTo /D (57) >> >> endobj 5380 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [292.421 587.992 297.029 595.763] /A << /S /GoTo /D (9) >> >> endobj 5381 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 567.07 297.029 574.841] /A << /S /GoTo /D (45) >> >> endobj 5382 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [287.813 556.609 297.029 564.38] /A << /S /GoTo /D (45) >> >> endobj 5383 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [246.344 546.148 255.559 553.919] /A << /S /GoTo /D (65) >> >> endobj 5384 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [261.191 546.148 275.014 553.919] /A << /S /GoTo /D (167) >> >> endobj 5385 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [280.646 546.148 294.469 553.919] /A << /S /GoTo /D (184) >> >> endobj 5386 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [108.431 537.68 122.254 543.458] /A << /S /GoTo /D (231) >> >> endobj 5387 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 525.226 297.029 532.997] /A << /S /GoTo /D (207) >> >> endobj 5388 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [283.205 514.765 297.029 522.536] /A << /S /GoTo /D (133) >> >> endobj 5389 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 682.142 522 689.913] /A << /S /GoTo /D (58) >> >> endobj 5390 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 671.405 522 679.176] /A << /S /GoTo /D (10) >> >> endobj 5391 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 660.667 522 668.438] /A << /S /GoTo /D (10) >> >> endobj 5392 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 649.93 522 657.701] /A << /S /GoTo /D (18) >> >> endobj 5393 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 603.822 522 611.593] /A << /S /GoTo /D (74) >> >> endobj 5394 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [512.785 593.085 522 600.856] /A << /S /GoTo /D (74) >> >> endobj 5395 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 582.347 522 590.118] /A << /S /GoTo /D (123) >> >> endobj 5396 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 571.61 522 579.381] /A << /S /GoTo /D (123) >> >> endobj 5397 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 527.495 522 533.273] /A << /S /GoTo /D (137) >> >> endobj 5398 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [488.722 515.014 502.545 522.536] /A << /S /GoTo /D (138) >> >> endobj 5399 0 obj << /Type /Annot /Subtype /Link /Border [0 0 0] /Rect [508.177 515.014 522 522.536] /A << /S /GoTo /D (173) >> >> endobj 5403 0 obj << /D [5401 0 R /XYZ 90 720 null] >> endobj 5400 0 obj << /Font << /F51 8 0 R /F31 1767 0 R /F8 3263 0 R /F2 1766 0 R /F72 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 5404 0 obj [285.5] endobj 5405 0 obj [531.3] endobj 5406 0 obj [571 571 856.5 856.5 285.5 314 513.9 513.9 513.9 513.9 513.9 829.3 456.8 513.9 742.3 799.4 513.9 927.8 1042 799.4 285.5 285.5 513.9 856.5 513.9 856.5 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.5 571 513.9 571 542.4 402 405.4 399.7 571 542.4 742.3 542.4] endobj 5407 0 obj [514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6] endobj 5408 0 obj [583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 808.6 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8] endobj 5409 0 obj [577.2 603.4 905.1 918.2 314.8 341.1 524.7 524.7 524.7 524.7 524.7 850.9 472.2 550.9 734.6 734.6 524.7 906.2 1011.1 787 262.3 314.8 527.8 839.5 786.1 839.5 787 314.8 419.8 419.8 524.7 787 314.8 367.3 314.8 524.7 524.7 524.7 524.7 524.7 524.7 524.7 524.7 524.7 524.7 524.7 314.8 314.8 314.8 787 524.7 524.7 787 763 722.5 734.6 775 696.3 670.1 794.1 763 395.7 538.9 789.2 643.8 920.4 763 787 696.3 787 748.8 577.2 734.6 763 763 1025.3 763 763 629.6 314.8 527.8 314.8 524.7 314.8 314.8 524.7 472.2 472.2 524.7 472.2 314.8 472.2 524.7 314.8 314.8 472.2 262.3 839.5 577.2 524.7 524.7 472.2 432.9 419.8 341.1 550.9 472.2 682.1 473.8 498.5] endobj 5410 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 5411 0 obj [599.5 571 571 856.5 856.5 285.5 314 513.9 513.9 513.9 513.9 513.9 770.7 456.8 513.9 742.3 799.4 513.9 927.8 1042 799.4 285.5 285.5 513.9 856.5 513.9 856.5 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.5 571 513.9 571 542.4 402 405.4 399.7 571 542.4 742.3 542.4 542.4 456.8 513.9 1027.8] endobj 5412 0 obj [569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5] endobj 5413 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 5414 0 obj [583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 755.6 444.4 559.7 722.2 777.8 500 905.6 1016.7 777.8 277.8 305.6 544.4 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 305.6 777.8 472.2 472.2 777.8 755.6 711.1 722.2 766.7 655.6 627.8 786.1 783.3 397.2 516.7 783.3 600 950 783.3 750 683.3 750 759.7 555.6 694.4 769.4 755.6 1033.3 755.6 755.6 611.1 280 544.4 280 500 277.8 277.8 486.1 555.6 444.4 555.6 466.7 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 427.8 394.4 390.3 555.6 527.8 722.2 527.8 527.8] endobj 5415 0 obj [613.3 562.2 587.8 881.7 894.4 306.7 332.2 511.1 511.1 511.1 511.1 511.1 831.3 460 536.7 715.6 715.6 511.1 882.8 985 766.7 255.6 306.7 514.4 817.8 769.1 817.8 766.7 306.7 408.9 408.9 511.1 766.7 306.7 357.8 306.7 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 306.7 306.7 306.7 766.7 511.1 511.1 766.7 743.3 703.9 715.6 755 678.3 652.8 773.6 743.3 385.6 525 768.9 627.2 896.7 743.3 766.7 678.3 766.7 729.4 562.2 715.6 743.3 743.3 998.9 743.3 743.3 613.3 306.7 514.4 306.7 511.1 306.7 306.7 511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.6 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.4 463.9 485.6 408.9 511.1 1022.2 511.1 511.1 511.1] endobj 5416 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 5417 0 obj [795.8] endobj 5418 0 obj [277.8] endobj 5419 0 obj [272] endobj 5420 0 obj [777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000] endobj 5421 0 obj [583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8 444.4 500 1000] endobj 5422 0 obj [656.3 625 625 937.5 937.5 312.5 343.7 562.5 562.5 562.5 562.5 562.5 849.5 500 574.1 812.5 875 562.5 1018.5 1143.5 875 312.5 342.6 581 937.5 562.5 937.5 875 312.5 437.5 437.5 562.5 875 312.5 375 312.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 342.6 875 531.3 531.3 875 849.5 799.8 812.5 862.3 738.4 707.2 884.3 879.6 419 581 880.8 675.9 1067.1 879.6 844.9 768.5 844.9 839.1 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 581 312.5 562.5 312.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.7 312.5 937.5 625 562.5 625 593.7 459.5 443.8 437.5 625 593.7 812.5 593.7 593.7 500] endobj 5423 0 obj << /Length1 2273 /Length2 16426 /Length3 0 /Length 17761 /Filter /FlateDecode >> stream xڌT  gM\ӝl5i}g۶mSd6ϳgZu <5PҞ (%@Occ#!Q07G G3@k.ҵH8,tt::ZrtM R4 +K;_T-&)]{c;9@Jh?!ȹ9hiht-hlxPLr@;#Wi] ?M[;s}ݻNX-1ǀ i Xoeakbbi041dD$iY:Ꚙ.@@gokbmoGcgbWyﲰLlmwgfVNn&a`Mhibɻh`cem@g}cڿ+XV-~`^Nuz_GO00ѷL,~G ÷5qӽ=4󥕐WuV7j53ۀTV?Q O oY 2H[2@{5>]_QV&$`noZ?`~RVaMՉM41qȚA{psK_5=ѽ}R–V3 @V}F~@@Kciex/`he U젤Ez័'ENQS*X4|\~b{Y%B2k`Y/zkaw.'~Kt8=B.gpL3o6hb$Ã> U_+|57iaED4E*YmBq zd̬ mY^v- ٖ '\fp3bAq–lqzO3;eP5wnL'-'pTVChIsCr9n0A@ѽZfD6 .a:sp!2fQ ¾x.Q"6["1ǑD< iDXt@>;wnub#EN|~%@-rT*b Pܠ 4x~[RY ۏ~{nGJRdQt,dLSunl 佢{ 1ZZdVB}V`Ϭk5 f\@˾6:^SҨXjWyJ\?3.%/]qkvB3=yY ٜa+0ߔH~kR -tqey]8C9iIŊdX(NY'->; H,:X0' Ix'r7K ~*Cۆ GiNN?{/;@$[-Z3݁ .i#k:@Wu 5(8ػT-6OGn^z_zDibC᜝K/QfЮ8CqK,I+)G"ϷxԐh'EX&0@,V'oI_Cxɮ k+Bbmܭ+KTY6OrU#,Gm e`'۶:)PF0]f߄z,3, ?`X1<*$Z PT"yz=3m"/EהC6D+!b'Ć` $tлAhp"kM&}FkWP+l5y[*YVۙeΠ ׵1 d-Q6=XJJ2qz|R/Y܊`E7Hl/ ꐼa?.Ţb)tsN^7b}>1}`M6tM&՘]ZwWo} ae9Ȣ(Ō7ieUBK)!+p kQ| W@:Ƶ1IqfյVI1izn!.6֔ 3?BPa5N$WAa ڵiye.:}u@Q,W sj\_.n[#c7\Cu ttUhwTmtvo6\@:bnqsKOMF|zJuگc|`~Z+wRn]z֝|"X/6A [ 3ޢWw`h[Q儂b'Fag \(Jb cۼ+|Qo'7)a״_!۠&ztƲ[I14XԢzqXr-?E_m~w#?etJǁ?$鮕Mԉ~C7TUo﬇GZHJhm(*5RfnoDƆiVwdXީ}L E tQƷ%yy a33btjӣM%JX)~}d^eDLː3_z_2Dws|؄]| 'cKoki Y3)ϘP;HP}N)rsbd"ijE4ZnJt-Ac<\5@̿s) 3ưZۭ5@ k_فllr{!m8g0Ӗ-6Ek'kV1ϼE>q i6 Z>_KY,ash) /7cQƟMqCus:YE%@ 9>Q>_1D706D/ c1 p,2&׿s jn],Z!Erl5]f V/Rϓh~~SwH/{C$s`D'փUث\k2\z"2%+WA˿wֺ4!cQt>:viW4ߙV/tdd3iť,.GG+Sqq]z'~|Y4k;w7߀`rN Z~"䛆(<'SP댹2*mBJo9~ּ՚Vw7INNQ"vЉ-F}D0r)IDZŌ'rvGʼn=fA mJy.Ȓ /qg  l-= EX #f!"|uّ=vzWSMXD?ɕPYTdT|U9H\O!9fT%~wA 5m!Y;\~l=1!À\vU*zo#uD }k/_:NLтik |bdR L1$T;."/TYd0:Gدqgߣ{X]:?sNF}mRQ`ab/6GNA'yDLc|c0#ur`vh`NvH!V6p}|u'Je.)s ?Njub?SV(c^vǣ}H8 ",Q4Ql6=@Y.SbKb:WcN =77xmFϮ5x 6Hy7{*k4= aE\{cħ{I<7%%"W +~O{\(P1/@"*E# l&mv6jDZw &:47j j횓0MA 660M_xL<|z^[YU(\ +q; sSN1*ca!Fy/Z$#G&Q>Kզ#KPm@YExhG}.gSGL71M4FH)MձyN]޼,%A+a[!a-͍nː<'TFhuwe“'}yPÞS1ԩV}*Y5!c+UZ72PƕD K5lk:u}:<9&Z >c;dR}W=mksS~5?ƺMkfiu+tVDde#|5=[ . ~SM4KH)n"ףr|Sē;/RُVfE)aPMs9?WNN,pHԘc~#;BYU 2ݍ%t__`y1׶xOӰ< mpFeVB2o& T8is25+#W@Olq8jp3v0蔪Ёz#mATjcB{ -RXV3'A` `I} IHS[Y8nBVU`AP!R%Lڨb4 8'2ܺ[DJ <_|lH`XYpAOᣓ9 *P="}+// nJON&r"9%wlR&We4 VRY,sŹ~ۣYðZfY q* 7e!Fֆ .4UBڄX7U Ӣ5UV= F{U_!@*k=C.sQ3@T)u<0ע.nL8=6 qT ԁ$,W7˒`C0uG|c >AZ0G)WGgsi8TrQƪ58ڎIŨr4-';Z2sf1A+rq^X~\6kO *1dGL(\ q946%ؽdhOou%[%ŰI'"RDI_?s/HB7.2nS*{z܄o0Ft_t*h6#]n؛!$Kqn라~˾x3tS {Jy 0.g8Xu`-OO\arcšn՗͎Buy{ޭD*p6pF^wN\*'<ߧ#ZZYwƪ%BU3e,t<9.1ūfak߭9jqѺ8`$PbsS 6o?l/M>5 Dzg[>v79`i ΀x7gsD#Ik N'\ E$KbObjC͌EmҷU="sS7^68 ĝ)rwvAIxCϭn1`o $aj-AU,W|b% #Ƚ$|6걡+od| >rҕ)2< u&}=Oђ2Pg Tjrv:, ιLNDEy#7?k#`Lɗ4{hjC9GzWDR ^F`߾ש0K^ Ƚ{Y_˦`Ei#BE^N%xH.-qŞ:" @@Ylb ~k^0. .7i/L zm煨{5`)f?9ECUo,hEƕ^1nDkyvNs83h-=IT[r`F0LZ0X vWИX߾d]zBm' ag| @Ӳ;cBխG S\ 3 QcCiMr@!GVܥԫy5'N&16s ;~O9`d/ ༮oQ4(BZ<[dQ6n6 1B#JLIS U]vU7:&v@W;Bi#݂X}ʽcB9M4'4tj2T 0d4|\Nj> C׭"0*ЛAh`< o({9-՛/͵\7t/ˈP`8k9 X1C$ .,k%o9bQD]Ae{F$v@-0y}yS 4:Ks^ ~R{Z8w!fk澪UPP+ W9W<);z$7"@?v;96dyovy(hB0,o(ׅ%4P'^E<~VFI<)-?DMC%b69X$֗qdjN,8ғ{|*rg F4- g\IcL~M[,'1qdJ.&Q C%򴞭]FdkP 'v %OC|[a vh'sPg%> ӱ;\i-,bC1P7OPiș3O a~@C%M9Yk_P ]vrK p V)1w#?XC0PfKr˙Bj%pTCvoNJ^Ƽ>a{\E0eZQ"~@ZPyotO&Z9U. LګVs}TѸH.}eq*p+zsVM Siޥ!F@@ b +*\CLʋ75cM<׊ag{ޖB!˯ 9|7ɵL [ Ôu9Zѿ |HO{6т`ɺv D ZI´P?P)0 lZɨh.Z-JI cMXӇ0c"KgV$ZA0?/[ZiZQ]QnMZ>Em 1- 3hZ&GQ&v'cƩEQ(O)ͣi/GTs rfbpIY/Xg;ޗ FA$n.X&9# oima4JBV`}R'X[?ϖV9uNO(<^}.U{"d>|meGQKz -uG\, r_E{=4i W/zdvzzZd^.ߧ{mrZa1WԠ m˹_uJ F|#%Ns[|{33(:ː0[釚8<O H+)D & 2Iq'F3BVhw{[f@"O¯WƜ;0I_ylj*bAq0NveaLb^?AlՍ 4&nq.(r:1'4-g]kH7yu,+ JOTb?k-lxpvo~p$ ^t({5neGἤqZ֬ fK+[֎wM1+?_l ZXy>˹!ģ &~G-p~_gݞ!EވDF{r?ύMo:/ìOX8-v 2f|95uR~)W|iqZF:I.TJ&sc{ع'%FC$s6I {IjleUkND{TF0_ 6oؓsijܩa:N/67mIUNgû4 ٯ(x] ZQYсљjUƈ$^P*K'DHLNH6B , 1zԁ0E$*p+lM9GV DQɂ]Fcwmq*AP|K,@N 7 e:2ѿnk'/IqCk6v\hHtQOA8P17j 検l.>U@8Yz'Mī9lW5+B{<]6K(`^͆LIhA0qgd/<co| XQg6 ƻq~Σ2✭7mR 4Z |oz)|xֽNi'NOK+)]b;U$'e]MB˕UbpDkw)rodk*|Iw*,yb!H1fnK뫀TL]g܈@qp y7@xRLր}vn^Q+u"Z ϔguo5fq`[(Pwgmd>&aUc)FÂj_ɢ$stueVnd%::L`i?Rq! 9gzQw:|9aBNES?D%`Ŧ=S8L0]pr]d6`] 8jAamPLT!3 ֩)lTxaQrL b]g/^EP^( =Udaᢊ_(*[wk fg0K+L %V>Ĭ:dF}ڨRfHd\ߺp"Ʃ7CKHh/Z{B8cnPQ;71;XB_p'mĜ&_smXDSsWޖ-iDTnV۝̟J[+ >„KxꎆduO츃QN]N3j*nBso>^w?`R{<3!C/̛]`#(yŅGܽn+`[SA:O--j' k4ӎ'L:^Y{6wėW}xοDj,5PĹx^@j=i)Qa3Epц>>)= #A&٦iJ#/ۚM^u)goF.Ab|oKldy˸%+ EjH·_ITHPS7) H }u0l 9r V=zV!85ETly%$M9@VYp^7XS}!Y"/}׭s,SP4r~#AiCiw׶R?QYh",,)U.8UAԌU+u`m¢?a쫳}η[H A"g(}wآ1F!.9U6B}ES7RkEꔡ^-7.}oQo9G!_;F3p#. _he]z^ k =nA9KhVVE 9ʰ@)GB?ٓHa { H CΫ'iqؾvAiˆ G?Qa1T{(4GQ/JLxsٛVoKWMR>֖.FH\Mv`kFPW2V{pu_4UbujohTI bjN1)dt`l*(c,k=vӖArP{ 7ܥQ}Ahzk"x GaO>{2swkLkeлO!AxQ M>$7}xU!)s1tԚ)YMAIA 5laʂ %>ԶLi(qυ"NN;9ɐZB# ܙ324."B˭yLšܞftujYB37xO*jϲѽx;`J'K3ҭO+ڙ&F)pCB?F6-vgAtJ柅4(^}`* 0:VQZJ^,պQ&N| !uh,"l cBDu% E[mڏKۆe5y䗌%uU6\@:?{Vv |ycS)@!S+&ov3H7Ovu6H Tw0g!R%soLaV*5U`0 j2C,F[~%O|E [cS⦄Rӂ+0Lɶ;prv:JQ;ST"|#pػe6&;3p U_IR5B9}bQ+SxD[1LI-_Amk+8\-?&)U<%лX"kP%#vbR4[`k|/#>z})k Pt^cn@S=Ɋȳy/lzA8u;UNYmH!O?<2%Og _ Ѳ J $OU J966jYG-;");{寮ȵY%OF=]z^{~ie5J$|P ϙS|7妽Tz @U7_!tR=r5BFA&-y¨jL[',%%/< 7,pmL=O|+o.2>Y6Ll(tESSݡY^<4IJ"wz'/#eHz ؤKN,YQVH8R82^ʗT!Lx[Ϗe^̷Սݓfy%N >GBWSʇ}!5-W\)T$JhIKyX}4 ]ߨ &r nqL,0"`^&s-5^g$si:ȳzq/ V./qEb'l4z\M !P}'b˂Ġj',B` P8V&ZZ(K 7`r>EO<1?yהy#)V7AcpxqPݛÊ n3˄ָҀ#یBaAMa#Vk pε$hE|=^w6%B+iˑ0j҅Щ!A;:gxzL# R9/Hտ2ڥ9Pbb?@1R;@[]ڡ nW?QLjQgEbo6УW MRAҦ18lLx@n"xWJ/M}%g'%z-iߏFyV@ϗnL>IbhBl40[C"ʟgD7*y0 I3B.bʽ^;\ks0`׵lCR@y #1J} nh OC:AryZͼw3>2e2ZUP+YY8➯UG7;HG7jҸPߧmC<= qK?Vg;dLS岯u!?k gCSaG6F:Ct^#T_Y˷(s6PΒ'{|?gIgep\tˇc]+~ũ*6=i_oUl$p6Lpq<9Gᷙ5]lJY6+^'6NwPu?d٠XA ~e QZNm+s1#n^p֪EȪt8Q[cww?5/RD mpgy_>HI0LPec2L=Ӵ$EXix۾6N:uݣ10B\ɝNh]'mt32,uQk1RSв$,QȨTXRfoőTYxtvXEiG@X~ ũc*Q7W$.jpP!M W:ַ݀oLq3&)7HȜ*}##*gti ſt Tq&7s0Pݝ`;30]w ˵Z°LXdÝ?Z60"iZckLJS@n&+:wKI]~d>}S'IɭT󸘮˅D@d©2kݖV)E)K6QJ=Eq62{V+1XaWd܎P[bČxraJa} kZL@A,?f{n{:}?'2 )'eQUGA, KgW2V ODX7ݴ2+zbP Mu˃7y1OA X5 L4 XԚ1s\`#Qp_ַ0EQ5=at#c8ia o(R kf^g/UDP4ڭ't!kMu~GprGMC :}90މT4꤮W|U}1Y)h;{(PRМ%NN'xRPʈ=rJyaW)%;ъiѧ'e%nrxF̣B0.hw r@S14l戲wGx3A(i2W:@ gk] D$b^2ؕlҋ#&k5h`Go6S|'JG5#I<^lc1wlCfrjN -ͻ$vϱIM E|k^-CZWxW(>m #;t0//{842gu  L`0>}u}fD+'Piɬ900PV6Vnܑ= 4}y.Ȩ`BChzf b%|.NY(L@ L+MWpc?i{j0krtی6}gfFU2pkE ~ r8u0=[\HS#m%Q?f~P@7-(Ѻ>Zf<ְj#;Og$ P)V/!Q#ia׻ QcPT;v> endobj 5425 0 obj << /Length1 2673 /Length2 20161 /Length3 0 /Length 21679 /Filter /FlateDecode >> stream xڌP Rdø2c{Ȟ|#g@;Q裳0Z҃OG y}G Ew(V6,Ȃ`Y؉{Illrs 0H u{:,TeJl݅SSx׌k^0oM ,I[<FD6MoqV_; -*y H2Q#0mr|SТ!q!MEFY[8?K#kss.9,+Y3pXi LˉasyF!9@~Άyjn93DXbAQ0C)h#Izĩ,aeZ/4Q.Y3dGoUC&cCD;2sK}]b8yqV7";NݟL k3BU :$#] Gd;M'tbKSc=OKc] Z 8|qSE,+p.ˠg0AJ$č7g3oG0<Xq{ Ue|GU/\u]rb!Ẓ,sqC?Ct0}⯍zd֙NcvzEgN8m&q38&]] >⑪S-Oz7y !q_φ/2"\ЈH. ~nF) e]<_~ Bo [RD\^ё1Kq.%Q&cu9SfV]$p7~E&#7~7-g? zSh@W{xc.ZY+jIt ;-d8.%X2SN3p&"O=mRf:stJG+(gĎZUmЈfj0tt醤ZI#FQt0SC[-BfŻT%<^]F}'Hhl6Eh_WR,"`ߓ& oxuf@W%9s(<́e,Hy s_4(8,,49W +N'0A"LbEqHӤ/P C0e@Hwy((UKȦ5,U)ly$8Nz`3Vtފj^D6_ͨOO@b?*B* mQnÅ@wuks YA*+-֕R}fޚwa[t zsLzըxkI\҉e[5Wr~CEA'J6!ϩuٶ=㺍 b4qTej޾{ŏ%oYrhQbde"Qg4 ̷=>}_Dv)YLLU6;ȠC/sxHWQ ճٚHC(P<2ͳ6##ǙWqWix(K.<O_ I ~#A%Ɋvz9wlIwИ ٿ= d@NkX#;6/zT1+,Q0e~(_i˙ǂxǴإe;y1H@&Y @Q+joI@˔|H N R=fJB4lq9I]$$+lf((ϣƒ(+EG#~<l#Vu{|o3 0iCD:NNjp"ģk~1p/^jܷ|6' 70C&uEbc\&u3!]EaO2L p>]cW[0w>|}wl{-wCMᬭL(dLE{ed cngYp0ڇS7q{hI9 Eyc RT)wD5\$̐Y֡z_;>-SnƷ&Ц[Tڿzܘ՚`5XƻG>}X+LxYt/ ?1[qK# %<ikĺiՖ^09]Lbw<ں9HhఇfZ4%O7,g1d [~9ہP r:9]~X߫Tr>$6+[L-k[׃-5p%|H qCH*ػ~D~ y?vG]Ԩ&OW//`3Z<'=h!L&)?x؊CNє@U1Nsh]rh7/lg8X s wwV_d6[pٽ0af"Mܝ:7"kڼcv2[:9hK?-\gc=E DsBɛ t- wpHaX~jŽx<Y"i]/ 4Ew[?c͟5!k9ZPT4N]ػ,\-#&dL‹j B{׺9DgdZ򡥟ઠlYهjDo|]#01zЛ}hu`]o9eyӗI#UwbP6,"r9I]ݾJHQ߇D,{y7Pf@j(yowbA*>_ȱ$0m W ~[tgco=':"oc㞃a޵I)ͥF`7%uoUOLS.Lꅥ*_Э6sv^փ3bB <fg8*4Ud0AN!h60o[8戇=ͽ?+3,WxkaLwtU3}x}:tXz$ [O4l;vmXo'{>rDݱqfb[]8\%jǛ4Hi,Dpդw⢁?{EcC*cfœ5EZ qwшvhcÃ6 TdՔU"%ٸYyG I MۃQz|čw}YHz'.W5pSA/&?r.xo1tv,n;e-۱R`o׈chGKWY}J]f337C10*h9l˾jd_WN &~),1geЈ(oM5\? j߲BE&*Lxo@ cbU5Z`&f(UVE0Vn~uF&벅ADXeNɹs-T&Wf#oЂD?}Urq5B3C:DU(|-zxˏ?ל82fKRY/cSwwM~eA!LTϟ T? h aNli㖗a\h,Pv@;G8P1o1GCSQ'#>|F у |0x}儿ۦa}Y^\t$YCߠ-@ͻ9ߤ>~f yza:o l+!)(N*K"˂m0j.p2X;>imDEկ'#@h~oiF ̆XZ8Ruˇq6f3 9%vc|5 ,cfDFTj|vGZ"=nee,#T[Q+O[Q;;sHB8aq|Jێ3z{È?e~uLjd(CrH"b%u^v>| 02U*FsMs,=w6UKx7L&yv)5N"TH Ѡ~b rJ@>kII=ګXΔi?ݧPgs LmQtHCz}V:'X8]=*aHEF:5$Ow>SDנ R6.y!WB#4TCWv0+b;Oӡ%;ge2 pCbsXѓ1<9gC92 Xp!t?;uDٚ_U ePKj"(sɑ?W m.;Z\!ȏ4]=:%#fzP&eV:.Y)U69,kٗAMJ,]݄0ՐU%?lI;S6T0З┖yĪS[fl2:٠>sŎj'MfB)VU"jU|7D*$n`6Ѯ8U|p͡{.w<{@1,qG_&G+Aߘr9a;4btLCjbdAhwGqCoaeqڂ*VZu*y R> T-yj 2C&IZKi|.\l<גs׼$"ѡ≮S!RWEpӑJxcn/9R&^C~Qs^%ЬH\[ֿj<nU4;V¹w 3_d̴XCP2$>eaZ' Өy.@dv#o$l:m=ӃR-_Bm.gH'QIFI(\ŕ1v,*NeP@S@756N'ƹ)&:]ޢ-*>Ӎ~Ò*1s ^4|}A^aGx C%BHEGHUDbmMgDp `_ʮ0iRk{p{:Io?>btbwQt͆-l$΂10RO .NV;$@q@LXČE39`H? b8 )a9\`93&g`[Mcujאe}u_cn:>ҭî WomN~$A~p|]P\;kusB[CA[,a2bp9TK'݁ΰ/$Q][*j]WNn˗o s"lP߈gٮV,cЪG GOX+kXon-P%χ#~ݿP9q;]'*Ut oԶr7OF=CJ1#IQw@ ( Rdz|uTY՞-h%=`n3⤴@,U-JrJ˙GIw(4Bh *cVqTnt_!CV[2p_BH/S.ť:zW,G ۤN&Z*[Wv"ܖ֘O^a25tPb=$}yh#6z޾`A7sH s)>^#Mފ} s!2e%֤qwYmJ\}hu.] %5h ql~bW.̼^Bx)x 郧鵾=RCMj)$IQF A h@&$ڀy):NaKQlӢ(gS1On,8gFE%L~&sm"b|NVP2ē4k1/KKm, K:0rXCf8ʖx,ţF (C=p:y!ҕ`.IKm{DrA3v|*E׳NO>9O7QcUl*]3تK55Ϳ(XzN Ħ:/X ˲z21q~p3HAD ;K[ʕgp"g62/B›2SȠc ,[|E1 Mo~ *GQRrah'4^ "I4-ri RcաL UjW̦0%`/TeCbX+Po RJEG>TZ*-#{viP Z(21'Y皁_ߥ#n=R,&CΣ^)įSd[S]N^/Ns6oN~TsxUiE #쬗OT!1-W>i$Λ/>&SV@.TIfh\>E42?idEL껙ۤ%V>B"(Q%3Ṳ*SwKV Iw# s̺ܰZQR0mϖC>DP'6@D:ZS^0:Ws&bwb!3eMLѮ!ԫ*%wRmGNźC8{y>\Z\8;{(*Lwցࣅ値蘒qK icƧZbSW/cpB6kO+ ًbbRQi`֎c*B&Е'N?I.J \uBl(_skEflqD@&zx]( FUL~ʈ?|3dzMŴ]Y&._:}5OZPVd(6D;V jB`ye#ގK' M \CW!f]CZJYO KczE@V\4j0H]YbP3>-ѭw=9kI`Z HK9 -**:i݁8/p ^ێFg# ;쁯Yj'iV*z b?պ6o Z$OR .//'nYw/%[|?$˅;h9(Ϣh]nCwu9h,\1*lPR;C1bƊY?2N8Å6W\kF~lA'KXZhT֞\KP1:8Uy=V(J#I+C sNg|Xyyׁp*-礞ӆxYVgoχEz/zo >vAd_LFn4oS_@Y(~{0'%BKLnopS6P5OāT^91|}ĸ~;ˊE߅D ۦE#mɬ酧hcxUrt&$ZVcЂڶNo"MqnpP*_MG\#oQ24עauvtGi(ĪHB:~:/Qd&$@ N9U_U&(~|~o[w J:g͢ ?9x{;Y w5OEY/.QZGIRvC;.u=ʴ?r\EW㋘*# Eг-#<ĶѮVqĉ 3bt!TH(d R eˁ*=k[gX݃MT6z/6/9qԏ^z k{56Ƀ4M1FQ,0)^Ǐ0+sy<kWp9F֗ro`π1d9Njioi 5zx/0ڡ_=~FdhPWw͢i?E; 4Jk%XĺVOn>ISykJ?BU`X24YYV|w&+說!Y,ՀDNR*gڑ֙2}]> U*PVDw(pf !1g@WNmmtG`mvj1bU9 BjF!#TZ$lf8Yݻ)p>i3fĞEzŻaB?inT J!eU߮CQFlZqjOH5} ЫͽKvO6]eX+GΠtCRuZ|LYsz^RwR7>[fʟ2^datbz=M2O5Z:c(/N[ߌ >~ 2YrSFDa:fϕRw _iӔLIJ͏w26$_Dܷ ]u gX^ MgҗLLLqD|('` \GkЌI =06t&>W"Yά˖cVPա6q6+bqcGƧįZDP# 0$ωq4sbdnU9h p'Zw:=BwM:Ĝ0=SPЏpp66n:)y%£_t%BDDMKw DS>'fEIbNrh39XE=kyF'S'@AuEV'gC:/pt8(٥MIއs5+\>* 42kx R"K<维i C^qSqޮ(M[i%K>u;!lrS"Tf+;8ʐgߥj_$~GAsqq\y-Ev0ʵɗW4'ةe:})2IJ.,"Z4ĥ9KW45|#=`cɢ"kt@!JG2__J7 :ڦn"˥18U+kD#iKK@;rz-G{da,IiQrA"AKH~b؇*J@2y7X2UO@+b^$4e.c0!oCDN*>9#Fwg#Ud>@ I`[މplPr`3E(&t: $x`G<)ex H&l+yfܦC_dȟ(M"5BL9%5p#.M/BJ7T I0vHP05`ַtpF{e}߾fYHKH[*5hu5)De$ه8ODҥnߝ1@=N +>džt 1 L3e: 0)Byqu`3Gӥn İ.<2'~ s=M%W +ɪMҲB~Y1΍׻[Or6PI:Z(E7Vb!J_Bg"$CYv^]>k.H I%CwddF©l:E2h"vkzけ( hʁT|7j}ܤFDA;ȎSa}5N׎ZCs~}6Դͅ&7ͺ#yؖ`EYʇmYL*u)ɔ+/"KӨ{aO&-og$d&=XX;fDpX7'YRxAbdC RP֍ g0( IcN>iIj4h'PZ%z:{YA*cZMhbE,i+#;.[Ł#!82吲-x,BzEJZB%49yүW6dwZ*L:}ҼT4k{Qvx֚yC=I*Ca^׸nLnZJɪAiwy+cψ`s)[HUIQ_e28,^go*}TnP{Qo={ Wj4~a 1&Ӽ%!~P@lAag% oF0#'J+|%.qZϱC?E⓪U1^5huxL?a*ўŐ{H%3ma}0\XZJ's=Pedν'3QCgN2zc𤣅hs ȳy'tXP >1;?}@WD<;}y }[.)2]I $҉ik7|i<%=]S]ɖNS{"2t=}-.NAӧ o;J_t#^P'J><"5(ߦ}֝v\)OBa#|L?/NC U@{ݰ<|OP7"[p~̗[{s}SׅQFtr9E B5P+ rYCKƅٺL ?z#+lgQT'kD˳<kNQb͵tp&к#q:C"ݻ6j3 !{FRU?NJjS}KeO7{yEM4^=?L26VȊżso$Ҷ(8pWvKS<'g0u2b;;"[ԜBi8)"1C9c+x()}ƋDŽk˄=yROdIo#wǻF\bfw0Evcxh3&+ΆHmrj}rhk^EgWˏUO\wSψQc 9 ˓O̻8W:Z>ӕp&wi~l3˰/+,tN^lb Jan1<9_T\o\_"Ew[Wh绚,eͰ0a︔bGOL2υٖc ȥn, %'Xdi[<&&\uk7M9~@xeG<2E+yhDdyY i6@&O}h6Jw#` -u5jz5*8 K;JFAT:H9 q<@s4#R.`ͧY];0رBrU9ƕ">HסXm0Y==neΊO'A^'J.&0xGϮr/IjH >C2н ЈSYi}xɅC^k|9#K DxE{'CaףMuȧJ}dUh#WIk<5}ttaB/pahip/}L|Dđ0EjV5n|ΦNJd KbnE`"% ?F7#ڧ˃>-"7qi3!@O 5 3ܥZ dž|1o䬣ʔL;fƥWsdn2@N8D/8aYCQQ`GgnRTGA2sV3/=xvChx-ʻih)~ k==VUwXхN 6@y&SeT'r0pWs4p$y rD<~u3s}є]7f0O|бÍHG [Dzܝ~/#pQu75Áߎ"-4$!CnhtRhn2yc\Rm թZ פ۳}˹䢜M(%\cRZMdo#Jo>B-KN# ɯth(^ K}N f#@!&{H+w6Wu%i^4ӏXs,`ÍOސ'T2{X?Y[tph\7\9Sz'Ų\'l pqt?΁thjIJsKqB T nێv#ly-lQ&,&.hF 'riX[y<q'% FDL4tptD\I˖I슆,mCWzpJ;!ϪNN=6cgJ4 j{.TabvެYەբcl[F]26ڔx?>RIQ{.AG9 _Y)$:"~Q}OS֖zިǓF`[IĚNX- }a<车U$MvZ} uKIWN:On'w >MBkfA%I6@.(JÕVF.?h磝î!ӏTbtP Ԙd/)Z48xђ':ЉY6vQb]d(iB_ވUB[3"[Uwd ^%'ghD*O:-IԃSmb2K}ݚ@oFgć-Uܧ~μ״])*˘YX\~>c-:.Qx(hVaDBP"^$1k'z;eIjkݾcaYM5oÌqcfD{-'|gwDGhYN R6Vrfo1ٗv 4 endstream endobj 5426 0 obj << /Type /FontDescriptor /FontName /TFGSII+CMBX12 /Flags 4 /FontBBox [-53 -251 1139 750] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 109 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/asterisk/b/bracketleft/bracketright/c/colon/comma/d/dollar/e/eight/equal/f/ff/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/percent/period/q/question/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/v/w/x/y/z/zero) /FontFile 5425 0 R >> endobj 5427 0 obj << /Length1 1420 /Length2 5888 /Length3 0 /Length 6851 /Filter /FlateDecode >> stream xڍwT6 "UJDPHWB $$"HoJM{ RR(|{=~<7׌La(; d`f o;"PH@b($Pd7e@ to #Tx `@} xUQho GoݺyW8PA@!H>w%TB\((G ~9G-#*)qŊ0 7#c<0O@+5/0EA ,g],aqs'?ϡ`?gRLR ` $;I00/EE(!HGa?-) E_{ T6ة&JSxeHl+P}J\biV3.}v;>˵\u\k\v|8'hX&\)tqFuP)Myi}TqS'ՠ$S&f>]r>>Zbέ+v[|pO(^]CMb&ҏbt;MFMXw@a5Ď#Nz J*&756EثpLCh+=59]7EmO0 x~/bmBy- C+o hbk| ȭ27wv2/qYp۝l.S(?y8@Ѱmx!+d{uWk'Xn6x^>r:+Nҥ/u`A%vm͙: m1v^z ڂZ&}`Lud5m #{ǀ>ٰL]$;kHvNRe 179.!xkPQoZJyǏso܏OhPHب/m01̜ G/~G2N2K#Hڼk[qYtJ7:^^fͺH/oģkvs2Y5$ i'%en,{0]>¿Lq;O R`<:٭q뱓Zh7(ߍɇo77}shǹefוǚ.֒pWPgTF`wlL܈GS>vf/[C?~- κ_p|~^A1qj,C꫉g jy MѲK%0ncDPiRSIW2ubNI[Zx;.>6j YQ-|ꊚ_ =AO_}qdPdVM n EA _PjWD_Drt7+sON]$.ׅ ?^0C r068.f$I3dIajd9> +(@ޏأ"! Q݊ {CJ˹wK%9%Gكg JɽGJ?PV ݱlAsM@͵zm OzS3a.fZ}ȑ3.yOl2Lf$*Dkך Xiʎo5KbK7+Շ"־VS`AT彽B.'7ӯh ]sB;(w N_SkL_@^QlɶX{z\kŌO`Hyo-8ke*O,>*i]۳C~{wE^h p`c9%* I:3|f973<,#:Ly6zFqW T+VM[4S I{\\..egچZvFȦ3)Yq6OCKr>,̮&nk:V,t$n$J~b>R?|azLX1zgBy{ۅޅ淸\$[ _?Qu*2Ě1݊Vo&.4tJxM[^e"My_pNtdjO8b<dVdw:"mYJ;Հ(pRXW'ŧ:&t[WjmO=rHLE} g"R׫kY rR8pK׬sH"MaNi;c6p:K8Bs7JQQݒt^zjoڕS#vq3E}ɴZSO~8̭ȜF<{;4K9X3GYEruG0IiKkA%+1d #<*ϨE#c?40'hg ݥ@X@@nozK5D|17Saz=΅'uVF*(nh 8똚IyLG [ŷj3 ʧҮɽO6Y46|~&VU͢K ruu)Ju(.9ɈR_![8̼WXއń8h4Sy@GϺg'.DQ2(y6c ¼{vNKS_+V4Q y?޵t1LI%{SW">)Ъ0CУpbB_p4qLm:CAixԟkhŸ _+'+͛ 2\x@^NUdn~7K+M6+3TvqJW4EB)i7Y BF}u\`2i}Gsf2]uO/p5 FU > \' xfuCm/6v~FX*)ŽW_<1l=[0+ho**3U.W?h$G8 )rOZ/cڟX>qJ)Zruiًlם`I9soT;~ˋ U95 푊-={,<Rq{}ڽkAT\2ٵK#"%03zQx0 Qib`Seib9COo{3X17ׯg" ue}̚%҅vz\l5F@漹[z.T^howѴ|~x%Cl:MaiFUU `<~ln@Kx#`/}zh,E7:~nxţN`t(ZZ [<,ylN8#kCLh+ $ʆ9ռ3'!i-n1>Tat$UҮ5ywJM59ZI#1,g^rCfHh؏٥㪏.FU1bbm2]Ŭg YkZϊ#hpw1ۗ.sΞ+gd DcQX@m~c-^6|zL]`.ۍDc/rѨ8)!veM⢑boC+'>_]katTm1:; .ٟ=̬eN,[(:񶀉\z,IȔcu5-֍IP1e3NťЦB7R>Goٺ3 Y;9B~wn6S3bO*6Z{N]x]t?SUEM#IgsvLs}uw3H0WTH޲.8-[|ǹuw/Ȉxִҥ%D9}ۯJh"쎒2s/rX…djN?xiAD8-QZ/JJt{kWjE^p5(?FUyw+tI8d|y–n)E6 tB)#VBYܣ^O{C&e9O )ÜTC?=!z뭖8NjYds=. r)@m@[މ@|!=":Yfhn>e%Uo_?>%'!HF? Q{Q' 2 lzksh,4]vL'k=9[oy^]'ɯNW<4ml<^zC g!yjv>V'Ŧ|M1wT 쎖b=/^92ե9],1arg6lfizTr({Be,&>xI+\գ# ޭ3#'}CRo0f# =.I.7pthr9i,zˑsn",fI1t\`,Z;]iq%gz00b] {_M d3@^4Oi8')F{`9#2SڦIݴpwe6Hu=l۵rA$_PpjsdcVK[cߟ68HdI_4II))hDCf3l|a~jIrF&4}dx7Qթt4t*/~rs0{~GyKƉK!ɰ шs c5 YWt<")ɔE S0AX2NzmR9^e&@[b7?H+[9DH=$9vr{jCA[ _ 5*)EPFVҒ&? pj"tǣV6:Oyx IYܯV8MZuup?l}Wvkp%K|,}^=;<)~N%;n|k$?~uY RQ~&̃gwJ*z)[8U(A1r_-c'MP9D,1c/*`X̣ 3O{,xȷDS*⦑ pp,2]cSYIZz} {|ػ|{k(HY;Bsi&S6CM endstream endobj 5428 0 obj << /Type /FontDescriptor /FontName /CUJHND+CMMI10 /Flags 4 /FontBBox [-32 -250 1048 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet (/period) /FontFile 5427 0 R >> endobj 5429 0 obj << /Length1 1420 /Length2 5888 /Length3 0 /Length 6852 /Filter /FlateDecode >> stream xڍuTk-("DAJД7iRwA$$AH 7{"M84A(H^Dz|?߽kݻV̞g? '!"mSEp !i}mmu0PHHD@HHi80X$%100S@m4 lA i!!@4F vAB@ 4 pG;cpG Tta0 !`= Ap*%]]]X4.tE@qA?)u?@#;`Ź10 aPX|3 ݁Z@]G7X7r Y @`;"a@]U-FAX4>Fڃm_GU`8 œ07Bg#wGد Ӏy#ma'00oP$(?no? h.('K h?_#TS12C?A%%Г_Ł Ws:*l:Yo&.gon GBbB{ ~S}"Ug{_q߀#v@ڻA/6"~o6 tv:_E/t~o?tA8ⷘ=Cc?_<,!wrg;k?m~} b@0v%Ā Ban4@q 7$P?4g (-? G@ }W Y:T1LO,VRkQr13P]? 7ϱGl#7M 1zLPx! UcwnJh54Vifz1g6Z;90",Q'MSZN1=EmG0REQYjéB*O5 Y hsi-دڥ!b7rRhcl!gPiUѐA+= Zp{!J|~P4 Kz10ɂPgq];W%ʺet%5I#ce8ZhgXY46Uo돁<>[TW_t%Ƌ NϤJ$`mEy ZF!H3Ү `B/I8(+/YX6Y']u-ʣ7|{dѡbmu}F^ ]mޤf=QR;k;ל(szH2=te+asbhGKU>Xz|ߴs Ur0ot,XّHT3Jp)+3Yu-̖!^bJO"R0^'(dX"6zLhf,A6Kբ1s˒i7}g+< 8(dMǬM0:&j92%b<.` s Ff/cW2OLr.% %t7wd :6J>זI.EK6Oa(iGeKwJ-cThvk0z 3a(.zYbyIuE#K-ç+=U'e0LI5M?}h2 qvzjK Xp+N?kEsr Ҥ>nZ=I >amҏtk&* `cD+Y׆r$qO'OHt/8&K. ^m1vT5/Yky_IZޖdŤB1O$$Fypq|GoW̑ XZf}Xs`g\Ʃ~㙄󦦚s=O*jinXl;Da<&srRףD!uyNtdAZۆt - J-Ğ)FDEҩ8<}ɛUD>OR7nlx*:]Lj&ɇq_Upq ԭKGO-k,pBt_PrdQ[d؎j'|TBzPmH.j6r8 P>[OʥNn|C- ʃ K=NsWI{Z>yBHAXO5$Ci!{wyg1ߦ-?V3vv'MkH Tй;бMj={'s`{k#RlsWs7`1mBpX'z{4DtB^Yz㧘c*ZZHc :Ah (fvOGnP%$V*xp$IM g{_A-كu; -McG}TOUzG=& w0e4C\J9.t vZشfPh7N:] h 1 07sג.芩/KYh놮[ Y(\^3)rɸB眂&C}rRЇg j8N6BhbV}&ߺ{ ܯ'\،#I̞PJ?׆aN_ .X.)Sh~!˴BbՌ= L_l.A`qΗkRP6t6T|%.y}D_1ڞ0Wz)hæk[} &yA2EJriQUvGcԟH :a:uF; gxqex DPNnZe˄ ޝǑ<9^ڡС[0۞#FӯpA*N҈o#"4xP+k%ikbT=ޏ,I8N 0f录:-BQb ņ!:$M,n :DSYgR~^` Es]\ —nn"1o-""ȟ( xs)1%=Ͽ( b/:=a[FCo#I#͹hڠWkn!Xʞ=vS7@fRi&Gbجg^TٰB9q#U=Ɍmb0zn%1Ɖ{V?0Ad7 ԖӒJ)nO?ӠDBIpW/{l)vpee;r]P|>8#4(v#x@ N7K{q>\O$5(#mH9Lt(Βsh2F$d®Vٕx}I cZabyMWpӳ![d`IJUΪo2aʩ^$ `͢kOmeLѶ-1ڙnbM@nK6+!n&!et%Ww] <=9~%VzNvbܼ+mydƆ˫wy&9o|VGrgmN&!Z&${均)oXMtxKcd-Tw<tM%vW,lb ARC8(NW CӺD,|Xa`k|@2p3Aʘogo›GZJ9eD׌K6SYi.V: t.^ ?bdgm'%6ZxyrX`I=s:.K;i| K1CQTY7SbBUBaz;ESM WIftU& OvMh/\/of/ᵁ)O } bt\zA/J`Īa81y[-,UL%:T^ʿ “JQ%LlCci;^b> &qW"RC@SzֶG.YUOZ*Bvy+"}֊_VLr+NfC6LZ'[4VS<-?f $Ω@.SW (-o$X],eP^lě**]s7&amQ"L| ~ ~is^׭Pޜi>ڑ7cNY~FIZY՘' f5iv,/zּ/˾W>+$hg0rmJA=\D'.gǀ R<?.RW|o떰5 KJ8$8\> )]d6' |} FU"AMַIT(&*K%f\Odm y@ GXD! Qc>IEWPLskc-Ҿ7Y[+n>uy6n ' Su,gI].#u/}e_.d@$Z?l8<,%Tw[+q endstream endobj 5430 0 obj << /Type /FontDescriptor /FontName /GPANTX+CMMI12 /Flags 4 /FontBBox [-31 -250 1026 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet (/period) /FontFile 5429 0 R >> endobj 5431 0 obj << /Length1 1412 /Length2 5891 /Length3 0 /Length 6848 /Filter /FlateDecode >> stream xڍTTTkS@eHA a!f`f(iV:D)n$$T:{{׺wZ{ϳٙuxd%8 kj@A^ P]rqBH(& S0yp@/ /"@qja$ <Ea sD*:BP0l!`@BPj)aB9񹹹p}e xAB+O-#72^v-ۯFC`HL `T5Nd w??AaA`0 lP@[I厺~&pL=uYb~P0CP' u g-+¬ᎎ I| Pvߛ` k('+'>'"gA"B3^ +ӍAwXc@@' .oEQK FOwb,u1~3 s'~ttU5U#;&'wxx~0@6__yu@?Qf s{q ?{Cf`̃_%vRrqpa#O.(.4u31䷖5!VP@}l0](R ҁ.030 Tl 1!1DZOQٿϡí~Q@@fy?dR26m %6pZm8[-V7 /QaRz#sxM [dϝ;Z38zi4E#iOLdxIySI^sTpHt|QՌG~z ΝWE 2T=(TkI˰kץ'05Mbr޴V*{22"@)NywwyfD xIK /NvelyFj%nj9EeMt1^PFF}D؊ >8a1w8wzVM/W)}n@Η/zuNm?q,c` ]ՖW/;HL4_5XxE )U7/y;{Se'[O,X36AyA򽼫#gJC&nB,\U$KN|iS -Zc0bl-]>E h=Q.T]ߏ"<.Yv?;Ψy7NSetšd e)j$tunx 0L[]'s Hʡ ke oj^=¹OF>7wi1Fin/2V#"1s-r4 lA ;F7Rx:;D|{qU/H/Evaְcg·Yo4r$Kbx.˽[~|\ WYx5ഉ{=(-]#ᒈ˄yF3߰˹X'nËDž޲"1F[ɧzG9(e1 -˟/'3cT- P~+E|%3fnҳf<ѳu鲻cc3;o?/""m^ ӢuY6VWԡ0 og"k"@"{tLR!ciO}1m#J'2B_̮I{J(4`BW>ݫTGgdꪗ22Z{[~arYP{gO %5des6I* 5L7{K[Zf-s=MS]RPbcH}RZ$gNֶ+w<M9p~9A%3s`Cs_PO>T=}=p\x!B>a5l[cnk\WP#\|{)RɶҁGה,ط/3hrfbn3!aIy#RFc{|lɴr<xtmhvf]w]B8u"DŽ*`ؕ %?Hd>s @+S(i4Ͼ>Hk9L?>Ɠbģ>'v@9l8].^{$m~+&P|.Yp9^Lac6-!O)PhnREz-9Ƿ,#5'ķbfƹT}oR!yKwGUoK\FQI%ϳi\oIǣ׮bZ/!5Q5.1Ndơ_9hpO|ᇅz6kld\&5st%I"f?T+8uĜyHɝGЭyVKv¿s8]cv8k4[Tqw]Ѽ &z8=+=_7wddd~gbC5kiHrƉӔS8GRwS+R몆]j-g=07'=9}>*"~=R-y0Z[%W~ۜڈ *ݝẗΓجli [YX$'sN5e?ߜqa,H9TEni`D&c } /:ì=OyLUTEFdQb2KE*̾{ݸjv~e/cog0:byPSwPС_FӤ,JԴ>Rb|l/v˜ 2!Hč6fƄB)G>fՂblK/8ǢU.JaD$oY'?8vkCl'&rlj#N}(,VCWj<>n@sFe g FXYNxt `nc[j=^Y"kA45vA݇{9*c*;DNi~81[M^Wt\FRCr$Jd^-x ҷrJ_`h"ZpݑN0k[g2jy!db}?M8foi ypg:ڎۻ;_%l1̵|%8ݯ}Oq\$uT?>OPt"C{h=#1Te.Pes+|:GP8?Ъ[iG󙟘yH8Suq+X*!:+ՙqKFUGDŽZj4|+hu5=ҏ_41j zFߎ|:Q.ˁ/:D;F W͚x,/LX[c h=c?툈}Id9tyt98}"m||)54pF -xlaB6$4Mǵd_swJ}wF~J|N/,ϧ'&A~T mb%2ۻAˉ$  o)T%ц'%|IdY+8•sl #sj(w,ƀbuV4`"~q/'f7QSv=j|E65DM9"iz,kF mu X%91ɠ~Ɲ15(*hP58!c;8y^{R8kFT;KA-6*w>WmG~4^$Q J_};̩) ӓH'Tz;vӘŸ9暑N(0>L`֑ll35EJ}&oyP g~e!z)sIkTȥ6pz<bgx:#e> m;![^%Of:tVר;()N숇:g?k2pl O&Jrcpc'1Q~;׊W$㪶Qaf/sirM2y] O%*81p Od`B[$cf:.Sic)n$= 8 ]E1 6g2LXtf[Yk^dNOK~@mu/<ȫၦlx>he0khWmziDo:(Bv56t{>H .{^s+}j2e˭VPf'wBRLGi-jOCa=wCTQrf@p:^OATɥ, ֊Gf%jkӝ)R.CW;5\2Kc\ S+}9 =*szfY=1=ҍ -rnݤ,<{{8`Y^,FEv=:.Fcsi;JiFO~2Űiŗ$׆q-UuX/'q,\Zs˺9I1CFx}Iti>bG!D$Q9w@On r!˱ϼo9XU$gdF%+qE .s.ݱZKqw`ָ3Ig5BgZX|ubHzǞ#;ŐTCU5pW;W}[3/F3Kyϊ' C輶 KP~wh֑$Af[{֙,SXBs"^4I\eUˍenKWt;UT@ԝ(KNzqKw]/71b{V}g7y$p]_4?6vʋ.-]i:hfrJHqC5Ի/q7<+^kQ׺a-~)33,!}*X뵑\q,TUԡrICVoVzג(azu}J(CֆX!ǖyԙvC/GW o\иZ6gF̻۫b!r>O Onٛ =p+GƵ+_W*5yHx(Ti;W69j/Q)BDw{"͒pޮm.By}@ӰQ+P{7DiZ*z-o):L=n1/Iiwgm!er?GILc^JWfu^sH4&PKo\q0eE<*}(kk2JJ)tȀE90L!҂m3@a-ny8 <9OYq7TaeD@+UP߽A*ͧ_ gesȚlsk;\3M޻760/&H endstream endobj 5432 0 obj << /Type /FontDescriptor /FontName /PQILTH+CMMI9 /Flags 4 /FontBBox [-29 -250 1075 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 74 /XHeight 431 /CharSet (/period) /FontFile 5431 0 R >> endobj 5433 0 obj << /Length1 2855 /Length2 24862 /Length3 0 /Length 26438 /Filter /FlateDecode >> stream xڌt] ;m۶ƶml4hiX4s~=ޑ1v3߉g]DYA(` SPea03123SP[Sh]yPsd& ={- `ef3/@uS98z9[[Z@mF` bt63(Z@Lljf@Wruueb`4satpxXZT.@gw9WE;ߙ1Sԭ]9Xz8 dfotdJ@VS #˿/c33;G{/k{K-$)J07hb7q751) )0%Oz.f֎..ֶRdTe {s1;; /~@3Pٽ;{{ů$4쭝܀2De@W333zY1r#b:|7c8;xZBІ=m+J` &_'I70F&߈$/b0IF,&߈$d~#vo"F . o/qQ@\T~#E7qQ@\4~#E7q@\tE< .7ٙF &fwo9ۿ7P ș-h'ag%x1 @9;ښ8K Awv nߡ@vPaaڙX!M2_~@;/_Jf&vD7XAߘ#,>`g%K ? (AѬhdaUj? M݁Ld˙~{ڃEw3uZW~stÊWIb83e,H;cl @L;_2k?BͿKb%tp'43WY~M}5.k 2rYwE8~&ȉ mogY@~И\|A#1c|A֞@{? ޿ɁɲJ }; șT (ݵpBtV&`{+`Q(g7CM[~Z%BB,VzQ+˼Pc]Z@ %OP&a>x,?uzG N9|/*;7fPm= B^C8_MZIgϔ_R6΄3oTb1y'X /fݙy)d<լhK(T!>fo  5q!恃yGPܦ:Wh~dj`nRH4ħ^8SuQwxd-uǭOO2Tŋ rᾋ Ž5X7MuJ`oPV(v!Ɍ:4/^D ȼ7z翏mLmVꗰ58b!m)I3c^,4v^q{*^ NK-!#q49˹jv!{7#_w: omeWbw'4i-9~kǼNRAA!Wb4݇sÜ}/9i( WCw99!nzla91]Qx"Bej(9JӚU2?+7pfcCxrLdGq*Xpܒg8i3h?! ~z:^.W(ˌgdnS2׵Rl+n=GGn;yXsf܄p'>-|#mMAQn|ɻ@ʯSCk*g!d|QSIhlF$؅sزA/λ஥5$bi(=ڥetMu})! U6s̓cÜ϶)RlʺS ]pJJS 4(G#d&l e |^"M5Qy]rSrl[*.jm({I$Rh4Pn$>ulm#sS9_#T-DmWyw&9İJ,GL`yo!+(OJ>AUzOH@áٖ?|&Y%ӤIx6lKVrՌU&;Yޡ͸!f*'#qmT쁫kjDux0}^sUcsEBh1Pn.H Oz]}Wc Ө&w g"XxS|>pA*lX| cHhUJJ9ܟB{߇Y lJn2;`®‚]3Idb<.;pw@> !<]Q3ZA\F2Ydޖ <\.^R_nHyH)NDg}rwʽ{q0ɝʮ 9 .f5w781x>o\6px/K<ϖ,"noE& XM=>Й\ˊNx8Vu$D۟<-W7Wu8l$H x oc xR%:m{OC!]>7J#IiXmt Q`$K;(wB /O bckS9֍u 2ު$B|-_VǺ7Tܚ*WPWl㊯SM;s.|ԹG?q.-[ W~א(8z9 EkUGYp(~M+|ʳ~[{C5lEJ9`f=#|>,u0|^d|e"dLӵCcBe"|~4g+,iv".1z]]CҦ ܜ;db $z!G`2j~9>#eƶG0u tQN3'gҿɤwof#P_:oRM:Q׬B3W7&$ܸEv)8$0\;p:^jasp)$MQ߮?IE[+{Jah=5-Ka蠓^s,^=oJNփgIO?1P)wdm}jta\"A,57ފW6:Uy _¶[Kvc /)q{qv7]A2K?pBu lpG[FrXV"30ʗwya$J:rCe-Vk^u)4`d$E! Nt.žYDu1LQ@5h;t+Ҩ{yr`5/T$ϛX7eS:`XaISxYٽ!MC6([.Θ+)=KsRl(S2j. 4SےޙMMB[2f`jҔ)PIo`Aْ[lW&"$^^[t9f$P) /sL~l)G#HRP+,\`f4nuc g)lH;Ϣ_a∍D׍_$mvG 2X!'_)G^ HUy&l;NɆ0hdH 0z`ޠ@} TBl)ވ͋>Li]}x.0"I-CX/@E_p60dB楅W,&B52eCy ٖqv:)e ^AvY:;r@(~sdNZ HqE}{P@AդhL+\n(j\6PN!^odS^mP8Ke|kL$xu!vd, y&g,0n(1N)8]:R.>P)6 sYexT"ns-4ǁ.vD{rd;.A2o*]kb⑶b]Hՠ'T:c s2ð{IPqr8)iK[U}BDki遏{U~&VgO?h_'YeMAxxII[$epkVvY kI`fȾ[ϻ_[`іnRw9uP#ɖqS_KN2&nz$5\0+^6 ˜z ݂[#W<<Ux eed+, kYo+G o7N4eg}S[[JĜ #X&ƒ!m, Ţan'GsKL s+vD$x9H)-J_poX_alzT1oE]{IYܹkn^yBlJ=Q%%N/k ԷL=(̪QYz9b_pˆk YiO* z+kڼon)6jNVD8x߇t׃ǖe[niB/Sђb<+i0b 1I+{uSb;ˈ3E39Gl/GhǂpWvǪDʥBV'J.LJ+sucWlk 1II($d F%G3`Wi ieIu0z\P8@4cc*9yL{ďSJ@h+(QЮRWuPYhmOdo>u_ {OjEuet. jWYQ=xݸ(43<_\9`]V ^bMl*?vGG(Y\\C"ɪ"6#~ωfɶ%ĐHۜ6ΎN"O/BGo 41۪(sk}%piJЭhĚZs^mOLf?[|Q:)H8&} IƫSXkv @n5!ll{UT%VŐm$G .Xֵ֭9`f @k'1Z#8ogGP;D]a.[/+F{яQBڎ >MY(Kot6_Iʷ mԓcgfopwh+A{ BTkBOXjk۾'{_2Go}PB,B7l^Ե MS5~t@]z9˸C:}Ȋ).߼Q{Kpc.t@'!:}-Fu#IBHU5yPzDxиrWI@s<@Ltޒ11/~.HmdI=ys1ó%8`W_Z[S9gRvY>r>Dg0anŸ3Ujټ:\\ɪHBUd9z7* 3$mZc_~呫[%bK./U53HvZ*0ƀ'uO9A:@OIYGQa}{1~E@Vx<"j]pSa)X_AgO2*x6D;A!LhǖL. |Y-Ds0{RFqل / NC_HBTEwWjENsECjL|IbVÌ۴&H>f鶡 x~i ]#个{/PͫMҤ!FُR9s/Ǒi\}.vh{{Ʈ ?+ЃR&v"d艤Kۗ=V,o'Ѣ7aWJk1ܫv(*Ҏ/f;pOaIh8T{&weɧL{=D}wT}fB:ƿw!{˩ǽ(八^A16f͒6-TKX{1]!=ݬpc4@B@\{CUgPV{cre;ZCT&?շ-&:r/Z9o_ p g4MPQ4[ [ь ,0 WV%TI:G&:k-`WaKVc{NMP`Ѡ$'!}k"d.UcɖBJg_Dgdpg&4jH>wz2ph0$ڽ"P<;a\`&ڿr7݃NS!|FzXmC- nEubBsrÊď2ԡ05i١m]X< ةg乌Zз|TD'V!{fXo'@' ש怸)fveM¯Ʒ?Q5 "2Rm xt1aUn]'qtCն\0R pɥ'&q*M^ N50 ;9-HwcJƪV|s[\Xlr sJD&އnX%saM^LP6ouc#cȴ [aX .9Coس?ɥM4eIUEaDYԱ%w ,\|^R5FS?>k M-=y@Gp!/zI7l2|Wb ;M2k"Mio՛bQ<*I(; iX#;:d+%F ݤyŽ$B^}R ck*2zZ>Ͼ:cyƣ!CF~kxuEܵ=zsXUյ6ٜ:ev3ę|%Rեy8QjJi=buix1=`>/'VTD&܈ S-2f+1wi)*7f5G颴竕7 -RĂkF; aTy}QObMQlF9ìs=#B hf4x4;ek| Aqn\FoЂ$f7,qȾ Gzh+ST,F筐@*mT7فjev:賌VݢocVW9L8}1|7ӽQF#h7H lO"R%p"%EgWK ^Da/0s܋&v۔(P,9L6.\OA䶂^P5wjC.BNuG[pdwutF: VSdHo{;b &Ô₉8SaᇂqEmL—:0 *ΫF)&,;Obh3G@&a!Lowfә`vԣԂZ6kKjB*Hd)GA$ӬU6ԫQÚf!r)09 2O$'`Zȩ>pf_YE5?le!0 p,wř~caYZJ0ޮHIƒDs(&òFzjIF:tK~ ëzű9]ֶ{% )r۲H_>/g6fgA@Ѻ@Ga9٭]`wQ&>#ACc_W%k;>;MhPLd?[\Cl 'Y%1u;~ʵ!3T 8vCOSN؊ƿYZ$])"BRn\ZW+ 2٧YzCN|ާXBDnxG8Тj&Mdg,Ψ E 8{ϑpX⒏9.YDh>ۻnK z(C5IfFL"oϹ2CMYVDz2EOoRWWE6`]rEv}>+rkCNlC%J{䙑{ÊKf $g'5˭L;;y(2ȦebVR]QX<0e5K9 5KaqWkY^Üh+7èU .%$dyp]ɿʯR@;J>* 3M 767G徍+bNrHÛ$цs)s ~Dfba5Uǂ|.QO‘# !҉ZPǜۥ|5 %7 qosX`dp4 s>0ir-O`uDGV;{E{ĝ@QWܱz81ΈDN-  \OmmɛѝʷrbbU'zɆ Y$R#!WJ7 2z9Ic4o;T9>􃣏&bvA4kfo q CU4']Ge*|"1>Qg̚@5RpK]SM]:)|>s?qy+4K8́Mj0$pPq$6z;{QPa*Z Mѧ#jK1nk>ɖo9_7&r\`Sll#Cb["^E[G;XMP1 p)bi9j֜8> M9AޜuumwˆT_ԭȾ# L,E;0[%9E4CRT& 3,ǛvNR=ck5z;"4A(5 76+pxmn6Uwʞ>nL>Ő$DZ^8 Rb**hc7+uH׆is̠R:&ް}!n.r"SHo;KS=݉YO|v o= phr$,󴙰t{j xr{1c/`3mHce/8p`̆ OP̢[%2WR|{6iyp4k"%) @8>2By _LlG!}i: V惛Gkbz[, n&٧jb%n-5\_uمgΆߕX;A#fJcxTlX"R1Ѿo zro:P47$N9ba9#y:{ܽY>N~=J7Y INn@crs+k*Tt4颱4Er 晬(,%=FTn8#a`}Q mR}+uwOS=t;55bpT!KKZū4*ϥJ`EYgŃJ< v1Hы(Up ʙ4|t).XHң{tyϢ냫r&4[ bƭvCD54b [-Y9Oa@m >eȱ4-oڐyj؛VoY8d%,nB%0%b6KE~I|iEܴ<0ƿ%KkY,֦z`ե 7X]iA:xj"8=EuxJnr&cA9ʗmJ7,_{2OdⴽZ!߽AJKE*]~W2oGѠ9jުTz)v3ho8`K _Ink#Y4^QO?`+%l"RNBz:l$49TХRtB`׍xfM&a O0a,t-@;)޻uIW vIG1SnB_mguժ?3hu?m1.{:HY@?&Lu2̣J92bEoL;ctTȮQ +TN8EyV`I:wkE / $Lưn䝗“wٶBJG tu㗦чr1UƠ{窖SC$r:{u# F|`;ՒcE!|G2c<~NϮ[a. ' gQ踤o͇$:#z6LLUsu7 F/9}>qnLeNIw7?#[]xZ-u=$Fa޾g?LZ[,Wa7\}?5hv"΋DE#8iaٳ t/=G`c3}affN>,Hw$'?bȑz vְz}DE 0$%H> 4a ",O#f}_k49 fݙ[Z#<,jbb8$b;/-6d Cv-G1-yD;ԑd`>Wd-m՟J֎w6KѪyq5G3=Tx6IYf68$RRp|-)G“`_"k(TDha/[8}4kJ VF|iK֔mL |}#'Pi$}c'/x$ll(]IZ|~~w@.z8yzjk'GH!)GDmubgDbSNE>i4"wX8+x%f*1crؾDZe DN@ _zOTŦ&.ͣۘ {ڗH}FCh.'C:ÓR=a+JJVڐ\t<{X$OWb}Nݐq +aMH<TblH VBv+⊲0&I׹t e_4."EJ^fV 3rCuApuO!Y/'d:D*nRdV<6\Lt4l0; RBi k3nXt8GDkwaՒoPs3y]KI4P(ȵ=O:a]Fŷm X:ZOLن9}Q\'՘ιxn]y1ڪA+ΞO[b=#i9rR @X3Eo7cJMxWY"g]:u)ma`~dupm*\3蚙enԢt MK:tùё!mE%B~ԖJY4VW=ZP *=}ST g8"L)"+hG͡6(3dDxaH%;Cz֫k^s-ИrQ0I†_!PY;,ܲh/AS_ݼŧQLPʏʂ76;R^%% ['钥"tA &dJՑʪ*O "GL*}̞K ն13Еs!E6n(nãH:\g`3~V EZ:RIqn^iUmֳe' vh|J-qld6ZVuSP&҉_oXxg^;y}9}?TءdXCle!TS;o+KR| Kn 'pgm]V.6 :t%J%!;f'pr8pṭ*lIC)a;N 'uad=mX9?d-Ȼ>X77N&Dh}I#6CvWM%R:U/3,_?I׈Vu~щM"@j]RJuS"L{ ~|`ꠅQWQv*Yv?K5 sL#?ac,KT S 4-jWIu^qE#TƍSKDzX=U`|44M|ZjaCu-8Ge"m14C3JʒLN4Mn>6NaOg٧q5=T?Ppa5B|?? a2_{^X,ٮWxYCI4[\O3ZVl~h.ʀvҐ5CvŻpx+BGfP>^c ./;Y h# ukfxv_.+?S#[nHuNou7xY%JڊYjЁ뢪iՌc(НwiPW$VNB B1b̫|ר? q."A:U ;\gAD=?CBhFp= %xhXg~\>L;*8DGHUC>T(^/%ODXK9?PG|ӵhzz)%D S xx=ɼt\Ԍ``,ΠҌ$FQѪA~HG@?ΏJoCV~HdfN<J{;ٔwY'anF©U!{ŸH];3<۪:7r/KeVŦ J;> xgjg†>$!oe\6`*,Cc &ޡ\]Җ\'m{aZ&[d@bÁS~)#FP*&T{٥VT0d WEPbsXb|T e oemOBi U [,϶L;\"5{X)e2|C lTx6 "'몙Θ,]=4#Ynta~Yh1^)j-P]Da9#F̯D:tO6~X3i`@(+׼5z iAM&=F/=*tzyz9 fN~j K#< ,jtKP$ gHkEH ぁ I`ekLg&gcr'uYU +]BW hbKJ*GGG=FX Wɗ$&1<5P\z,r۬uw[puG/]GWK<c4j2 W/'_K˖脰7l<5h"#\x0 H"&BHb3VG9qKl=J5WH|鞀ZoAۿ[Lҫ yVƮrf1 eX^ΨP׎Il% =+f<=J23+:᪙Er#v^g.x J v7 gĐO X lL`/+}jCrpd.hU~&B -nx.췻^zGN; ҉v,ΐ8wcP7JZ6qҌ0)ΊReTfL̮{U^mvmkcA'MD7綌fuW9 "%3{N#ug;b#-Zqy%xq[*J4a*KRq@$::}Fz ~޲$P&hJP ~ 497ҥ+?^Φ39"2Bx e@#r%&QhVgzէs܉< 2ۂ5T%i9Q1s~X┿Yg>S=#_ۢ A(w`T@|A٢Re@uWWUptc>qZȃk"5<ңC^宭 1 dpƗl2ݙ})Hܘp [.@Aw:} kl""k'p: ץ3xmMjFcT)y?%ew[[%u.W4-Ub@,p2<W$JH{MQΥWDGܻ ΓB*dZF GZZ~*R\ efYsݏc+J<85DC[]1 SB3ޒ8:]+iR-+a'l>\bf;J xkӓQ1&ͺw5NBrt>ZubC z _GSm4dD*Ca{fMLp;OXZǶK/d) o'vf̬';II\bKsbw GRp֦ƑzP[k+ *P^ ffТ'޶bfysI;ڢA$@}'X{\ j;sN/1犼-7<1}dRY7;Xk w24=z`%%LM`%QB#mQ;CAn J} gpl=ۀ:$E 0Fe?;~)VClkK^@I. {^S R|́ŌJ<ؕrJg lSݪ9#=Q+p,Fn}Nk|6D޷28OAe#)nzg| aeU] r ex8EiƻQFu"v+*ZEʫ 0ϛA(=UN#P$Pom%9ʤit2v'?a`GvutH ؖ2- wiqs^W`&]uDi /15^f:;kB|K[z66xf;LiT 5eEyb}p(d@;dzLFJg:?wN* ?]6q#b u`;{ZN;( }-|5Ns;*}Up!2($dU@]W渏U櫭dQ0߇駹C# ? WXEVӊp|SWS_d~g t8'7 #eyhE *f 8DVpsntv;,8T=/ōE NxԵl:X gx\.hq+0VOO69fo甍 e@V:{ux!.wҍi~n(,wKAX糓/A.N8«gِݟrF~ .6Ta$ea'ߔ C-mC݋nmojZMIScA8:/RQ hi2;11~e2QdjO} }"F0A|dȼ΃5R"Ԫ0I8XE!(w `j: I0ѺJS\љ l1Nв \Owb/j3[蒐MD9M;?E/_$:^A4$ m~ۺ' rhl HoF]M$8Υno%o5P}"=%gU WXݏ5eM˶ni5_% '"Bu:dmRFMJ}״xVc,/ @+ώoKa$@ y;-ǧmFIgd8[_E0>NV^WcB-qvz-_HBM./d# .ى^˾<rU{[Лq|B L8CWQaw@f EӊCד_ҡ8Dg&ۮnFQ!e@5;("7!AG^,SiNiވ(@Vv~uk?~%כ<{*tOպM>Hث2$"y5pho Hs-dT% VXA Vy#9I~ n`Ob$ʿ-&v$ݐ$+#BH~8<>7 o K=<fkXԲӢ,t1 ?#t.ԬߡDbgf;rab ISp7R,AW8S 22P=WjÞ'<֞HnLwOnU–F>a&+qlrįΈDX2dq1U0@KI|D܎SraպV|)aX*uwn΅Q}ܣyPw@w)y׭:^ (5*U1}" !Auhi:3Ps̅3 'cH/Aa`l;W l3NsAz:@ 3iX˥i~H<Yi@5RYܾRNeb"ccQ* d+#IXNj:aB whPF=˳؆? wu4Bs9PƎ*61K\FcÌBġۂKu}lC1[feFSX C8' \;=tI7fyPBq֌5bl ՖJ5AVhD` N4F65hU2KCg3/,VV/L!"BXX:(ȠX̼OnW`$B̗E%.94/&GCO'0kxp!T~qc^k3y` B@~KbO۹+h0Yh"JU<<RtVy2{dPa],jNغ|1~DcW> dBxÁ:wϟ;oud9-6ӄ,I\Yf;57k1F c+6"zloZ>^M&(Bv5}%=Ht(٦8RȢ9%3v{"ZJ+S'8d@㯵5'M Jdic 4q`7/y:>JhҐ7&~C+,DL1}ŁS*La(ɻlvoSpxPt @:™St_$i;y v v0x)>8G8|+6u! =3"\S"た#Ґ'iZ>j~RGHV4@DՃSt&XZ%,?ynq&O-@^mc.(Eo_2A2|D#%e-sJyJpkL=a72ZPj;M?Dd7T4UlS K~ѓlQswzuVG\ Z ?Az^T#7~_"Xp9ƓpR_,?=S$wdY*T!L:E{ z^oMC{7o^Q`}|k1yxWAwGވ3 .XB xb w'FW]"j֩ųʢD6 ^?wߞJި]huC&4`z@b9*x1GryʡF|\,ʞSE}I1hDNz3rH~ͽekl2,DjmrX?;f]40'vSTYQ &TE*Ck`ip}5ٌqb endstream endobj 5434 0 obj << /Type /FontDescriptor /FontName /MGDJEB+CMR10 /Flags 4 /FontBBox [-40 -250 1009 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/b/bracketleft/bracketright/c/colon/comma/d/dollar/dotaccent/e/eight/emdash/endash/equal/exclam/f/ff/ffi/ffl/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/q/question/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/v/w/x/y/z/zero) /FontFile 5433 0 R >> endobj 5435 0 obj << /Length1 1533 /Length2 7476 /Length3 0 /Length 8498 /Filter /FlateDecode >> stream xڍ4n6]{֊$D̠Jk+jKڵ)VڳFj7s4 PtF@=w_O IWDp`BC~pj a|1@#xCn{C @_H쟵# PŜ`8a@/YWrc?wo# tQa b^@{p(hs#f0?{\p_}Nx` 矕5N[(߿+ck?&EE/+(" `$nY7ߨ>@f@:R(oiv (a@eoAq_g,}T~[y~?Vb/ #tP@O^j` P@:pOU/A:5w#a(O1@c7JAd#;8dLnNJ`-EϽ4lcbdd#80r [\0?fU):ۆg4L*yp\/5ۭdHke*@ٽwlUg/$ޤ/KDkrd9ľffWRq3L݀BRMP0 _.<'&=,N'KޝF(iSV󘅉P`:&[ s(F6>-5[}HqDެĔhv6A6BXΔdXNqFd)|r5DğVͺP- +waG-TG}b t듛_os&۹k˨iW)3En֘퓹(:FϴՇL5~r}.Rv6)Ā0UK|#طcqiaDEv xrk$èFF,7FUKޒ z. KŧՂ:Cof2,4%ʗe+?ISrƣ'篁`-V?rwtv6@_)cdjQsjnc;-z*}BC2[<6"m -7?v|YA52962_e5|"b3Frـ!Z:l 2&ImOx+TT/|KYw4|~A{2.;Qں%>BcO͗Dk]I<?FC`_ߎ6 Fl=Qyt<-c%)&Ur̦^E]H auNke""n<$AxfND& BHt3r#`7YCQZ箺fQFivV6T̗N \Ո`) .&Oi{TٟXל>9Qu˔]>ĬȴNrAn8:͕!~Rm7W\Ym ܽ4(}+pΡ:k3NqdeO(f.ȼ^|=|$]Z*@"2WQȘ0ۙȏSd>nd.|RbVA<5Q+|眎Ѣ 02܈3Z=ƛ"?NfM' ߬jIJx@X< InqQse$?ZaM%l:Ob}Mh6-&ImnUϫ[VlfVe:@S:8r-4acjt]X㹆C& 9.%h͞Y[RbF.7, `vHP;Tǀ+آ m:öR}2]̈Mh~H뇱'릛e.[H_A,Zz:^4oU.~8es(fV,[xrƙrB#69iiPG*wP1X˪&Fj3V3Xo_k~8:z(5՝=qjJ?T9tã-L yál Lei:Y跀SwD:ArS S}SdBL+-Z75Gt d)}Mcc]s吜):o\zw%J p,+'zJ\ZdoioQgY_9:D|cϏ#+dʅg*}8/y4zJ塚yGԝiULPM eTK"`/FsC f1sKsjrl)AބBl )f~6ԁ1fc"zkEE<*CcX8/}A}\Ek;DWAǍ'%uX'tTm+ȴ)m0; ՞R "QR%̣?e]0M_in%j;X 3A#%V$ThɆ{`zT\#GOW(鯀]#5[莒s6ʲ}̜-o{F|׊J׎ -:c;'e]ωF0^3".4ܹ>c_IJ(0LB\ ]xzpicD@WSk!F~wcْ<.2rQةXZeSqm WXQpVRi&"`\<#o,cnx^5;F`do/%[K֦ 7'RPKDnAnpڕt5??USbv/jv8\yC[N"OlE̢dy1wi5^C?}/ ?9?>ŏ Y.) l?t\1[Zf! 0^D,F\/fFB.kh} :6GIQXaSb/ț5 *ޡw䂩}Dȕu>zQ>j&9nc c2e.0w/|FJ>kV|1{JDdn??{i;8f/4SEz.Y kL ? y 9cޠq|G)Pɦ0܀ҫt!{eE -#j3"Ij\[S]cz5Z)XUg qk]~22ofy< j@w:nZa pV z#0#e'* [ؤK路!4Xz3I=ᅺ\)8JUo^`{;,Pԟu}Hq;M}/Exd HnO([ K^D"oqv=GbÖ|y'oи_ߴicvnc }`EAJe9BTew!l.h&}tTR+>s(4a$ns+]P?ڮJ3gn (:vs7đ9`TwuZJ:##ܿLq}rQ-2ʼy FɤpN,3FU%* d—Yipq.%o4HD.~8e؀mbV;\[_gFi' =\>4.E IJqub1-(6& ̞UDPFX}I2ZQmx aNJ@wJ7,qCjҚ"xRS!c:9#"!} ;Ęem!Kgh#@ުqLv[T[mG,yA62F;4au20а9AXgd`ݨo{?D݌Pq hBSd8aB|?@w^6ß=dϪpMW|:={jRǺ &9*9NBlv5/d˫4̞F1q#Nk} />rR.cx^kuUCTJ-`$- Jӹ1<ܟ ' !#t+=*総39INJ܅5yI%'l#M`=1 u2ٿ82{ l_ 0Y^}Ԓ/3pnjL]f9Gx dx.yiud$F"/.SXIzwaVkdʣ OCɚ7{c]ѷIh3>*^aZ:}N8]MtU6b_`e}>G*gVsO}{u^!^h}s2q9c1<. rʜwao";aaŽ2![ObSQ?#SP{?w"@dWF9'1DfY>7ۋ$W6]Hbߝyґg%/kQ_D>YW${g[E{>DG+w*lmHezA>Q/dJ1\^ge9@[㞮L }jQC/BROnk:x ҥ6j hn|/s3]njvcﰤ"]a>-J?B#񈲮c4v9X ",\ uju ոwSsLu%Os.[=M'=qo/br(K[Yvt@x \>q/2?qQCav*F҃9khoٶ[>Xj?2> endobj 5437 0 obj << /Length1 1377 /Length2 6031 /Length3 0 /Length 6967 /Filter /FlateDecode >> stream xڍTTݛKR{HNtADR$A[@:DIj9gͽos9L` 8 % IrsAPPVRn 0 _65 tPPȉd #j /#@_ܪpN( Bݱ@P)FCNT[# !(  Fx @DHf.fS( Cb0G0 0za j@U rp{`>3  5DPs"|c~P6Dt@@f<',p #C H@#;C`TǚN챓G@0+1,_W6Xn9aPWBKCW7]**p OXB ,.%ɈdW_[@?&OEm ON)~;<w_Uy4Po//!P?XQXEñg=";BFP9CDR;AP.`C!0 bbj c0/͉KI@ȇ;xN Ċk ¦NpyJKDHU@`{؞ ƀH']7T*x *q{/7hFRWd?Z@)~w4~(!Ÿ.dd0CЋ՝l$fJ!n:yF'Β5 i%q!Es&9 Ql4{ã1gCW:Iq/,NΕ#3q1Y2l<ѹ1Wrџ>< n 6p11i.4h%q$J}YhG &C 2Uv#Oi҃skP4^:pr? =SX=K2*E"χI25=K`=gz͋gi, Jg!7jHc0p0{]rXmvY.!>54S`E]iCOưPMsۅ13FuA/{›7@@h͖W,SznG%'ԏcL-ζ,HJCtɗm:oG4/r} X˓$dCG ݗFN lO {7Ň@eLo8?bݱg>(;0!Os?Ʋ5kh(Mw1h2LN! a0wE̍0wGil8F/" 囔i vT 4[&A(02rӦMLϪ]rzmnkߧ}cnˤwI<.Qԭ`̎9F{{C|Cחn5\h:BhƉTl7-}l8k"|EyϾƖ5Ҋۮ-LcƱLCm&ηȫ5=cO i#N)ژJ&;S5Jg(𮗽x"35 ;TPZr`υ{Y]|w4q/ Qdqrq,~T,|+[*ؚDpہ]〚lzÄ4mb&vFey{[q>|ޔ޵ ހPA6[xjnr1> %J頯N}*qq׷`}5Em$)8bKX}GQ=8ЙLzmfH3lF:N?dpC P?>- ^ 5ih722NvXDif&KL(+W*!h-3w37z}eMgo &V0=%Etꑪ!F'Uý ?f1߅vl>[ADŽ9gqeǃJ/:FY]*;-˾m8?x^MBslֱʕQcӢ*m5n)( 'P#ě۹ש,6psk:J Il:VjA#眻qDaa2%ef-caaם40N)Ky sI{ '<֧ݥxޙ0 o@bzjdudX\qʬId #7=wS-s,YdIяbɃXdFڜ@Uޒܩ{K;lGo8I_.޾5 #yAж 楙WZmz"]G{l,A'*&9L[2T.T% fsE^0p?#Lp3;V8Sе;ZWqepAvzXtqϱicu7;'1.u>{O&4`st r7M;Ҿ|3v`wdZ w|b񳇛>i.Q]"e=:͙G9.{uxb =Gආp@ϖlLH 4⇩A*m%+I/R# Vwۡv{ՙI2)5{@yC6~ ؘ f'JmjEC0-+6kI6y1BvɫRe*ڦ8,D pu^z>Z559UȥkEiZ32OS]dj$)|_g|x-/J >&URR ?CM{'2LPb`ryCQ̢J!T릋H N]zb3m;NN)gwFAT7tO-W@m=WzԵk]ٳWQO:<\BP։cnm EVU)\P[{)M툅W'x>xx`.7؉wZ+.?!!hN8ӌ]cD]E$69Z٠Ƈ#(z?*_- :<'BfH̽ oEhNZnyV8rc3xoeu^XAёY9T$PubN 4C/}"?i{HP m xz0vϊ5)qupgrɩr 'XMqOIa쁎5{ڮy5ԷײEN'ZUi'=|Ԅ%OFT{3irQgW<{-Ǩ`E+mOǥ޻GT55]J% Gan$cY zyZP0\?e'{^/eL.0ʭV$4XbJ3mRJ!_=L@ba轾5riP M'ԥotɂ!- *AQ NDwΖ.#bJg2ubxU\.oݔbwtcFKO:ZQČ[U:l)-呛Eެl h i8H|жWj\Bxv_RlpFiolcrԪU)$ր5AuSzPcV`oI ,^+.5UB~.q@tg`^^ESV.FҾyZ_B6 1 /0͎:n NdPu WTI=!'Z'pkaEa|@ɟ|g9cI+Z6 FkUuyU/߄_F-Kr~Ӹb^7\J]@egsB.Brjp_ \ГK9l5!o&:p-nYy^S# GQ|BQ+܎<ˎ69w* ^sd;)tMT|_HPͲ\Q>N_mp-}"m \yZVAW?*ܐ,6|p>w-7x,$k D\W^Goͮ{wRJ7 =ruXF'=YAsᕍ2||Sp>#Sdi*pYfBIw!@$ (OT_*.O_$]d@Wq'+Ȩ_f=hcˎ6WG[q]'x.` |]PSX{jXWFjIمc4+5__VXʾшg>d{܆ 6Ge~_2OuۊfwfZLegZR5٧*X# k /;$B"rxž ڮ+$- _*],Ԫ{4y]ŽtEν~*07V|= t{'[4ݣݰRr ,(=70jz׆1gV@FevVȻjPRtfʯHGo\|&CFQe;ǥc[~bڕr]^Mq~hto H> endobj 5439 0 obj << /Length1 2754 /Length2 22492 /Length3 0 /Length 24030 /Filter /FlateDecode >> stream xڌT[ S]",SD:[CFAS:rnq` x;;P3;]YXjv&6DJJ -o)"&`^h IrnVv++7 | w9@ `tAwprYZ@cF `f jtM\vf&u3?!h\]=<T !VV|2D-mm"E 4WY@8-uYYX|lW xRߔf' Gup_T[=ũM .LO!2j{rzo !Gƃu+Yyy4ێn%lsޫel.o(A_cNQ'˽))\_l($FaHYaDggK}ov]lgIQcm'T6b9)T}rf[hvYX.N׾IQ=V:s <~ĥZo>Xz|$d.>2eYUl{u~ŀTsg`!|Xn0RXjl^.S8ta*[{iv 맏(`|/N̆×W{L0R0M)7O>JK 2,۸u%mN 1_T[4)AL܉ԈOa08BH+F;HM0wFeIAMTrҠU厠 b4STp"ٻ[c$ጛ|>;^Mv|w0þE3Xֆ/_\Ƀ}ޯHVW !y| q^&g\(T'gxQt}_p51Ãt.'XWClu#C 8VAwHj5Ѱ~i@i~Yymy8j!2(1&ZP/Q֎'.U\ u  ` |>2t:]|7pdޟkq6gi9RYob.L<L*խ*]Yz$c~Ep$ǒ >n@ ='iw3PRp-ɒ E.Ou}`s!ܼ!,4CÀXdQ<=!ёkϘVFuUZ+Nc+4Z4&|W.1Fk_ʘLVp?n{ekt[߽Y1j~%]bm=).Q֛ENIZW'Q8k+^ xKG۵-8yUy";$_OR&]qU2k+^ b )s+ S;س~1Ľ?:`@3x#BY /%ď'C%0hS؄6H #(#r_~&s@r`k@RQX䣯y*KNn{=rG{du1"P꺴КY5SR>Ɋ" Cfd^zÒ{]GO )7]+2mPP7ee`bW3k7vǥ눽J>΀! S*nQ&׺>~ ayʫkyvasLcڻ!\0#3Des^ zXk`Ĩ)nҽQyhP0E" /*,2ksOYpPNvJ7uZ Bq?|Q52k%SGŠkz;"إ:`Ichm`vulMIy~=eXs 4h~mӉȨiȞ&[)A Tpɓ=M؀-Ht5t16䢧}D3,4b;橮d'ao Lщ _diU t'{X:/~h5k=Vt{upa71CB4mt ?%IiK $}rIǮ8 >y;\t{_Q E(+ Ez5:Syi <9ƎNHNwˌɔ[b0oy{9dܘI ?T5`OcS{zZFi#1ښl0Tnx٢ucda8b+=(^1 D֊ۣr/U<8 OUP rE,} yU,QfrD8nknN {z:SuѼ!n#|7khx*]OBʹg )ηi[*o>բsK\!ROzkT[D"&ŖЏVpH>,}oGNGj$I 1.`O!Mp7˺:ٚjdl˜*c]N :1ozRm GǗ;3a)+ܴia:2i^;umO>`}ʏT)F4(/J _)gX:47+x".z6ש=+(N}x]Xe*7*|(@? o#y[=!0.D,^xvdͬڅJk(s6PGkf+!X祐K%$&taj I95rb޷^N=Ҟܽ(kL#y"Jbo mf 0@JQHl/h Ffۡ߳֫U|I=5ИjHv1 VHY>%!rU.j]$I6)aOiLexO 0e!Ư؜cpo k1[A1 G4HA>*"?fW-OdoMT0VF%;Yreo>A;q-kZ"<(TL}<@Si2E !l v^ .8 ,fOY,zMi'.y^8*%͕ ;TYCmjB6ė0TƼ7GƾgQD%8׏|i*aՄޒa} $vNR1ڣpVjdt̵sV kyc>6C5_8B]GgxsaeAF5N,;G CN8^fקsUV0`#u@UEB> g$}X'a q2: Sf9YfHf6s`XaY2[pOT 5f|F٧HݚGLط!sb)RRsIq"^SN"At?uRf dMρz"DE?dT˰aMڡ" 4Y=%h~L{gi-@j*b.PUh80C֓>c$GWM'PQͬ^5 %8MƾS^);u&]% =+Lzh\8; [z11@r 'N_;lE f䔡jH1~IA3]ɣq&ϲ`F_  O< BcsƐgy FoC=Dp!1l #~Dc?M2.~Ƕ+*%(e~GopTC54s$mȑrQD}njyM1UWCy:MY e8v:ixׇA.bc:$ YkFy04Rg&E / 4P)i.CRv3̎O|ٱ~%FpC5D|?ܺoU!?;e mRd o9{$٢#1o19$:e owQ\.Un$0)%0HAE{辖!7T9rErYd6݇}H:6p^b0 Ҟڦ6>mYL):d JD%/+X7(PWjF' G| z;Jsя.3szg%^M30?ɿ 2K*W6ʰrQ-]/mWCT4aT^ΰL['VL_/PA I ԢPɌ=,'M/,yq=+ȹ rWi>Ԫ~Vyyjyu{j7 F#\& ]m'T~B=qVS"D'~"(UųN7^R|:4Mx<fg Z

t‡u =edA%3.f7c|TѳQZnPi!;ȁݭg>l_1[Fs O?{p*=_~rnpy5 - :Δ\~5Hna=FB#:66t^k5 HQhBfAk/d0_4.n u _4UD]ڮv;HEP^rtڇ&}vS'k128J;8eJ=J?`PlTrTcA`0\K!5G:D IɹceÈ8/^?K-*"X^F%&=F>,(qD7%e`+QjsaN~gM ~l8Vmj  9$[Ttyr6`0 y(%\zjϓ< 鲁c]946 EѸ+.I4?;G*m'ܷNXA'Jv /G\훘&:($O2K\h:iwQ.T〈;gL]Qg)I1W`ߍq[kR 3LT~0P7 C"*T™v*Yk, bӗX"wS_,xTJZ$)6WdLG2P?/ 9+I,۶Y~w٠ J@0 'd[YSmlIdAA9i WcQ$wp{$M탒. շ Od\V'eKo ~lU+DFlSEI1a_YF>U=WȄ1 )$Sr}۪> ݛ9DcZ4VrR-zvhݗ5:tZqR>8ӇF.2XkCHG.r$\xRX$نwQ jPSP8?ȾO5\ӉCfu0|t&uycpE]I7,/TtC;~MyU O!r"~ͨT*d_n?QgP}:+L> uu.~~oZxN=Ez"6Wd*8[zEt:1:.-h 9,"[m=~5gĆ["+[TܱE{d$r~lwh] GAZUA O 2Zֵ,9paX~d% N:[.jhmILfxOߧܢ3@4.|.Au+2{~+|752t*xĈ2~3RuXDn׌Pu|7O"B le?B9IϬ-/o ך,uWޓS$ 4_ I.UlCZqSfoI vG 3u;ȢlrY1[n&f\tP~&n=Io C_,˷Nw!|wo1MTau,#)[3Ӹ?g"H)z'tw%k&fAl^o]H&Ypxh$L?5nQlrUPbJ]ȇb9d2зdbfΖMfM"B<Ź "F8^\25'l1I}l\qM(}ti៸djgQ-_Sj peS453ש.ݱ*2B*C|SV㘴p2ހ{ V۵}q.ԫz|އ IshP=W^ItgWSԧe3YZzlWʲuɵ|c+Dx}#"*/z - MgPaf{H *Z$X:p 9m"Fˠ$WEez47$L&*$G窝=7aBc Hf)\֍[V'*NPT⦭>ZD"v׽9D0>I7,t`LIrFi#RVaYr$ynNnm}gHv}GE 5byZ[pC׹_0BybJ9m7 IV0@Õcfk8A(Et*^@}n9/(Eu&ԓ2Fepno W(t^_s*b_^hgE iK*Cϩ{Jڍg#PI{ᓾ>[ei:CW=, oVߴ!,_?v䈥u&(*}ڦsR%Іb]aPu:mCR[͔ΩX>W( _q9UI*v\nX_VK_L,t2U ԁ,\%Ĵx+>D4T Nm:TXEp쒷u2-GgH(-{ b:|fʼnS(% Xy|=4.,Y#eR &ja!Ys,V)yaS2N$hZ%{aɠ.@sݷe$Cwz^yN'{߼,27-W[|# t*_??whlba{կa@?dġx7DžGaAIQ=;Œ.#Qx{YP+Mc3Y%i3t^A-ǻJgX&,^j8AOrͬ>[Ai7,;$Y 2 pXAzh>b2\$ :)^|*cu'dA$:R7I @^7n{ ;7֯7_"DI~uˣw >++ĜHNL,vyхX[UroŗJ+Kj/<؎mk)4W-ʚ@vʓk`0{}l9IIZ l6\RkMZa '&Z G42یDۄ [45TnQmnBL+i;u9Ϣ Nw@i씟΀y"b.=n(8XD iRc[sOP+yZhM,m/ Y= (Ҫj96vbZhqȨDmar==fb0Z;;2l$@=w%|Z!Z<+E==1Ƴ$"`\s륜}P7J(%2<)h~IP V>|lcZ30 *5F0PkJi-AeKom!& 0!D?4ys]pyC  ^U[fv^qF/a*YwwrC%bY%Ftq[pIi"ei?t_Wq39=?*QEru0ڒM!NH<ݬG`8\R@*<:i$^jHgj.n5*US%`X #8՘NNbf-OUp|Û7s#2VⰅhen۫bE|m輛u^aQcfϏ&9f^-kh[/U+A+/ʕºQwoz^˸DᦥMc;AWq5W?wZjAl߃ ս̺zEbahď@fD6t/%(M%]7 q&g?7)ZwL!3 $~Dڟ܌|/%r?ԓH`0 m!I6IW^ˑCf ӯO͎bٍ}ՋM|*LEHJ^+gP>8—&~[- zKv ?KlU65%~vz9ޫuci>(v_8埧LbmjMQ Nw5r%wڌdFǒ{ؿ{,a6'DiG(]/% ZX_({+ܴdG3/GύOp6-' p!ZEe?| jr1Pt~):xz4?hM֔2b3RIn%L(h$ Y…eXtmX橹y,}+wKӬb|lzMFUDra?&z+ D(ѳaHWvR|A S _Z7B"t7l_Eѓh&[#ad:[77x}xS%O`8d @:{bрμDw7¹*UGM8㸅aGd TA0!GC-O㠦kܰ@,yB쵇ĞW#TGȬc1_ ;ӴDLi#P$N.aGSaV{SR hM6iQ:l;D-M5u_. +j579m{_ՐB].[["5l4>7HсH>(0#l61[c3r?5cA$`hnsaoߙi0`Vy;Q5! 2MgU8>Y>iV/SDv" Y"jЇ!OpIS`,nZkA s7& X&Hn<W"b­xCX%>ھYL|l[_w쪷HX- % #)\VuKDlRpE : hvq!S~1BZx3p\IX~ƅMec*D:5nJS~ "JavoSՌj|X,S294C[lY¼{Kk$L3|ܮGL=9HTAM,TQcڠ%p ͦT)A 6x k/98U^vTf2G[йuRZHW!0L毌+.4a r}i q*T`-(F&F{ |]njK됐m γOf(W1'H* #K4c~<:C*2GTK6=}^B$]˲3nG!=)f/7; f$4m!rQr~lEGǥ,ճHS3ÈEfh)BqHax`~w+x@.dJJey0t %gsu5a yݷke{KcӇTתۙڢ6om'}k-ȿVrCOrg4'^a<1K Ɇ1B0/d]LLze[}k;S.i],%eS+2\2:t*Aq[̭}x fnzϷ026 2lJ7 r-t/EEu.ec]AV"]$ n^᭢+$ O/H8J]3,(NJKm{@L %eYz/=C"J@GRG;5ZHxtw2dӷET̼4Zco]ef@a>l=Zj`v@ 7XCkMHkiTwxhib'/gq12z~BԤSO;ؾ;?e *ˆxn¹`6돋BGժ&4.{Ba--g5Ci2|RXuH_#gLTf"q[WcݠwanJ&ퟧP\ꅻGQQaB2J ێм_0앒R2j)۹ {^nr2t{C4`& K 8NAJ-}>:l* q@^AB(Pj]vC9FEd'EA ~vtj-h'UHc+_fQ-B+J1`Yqy7:f=َc9Q n 6icƑ6JPv#fq!H f.T}2:]ΰGq) vO:SVr|$"9_6΂O4C | i wA[dL1V8HC%l}}%FReYh(v >\ѹH+j*+6ōM, e:3e~aT>~donI@ߣ?!~ Iյ퉎ц/~y7HJT.fd?zISIcy:z޻? ~~?PCdL(i$gX㙌,/S I&NEW{MpK<6S܊jFُVV2j1#nF~Pix>-? ;S\1m#VNQDݪ 'i2i eٲ/.v_S5ye#߉W&(R]2_-wL{s"ywAw? 1Z+ oou.Nwg^|*laXΪY *2rЈO~Ȑ!V}i1sh" mP&Tk]=\p}>=̓ owxYOkq"WtI *zT4?˶DIO}bWaX/Ů%{{9? FGaվ6sv m(Rk܈DEfuRI3R׊%AQyYՑj)ӘMX =?E]=ˇiK |ۡa]~o"D+ D}pBK;,i$xbSH+E24%V" jA `\}3gt-.H {A .[ǩc~E-_ԡD3JP3'L(} $pܩX{_U1̴sb%5rjl쁸z|HrrpCZsR#/fv7l2PA üplWA ;{?4F6 D~6V{jDGϚEr5:ύ1u80; lmsIx4ZH;^}y>쩜V,.QjF%I Ğ#RwM7bgO;8Nְ܁V1&ߡ6EYо$"mt@x!k.0ҳA~p/GWq $'B1jퟷ ١M쩌AarfPC%4V8 GG:7V|#XՒ6lAh+:D7yKl]S­BfeGv5Ҿ "Lh[. ȇOd$%aQqPSh}c„u^nP&7N>{hⅺ֖u _&(4GnԉdÔ\(/z*I [E kPq´;80ɉ@[a )Uj{ Hϱ$q0 }}gfHO+4gImlrNrYi79d% ~^rh#_O bW͊ u5}ZdȗJ'[ɉb]*D ?(n: $J{j;$M aY+ ݭ$C|kM/Y423)oؔqw,_L^2@~J`nd6^5]MưÂS$P>r*=67i&Z-K)88u)c[`)8gB_GS;I;%j.<`I%: e]cچ,ʤOF:^Zh;A+Kl /U+_[E$ZaFM ,*MǕ F[?k#ӛmU{+iID1gԤZ-9L>v+쩼.?Ӑۖ;]2t|"O1m_7Zu<(9dA˶$Yv0w=$ W 5ޓmbm'.&)2ztfA^$ o 2e&O\ɗxm;˚UzPIv|1*3&DgV) ƲwT{G9c[n_YNFsmO2 م3PjTX:'|ZY7fi$g"d%Eb`}Oy$R/khx|t+o*.$NT `qz?HC HwYE/rV78%c)]lBHTbqofk1JiK/'+ܧv;c||cA-/DN7Ա髛P0{]g<N4d*:= =hKBЪ$7-6PsP"f<I42 eꄡ GIܧ8ؤbp#rNQKAk y!OoZQޮfzI: M)B僣D7ni-®ؖ~IWrZ:3禇û[I4t)-;p0zEN?dYll pdd)O%+ 'n- jU#g`{2xXV(H#BeƺqW f+[ҌGFwkZ=ۖ Bn`N@@X49n' [~adbE %ʲv9Wq&@&*umQGoYWzz&KeJ?@2͒ƶ[fKʦ5y\65(B>S_lʤ `R9Bd9H/ޒ8MIF[]>]ru/CΓK`\^vңp}YW!eq!MxL+s ,<][זPM?/-U's91xʯԚ+΋ c>f3X d08o17wiS]Nn]BrU7uQ%'8q@;<ൾBl>[L 5'ӳgp5e*PK*H}_,ܾP>TkUxDyfckڧl\ӦuBt8ceF4e#E)Gք2ޟ j@qȓ)|>@ȩ10 $~q"N`( hWtOaP/N6)H/,0tcGԞ0u%v;E6+(3>rf\Si O. n|:ryDnz=T_p<%p'+XpoK30'yX* o9pՕHƲ߮&0q?= x"Ka<\DLH·Q#?] c, 윭al+s|;l6 rU {Lx9]D?TG }P)V:54>6a(^#Ui7,[8k yI5lwM@w$PFҚe!pv&S-e0>=j}EقOIqlhi2OM%kS:`@RE1ۖ%7kߤWTNe` 5ư7,S 7\bZyq2(GUU;j-5=ȹSKK+[Ȩ_g uȔW?Q.fQ,5u䠬#m?(0N4?zpz7{S B(F璃Qb /PuBr}`䐑7—`(V/7skxRqI#̐^u+ǼW:d6M~93D;n;bEm"OH Ӟ{ Ӕٽ[d|,+ ۲{šO,FYCD}oS;5^&"ekQԢ=v^G2^a:;/ ~V~{34;m M+Z5TaUf˼\kTfBG'ԅCZ_X.6YWė?DQOؔN Z޷X Rsw6ܾ!_=#Ð|CCBMCeX!{I&I|hf j/ٹ}'_XZLl< e9Jݿ_Iz7*"Pޛ#0Snw!<*3ml;KTM(hM:8g_Ҭ$ Ř ָbz-GÁ&=7@WXH yDfUaaR";rsT٪ȑՀsC@h -5Z&"m.]"q v!kщ &b8y"-Pm,x$g"E[_gttʜ'.^TŒOv<;Hn6<6)D⽸%HaW)}slț ,Cxy?ccQZN1e>#=. VzUB,L̯;0ikoK)st3AF qJg؀AC-Î4ԕF43f׊sic1N;M9H0ol(DG:?0`"쳞s\F.%Ab4vOFooҼϣY|D\kPJbiQ*B7XYiMLfFpO:õ.G#<ңOPQTZqyi\S< NP=F9J [HCL,f!i.&Qy DԥDYv̭SjO1S߬ʓ\Pi` lq؋)6H`M!ܫ0,;3 S3'X H@` v r8Eٸ hyp4" endstream endobj 5440 0 obj << /Type /FontDescriptor /FontName /FPYIGL+CMR9 /Flags 4 /FontBBox [-39 -250 1036 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 74 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/asterisk/b/bracketleft/bracketright/c/colon/comma/d/e/eight/emdash/f/ff/ffi/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/q/question/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/v/w/x/y/z/zero) /FontFile 5439 0 R >> endobj 5441 0 obj << /Length1 2122 /Length2 16427 /Length3 0 /Length 17703 /Filter /FlateDecode >> stream xڌP\ Cpw&x7=;=[+9ficܛ\UI 6I휙ؘYJlVVfVVvD**M+gT G'+?"$A&o6I@%@`gge'4l(1v 'D* ft6>>ƿb G+3;%69O ZAKgg{~WWWf['f0#r9~I(؂- ii/x3XR\ G;@CNbW>3;BVv'mMܭ,V6 "3#W-䳉[߭&o ى/,y;f);dWV swgZہ]<̭سhY9$fBc9XYYyx ̒/Mw{No=7 o+s?DO' Ell3daed/vVno`Ooٸ Y4Ud5-Nqq `cc=xomU5ww(ggKGO׆ yhGV.VKwߎ]ll+obkeyvq~ %ۆPпZ r^9gxs&>fN@@U+g3 v`bce?3~{8.b/sqLM q?读`r ؘ8#M4'?io-[l_ֳ{OěoBߔIG+oRQb߾^pj&mYDus`{k鿐뭞 lC֯?*;I{[?o,8ݷl73GǷﴷEfjĈ\v'9Qnuv>K_s/uobme6J ]k175)p¾٩oa=oRrct~(#HTDd8>//v jٹNW$҇)\%V[)DGG( 7G=܄ SY)Z@?ZS1 J +٫ :{EFt:>CV].X%8Ͷ?UnZ"D?^;4Byq #kT7̬NL)J cg!B *b[L,.xl7uW 12 yb@ORܐY9lyЏAZNd, t2XP7̾Vio.`>Ӫ͕O=hGt>׹7ZEܝҍ֞8.UW KUWk8W+5iG/sjX;dz >;͜ɑE@[פ nA7f? [ 32%[{@wcduey_Ssg~?=ܵI$i+3ֳҽwV:飣HZ/Pђu,ږ>·5Jh4٤guˣbe>W oQ!1g'UƽC։[uQ0-kD|]iic%m_0a;w2w_m}3<]D_ RŖڊ CŘ ?qsf*"jr?kdfEFkN! ;G 0O^g;. EID*?pjd 5qJf^[1 m.YXO; ? -'Q/22hŐC3c#a0E:L*8ʙ]C&d\da<: Qh YOcϹz gh90Do-r5u/);i HzB&sf~MZq4bK(n@/9ۥ;,:oWkeM8 G sa7)'$mMyw*gwP;e6R{ f kYB И:FBm{ Q ۫/\1':Sﺶ}p ׯԞ7Pue&pB s2_<0:EZ9pX^i^h~Gи`r# d6 ,aiD) +˄ ~\ki?.aĂjD̖s8MP<1w j?c=&k%ź4~*r~RF骧/[D?-= yEKޠVg 3m^[-L!Q3Z?kmlңI$##҅L-Φ%Yv݁zy,E>x4h'MT5Sg[(h(c}k:nܞ%;Ig&iߚx)k鏏zHS(PB:N`G06C{KոJ#L%}( s-#ma.VӘp*{q8{)P2=c$'NDV/cS/(=V& E ]l+"WItg"$edU} H2!q$a uz#P#2K 'cOR&t##&lfO NC lK&ZlQъDgJZ"܅ 3dmO<ªq~R ji6CtQɔ_:zXݎǐk ̈叁:8V̶MpltSrHߎ1 ռ6 /jDeQWY]f =j ;@Tf0Bv mK߷PuD.4n %TĔ;y$qOOn3OT>,/H<']ԈMoG h ɨ2w^ ͦmz]"}XMc?ecxJnna -zp"4+9PW Cʙʠ. @@EK\=/ydldw6=KD a5b8#qRy#,aޮqlx[xĂǂobBم߀yŽ =]ghM> i5 :g<ʯߚgg"1ں+ AcX|\_ >b9O&U4'8aQ:`;W G5:Q-gM3<ݬuTÙkIXHp0IejnnPtW".FlIx@TcisaB%b V*- ;LY3XuPM_Wo|ʶ* i+_40#™KNe`r.4nc ;GPL`yϫ(:9&{0FS aE,P :`w5QV'oRW{ȱG۟={ۂ&Y u[rI6Bq%Tzy-Ǻ4ǵ](6]er}+D'T[YX:~ij-~?3RQ&P3`0&k)`̻_"(.4k:k5SvFtH/EO, S&3S9`a!37;ϦQihnLUxj2`DŽIG~Ě»Q*v.f)q 3=Y@EBElb/l|&,ǘIJu\θaI;م#̓ip۶b_Ḋ!qd.^ kGQw 銊/`Mdel NWWw %*&nS- vSXuBU~s?'P*n\0t󩸸b[/gn]|܍'HRj_6\W~0Sj޾&ob`JVvg\jビʒ?6e YZni,RI4x%?}YاC{Et* ?8YOC. 6;7>"Dž=_~;5>']{OgS$?, P<{fJ0Syz*Gw+4s*tYjU8|jéK,(Exu<^`I.r¹ۚLʰB%aПȅ)a N}MKr,^w |\it0UXp<9ڛ~cDž!g cB2 0ΒނqŶk,gۀʠlApmCH{ySD8~jX~(69h nK|Yon'y됗[s3q^`<+3wHVA0!<@(IJÕ ȥu?l?tlxEr~7n1G7dƖKLvoZ ҝ RWiv>l3osNkxqWa- RP=Jo#(\+V…"S20aN Qs0 ^{3 ρBG׳;/Ju>_r8p0(c;%*bYF65/_oоs҄I^"ڃlKrR]^5(A.TI{=KrpXNj /'uNjthcIit)o-]TMgcsUCk5b[sdd| 󈢑G` M5"J!ž5mʘr1Pܾ7s;:n<[~x}o9SezWzQ[c7#_6㚿_Z/8"pNGe0z~ם#.w:"I,7zls;p'\ZM0gY OH`0&; +I Krriz‰S1 7'|܉_}Lh߫ƥ7*fvԛ ]OMOѤkVux{&7O ?dKtjbk aޕq8g6MY7w~-U5 }l=J|6JK y5;bnbR0= sS׸.c.|\gêqLXS˸-X‹°m xgTj`漘 XńXr N{WH|7xN~X"bnݢi~1ikV yk-[1E~#PTcbRkGyG n]XF*t abT`Bo?<kS dOGY(Av$dh,̑FZac+ *K2ʷQ =cK;iX1ԧqù0-3qN JYOanV5"(Bv i.T8`>u}Do tw$r͵6*GWp0(8 JjWhxN* Z~w4 +:v$!M'lOL -+alN*bĺkR5^11Yþo7*!]HS+lM΅IOV3x 2a;<} KVˏglj+veTmxBp$>mjFkt"+5kܪͿ?6l; Gf<A.60J;_R15҂R5#o̮NNj7FMǷI3C>0ߍ oaؘ}ytS,F.ӎC|jVAY{t9[_߳ˠEYC^^ḧ́"$&v\Ѻ>u) -O`.Z^Xg֞G+3ϒ\"d`c1qb #4FŔZU3eq7v\PiyH@b .nvCi $сvT5$ B>sP{|BK% ۫鞒T1\f(X.+v:vxqz n*}69[\mI=~-S('u@l<rpp8P~YFOEyt.Cx~ *]*JoNPGT~)+4l0@ iIƳ'XYn' Hş, ^q苝;YAhLp?f8.h"\8K="Cлk#E}ZsKH͆\ƕ PjԌ[?^]dd|Q^_vS Sy)|"Mͧ#g_`:,4C?q}Ks~~QBiJGvD#2(1o^W% si.sp٥:kߣ{&_">X8Q*>NtS4~=h?ĘT\ͩFX-9eGU,lFXЁuGi+T>}E[6=m(;CCvD2,EfxԦWUo҄67ǥ~I$r)HxS31U32yk@x}]eAJi.-#gy'v%8a|{:j4Dhԅה_{.<7ϧt&b\48fvX"e/2Ә%k mh1*,&"kOP7⑱GZ% Hd9Bj sIUޑe*zwFC%~P½gk|PQeǧF_M%E}H}7a LNNFÊ[7(A^K7jY+1_-ҋlo%: &ὌOq.%/VnRx'\eSiWj0q)VKm[3&U~}?@S\aeA-|C8Y|:1!aƒ!Ʌ YQz:q/'V{ 8頵UW&kЊM}hXd =9Vgn-GA.N_,:ؚ FPH2?FCz]=[ 0&FGP\QU N P6tZA8C{fߒں|ZaYpzmOM ;l& hp/ڀAe@Qΐ~ڋ6|(MYC it;@ta1n'$ 3Ý&7"~L| $,Ac '''#ağcsiݻF"h-CQ < u lX!AWt؋M|I=7IYC̼h~p^ 3Ҟ0#wAqmބik=.Q}e:m 0?%w&y`7_MwpVMcGq#r"!=>EKsY3VNBDES9iC5'?_>L&*e {Z%ZP~OI~ b(96\ 5k2$$3a^"`aCU*%  0ͺf /<R1 +.PpyΝx22v.,͉8F,M١yohި#FdwsKd;c$~NJǿu-暙?ge)Jx/6"ʢ>&b~tpFvߥɼ:ڵR_bjVs>?n\;bV棇(w΢spȱ,hU YJY|9_0`.\pZF *$rm&uP]z>cί3n*Eq](w|"'4+{NÔR{OH6wE!DW`{} ?ii%&jAcAg|iR` \10oRk,[C/a]hFbcb ;]g ,S]E0vT$W_2՝Ϩ6Am'Ɍ(q>kk.1s(J_HU {l1>e!U r9ʝu"5fsFVMdR,Z-Ll?< 4(2(Q9Ť WxʺaiJ*"A]/VzJE0o~.5UJl ?4U=&`i5=7Mff Z@(cVI%%! )lP>Mſͯp 2|PSB}nh .=Bڒ {16s@MX 7%v v3K͙-#`eU GCuCYɨMحsV:H*{y,*0c2Vj/:/65W5njk}n0^bT>}:@\ dqɩRkj^9GHv5+'I{%Vӛ)oq.Q$UYYoiyK`}ҊL#rT=x`\_p]f0@( _.#kdۄq[X5SCMٷzSN^,^9О;յ0_.?Y{s{|^f5SKBCJEyT IQHp<@{\x, jN0,F',wܭwj2:g5;c|MDҕтcyP˰~>d0g ^`xUK7Q=:eªүffiaExuqJ$ٮi' gq丅ٮϚ7+!\,ӏ%BaQbSr\a><7Ư!|{=ma˞+dYKNi*^5G.RUX'Z!R~S|5QG,L($MT/ -]ԇAdvl =ZwAQ`‡pmiuE_5sE` j'K -V].W]AҨ"Ah'gЎc+'_U^-[&BHz5um{[i9r~GZ縕<8AbӏBkr"Z [O? 9kvoJLg7HWFTH& vIuUဎ<e ᵭR6inj>j>gvLVE_+shɪ((Қ5ah 11'.[c<, Fn4z}ܷεa9c掐 }feC}U$Q>=e1AQ_0[ks)fYA%Uʌ$#t/@c6f@>L${׾LX6C)Zn2s ,2z갯rǵrm}* yBLX l\wn2 M#ZɆ!ih|kmuPBA6eeM LWҢc}ԸE AhNC}NN( K{Gy~T'C#3eWpHf@C4iG&:)E/Ǟ(u:^oY &l7DX{2{œ5yy)WГof5+sTI}^:L ǒ~d0=,a"]2&ͻqo.~4%pm'z&y-?L'u-T`5tBԜ>(%Q-m8T Ȩc֍.]7ݥ"_1=CpLuf@2)T! 9^h34mΖElz ^hQZJ8eExѵ l;w1- ?0rѨ*#|Z=!RCugv߫ݤM<)4,Mv-W2M'QJTo^FRq|.1./Nf` 2} 9AtD*VPish\"Vf:rFH;N"9M <DZ; "oJG\$ 4pX՚Hs xم};۳_qң}nRHzPSsGRww\\Y^nO+m2? du 0^?Ԑ*qEvv R,կHGߤZ~X9WP[枵ԽhG m#/RBQ!;7uO;ͅS1? ZhduJ:"f*ڲDj,乖dČ/ ΝYM%8bo#PȋU^mΟׅ2hͪW*^$9N hȧ/ _Dv}~24Q}2˅g >6RxwP$U.×|OBC( vMւ|+ DeD*i ızokXЬ4rLjm#fyrrjRu#^E-@zrREfnϦ 6?p4c@Dή59ڗ4l;'- [5fc]㲱NJ5 >y ͫ0lDB8ۢ@ xOtǠJlϩvyXߒZHE 8Oeʼn&c;ݟ%KbSg+OIJ쫦# -\*nLSOPʷmm,nϭ 5U@1ꀀLoTpAl\ ł1^.HeTv9I0KI &W7ÉdPǢ0܎Qy_Qr? l;@ 7;T8(N/w8YqII%X7Ōro+waIŠǩbg[=Cr.54m]W6X: u.s'ևqzBάaw$-@4e5<Ɋ0A^NO%-?FIP8G6qo;-!,! *H+_`2+}&\Z ni%A/lǓ ek iッHX'+.|h?2ZJ vm|d+ '_.#&&Pˉ"~kdђOMrFm*xEDڐBs,buJ#րid޲f!E%,pWt wgX=/B?.ݍ:h; r}fv Zxǜ;fЯ1 t:"0bbk3TQGQ|v(Ǡ]e*?Kɨ6T-\Z7=e*=5׫rhVV>FNAOI?=мW4vք#>pR_H4L H+7w{ nSMW`xOHrufo;[:= UZ3kӂ[Zj!++.׏4SAOJrY>a6 LW٢ 4w }4\ JM6JF}Ui";j>=rda3!]a=?IbFwvʰǤ 3y= G ᆌR鸨U9cǚp{1NX1S+"TG[ϼ*th8f0 T=kE'nfhCi {h\%)٬!e?45[JMRhPyD'~+wtv&MS ^܋6[o1>>8vhJ<RJgq*ȸ8cu~MSäxP5*a7 W_ ժo>9!Z^5k2%JuIƺBkQt6z?EpeSaxd4{sd$dN]^+ ]Ry25YV1B $.Y0r(kfriV'j K'q(,em׎YǬ1yYM{)::9 u UVR>LpsF(4A1a>U^O $AMeTR[踢DqhQ5ΣG̠Meًy /`:S`E\;bB/VL^cեƴ`_io;EűtNץOBĔc_v.t4ɭe'C"+>n`ិIm֎hT*~d +sE2OS nPKnkuF]Nl/jCi#O9+W5T8:*h?/ؗ\ɜ|Ug{RʷJa[GZZ @HY?{pz79> }݀HhZo_g=*-aƤdwi?qz<Edƴ,1:G}[hCOϮ͋&EI,[F+W/O u8kMނu[0qQ ]0VߖQ"`1=u_xugpdpJfI=˒t hnFI0: endstream endobj 5442 0 obj << /Type /FontDescriptor /FontName /MTOGJT+CMSL10 /Flags 4 /FontBBox [-62 -250 1123 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -9 /StemV 79 /XHeight 431 /CharSet (/A/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/a/b/c/d/dollar/e/f/ff/fi/g/h/hyphen/i/k/l/m/n/o/one/p/period/r/s/semicolon/slash/t/two/u/v/w/x/y) /FontFile 5441 0 R >> endobj 5443 0 obj << /Length1 1525 /Length2 7952 /Length3 0 /Length 8963 /Filter /FlateDecode >> stream xڍT[6LwHttt 13Ct4H#!JҝR99k}ߚ5<]{_=ty`6`e+/P Ⱳ@.xF`8J+@!l ] PpD%$E'PAUCt@>AA:0lE raƇ 0p aH/ 3@lP] -W踁5:;dk suA} P= QCz#y ݯ@ vA\@6ww(=Ea !|/_eNY jsuC_SwYg( @pB!`5ſBLxH??{:7qv 21uH <_ @=~v7AlO;3k> 0Ӟ?owA]| _ ü^A~CesmA?ՠ0w7Ͽdp{m؝o/o{)U&ݐo7o rp'eXh?xW 9ÝyE!e7Nu;q  օ! .?RA |7SfkED 8w;$R;oy|P.pG`܀_?P.?N@ؿ]ۿ0 _޿ѳf_4`7of f+Tz^#GŻ6"(L(xUsqűPa\z"َ`m ³h 76+<] 4=5::̬vToNd?sRMfmH:tfo#@ƾZH\V[|v5đ^EFߠe< mB7mncϬJ8NZC9lC2̒jcGG߳Mސ܎LJ_hgNhPt jr?*UzG燡is위V1Ҳ ~s=t0:l]4P\rI%Zmϧ#Z:J{Х5j݋`+Δ ){yrŒ@ǜڤ 0⡆J2 lCS2RxrQl)5AJ.c-Afl*}Si|Lۑtjr_&"%aB'QԷ;aZKj0n( 'kB6Dph$jBOUYmRܡ*fSU&ִx: SxgK4|:mM6<4۫S(<\vm]~֛LG{xaJbgl$!zIu sQT|p1ř(+;=ϳTa? %sl.;ۼ8Q;8$X+Uջ :8&DE.6:\^prE(DbR7yr85b>.q?+ewٟmJ{cllzU܃O _z1{|4wfn{ʵ4fm}|Lzpz7c cT 'zc8GjVD uu lV'vȰ0@^ Ko 0o7\d&{_EhNm~|^59TˆPmXa*cfx@^E[ g'y 9 X8oBΌ>?Lis|n=m|j˰*!2 7U)^A;yYV6&Ui2%fhMg3^gYa56n fҰSqmU%jKL( /yqڱ{T{G|nVۯe;` #$ws<>x"iU'Rk ?d7u_1dk,P_$S[W„wKl6plDhU_!L)HQP?lF ]t#;~1tp[lF;N1xZy˒O\inl59_4Y?Z)̔aYO<x,^>sQ-aF;RIxVյw'OC{3 mB=6.l =Vjm@  gȽKMI[rܷT1eRTLj\ nՂcJn1_I?ۼ":/ mE)ۋBb9^e^wܠ+?c9|\duf)x (E(^IIN癙,3s%*L=W+|zM~͊zsȧpA #Inm͈*bi {VS#u@!T-'焪P՜%bh& s$nY˃RuIڳ|y8AC%jv,#9)&لTym56 YulUzG`(G88< =5> =LѼ*T^tמ5{7'Pn<Ht$ xnF/{QYl$? Sv1$0H\[x&l}MJsFy5 ^)6Ky *Smh-Hȣm$xXK!3=Jv@4ስy&*e2}̗BPinr-jk ~XصO lH佦Cbo Zw2'_&p#s Chͅ+ id=Ԙʹ0l"2knv0:b9"$rCf*RDM󻢈9Β5+Oe”gIyi(N7bӖo=jnʢ!P>" MqHw퍻_DPQ`ӝ-;+%O{6$oM?\Ý Z4jwY p$>^rWhh>JJǫvPCbyQ1NTW!7V;L=9K&%UÅT&Hk/Y+[9d,"uD; NgCGpWhxD،[zDnx\0#R9z(q@%qߛ-ڜ'fLzr<S wuEծT+^Foe"/Ţ, ]:-SV5X33AHRH `Y.&]> k}zEo{BLSc8#Ӄ9Wg CFa赗Ib9 Z'(ջ Yrz;T<-"ïWXE_Hig›FOv5oYbi}v[qђgyوચ:⦲J<eP[ݩyE4ڤ .ynB=tuMƽ\N1ȥS2̲@дp+H.sWfumŪ(13jբ<ޘjW~׵ yG9:(e"YS=/ e|OE/ݞ,X+"[X5MK$)?ZLEg+4ʆ4@ζ|ʝUxТ{?O[X>l{KhY }-벜l-u獊PZ)<#N**qQSj#9ؓğՙZE['l c8bt46W(l#4U7-ٚ21 ;N!-@wc 5V!x+ C2P M*x◉G3ȅP^.3;!g7޶VB<-U<,3t{38ag W{ B~|ە^>yŪHcrɻWLv!ǯS9v#x4؛_Ѝi<3h9V4yAgiI&$ jW`qQqw !٪ZQk*I9U4S6-ꆮ0s dDuE>简jz|\:TZ0v]hq氥]k* On +qBOcM>[]EdIWwF)U>؁n@X,e߳~4EX(=L.WyȻ'bTp]%&$+8|/q>TOPlҸ( =隯2J$~2@4k#XpV{_Ţpo#EslŒ5/P#yK˜|_:E֦q4F^:G+[6vp_*kXo"v? :$/F?ɾ6!-v>l?sХZjlKL0 ROatoF|ު_TH5&ȥQ(F̱)S̉s3l&};ؓ0-Ma+*eȩ(I+eH-IjR~D6|s=6wxͯ0NֳsD)a|BRT>Τm]㈅w}`Q/Y1i#`6j48-gAL%K"p ߴ; L٦\aw_DkQu( Fi [n+;q#aki}~[IyV|hrxS 8QzN֪*0X&i% #Ltf44lϊ^ t_-Slf̙HR48JXO=?:D" v:zJ_('\էZ3$[2l"Ik}|kJݳ@37sb2MʶI`+ Krv-e'OE>a<,P\Kb6kdmX-["bh ˎ.77]d] W$+iyHsKAMѪ Z? oNObe]cSC$hit7%dv03'J smq>U0xY'(!IM˂#5Cf&ՈgF ͥDt+}}HL3#5.jې:J6Mfgx̖eݮ5WU7ڍV?92Y9`oH)<ҵIi.q-:5׾W1 h_&Divgnej9ǐţoBGk:_,VV'WYMp5qkL(Id?%Ywg%ZD\GG&jHNE+ UolU)&%/QIXDilnH:j}Ut,JKQ9H5dU ^EpUga+3#a-E,upD5ݮɵ!ǘ i jwY"`́9w p1 ky(Njevn֫gzKE+̐q$ b{嬻f0K:8~y}qiYN0_@r>5] {xcUh1|Q-4Mc@RSon}ITM deENsd˚lHd -Ǔ}y ##!"rKZN endstream endobj 5444 0 obj << /Type /FontDescriptor /FontName /PZHWZX+CMSL9 /Flags 4 /FontBBox [-61 -250 1150 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -9 /StemV 82 /XHeight 431 /CharSet (/e/fi/l/m/o/p/r/s/t/x) /FontFile 5443 0 R >> endobj 5445 0 obj << /Length1 2711 /Length2 17914 /Length3 0 /Length 19457 /Filter /FlateDecode >> stream xڌeT.;w!5` `%}..\EY(`bfgaH(+hh8Y85A?+HZ@gk{H8M@` `wsyyllStpHYY@$j GOgkK+8Lf&E`f y[+Qݝ΅R n ]n@sJ&vcAhXYgIn f@{9PS(;&Zvdm%PV`y&Ml]&n&ֶ&`țT&#ȅw݀7Z\hrAOhyOֿK7#+PNZ`%fcczYk# b]\7Bbg[@Kk{?b0 =l&d!m=UhV=%qƿ{Y\`xyv/*&rd޾eA@ݟ)0`f3?_&#ߜ]mmҠG:vD<*6?4vW@&a7<3? .@sk_r#ZU\@f5}2.ؿJٛ9Dn'85zV{`<Vߢ  `?Uo`2UA\V?(A`.J߈EsQ\ 0?Es\ 0?Es5MF`M;G>''s2q7ˇ?`U?bjb3X r?rο¿Ff oƿ;~#'W!84lMa&o'*X uLO\2Xy:ZYkc,m[nSgn=xdjgܳ #ا?;Yp_*.'AW?TyY; ӟBF@[+.'v@p.6lwp4`'.{olݳ`V‚/V39V? >\$3[.? Y=Q= :j\u+^@@ iqL0Ħ>VȝywGՕ )r "I+OЊАa DR;Y1B1d# Y* #M^&Hx˞WR Ka9wR#"*ATޟ}:USd OGnE+t|UӉi<7]6L TnJ[+5`N +SIT>+E$?J*!g^U(뷔RI1XeCGwYy D +8\ފY 6%9Ew#J\ēegh_XaP=5|k= :Jȿ/G4  N~t`c]K#iOWJx&O(pk,bm/͈G #mDa+5 4wLj]g$gx nUpfv_|e@*+ 北j>4sw˕’Q0I3ȹ77\747>'VT==ZUC E|oټ .#tmhpZIY {tج{|¼3L{Uqw)1p qd pK9"<([n^VOB0:6SjU|lۗe6vx6sE Ⱦ\ +!1Ӡ:Еb_xdsRVzA-RÍPB,Zi`i7j?6chU}C[l?I(YPR!> Arѭj-d)CsP7j^=~'c;QJoRX1XA-"e kqZtd $SKƖQhJx iKA7Q`׾x_XFNyhF/HJu|G~߸ҞYAM\E02{w%@8 UfKSK3nMCYe솜J:]Q%s֪4q}/Q FxS/_v c H{d4ӧ=j۩cqDRr_OFj$ˈ4HL'} Z}M tԦcFiun7YF+rl{4_0T=%ewS)X *5 :5b,IXr D`Owrtru:ɼk!am["#ŠՆo|I&:pߙj|;>LФ2=[mK?5r|7&eA^ʑNUC|6B{7ɜsdoܶsƘ$k5V =PdO4!eoִ;U:z(agh+C^uɹbJ%ӴB&H(%,w jnU=J c􂪎"9=Z$ђI3*rwg1eQU8Wd8O^™H "uJqr"OY@ YP&:dkZ^7C򱼭֍C@2Ik2`wk ҇+I;6*1o MaxMdjzBA:LCyukh2_ e@035C>"_^;+; ^%K|D"X `]_8uu@T@q,su6[6Yc3l`D"j~Cߑ ]3dZ0*yNJ%L]&to Q~[h_sU>}U%4!yQ~<ޘn{"ʀ',R5bCa qfѨ~k:z%Y^$@sЪ 9yL8Y;;T쏓ԞAAq_T1[3ڼQQ^@ˠ'N]ҀDdu`LםC||ceshiiwld TCvX%7p{-n6BsCx <m{c`Kd{f\/QQQY:- aĶϨ0BzȮ7%ڹsz7pGJ~ -kŬt ɥl u[*0q&.Q _?ŠD4,-$Ms5P}j&z,M"(cY2xAԫͼb0cPsTs!V]y׬bLD ;k("Sf;F&d nL(`1)5|n2S"_k~μ/ֲ\m] 0sl(銦١zibs36/Ϊ9(&$NN 10Ҫ$ +1^Ֆq (]_1,U3[e\HpKOjF/M8W?sps+Cr3IJq,GFE)|㗈xa3Tr4/x/_n5#'{ZK9VԴw \HD@Pm--"ۨ*@.j=UxP7亱" ٪z|qc*v.i:pƫvU c!1ϯ G=ZⰌ6a"n/w |Tί Ns?1q `=y]7 gǓ%r.oۉ\ٺfV'U}uvST< l 30)#%e~0٥\5m}̀O<#8Yraj}FYfT(Sfa&Ӝ!m(Ho35[7怠~7W!fΓ)V2lD3N$< +OTyLSmR#IeÜ /VI;,.z1Gy7#:ޱIVumP̵ z?y'ǑVXʷ^2fHzc\o*ja\ 7sJLNH9>?<ی염uV=9}6x\Z4>WhڨDE]Us%a5WHE_ I(Zt`Kͫ=ӧ.yʣCBکs{Hz#"idEKZڊK gYK%ݙM`@gthR.k`+#Żu*(oK^N{o Q!癢``D2(mn +GE7&!6ꢪ-WdjM3! 4Kwު^2ru&X"hjJ;x岧EA+Լ:<߂\dObg<*qo Oð\n^}vc{'g!oͭ,1c ogwF\BEqs6,ϦzPj7D'3ݑ3v\9}^ӁrIP/F)EW/aiO&Bk#W}#5Ha L[ }[_Fa~?`9 ~]V Bbٍ 2GLsL̓gK*JaTEBᎳ!iYzIk4 eL8C׳Ů bi/iACvCQT;-$E&sbĊ)m5uRퟑ;Q"<00h <i:xzciqS]}8u6n]?#$ C;;o_mԪI^N*Uh <Ǩ6bxh}T;_K쟇08`=jAG5NB!=GйSV62Q^]]d(b55p#Pw%K:lϫ Pt檷L9ۅl$Ea*mw vQ5smF0,V&^q-(\ _&ذϒf;v{ K^]a!dtDz)0V@iP͍4 5T*_R$#gji7T|K"c]$4үe=Á;bOOvi>F|u䙲$`7)H ٱR0Y?~Ŏ+X&j!êZsl-dR[N5L̸շ%X])ӯ̉s-Oz?8auVo{.[lU!#3S*tѴ"roWFd$!Pڢ%7L6hZmPT)hgcf~lS˔_f_Ks1(]|J!%/Q,ȥoaxo6ym!a  5> J]^/y S:.K}_0GZJ6c6Χs1^Q~&7"I=)B{&㻎ȭRH {'A?0 ENw/K𩝓ڒ9 Jjʪ=8=*?nصm yTqJ@ J'”Dv{wC¨N~OHϢ/A#H`dfo4>vahZ\5CM>{\Q)r>wFߋi  Mmݢƌ)?YTơ;ڿoaqMc;=5/\ib8ߴs} EtѠ )KF+~׸#&)L2I۸ֆ}A]谹{2yͯƌx$ XEآЙUk/+0v͗kymRd|2[@gz(aնtd$㢡 mi%^;$:U0y\/g1HRX{>DuZ}?(D`rX\*! 2PK1SeRcEYdJSGr FhkVzkwwҦTH.[X~v٧ O^Xpb! \$62|o _]H!! gº`.ġ+]7u4 |imܝ|cX52hyw=YnjIp93"Ooh("?S2X> {bĚ`Y0 6tV{w!ws2x=̪r= ?"EM[>|+/oQawDD^F@#"vE8&K)@RZ'ۏ :=n}9 އ9̶pzoX|5KX#|z8kL(o,w4':U10SVﬡGg<W!8Fi R;ܷ Q~a^ΠѴ4n΋?`fQ{g1Ib1),{gCiGk3<"wm2$gpg֧ů̩tE ￾Q6_sn9[#;c8пȵ~ITIy~DLXoK"\0fcIya,hk& ryfv?uL>~L b;;jC_S;fɕoE:=jk98z;aVdc.fHJz-@F'9_/eɆ ɾ=vn^[ 33KKx*<妿C]9zQJI [ '4JuؔR>=Dž/j$;EҘ4$Bbpƅ&;H6H~F֕ՏmQ0ZːMjAZ&r/ϮqJan=@#+H!=o;GkjZ0HZ.aÛ0Sܕkm#ݨwG"X UMnsy)i >F߬gkeI7BHi{㾖'o3iԭs}1a{Lj*N"}[ ,a;!*R_\yH`ٗp& bnN@+C:{)kVS9wck )Er[L9qzƎ]1nj]}C8o¨ސպ2%4ƮdNK:KD"5PdA-ab'X1ȶS{iפFPGd#ܯZ]˯Z{CʖfV{]P[3飭di$O$g3>J?rH &P'[/l|B19' 6=R|6TjhnP ~(JeI=&?g\Zwd7oՐ գ"t-WSG#UnT+6y9zj\4>ĵ38rY=[i\^ B2?Bʟa8C&,aE{%\Hƺ[i` XEU tH bÃfH;K-΋9цOkL LJ_2Qn7HuӐZ-/2l;Y~:VJM{xF ~ۦ y)ytE쀙-QH q$Q4!I8H &L[؆B\y\}#c-{37#MA݈UN4 O)uSaӸ|~>Sq]p:FU_`›m8oBxn NKk cbSlLohI <*ytz%[cF%:X[t HQl,n?<1i~iKc4y+s׍D6p I։nteKf V4p9VڴnS~9d_##O{6-c>^ SpE$n^< >ږ 3m_ &WC~ժ1:bG䔜/ZHkM/o#; Џ"]Փ&"Ƶ2NY&GZIٵvwԔs}H'˫c\2c0fa7x~yim*^]}|9;:RPjĒ_ [*64'CL$;ٍ>JT2dWiH21%z}qΕZ 8.>_fmU"txVi!|-[6ܴY"e.T{飿g !7ٗtfHnJ$ v ^CoLn!{R ZՏLSL&&KqT :NW4 xx~唕:@j{ȫR0w՚\[PN^E!nաQ IsQ>3g%js2fÅYoa-gm _?0uI)Zv`0B`,/A@s B˳a& |pA%[='ZAқn:|ݼoj7.y-tMNkR C45st >҉ X{{plT$)t͇D7|ba7^96(En\q1/?Ì3&Iw!L6zi ebCx`]ΐ*Jd\Hb8 u]WC72%!h;ءVD~g1Rxd_,r1k1$iĩ_ 4q}6.j5c-FB'9h5Lqlz=ml`9yh \um8 k5(A#VKFUuE5vLsY7$-rSqyٗpq4Jo^գ7F?kHQzd"X)DerNU $cv|9{kf_rV=|ΊoQ`~Ƭ4;m&ʼgߞ c5bBO9GZ'yn6s'w/ckA.uX QledɲCE`BJuG=Qɘ}]} N#+}*cC̬:O0 ^>OJu&?Hu1x* ?$ol|dPTWC//4b^ A`pkxh +^n,gW]P 4UL{Tϼ]Uٿk 2<8l(lUI08H+h<ăw7 ekejtyudyBeNr`$Yy5UkLV şYZ̾i@}Zd!=Z`(X1 {3Gqr\"T'[Bln)54v-Fؕt#-!QA}4 ?oYlsc0=#`t F3!'hG(R³ &h礤c cmcR3w HW>b2HL 8]*(|MUaX&^ #ZE#Pz%Uwۻ_Xɐ;| h!$s4}!XqZ&fEkg=~(XttU=@8RׂR;4EalGg@!=x֖1ޏSz軁,b :tZ hh'#)|Mۥn6om4( ˝ƣ8 SUOYQL~zDyQ}FkEӏ2e=ouS*ԫ~ H[C%g\汪^[oO6K]Տy\+FW `+Δ*WlpiyL OJIc'{c{L_?uPX[{o>!614T_Zt%΃zʖIkPTf/]:JRosʧ(Ow1`3Bj) XT!fu;)y6m9C4F uIUر8E̵ 5ܑc S$] Bm=00-Ѻ 0S‰ݞG{ T_1zG.cTsT2YSd򨭈ƅ "U !vh!;t]DNRlߤZ?k+;m+=<}%ʆh+Cf.6G v룖)(s[7YpSBG*/444EyX[=fݵ=K<-Pە /o-_2mSL탱jXrrOwmYq.3@Nn_]K}1|{Haw@P\7癜}C s g#O_M]!MhPXӆ˶Նks@ss8쁈KFosdIM>vbHի9Y]jԱ= ]82n!99{0s~jDp8>lf!>ݭꯩaQw5DϥBv/l#8r%<Z[eN̎O̎YQuӬѷÖ&Y#>sv1vZ+! <ðpfnpMO2-.־DWO*1/,xp넷i~Np1-PȞ B0[ڸ‡Y]! Haх~z7b)}S:Z&w(Ew=V)zfH:O߅z\R/$I+f:scC:bv'wK"0(؊4Ba΂߭#Zf+ԍu#5Qǂf)lc"vG>X J(~˵t`  (?; S,رSZ Vp&J w gE=Cek·Jr|BiVJuK쵍v^e@uZls4ΚU04wR˟gLfkdg!j\#ÝG W4"oXKs^>x5q Y|p97iue[&XIϴF ziQ?η#HPNf 08u&އn=,>9&` +8'Y`u0Pm(ݺrsI.?$H\}myD'if3 7>'+i9zy}Kį9Vw0ŞdTbziHFAѤAC`c}:7p}mNz59 (a\wj!<(Ώc HhL'NM?w0ر>D2H^&öIU"K/[W.S㐤4VUL?8+8Kt!Uo$\;iݺ\@US}7-PD37z4^a3a'lVn D?m)f$0o0oBlX0ӠHj.UM> 6qkNȋ)o` L㓪cw@6]arV`Ҽi?=,x wTԘpfGFNzOD\ KF< ћ1zXBWW@`:+fSN8_p(|8x]([tdˡ O?=y,͑1Xŏt-lYI,u|J`TA2xX("~cVs oUeÂܢ:.`M>yѩq9OՉ PeWݚ[.y2{R*x:HI֔Kkp^.ʙd~ =ҝŸ+Ga%Xinx>tFd$u?#5N* !}+ģ/2g0x%9uz P<*Y: 0U_# xuFjYO?+) Tl޶ ׸\Au_â 3 endstream endobj 5446 0 obj << /Type /FontDescriptor /FontName /ZPNBPL+CMSLTT10 /Flags 4 /FontBBox [-20 -233 617 696] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle -9 /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/ampersand/asterisk/b/backslash/bracketleft/bracketright/c/colon/comma/d/e/equal/exclam/f/five/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/q/question/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) /FontFile 5445 0 R >> endobj 5447 0 obj << /Length1 1471 /Length2 6408 /Length3 0 /Length 7403 /Filter /FlateDecode >> stream xڍxT}?")- H# c6SAiniPnwz{?s?9{v^ؘ v`'(j @0?(fELH(.`[ZdBj# @P (&)(. @ %[O=@lWw# G' (!! vlm[#d "@P0!8:P^^^.H~ / r`wO=d 4~|6#Ayٺh Ñh=0T躂ke   l !\\m>P*Z(o/nDm=m0[;m*[4? w+ ɏ~afe" G!էu}3\g8 C~p0C5cf]A Ys0R7| ;Shf9!']@BM s`R EbF=]AT45%} dAosbGb]'CuiΥCzl Iю l{°.lJFNu$L s.I1ϲRa>TӃ1B_=LѲc0;x ?y-7eJk2`eN0mLW=Hj­,ҜApOb5JI̎ěim`d1 $!"s-ex;ZltHt [J$Ukw;ܶNs³k3w|\áIm%\}S0^SihCV22dv/T:>frռ7>vW+GꆷZ)>݀dKX!.^Iq"آVϽsRw@LJd=[Ξe1l v ?l(@%“mjC:u_VaʃKO=OLu>#ګvlmX=rS nĉ2Y.>h -0*0S׺Zj/H=AC޿Aߌ B4t'ƾ|wA}b@5H*} C~{l?[/*%0Զدp_MɗtYf7YI4@jN_lNNaJɩ$ֻV\fR.5j`綧bl!v#> Ѥ on`q=gv؆5fYu\Yz3'L821?xpXO9R: '6hoelb͗T HpI#NBgo/k qqJ+t' 2`M8YNpjї~Qdh.WX k 6;a. |_AEY*9~:~^:9pw.)P,9ÑD,F7ʳӦPD!KoYNGYYKTayڷuYF g8Z$W)Z5@͎`ΘAl;_UEYb󷪴agzX7J޴~oS?Оuחv::Bt=ȹvOT.WZDF= Վ"0_dk~lt|T˕q32In.˾Of={Ox皎8gjeX^vʔ3,4YQهӾ;W/t.pOZ Ͳ1寮]š1bG]BKEh4Q yN?toI«<ZPwsXIڽ[3oN(PXWjଈ9=Ś:,bEۄyVT cSx7*9McTK^C4!t}lv/UY8D#LE]U{4|'n1X*К^4DƋB3 ъU][`{#G k^E6 /Hjs5A.qx(˳V .Yh{ѾGz{ eo|w՚}M_q+rPIXo` j88-TeoVܢlKg x8kSn{ɏ=y?"+PC\]+TKN2 _2HC$l 2npv5/}=)ׅ %qP%U>Cߩ\HT?D9:)%=E{((;gyuH.*s:Â7fisZڐg88S%q }W 9 U+~#=iw*lΕ񤀈=᲍|i=X•٦ XedH'[fov fO{'{#aS|_9 i[vpBg~nTvf2,s=mv.>GƜc|Eu+y6[ "hKز᧜D1P+xf%deÑsj%UA4_T4+b?J;<~~ӯx53nBV zd66?I[dqo \4}NY@ŇF)kr^ppS^݂M: ɖ pB+vRWV }sU 7}0G28tm@x0Z?ɶzD;HB26 C_~rlt!%z/Dn4)9 = X#3aԌr.tL.6u `WfkJ9DGA$7h=@<<EQ0cF=1u INTlIHŢsL ‚VA w E9,{@<GQhOI 3,'•{&srsqYhd#=szqR ?ڹ WzX{6oltq?g`}8$OB_v58(Wvs#ɶ:UL~͛6BχzyIQe9UQ4?Ku^i',}'DzFLY6 حwjP EoFxտ=Hλ뎅Qu7MNeE],5_w-(&b0QTs"Dŝ)&g UK}=@z>T$][=X|\l:Åwiѐx" jʳO^:_W$YuEülƢ1̚Kc,_8VA{9\Y@@3Ϊȝ)൘;?+vMkX.QRLӼV|B[i#[KqEィJ ;ۊUo>a [WNzMCyv4_adƱ cư:=[. GyzOIz'Rzؐ3gI.{idzѡa5 !u&fN]IQ# e)2 |+;5;}ٞuB< }/5,] f߲Mb ^pM7~. }L~ԺEbņמF )tI(؉˜ٽo˕F~K^hXߴʒx;O, | yFzm 5T&_n|cAIg o[xLQ=x^ c-׆͹,3elS_ƪ u)KѮ%r8r`/S3`](ól ;\\ ΗޗP zg(Dy*xU'7W9hh}q=i0HViZDŽm\Q*oM&Hd\|>ϯ$'hdf>$?jz{}2(­{j8r_-%ޔbFYszaW^>*#{5Bhe!IM\v_S{6rC+6/89.?v& .]sR*D޵QɑA~\S3ߝ]zO'DXD/mgI:h(0b}` Vn܂Vܚ?hqSvgG _D.: ʒてV,FȹL_I`H =Xz+PxU+V?q96$g4 eYS,inHߴubzI>GcrA"jsGegwm'2#d##]՗D@6/盀5en0 ! m/~g_uw(q*E.|/7޼L#4 0ZR,"{%.VEdn%A0M-S\9s~Z1(z:J Ac;b;]Ö5/b+$3ufBD VyO|#m @+]˫5n9$lT_-S|ܡ:7OjQaإ»5<} ʤ'/xZ.An@>VOYQ+SHzLdqC?SѹA%Qj jm'w;SBDb"IaRO;/uo W;'ny:=\Ӛ[Pt#u Q36we|JB'5ۢqe<*7>iDOs:-P!볔C/x Z? 5[ O^Bœ[ endstream endobj 5448 0 obj << /Type /FontDescriptor /FontName /LPUXAX+CMSY10 /Flags 4 /FontBBox [-29 -960 1116 775] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet (/arrowdblright/bullet/circlecopyrt/minus) /FontFile 5447 0 R >> endobj 5449 0 obj << /Length1 2326 /Length2 19671 /Length3 0 /Length 21024 /Filter /FlateDecode >> stream xڌp[ Ƕ6'31vl;ۚhbքNlߜb{kWe?^׳CA bjo sa`adɫI0Y((,]lQh-xa!4r|d\m,lN^.^ff+33 xFnyFB&4.DlN&Fvy# G#%pqqebrwwg4ufw2[XT@'7)௔ FGPtB X?ڙrEݿe@wq,,߫F&&Fvv3K @QBÅ`dgz#7#K#C7H(>2w~&N.ΌΖ66edg*fok sq+>qK'G=}vv!3K;S0uu`RttJCGftp033sr_<+Y`0Hkiv6r\\T/L-M\@sK;?fw0 >:G$$Mx3qX9,,OK,?v3+'wdž?&X?K_Ho= F6gWِk @M-]mVcFD?_rKg Kſz?dl׽󱊙>Fnq8U_LMAVN'G|cVM8c #G__`K/0!.0!ӧGo!b0I!6b0XdG,r#?E>jû>kx><|C:?δc׉3A֏L-N@G=sş?j``Jc!~?#}G#W|~GHïǵar}hjlc4s_5(?#)q'~ @E{`Z|w_CW70{p EzNXK[7}ңxV; ͌w}N\Ye?ٙc`;^Z:l8j͈6͆)Y-Z'27%M|%8ʱ3ZNj| {u,Op0G 9:#8_^y`V<H1Վ>mxȕ"/6 It XeX9>ru3j)sEJK,3&QAN*A bl 6\ ;)H#/N5 |8~HXaxfbjAKd:;7}ʵ_d2 XVg&G`PZo~rվ-KR6=wm! 䳖:ci6ڶK0R=3&B3=PYB$|Tc }pewx8gPjw}@-yrÍe)eb4\~qƊr ! +UE%gk!h/Z_A}QnA*m: yRh3Fc]$꠼3Qf8}^\F8X ~xƊ11]l {TpiG;ϫ-yBOy3Lfɹ$Y<ǥZaѤ(Dkˉqi7O߇ڿڑ8ZwG8JQ& F>"vԯ(N$Vj ɒt3{`A?\=~O]Aa_3;mZ1*`xYkEXpBRkX߸GˎL5D`tFQ eZ\0MG3iBSp`Z h';Ivyx-@M̽ʫ7q qW4QiԴhYғ@^Zk8ܗ!T+5YtT\Fp®:,սNlϭn[C oQ=g .46YW}T xzPGBCݘ8%Bž`ьm<pX4BkqrV&Sdk3SR %O0b A0674 )UUvtO&`h. ]mATI29 ) #^H~#יAs>G/nUq$D(f:V~[SN4|2|m3[2Mdzz,0 Th*c4N^͡C :cdE2Z -Y|Wp9\EҢAyv_?lQ,"6{o:U*Ktd3.׊Cw Jc&usRgukZo}N4&b}h`u|m0Pb0]4>ú^i 7/T"͵ u69c X k+| q x1+︄abwA˞]zP]C/G`R;2Q9[F3v0]元$[2TǏݳIvk7aV-Тr~V`_uS->3IF&'LgDt?+PcQz !!H1䐗"Cca*i5K#/# RmXqi)OAtˍ!]o]$捈_#\d?/E$!O_\Z>SU@I1DB ]H7K2P^TkE]+.JZUy鎅46kܨ9&o{d9)\wni{/7^wmR,2k-(%]/q&03x>־a*X1H7@C ]䈧4=ƪ6ud_"VM'azjQ BxU}HkL?{ -]1glj{C;XZ(s\S~U*T#W`*]冦L!Wj~gWN ?@HyO&De|R{?1"nN.(r jyyy WR(|Rn`Fɶ&|A؎ӿ}k¹twC!)(HVˈ &ŝe6^߸piI}h5^ݵ>z"$) »K+9cLKoɸb7b>Q]8U(-|u)\ֽIɅ{',W_dx64{ ƓLk!aвtMײi<)^l ]%O5*~k{)tx3}<;K-Ị H/5!wH"}I`'mG 0W=.^zm#%ɤEB}?gjmul6(0"T4EI n9ܵ;ImE+C]_eNmn@ xgO'G1!ZF6[\SJS+Q#%ikn뛐'ˉqǴ:\|&}0r:g5ph;4VPY/r7m௟g/ =e*hz@YA;,`j!qΈDtfBy{)vvD'ip VmGsBҕ!?oveJ/ b#xCXp!蟔`۞D?AtQ:u|6UTs1!{(01Ie*7\h<:ލbEJL0@v^^"nwכO h#me @Z_Ldvm è">! /,yXQhj&\eL=cҶveztW3"Ը0)%=>JmnboMzG~X џ*$5w,e2 )vs̒9ib79>l3grgy TOZsvs \ \ (;uwr޻p2} _2~J8H7g{yMbu;-^s`؛9DwG4aZ) 8C YE]i`C< ޼}E21Cե6loR3 m*%HLxX{?ź) C>h >ͧך"͢7c0ⷍ\X=!;O+=fmtW!{9((*!,烉_ӑ>Ux/;-4H:$Q% +qfj̋y{W$ٽ#r)nq>YtWq 4\7,O4G*[ w`$9WK‡=ݑ%ҍ y@t: fp1UFc_~m =yMk3 QoO)]>{ މij*92ڨ(ƒ.'#{ Gnrcz`◚vUz}RRx(*g=y l|eIgrG<陇Vg“Mu\ Sf.YvǙF[cf չ+[=?7H}$}!!Hb(6Nv 1{/ƀ&*3-`].CkfqUɔQ܀b4I%QoEf*As +1]bXAcuqxA\˖SCNtb@2KvGRDEQj茠}^C(ow{.Zo#I{T^>o5Q'Ҥ->`R~V%&~52k/D$Qwg%]ۏ)]0zN_ pWI^ Lo0A{,|I4ZZ<4T>f@SImb_j}MbU# DVVaMնp+ïĕO?Huĭ͢~prL.~mdGWQakqniE⻛^˗=>ï)fxVŜ|EѨ`M#>s`/v27-Kiʤfh\9* yGg"׃tLYڀsnF.q@l6|AͿ<ݨX1D_{S?H՗k>UpUՕ,9ɺ/W V+>*`r'l>y{s+,;428^7iy4v2B;M|ӹ̒1[_\&DϏ/z>y 9߬D摍$ rj>?CIiVnjլة>΂~.v^VxI>(t`.SѠqoן4s'fa(`?H}.GWq08yȝsjSw!Iޕ7Y ,r=>'ER ;+!lJZU&WM} bPz$sBNqO3H_[6FR!(ґ 4$ !#\՟.qˊ4ܦ5݌ `3:Zu^zu d#u^\h Nh=fV7I3f5,?hddzV4K S}I h`$vKQx`1f)?5Zr:w6SS,B jTRTmQ2P+;q?chyׂ$+Tx)Ջ{s}N60h=sBZҪɷtWg%ET dm>~3R9aM`}KTwԧv_%Bf\Y^NNЪЦK-v- Tϯ9Njt- "0؀Y<ЊA2PE Å27OxIeo B'؃/u+!N ,U NРRuyX[26'dZy0 gJȋnwt^3#U@'T A$ yO{ gkBC6~p#H1=+t{Ds^ 11F?: *DYnPRbñQ{Iazs ?#-' 6>ɊSOkwmA!kGy _翖癩~V{ۨ8jaԬ)N`X:f0uNTI6nNd/1#08)ɾMLxDDC^Trh70+@cyL x|--kė4NtN^]Ҵ=3]?waƾig 4[^Q"Ĝt:H%xI5OpGS„ǯp@F^! TuA%?Xݖ4T4A7%_B굡R1:PƣʬL{rz_mŧMdFJ:EDž, I!.KLŭg8! 8sFNԞa RCB'] "?$qx^y2>/X9h_57|,OST]DQy=W&}t DEbWW0~g-C¨jZn E`L!mU<-͘tL ,&4rEt?Uk ~)AЌ/;)VWuFgǓn3\1F1H|ӝ#y,o\pqryQؾη{ȈEMioH=}YBl˫@@:ޝa[nc u5"*WhlU‰ Mh67Iosp )$wҵ|,+Ȫ׬1S !Wm`#JEp 9;+"'֞;6P3 @}Ip(d~R$bBU!0i'77^ݙs݂/z~U"#츠[nOB(Nt_ȬR|A`ffMv!^僝Y!,ӢIVKapzLݘpڎ%-gkCQjKx/k2ܐ. bO92dERЩ5Y3ܩM&r@3y!ȣ6dcd}'_6~L=iՁp:(;o|kc |WA $ !]X4k's^˲^BHooB5m.,3!>D摠+jF73lG$P+Q^NT DڑJ*rmLvsQ41"A;C;З~B4_1yυutt"צS} "%$B+)qO7j3yXRO|:[Bw9BMݼ\:4$:~̪ }~SRs}$)xgǙ[P@xg`0g˰QiV0Ue- b1VmZ5f{؄/NAM8MQGHSwhkJN)czQV DLJL/+4[ pOojmn9Hya6{adlےFi~[+oAo۫|" &{4D 1jD$;e!O`&]BGX|nfxºWΨ'Sãq7Rg"wAAi\VXdESAjJU]' *E9ǎ>]4Npbe\hq>ƣF\0 : y7cN=(Q,mN%77A .ٕPSXboCp*IעPkDwF]M A/cnQQgBLNdDBڒ۱wCa-sE_ҮŒǯG+P,ޭ 7/%:p2REr~MxuI{^焐 PM?6hCOʱ-0͓!Ÿc}ٴHCD-ye@lrn -<8BӶᣰ. ř ={|.ԃ;"}Ouj̶ovl&z)8Ӄ顆JЩDCWIv isqv=р#oNM*JS[~kDv{l%IqZ}#k}2)U8R1<ź/˖ u9jqq^/FP 򆇅FV|E30.+w@v%^=Fh=S|pd#W^:'Ϡ`˳_QHMPY/R[ey/3j:a\m) ]|'iFrS]I4k|Mm6,af\lrDz_͋|1 )mfn&D40]aIFb:/ U#2q@7җ ďr @ךmɧ4` m.ʁ Qt??Cfnyh=f~z)9#1G>f1^2kRR-99ghrh/(pTV+]:M~];Ŝ><),s@\PXߧx-tcw)D ZT/N:s'#nq9ZoE4–2{w~r8s0Gx"ŋzA$ՅLzcly *=>h` AdD*T 0B~gJ qY!TyJAəc-Sb9yae׻%N)\mt{@LAFGɺ_YlI Ԗ+\ 3cY jV>oa6= { U&^M W2 y?}gfv7"p%r|f}ȝ|>q}WMAA {?D4` 9]8! W='ו4vdA,d WeG 3mn{q%Ztf hJhD0d- sHX}LUK u}p ا'6e֟2;)znԾD~/#%UǦ"GR GejhZ#!Q0g v:  <>n+6܉DpBf_H!ZIXl&,BDI:Ǿ&EԔ#:NNԘ~{UvF%X@n ኙ0 XRRzж|a4a!}.g#/0ʔmڒ߫Hv H6'o I￴B~է\b+q%(r I6E$Sѣ})aוNaH8;ָTA$GI2kB_r-҇E_qzj|`ʔm"U}ІtUq7គ6џBلZsc{QLhaΗ=0Ic>.b=*B(s [lVe2^c:p dؿ r)TTE$2R {P !_fύ)ޤ`MNow |I?POr` ,!=bh0UDZL(;Ҋ:J7z,cW9BGoT?ZnT #Wy%Rrz1.]3>J$퓸qh%N.C_ []9:/@B* @W-rW @Ɍ[aXy5T:$h؁0; 'F^D=ME_qK{q Z~%z-&Dd $b\>ӐbхjJ.~=!W tA@YPnzMDzgHC$wUQnIzH!w2h% :i K1(p:x9i%ٌӸ8 PНI {o`Oս=Z$c^*٧@y.f!%"|^Ux=.5C'{NQ=+"ǣ%)6-nDC67ZP\xmg4W*Ne7tˢkk woz`_Z˸eˠL O`=#D65m<-8vp$`t+? %b7e * y<1Hr&oC`Wtb ᎍ|.p1եbҎ#jr0E!7ȀÁWk iCIA3/o5ԪD>LSR/[g>ޙHgХ+.x;IE#fmkv_@XJd3/+Vu:PU=hKqÅ8Zw*!DOXͪ"^P!gM>y?f&,5;*L"/g#|2O(MBEPO-WkCPL bDt1;sѭw2chDaf,&GO!JDNfRӝ\tj:aX?ʐhvF䰀Gp- u5(A OLuIwj +@tzO8y<\R3z!Lu.rw?ZBȎDdɹ܆` 5cwJDv\W^=%w- l UXMt|;}W$HQ3<b?;~Aө@.0g-/6_1]'WUt66 #{z{U:ÎPug@ݐ}}YlVQs ze' #g||".pxcYLlus,-q]* d! pxU;|ҷIhLVHPmB֞l\]ț((ɌcQ_ǿ_#Ы *Ygz0=`*_gF%S8Ǽ%X/LƪħpS/qw`?ag]jh*qzxD3/ :.ƾSmD%"Cej|0TxuM=qi@ _-;Lƀ0G,`dU䂾Cwi!(lJ+NOR$a:nꛁHO= V˒hslj3H)jHWۅ[,S5q*.Cd4hr}:*0ZX]/:%ʡ8'ꇈ}d~یUpςaadyVAYV.M y &Lq6WDrF]M:' Z H+V՚q=JN` ]&= Wfj}`l ['CKxi/cwxx]نrs9}R :0y۸|l͚Qk-*@h%4xfXx4,1=by3?{'3j{8ꝱl1xDą2>Q YMzjŘ?Efuo#U)b |7E%v{e-˽2ߥ}[Q7ltCk_٥}@GDly|erbe`rMhHRlE1E\㝊E6EI}ԙdId"W/!U1EA^IlG[Tqp"xgMƑ@\voY ]hD0&!rB_- XPx dm[aYf_[#}VXI\dv0=ƱMj[53.{HŹgO5rHdǴ>*/7ul-;D~ k׏MWD?D(J;)IךoڠȘ"j2vJO1'>&\=xF7}iB1Dڠi]Gs/=b+k<=k'$(K.ٛ7ݘs~"lp%ٸ`e,dR?|pԿ꣸?;Xnn4ֲHN˜{>pP :*QHacH+F/agUasΈ=h16.W.M~C*!ؠт(Y"E!!( FhE SigRvZtbHJ9_Tg6cgJxV~E 2o<"ui]~sa-!|@49)1\Q_?!})LJz0Pd4dؠN?mL WU׹ZFtϩl ( O:!i^NNUg}5=x;Rw񉘣ĨqF7ZBbF{Na!^uw=m̆ !/'fƘ:f%R;4ΥD(U, Y IM0RvuDL?5i$5?KW@"ϗ]XpJlmf][Ntp.p5( 0+!'N#,,C*H)UCu 0Gާ(KJmSDG`_\]WI96p͆_s JS[fY>.jgT;Tݤ=ϗ1_r4 pd!jߝ2brzc%uc9}T!|#ؒ6i= e:Ifk ∂pwY{ds:X5Ra_g)ZN*ւ/ d{= Fq_Ԥ$7Ew!mOW[kRc%:թ>~)Dد03mʸO ~+r dI-/\y&' Ħrҿ %.)Z)tDc |v`F(\eMxdۑώ=\caup X< 1#ꄖpc-B2{#yD@x&/2B+$CHu}"xm7YЎjDQ_H&О)X=Mw> endobj 5451 0 obj << /Length1 1686 /Length2 10172 /Length3 0 /Length 11251 /Filter /FlateDecode >> stream xڍP-$иK7H 4܂w;!;=xxdfUUW}}uއLYI"ikdf)XY٘YYATTP'+_bT*M#ֆ_bӳLl`ku@N^ /++C[^8jP`@QlfNis<<\D!Pc @d~h C!NɎՕll`&Hp:T! 7a"'3fT*9O+xXA!66&sr<@bd/߁68m6P3) PgvrsbmL~m.`I_vN̎PY~ye 1[kk#ġkwg66So&v,6P{g_&"df'+++7 @܌Y~Ww?3>xCM!`o#T `5vA̠6DCLwXg`yLlm1,:r2 2['*jdb08X@ ;7aC U?elLm<rxpk,hZ:gP}eg`5~6[j?5j(;;=rUV@W+~^g3):JB &P'c??xa(:B8^{:cWa Ky%lmM~ovp>qe`nNBin Xڀ˶ Z#5! s(U0fW.F[K6xpE4$g*z@WzZtَ61=ObHB|o0LΔoZ)!ƌ2b`|Di_tL?+5vj;% B{GKGM+$yHQ3|L/Eg#yy𻉱]<7_ P/$<1%Nyj|=QA `_!V5pC<1Ei_mDb( Xx"3[:y,tĻh# ԕه۱8Gkھc^/2Dw*ʾyHOh+RdRzI)Ծ$'F^dXGɗ2 k̋$v~ScMo3\Կ,/tM{D+j2EA9bWr+Z0Ʒ@!8?)ׇ$_?l1:]r$*`vh6BnQ>v]~2XFəj ( Џۺ9"TEBhݿRq= q1,a) E:׊7BKLGix_*)\DoXT*.mOrA ͏fYJ [6Cns<1u0dPH&i4F ߯Gv%j$7D{ll]M=&URI/ xIǤ Qe!ء6T ǟZbm$ONs˘J˜1K]I,MέeHm+f#G=b-tWh F@ީ:Hd4\" R+"Zm8@ rš)MCKg:M(]-N>[Josck7oa|0ϩ1\ۢF|{ʯjOP¢r"v`mK P }Y^KZNx6Ҧׇ}o7|]W}Zgg7Ol09AWu T$ԐAZIZhKAnJ8T NtAiɯUocJemieRur=Em2垉DC8%@>؀ŗOb[pݥ)6^A'4~nۧ(<9 } 0kHzuFȺ%ʍh{E^&ߌ}zc>,%D7dx]>j)68ܭ`>2OkZuDeM玿D qWr1pd LYzh/B4VԶVCeR=kj,N8w(IpZ|)זb~7S>8EST`X uc s#]BO@6 9!Z5:G TdP+kV Lӗ`Vua[lMit+ŃO##@d_/@pKU|vF+J+.[jk{|+; kg^Ek0 }=/zԹu>[c?I^ms}4.|,K2HSYTK#3gW-^c]>[W]aYD"}|Dz/ I,>3&&a4o,R^;eNqB/J( 4>"5Oe Q#+bNEio,T7ž')#DUM2M5Q7Id+ G"yͭ]ڟJ9mt z^/[GRK`g=!jZh\VpJX S(pnjSQݷ͌.U^V%a2 zHAya{W_{=QבO*xJ/nFzb$ݵ\Vӱqҕ M[>^}3tu笊yzyݍG/%@-×3S%hy.ZA>|̛Jx9jɞ ׮{\a\$Wa\u)jN m mf5GT?J3e 7تz%eMU'AblUITfSR7H$. -6a͞BI(#lJ5 !=V}6 E~릪@FalH a7p'Tʯ RK AxmX\}%?_3},/lbu!aZ +4}b˖=ht^s1ZOmпax7|į~4CD wٖ'RW;)s&cx5XǤc0qp82ͩ*X52myL -KXGJ)CQO1ؑ=sg.3۱;ƵzѪ!DE)-WmڮrWF.թX&jgxM6i>S}X;Nn!%G;`h9}<} ) /vrH/b>S0ۗ>sc^} I,՝k*YH, Bj~ߥܟ:F|H48;ܐ0{_3$~-pkVLU ϣ5 1:It-жGZ"A1c~QkgQ8վ4[&2jl@gN\cͯiJuNZtK$B%a i?,9w:K aw'K!- ~Wi}*$Q)CT^B`$HMd2TaϼSuxrǗ i]/5D{Wx׃>9Z ^^b̀VXetCV&]O d8 'Ʊw2*xW,Bl@]S<'SdK'ҊYb6z3y A Qq#X:";ڏV*f|y5Zc֙h-1dS{2lۼKK&!)mg:}б*M4k7DxF5o V#~ɉޱov{]Q-joTo9K7"$$e7#4ԅ7~e'iSO(WTz 'Y%@K_RB`܄܄ GXB=ЈuѯFq\ލaZ;z?H呏miu+7Z*"՟S(^XK+*埾Rc3oG5@WQx v}5 ]7O1_EFgYr2R?LVMGpuαHr\ Zw}9~MĈmQY?+<9kQWc+J/c'/{`D7l7kd;v*irS<8M!<i=ߎ61.!OմjBgCHNmZ`T^ZV >b;kRص#4A[ƅPL%wK_\e U, 9&hNAM>PS:}3ڰ#`Wmb͊+ÊyeQ P CbMzYO3zoewǛqv= I(֟^#K~pu?x}qZ7?2]ILʉxԻ2ࢊ~g/VKʓrx{v⬨0 k_lRa+[əfs}R;tD6Tvu+bI*qR^O*g; J7z}ld/v`&0:Lީr~Β?SXH=v[F bDHXKDӇ$="sߔ^4IhtMpm;G€s/d&OF6 v{S7 U\]-9dvng#\=DEV4d.Tiٿ/j?Rd]`O4dh!ؠU~ؽIQ>Y ;?jn]1}v}kx*3f߇*nJ"/+"_x+#;+~~Bq`x4+%su$5Q.6SNRvܲ_zUCv?҅~MH?n6lTU} ~@4f\b=Ylk$6{u~7,E0aH:ܤ DOsg:\Жٶݳ`R0='|rfzP-꯰ fryӯ\ k֚U# >ӳ٥Yh­=z _ !k;iSADd.)-JnL qEU9Zݷ_J+!PZh3`FUCNXe97/ 7yt]U3_uE>+* fK "cғq<,ᴚ>uX^YHnUF胙z+)Ӵ)7ɏ,i^vse/׹ReBb&nLܐQŽǛjטO%7]CL)oͳt@}ʇj6f7L7'rm7娶FQ|&ū#)uPTmbA=w! GU:z:-K;l MC+󅦞 `! VڀvS\ Yc|Lpf"6U^Yg ^,/Tb &T2SD!u>v@B8|--#0[L{lm ٌ{Gbc]DcO9Zl;V<,RIӘSfŁ*qꃧ|WBxgĽSC?C|"@CZ6V:߫O򫊋dǧ&-?@wW3M^Үr~)LL޼o@xX3[!~R_zBsB`I!U͓kE=\_lB=b .{!rxQq녕Qo{^vTfXQF\ʉ:&n9\d`۱79'o.Vf%Ia$ %c&GyW*o[?ۗn= >Z'Ml;]$v6T>djKc5ۺaaovOB]B8ʫNjy74+c :q1 %.a6?]n^9n> 0`/wU~|󉲞Q&+V\ O\ػCs~G2Ѹl3\$@6Qȴf5&΅Z]_F<հwΖsx -/TZv1uC;Xm+T:V˩*p OMh0HPK kf z>7vUsԑ4$N6[n?;IygzW o4suWvi9j&4Q|:f8}z{6KO̟4xҰdHZd3Þ\IP& D+AC5A8(uBh02R4,  `oqP Yװ\k)u UtAY&\\s)/GI$*JwǙ&Bq g^g6irG՘ R[W]O;%WY cpE$g 2*KpG gZ^$ŗ~!b"xW-(𫹾Z=rX䠽˓z*ԣ{*G8jk&k Igi`=Y'y@2N2 ^bAnTYeݑkalK@7^S~$mWYB+f: R'AXQé 4O2>4خ##;+ܿ ıE "5hOQ'ˋ)f q/tv,祱3J`N}5} O6_Yͯssj *)` \zY)Dvhs`5O&5Z[^S_8ϥýqz-B(i&j[}ҼI'6Rs%#75d$B&cqTɚv,r ퟎ=@C(&Eqk| ' _Wx2jv4~t0KcO[uPH "r7 `=S:J,_⺼aٍف3_F:Ύ*X6`e9u|OmA>c:ӽNqFB5+u[.ȍKD͌NfQCW^:$Ci5[@G ~H~LKp 7aU}f0~ģoL k\D&Tp]RdEo/3w?Q/" C~gUs`{gI6ĝ]c-i ;1+ӼJ 씭92V]"mG]0ˠ S*Er,7Brb¾E}Zt}lޑ| itE\h΂$G&.vD qE%f'm󋾕~:iIc-eBoE3 qn,J=1D`@ov_z\L/޸u@`T~j7$a oיU<"'\t,<T0HףE~Fo}vW&(*7F QWbH6V)G$"\yz RA֎r JKuALC)^r]3p:ڽ6Z{z;5@Jsؑ L qbK׻O>scB G$φMm0j!1!vR.iqށHt6`^׹U3QU˂z8b_]JN8] 4gas{=+XwI(":Rc噔 dǽ8lO5Y1?<߸=slBDA ϩVN!=}Alb_XFjH#O zܚ|+Uf*@bI35O5v'br u(v{wŠXMDZq ͤia^RmT$VJ2TحRsG&/_e 7FP<(1ZPu$MCmp =ۙ3O!~-< =Ix!"~ *>-vۜJ)blU (JweaUթ1_>uj]so[-8BmX]4FÕ(}ba*'|$j$݈L؇|FXVv쭲af 1<_:yG[픊;y`)zN.ZuAm_<ߏ.4y߆X}jƩ2=U!hߧKitUyb u' u~7B9x?4EѳWwv::*:0! endstream endobj 5452 0 obj << /Type /FontDescriptor /FontName /YKBIRF+CMTI9 /Flags 4 /FontBBox [-35 -250 1148 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 70 /XHeight 431 /CharSet (/M/O/P/a/b/d/e/f/fi/g/i/k/l/m/n/o/p/r/s/t/y) /FontFile 5451 0 R >> endobj 5453 0 obj << /Length1 2966 /Length2 21120 /Length3 0 /Length 22786 /Filter /FlateDecode >> stream xڌP.;_ X=$K݃[pwۜ{Ie{gf)HDLl6N ,̼1uuf33#33+: _9;#ֆ 1X&n6T:[X,,\Vff: ]@&F Bdf߯jc _"@ @h hlhP5傚ɎՕڑL r2.@ScDP5ur5t+1G61=XYq_@6-6463q٘LAV@<=䗡-x!luC 9;AVrd\f 1[kk#/~ 1Lo)W&vL6 {g6`o nLRszL.@3Oſ d0l~{wt`Ϸ3rm3Ikh?JQQ[7'; x?7ʆOo.CCwE[p7Կ_<-_^$S7Ymfg'd(؂M5g 2N 1 GIDdlWwޭ@6@e[GЯ?:[Gf'%lmM~+'_Ojmx 7זrrD~8LI70F<&3I7bwo `L2;I7s\#0E7sQq(F`.*oF`.˻E7s\A<`K<=lq A c?rVοN +?rv_bp-o/'N}#FFƖVg%vC1 hof,[eKcS4?X[.د`])6pALl >)~<Lw,xfW)Զ\ XK~\Nwe5w3at,nN\*_'o=(~0mlml7 cMU,,D~1 u;zb=)_2]go1&߉B@ǿ|:My_bG_8`'l BYp9Aa_6@?|8Dpҿ/I&'s >8_o9Gc[?&TQm~ |7 ݀ |AUA-" cSۚ4 (p 4" ]h˛W‹$O5pMq*^bT''psE{ ԅw[B7BRd;s(żur-^ V)C|,YϿ`"2X'״gnWS/$1tGly:kw3+Y;tA_aLRz%y^`aX%n'=ՕerX!nfFOV3;D{Cg*)U!Gg &́D% Nsg}JJj\cHta{^tE)Kr+"ҳbnmMD.7! 37b0]^FwoQRc|8{D'[Օ*~<_8XJJ8}Wf`\%[a%2f#Qݛ&oau6'i+^aKsh3-nTfAHQfE v\#ނMD}cngiZ[N#88tQ.%d"WTh4ڔr@C jԷ< o}Gt:u݇?WVkRLCQbn76+{yŬwO^Z0~xZ&]ى?sRun.KSmwv!GɔHZm}Eo2XO[PۅP h4\|hVttJ€3\//hTkt/ˆ4ˌ +*a{DkFR\w:͍N+8{QYxNi&h(F8cڞD6ԡv p-I-u⩧&)v "Pb"KK㼈E4;}iG ן!^oRzlJT7 ܐS"(yΑ`Iw2K=X8]VeC[jH[6j G$Chn3FL eTW.ݯG2ƅǣTq Ѯoan5A3^\%sؠ +n5k.YJŃ>}OM<DʼX.wDZdTHX$dk~Ury7h(01,Rmslu^*<p;5t^x$3g֝cy lFr}Q6ԂMyH uh3:JI<2j=w[Zz63{*l!Ea6g#Q:#.#}:z(PEԉ1ϩ?J ^-#%+:,srBz^]E.G'+@UXC4w'P^OdnM0薸M`$+H62|z>q_=L s!GI@\ C}!1Yc!P~3qٻ?Cpy>]gkPh]χ mHꛤʪRCr2GLkCP)>QC#.?R,QygNfJ FxU@#U \ȜrI4:19 ^3G+*9'9v&*6hsYQS -ߦwVwVٳm]8&.Tefk/dAh)!Qf?8 { M2dBi_7D3總3~5I#!hbe a7&n8%^hI0 WkzfG!C4IGH z8]*{7'8e9@߄{;r,z0[yd?OӎoT^oګ@;O(N&_q =S 8|F}2OD&%=x 5EjS!V2޿pzxԃ@֭:{n`JpiWsyE;b3,1Ko& DQESd*WmJIe;t5p@ "wIhov˞k;N9`|5y++ς#P3 I֛fT0҉Bxhj\?1PZofqá].7.௶}A8,njZ2vFӧw+;f[OٟfOмح&ⷅ?(ɬ6r᥍3yFx38qC6%n!]= 긩QRIOxhT7ellڧb96ԃ`Sf4Y=j1}q@S֞(Dц?D2,wguJM{b}(?T`8^.R!&OArw $LMë_B8$Սjug}R?Zs[COE[5Q{p\d"Iَ襩C}t0!-?(:eԝ3d)0|7΅L8}nÂGQFUrG *^\ݖ<4v'} 7@qi).ts0  t3$}ȗ 李Njp5YwD2xW14s-j>‰W5ԧ?};9:h  H>$Yy8+>8SZ26q73b]*MME' ]0 ﵨZ2 "l7zaXX@Xf8)vڴYf~V:xlVYMBeZ$9mZ]+c(#L",(VoW߰}hf[U9v6pN%yChޢ<a(0u..[hFs'DϬ+n.*Rwu?K̤zj}ݔa6~LvikǑ6ēc s'-z7j o=SmЩ|2ny$bga X#>|6/umkMy5Bd},#vt%^>LU~R! m/?2Γx-(*==KGox*"4NpZk 6ϪlPi1F^>\xF")yZJLhTP$P551Mfe ɯ^F ܽqhc_µ.H-:i9ȸe{E{̯fbC_'Ei[㷖jtp7c,!#f?+}CRsDQ<3rܫ&Wmt"*1۝"AL:nJ߫Ux٣ GEF7MB% ΰhGq!}>)l]~X!1mLMlJ҃ô>?)C> y|ttgxP<')2Qo+fuƴ͢t˒6&! )F.B,9tl{lW 3f@Ku N?ge}K4|%Y/9o`d`[; .wf_xo9u@")B Gm]kH|= 7Owӌ =ldvl&5l\g̈.b;g"bT쉄JPw gmef-ͪ |S",9#JU!N3BYtTiza߸6RA5MX0q d/H߃c3D]ƶ81BWi7o ?Rɬ}^v< zCآ-?A1ML,O mȅgZDG}:0v̀'psx5|7yKtG~6:($w.f9`4|,*Os9YnX G8OYq֟,(.e(}x6f⛮ӂ9+W$ʹD:b}iJj~~3QMcMjAc 7 \^O,0t6ȈEy 4'Vo9(PKFķI$jX5BR"!rBFܦǨ K؇tvW32uIk̽# + Dk 0 >+RpkxrFN  Lޕr)sW\x4ZK3vx\R:Iam˯mHLDܘ2 O-*Z8gLi?A@>hi]p*q-oYD+-zE])T)͙)6O5}EָPE;p#-Lq9De|3G++iÒ:Maxεk9Z~h)# K'6O J!(}_?o@q@ӽlCXH֣ϷOHuRPB.G@.=pFk>J Z;k'&zA3Ue>7нH ]&O]FGj(}]f1>18+ʃUUaSk'ü<լZoѲł0|˧Z>VexdEƫsGd[2жfνfX)+VIŤ)@tE*=viճ fQJ[dT/\3R""1>eKc Mu(f٥TVu;: ޣ+.<11dƌmsvcߴF8#uipBwsEr"_yv?"^d„gqk^@%}mGyUHpq,T+C&T,6|9Zw ۡZɩwW Џ1$O^;*IV\ ]פaN /rk9{~_^9C*L<4 hsr.Pxؗ@v'?Y'۷c!;K>BQnn1_OlӬ'B?4TZ9eH<+# ( ׆ʯdG &~;Io V$V<3zum[+%9p\t3I sd KdAQXβt2ġ-26*jS ; Q{R1 ,귺" '=zzߵ] 4r(IӳP>/5_9gEvvH~6<1I񱕞T('oV?M_ ʈ+qK_oS<.gtID7BJPR^֛!:- f鄑ѡӂZy+(Ak^[>L71?Ӫ`,DW5gzּ-9: S(#viI]×/n7u\y͐]G}8!⒊;u -M-٤guijP5 W]ˍI>KI{n9'cƬ%.x]RaE ˷;Q'ED? X 0'$/+יW&ڛd`[DO0:H!3Ot:.Ixͺ7tIBb ~2;Mh/}έ~}ᰘ'G6DPw,]x/iP栝v7A`wYGUۂA9 PzFiب9,Ӊ5\W3ӦَgXl[Z$j۵A :yo<ss+;AuN%߅s;΁H< ~]8ْAY@9|Mf"ʝ$;PsʒH@GXJ,CK(im.Sy{H qN"bCx v%bd.9aoy\{=cC_45{H'ǬA;ĊqC_'R z ,;țEQMY{ l4E(ax7uq7E#25=@HF q~zA;lkԝA!%[5 -&W蜠.]LܗnX֦2_5dIi-0D~^#s 7"zͻh 4$jl+5y%|= 'f&#uq{x"y5#Ss%*pێ_Mo$>8>gS'goTO|.551sX` +? ȟj5./&@C>Q'OD:O;RwIX ZT >ςU=*q^?[q'J޺喣{su YXF$%5&'p1)Ew]N^<ٯX#XVڨǘ}3&7x9+k= lNfq[NMro_czcl) Z+qa2{;"ާD&498wN&cg~ MbdĘPveE[׹]6NІbeRZ3uC,a}iwfe>[~%EÅ u9Bl%@UL]i0¦ΧʩRjaM)jMdMQ/2w:|i L_eC9K[BB}[m嘇# m]S`l`#HcyH>`e`0lBMgIEFn+$=.0F(/~@Nᤝ<|Autw\H9>T x8ZWI7l\.r`P2soP,R+6sfP/Uj2kLF&Xq0 ˆBj!:Ω6gɕaVu.rSJкeAG /C٪Q 5@kwJ` 꾧dF0: W3lEC19qRQ&0Ȇs[X{| W Z_5wE]EZ R繚.ޠ1akwUՍ+cC՗=48\lbd l'LN.ѿY(1ys Ⲯ5m:g|iK14LpME3})Zx!e>X(Q_;>S ~G^ˁR쪽b(#Y/FTkD!&7& Gm1`dPN}"F`^u!2H2gI&<WѼ'e$q?OgbAT^G=4X"jZ>&wuM#orr/@iO~oXq8UӮ+eQRe<`=Uo6iȵ&q٩c,] <WV^1z3μdC /{R̎ P-zKarD[~^3sҺ{][]GX*rt!:\k*y&ߐ L&4Re{;)WVۤ<"n썉 dWCKVX5J'>Q)RL:mEW_TB<>} 6'JZ–?M4f-F?p A†?g~r(.X#YcY~)5׼XJqǥڥ2밒n-p>Y8P{u~%[w4gfٓ" &|$zKfNQ|i}i8Z|cp,Nw-s44+LszWe@e( JR 31WxelH>) >49Yp>a7p/h OL)p:v+!V"ƽ.@ޥY893F]M56x[ɆsuֺikZ'+!7Io*ˡZ)FPܨIʹg;hhuQu~cjNi#^BB ))ñC vWK'x’F쌯xİ)8M 1ׯȍoU_aw<[6#%m;y4JMyU2˦P:#ۭRwioFN6.{T7#N(6-5ﻘF7Cb돊]|Ix{aD)82졵v?sOL%G->٬<+籸s5I~>{:11 ؑ qL"x4e XqhWj x(2( .BblKɲ.f29Tuu:|b/xQz6AnJxJre/a8T;,#þlOeo9n^p¾C8T_ CgkQm?A;򨐛Ri%2XJhwZbf&,D.lpL5tl;Iጫ1QϯcO"_\ouR0gTU6Dlg GiOH 2@#]lvEMCJuogK^̼ ex߇PYmnZ/? DzvؾFByz#/x dp9pF"S>Hbڏs|[Ǐl?ы[p(!(<_lanD|˫L{H[ip iq~n7,4Dâk386kɩ-Dy";j(}{f+8pgy {^VCSo;4)wYW4cলi x:f%ӫHlf`:rOVwNy 5 x\ QKگ-k_I*y29o"p,:eNqhAN2!=7H0?=4%Bi ڢŠK BčHO;yR(x6+B7!~=*S|&T2H׬ȝ]Px>N>٩5`JnNtQlTU(K)06 Pc_aq0ĺ pzl%2#Rrӧsdbƣi`O̘Ix1~יTAꋥS"ޕ2x+^s2>!RHdJm(M8WkDO+e:$D6`?7Щ9"x;ВG"=4+mJtvlZ HB؛"jipMG6KW!POKmwTqw˧KEc:ީ9q\}lE!F.r(~bqrꧯDáB͈s>pwr#NKBPsXr1O MhQƈ)XMPy66Uw=j*8S4ز"9J R\  $02S>u€D{*!qxSH7aze F9͕:e}jkk~Q\faK̗(_X UQ|i|]ul.&?ӘGv|۞(QpxDb!Yߊx(U]ʿ-i#~Lmu{m_}E#X%Kj~#_l}gjAHngJ]]& 8?|9lYkTgd{ݦ߁LvX9Bi.LQbS\*ND'T~6,}&|,?X :u*>,#>ϏF;֐@LJqm6ETC[%X G1>d>~{0CiecfG>?̐k0ӱɤ{^5dR+5pq|CP3Y-SR/eF6'Z`(^ `v >ي_tNqJ:x/|\YV4 ds'[$%"^{J5n[ Bti(%fqX\gʷ^"D?w kƾ~.ǫ36$Zk6GjEc(v2*eLAN=5;d8~#+ C}<Ӷvsrޡu-}G Z--RV]P2y^Aկ7> y/ )P}=j\y3iJ,3> s`/4ΠJVد} ؆@N8QJ:_ V&; oG-#TKPKR1 6rYu4~TSHG)8>ˎ~ +#+ /_Vx1ۮ[Exw o +I[$PZˆc&x7^<ĂIda"ԛWBFÖ|AeMT#ͨt8G2EU5ƢMywG|>!3j_Qh0t&z2_C,y+OiN]BJQ$!^FPt55ish׭߷Z@oHZ|r^C~FU%q2 Ur4.''ß{) 8v |GNIA: _: S/a! Dn&G/ Yvz${qM7 /(jz \{`*'!HF`",8w\ӕLn.[ݦ^/s42ϠoW<ɷpe0N~/"`k?$Hs,YE[+R$0wG8W".*v;\܎7a,a}7z2ŀi)2jBOI!5ufnZeM%x/ q7Z[ 2fӶ !f/H >f0y4+j\8n1!9_"+u87g-F¯V0$-[#`^Z,' eBw>]䤈Nx $8O=2uDgm_/`h5n"Z@2S,/P@% b?8ao`_)%}appG(yA $%eSBx*u'{a!k `0axRYՖHxYK9HEZN-xѳ.1[IJ8?2-Bš%H mT>cFֆ^T-k2FI 04"/#c?I(&d"IlZOҧa#4#j; uv|֎⮱C}zFn5CҖBXw.s;V\aNzvli"߀ DΪ;uXPP[aׅk2IPsZTiy7΄" 9+]`=":Ķ %}@vOPU )z%V !ty%:bUp:C/9j8t%TX rA`?Bb,|Q_;?N*op?L7Ȏ%Vy5ΩiA&w q>-#FN}\9czӡg8)ʩ}λ('n_~b}虑ҮE/c{L%/cב21=ae"꛰j!h)V.#"i𪐿 *# C?ɬC6"<~H5695&iA1;7wԗO(dɸM4bb%OZZw+CqĝuzÑͶxy7P)E`9d lҷq(A&d/)l2KƙaShҮ?Hjnl2 _ryMJXd71>d0lVBœu2DkT n ~ǢyQh^qG/>7 /R#A}cBir j+Gd\^w*g-ܡ=fi-9i؅ˎ%ro'1!)3#osq/dCxGG19'%D'f`5 ێ1X(Jy=PccTi5ht&cLp -iBMl EZڻ*mIDbMJKRAtk{'ROd|:{,`vˋqFw \]&u$=UEVuVUݠOabFDf~@9hpS]"p+SI6@t̛+KTj҈ϏAٹS40QfW9h B1wėdִ, !]V鼵+Π4@=UCe)'62&Tf0O]ZWxb3hf{kZ$VϐPvI:rWXGwM %5|fbw8UmN":(^V1\ȹ;q q)!huw:t\Ո} ua+w>5ջvhi*~@DfL]UR X0p`ZAO3LB0oFq$ܜ_ yITE=CÌ V-Ҏ6]jb84쵩;YQK7> Dɷ?-V.rF=&Y;I?RG\It}FݿGuI$$Қ+3۾M 70w?6EAWHޔ<yK:gP-iI=uB ?+OsR҈Yΰ'N5POd \h @.ϝBM/ U6  'DT?ˡ)>ap_[CUn\``o%)hKWKfC{B#ˠ`6 vtyLH锕b-<U *>z"/ $C&F슡aiU{[EwdsNN[z?y @։<%5'hn9X H@Ԡ^ݢMGXFS˞s8\p]o`u=e8-%nF8)q<6V,OHϠ]C4qqTf'NgKpz[4L&1 $t7?]$!:쒰`]Rn\_CKKyJ6ིuP=-T7J9z[^ nS${;%4UfLƊ].@HlQ0\w81$Z7J`Yn4S.'InO-K=!RYUB.]NXf nގrHzH.wc/T=w;5-ch }+SzXi tU֛bPcfH ^bi$JJ="8ä,|nO YKT$2uS/2K+x]tGְ6C){p6P&[kڻD?I.g.J,{0X: ӿ^d&1lP<,$6AR9?$;!xr:*W^zqB_ɣq n44M{ &`v1T[0#^溲ؐ4&y-'1KgzvnB2^,BiNۑ;G rNXC7ɩLpCFU粐)U<:0qRI 8-5:8%)΢(([T΀[]t! biPHNy*|S!}~ƹb+ҝQxYO?z<*v|nϦ=Q3͖0Ew\늀<[GaԵ"qM8j"=oVXf9=ADaĊ)]A8?0ߌL 8ӟC7lt-01HVr;ozLJu cv`z,5jS~z| 4c.u?kCWh(p")ݱ{xl*\opZM3!<VέE\v&-E<}_G5mjX^f{n/E,<`VmLDq¢W_qK(>a?4G@ ~ oP)eDE5 !ۧBt\Zi=Z[N׸oy px4Ymm3޸VqfZtonVql❌.i~e&a:C:,gK&Vk\H|/yf0c1\)#]f||LB)h$qͻtN+/H@S9L7Vni,jwݘy\kԶ}?lwVE=j$xA6G[;!ҙ5aKBl./?Bᚕi͚2rDbHi7}@zT+QvaTs} b3Ԧr "OّmdGBJ来Z.*l3`C< >X6KڥCL b ɔ\m<>Qءۜ S sHP5%+#XR'&Ha.UTa`N*SU)r9ia`؟eXb-gO?> HHB@ Czh>+(5 dnҞAA$xP SpZn!DYge4+_.9KX}ʺma=Խdž4oWmGh"X('K/ޘ$Ή.jŒ4d 4f%%~G1{  *5 ND|>+g8OcƕwbaqWI}bks՘U])(Vn3S^"S5J 9%\P*Zwm&p`J@py^cc2a%w?6 I<4,\v endstream endobj 5454 0 obj << /Type /FontDescriptor /FontName /GLYIXK+CMTT10 /Flags 4 /FontBBox [-4 -233 537 696] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/ampersand/asciicircum/asciitilde/asterisk/at/b/backslash/bar/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/dollar/e/eight/equal/exclam/f/five/four/g/grave/greater/h/hyphen/i/j/k/l/less/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quoteright/quotesingle/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) /FontFile 5453 0 R >> endobj 5455 0 obj << /Length1 1943 /Length2 5771 /Length3 0 /Length 6943 /Filter /FlateDecode >> stream xڍ<?nCpd +;{˖s.玻gU*a̤l"lW>|31Ps9!qXQjYX@% ZĿrO@ ,4$ӄIF8,PJ Ћ PWj¼@#PE8w_<E$#P. _TsCph#nphDQB `7F.*@o44Cx/3g07@A MGaCax$,uF@s=C;?BA?~{ r87wu"XD!aX矆0 GyuP[#U>v'@4gaHm:kX"& =\W,/Bȟe8{-hOoW e DQ ,|ПbR 8w T"D 0/DWP3N:!\X$1&BHB~dO0g׈-5 L..R]%$2@Yy`IM` a8?%zo^Bш2巃@_?_i{b0"074i=0‘WZ="t!jX̟F h Gژ@Ac&8{B #ܕHB.pӓx/B/I?t_ 8"H.?G*IGh<*)[ADc`H`pWF@)HxA 2̟@0!e0v#u | B`1H"<I]@Y38FB48$C\?I-u=I13b~T߱NCIR^0$vˍT;X0(R$ǵ$%<IDA/c!pO<4z"H/=@ !\1?*Ը%f$ע7N\4TCig] fD\Χ3_%ոZB\>(VF:͈9`)9g`(uva]5PeX}$T[L+\ DOC.''EOJ-Uwz5վn텝nIqrT"FJ|,f-;"/o8zLIs"-jy.=Tr o\l΂ O=KVc"R骄Vԛ uޭKTsVy-߈JBo0˸.F n|ϯZ sWyV=ŸNz67vM}y3Mt5\捷ϟۈU|+ܹt:ڇ]7!礬PMw_p(}P7A3{{4H\͊oD?Nq>jtntEu9Wd?Id"ge3Pg>A;H1 ~'T)C* &bpdz]0<*<͖pFSgO~7Z:ظoߜ<1i#o{3Tm|MaJ/Ń@؅Xq}aJmmg'rE]ӗ@$t>W+Dwۦsov̪%/pz`(SmnzvFbs`AhseΙI$cpCV{ܒf9z^?{*ܻu%Q)C#GUyX쑛 9J4|`-'?Bb^'!'Tnp!r)mܱu7(Dfu>xw?3u3To<\ ^xD - IVaŵ~,h{1ȈY)pϝ+Ek96VrLf_(yaANVL`+&(W ~<.{ײSN}Sp6"{%JGT9 Gk EAϭ[ mxSROjX}1|Xh0aQAtlg"fçx/Z/*%¬ U|Kl__1bcR _;Ղ.Uy{vR6ޤO'ک|͙1ỏ$^^*v?u'j 3Oh3Xvݢݚ="lRT}u2ouwizٶtzAInԳ#x=pyC >@\ݥD{IM|tp3)W`krBޞ0=wԬnr7-)p+qךO\!V׎)N_Mӟ3e^҅X*qe J|U%z2тF䑇hp)x;&eҨ޿ {Ӗ"f)c`2پX˨%.߂~}f,ޱL2ገ-6`m_sh}蹞BlpIbC6e>QJ?||w{&0v3}59~`պq'VX5]QӻyTmstTًEØfSlOno*(rkrŘ[ZtuTE%NG_iV\':p;}Qkʊz;Nn#0TI>7m{2G3ӶaC$ӮÇtp̏qQ_Ә|pNUZ s_.ބ駡x918K13cUaΙ +c69b{1U6_:ԫhSTrC%@0GwN҅VIqrt lA'3cF{"㈎}07Qky 9 QVؤIG4ko*H ۅΖ y;ׁ k,V<4,뗴];DKw׫ %&OӱSlKX~6tQ;Tf3:)3.߳[CN>thѶKͫuң}E/YV'6+>AtM~(l|PRQ;4fϹ|of=c|GNlY݊5Mfv"󔪺+񇗫gQEs(b\"'P{2́B5EPe.dXQ"22poX{[ 1S/5vnwG)q5mݥUsoVfeKkbok P NѫT?$RNYc+'|P}8Djw6Jil2~*-y>y6s[o|kVCiS<[~wi*7{*|~못p@bmuSߗBk)ټYZr=xu:=V5O4U_֡3j@3pQ5x=qHd<ޡ.} 2g L> en 4b?qKar\:O5w6&O,c'1UYͫV{Ɗ< w Z~y(Le ^,cTrri!|ϔ%nhoQaQA栩k ~t/̙qzzly J*_uƵ_H2%+XN~/(J;A> vS\_h'9?ă)V0~nFlE2e[YY:z]Zs%/J7wmʨ̢DJ/h |1?sTGd</Tb3RL3`ҏܶBK @*EZeU+9uko[֪^qYC*XtD<G5|q'RW|fat^ѡVKGaUkej!.1]OR[rji8'vXP }q)~,6^9 Y3w?ޣnx*0,o"m2& 0 oeu"q.@BA\(}fV@Inym`G7ȮU{u5XJ% z"NcPܤ0u~pw,m# *-jФ8жH]ǽSv'&Zw,2Q כ>ˣ]ǘ#{+*wDLO/zs`rF׬3nv=v~fں+lH[[$YD̨Lö} }dR`4ޓJxUuUɅPu<9Y^šFEۂX;}˵"Z4~Ma^3RMr]@VIKL/8?Lw:u Vq}xpj "ZEFYO̧,+9`]V85R=Uv6/bv!tDz%vqMv~: tzGd:. ͟*fxh>{ūXs{N(C3~!nM!Zs{[~ކ)svXڨ S8dDPDRY]]LgtzIΠ@tM0wppTrcgeA t{i3V4.=@WL&jfIBPw ƭѳXnsOD>`XRt[u_ ynYz~D x0drJ "]L" dU4!FXR!X$u4unt@E8>9r` n6-Xߴw#'SGaFsa@ 7zM>AG ͪ3 YO pz'X47aO6d&Y'^)-%S=2Z=fP「A')&)ds"]Eg2fM:9b ]ֳ"^, >3:{mw#>]6Xo3ȗ5~䢌QYsCc]/{c4wLo9Vgg˪3zۢi6:O+y4:}YZ|U0g7G!_á՜[L؜\v\9UwȠb<1Π  Ş!I<+Y撧Z r-L'e׳/zo(6Wx㥧K7o{E;?:Ou:".֨0u }9 -6z&XV֌z.} fH%UN'-Ԥqhe{*/>Zp<_@lll ~M X127:J++|ᰃ◽fB߮M8_|@h ڙv6 E&ŰtO<aHQ~:caɇTon3XbErm$ /w+uOpˣTV/;ĵdji.^exJKy2c_U UJHsgsH'N Fbarmi:u nVQ- 0hkԜ8mn1c-챓8ivRNjVX;܄"w !;J(蠗=vK/CU&T^*:|t3뇆է"_8R.ֳh\LN;`bM7og{ $롘ӧv)ZWrOe$Vx/}Tf|1~ MIZ]\لyʭF cS3v35릹5kA-``kbFVVP\Hu)z uﮫ>*6Vlz*k[Wy)U64IqcZ\ZUafId%^#) pV96_ylYeB^<&(u֋re_||*c: QF|P:--cM}:|X;ޥ }:䰤EBHqn' endstream endobj 5456 0 obj << /Type /FontDescriptor /FontName /NUCKQI+CMTT12 /Flags 4 /FontBBox [-1 -234 524 695] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet (/a/asciicircum/asciitilde/b/backslash/bar/braceleft/braceright/c/colon/d/e/f/g/greater/h/hyphen/i/j/k/l/less/m/n/o/p/plus/r/s/t/u/v/w/x) /FontFile 5455 0 R >> endobj 5457 0 obj << /Length1 1382 /Length2 1182 /Length3 0 /Length 2061 /Filter /FlateDecode >> stream xڍU TgVDQ.FAB2 !F@JNI2̄I -Epk_cU*ʻ"hh$<,{rN2߽@,$(g._Qd 6Lf$J3!HL6?q"Z\AA@?Xʀ q !L_\'Pˌ>#ົ/gPƀ(U SIQφ$'+Y  !BȀ0036 "(9lTpuwI㓌natj|A ֍Ѝada a8d8~ ć)俩ޘ hU*7FU-d-E/W /Z C)TcmD4QJ4ettv!bDo̅|Ic IBe_2&Xπhq|ȥS$t 8l @Kr`V%zLskM pzl*L*_h~lZSg~^ay]uM7Ļ ѶPm4l],6W۬&C]0¶8F|w,Vܳ@g_~\r nYJ0O4hNϾy3+n-O&͙]]4!]+y|uNjPlo7!rʗJaz.|GrjQK!O"B!~wؙu`'0WDFe/OL뫏.(+j#{*n%Jc|wCoVVVs.d9U,aYfYͷ"gƦ1y̩vqJYNenԻuN,5,oҐx{59k65O@ 3O <-5sX%R2cێEuei*f7Ta6}ؓ/;m+[4fz[ﶦ:_"H=ft Uxtv׮M苛eLý$I9s+[G^H7D։A'uwSKA3Jݐwo#~z5gQ()7扷˳{=TaWՋO{SWBzjzkOgӨ֨mT28zHnt_XZ4),^tѣBsNd^89 [wbŽw~My,2nÞmX*GBL뭙Mܭ-+.(맓CGԩˏWӵ9vpbVOJu'$6?wMmkAǢW] +h9Trk9R0&5Kt6Q|u%RqCXGU`Rz?lVx!S%knj-v) NJ}^\rsܪo/ޕ^S9owg]Pߖ;L}:֡[i;IrQ΋ O;X%|a֜ 'ڸuhE:gK-6{loyc"v2ژx;*>X,ȝt{݂z?}pQWNRiiۼUA k:\>_TZ;I&3?Gn bRf^m?dt67L endstream endobj 5458 0 obj << /Type /FontDescriptor /FontName /NSFJIT+CMTT8 /Flags 4 /FontBBox [-5 -232 545 699] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet (/A) /FontFile 5457 0 R >> endobj 5459 0 obj << /Length1 2887 /Length2 18568 /Length3 0 /Length 20196 /Filter /FlateDecode >> stream xڌT.LwHIwttw7H HJwwH#u?g9?ƽ1=ל](( lm²**\&&V&&rrs'+?4ֆa1p̬fnfNn&& m".Y \ ?\\tF6Y'35(@_.x͜]]] lL?P\͝J@G `5*fʶ&N@278,mPp @h tz`f`?ֿel`ddkmg`nnc 01dܜ6ƿ mA.V 27 * @S#կuYXh+?s?Wv6@IT@o`gbbz nFfܫE*zA< \'g矂Fcs#'!w 4 =fӯoΗQ4+uxsYXYl,vo)/VԘ~1p]u埡gaA4@fbg2<M//߄ĜS% ͭQ h)dmAa/,N1bn@cs'#?nenTu4u虙G6#Km:D@2wDQ#[_[0pp0pG`  ;;@`c2: :Pv/o`8¿{o`q2~#fo`XQ7"r@F\~#P.\~#Pt]7EW@U#Ptok@"Vh[~݂8;9[3p#p22˃DFr'(o040t2p4?/C#+ߴ%X;(E#[+Ф[/w~NblkegΠwo@CΠ_/@+`eG@2ab_b[?ÂTLCP-Xpb@oF V3w;3 *&? (8@u7G ߡAl@wﶀB8[MH b4ȧV̠B~A1@ 6VP e=P3}lVY9Qh_׭o_wE:u%v㜘AT#3(ߕmNf?'W? @>(_/G#[? rEuNw O@3x>*=݀@79[# wUc|=8:?SW9v-oR] ,?{6~jSlyzҋQnAX;%K"lo .EeE!εGܭdi$dn[qCdj ya,.)=! ƙ4F+T -g|OuY2<2HzBZ3OSYOKԭ;"{Kh6R}?'s^UBicqUHgpOM%=&ݖˤa\]]W;⌃9ŗa1%UX !0xn]OA[9ߣӕ(UZaZ' &< =LGܯW`q}271e ="Lz>pIN:T!@m: 3,]A(\t'bVӬw}C|菜ENմ cy^x*Ƒ+(/G^u1.%ɾHkd9M#k/ȤY?A)ä.F:,a1eXTmueNJ~#E[n*z#̠sR}?PhCM*T0RUեABL(1˕uL"A=b] }Bk&l$(IOx` l0^6#EnχbOVuߓ/wGWXЅ% %"+@, S =y'm ]h!pZv &n:oEB A˲'px":)ba8, XOI*TؙOvJ5FwNAsƻZ_/O3E JLCToX6^lP "ّ/2:K!Ȱ .T08Q;L}l*:padh ּ{yI'k鼥UfFQ ce:bQ}Ë&q_bT5$zp3~71Ndyy{'Nd3aXXwRW>WZV{Br[zfXñUذHC GynW\6YBR.lqz!uyḫ!G@^ח͉|7h$ WC@cO61⭔5oPzu5Sj]Ձ66$Sr "+7{B k7B>ss|){;p|xk BiԮO%زsm+xOv3ONTQq\[S9YU㾋iYХL$g@#On ~O8U^]E8 AҚy.7a~=v,u}{В$3v0l1+Ь;%qO5E&?7 ڏ4kh.vcDEkWo+qn(䁜N]N;Lj )xg㽧pVuGl=0 :VcJ(L]ݪp$E 26Q2YU6lN^ i84:X`zyTW$ rb&:i~z]Fw^N8(Oy!0 dzN "#`t2qR!N eenG7H^S+W v  MU[w1ϱ9=gX%2&"J#_Q>ҭ]>4*m'r|(gebNq8VUZjarm />v#g !\K\'?Y"g5='~pn0+_ ,ܑ#`]wЩd° ˯?1TE /c^T}8p퍿m(!kG.~žk M`yt메f<8Ӝ Յn&\ݞV Edr z?\o IQU2/^E(S^WBӯ{&Ĺ8?wlp)JN2l)w&b&Sc~@!灏N `'$m+ܒ(7K{c`%rXKTф|Q=8$nh1e\mw Nlq׻(8܌u*4x3br<9L0s4 Hh)afR8!WBEMM(\$$K kWdp7h L+S&bIK~ #esYnQݢM=;r!p';C1&G7Lkosw¨+CI^NK`ƌwIfrr7')E~ʐO,5t߶ZS'BObjo[./σ Cw4 X1DO$"hZgmޚn$i) 5.DfAKE1(re$7xA WDnjtZi2i4GhH ÓݘOeNG[m*ҏc9d m0yYWeR&T';2xDͺ@v+Sj3`"1gBw.g'o&v븺r`1{lWHq)J2\VBD S}58 4iKƤQ:F_j4ox\b>J%n)pwҗ uVr r;H{tG)0L_';0Z`xS2TӍA]i)ݒVJw~}ؓrª!u O1siguv@U1_qG!U[g'O:4C{\W asF ܗG/%/ɣk% \n]kw"ʞb^X?`Nd*+4)#ۚ"ciNc,jhT9ly>O]0iISV$);Ut-r X  VƹPiQf~aS|]?ФߞYR[N =ͣGbVN^03B \!G]f<< u#^%jbP:`STgXjO[ϞFq ̩L<w+$t]p 3}ȯ7X̸ *hJ/cJaw2 \''VrXV4 oxtV򊤸&/BVntxl'~{%)R=!UH:# f؛ ]e3E9jxB}NbZۋKyR'Hn>oAw2wӎ_[2 ˬ۩U g/K"W=3ɰ0i}m&w;%R<3_EzED(X?'ld?nF왦m8$UQ&U~MWN٬TW'Q޶ӊ%}ǻ Mh8+@'GI$ )HmY sqAQF$Itk!!^=wGMWT7t}˺-_&`(y6_ Kʳkt 10X0Y p$-57 m";ffՇebUcBC¾d4zeOv}O!0=;p⛯V@*]tCP;/#ȴ(Ҿ˟ƈtZo1Ft0\fM4ߦZ!(G2z9~k%Ty&}88@}o«/kp{H*3 &D#4Z?CZiőߐ%.D!K֛# 7):)'O:EۄV)"ZSF-Ψ=fʏ>(,BtϥP-5zxdd̂_;ug 89KV /o0qLDUwf=`[Wq>nrwQn>jĊB蒌MzQ_ Y% R.gg`%re0yn*n6G&B# <5u 3ɴ%{>:xOܢm[aF=,UE#q,MIǁ7f=;ZviJ(6~X$^FRbE]]m7܏|'9 (#L #U)q~dC~=ٳPHgˢ)' Qh0b祼=-IF$u@ןz@S_v6D7,; T+PJU{wts,OŖk|Y&wܒ{M '3Nfy-A2rVz_$2lC$)=]Ƣ&4FI:ͽλ1k~8 tG2(b/MoU{<-^W绦v}KC#}cϙ;M.ԊF~qk =%{x`TM7Frn`=.s)^te$1vdmb g&H Og+þż/pňxy$6;lug?ʻF#478xG-ׇ>K^: L,"_ ΄SjmtomS"V*PIǏ$}rVV,+oT@t(mL V34o r*OS)$1++h;쿝p2FfX·hZb,RG=A`z.ɔ}[F}xB8 /ul'$ DfJwSITƬNC; &VգujKkh9aWl_~JF sY>C S d^Yy^&fL 31ME_ ŏ_,Wڊ ` Q35ZJ-^D*c%;mSJy%` o>7J)'qMN'T ҹOM4ٰ(,ʊK: ǁ(eߣɮbX]'`HØg)rF~.: lpOLgr"0Vn6p/qtjQm!rvgt/ĶeNڮTˉ#Y}xwhڍ&O2p[[߭4 rw tфK-wEEPZ&Z*(S"k:炳bd!6#` j/ь9Mp>*~$|:c*Io.Xާ`O]V,Rj袱g17] e<g 795R∄ Ϟ5Usi.<8.L+Ģ-YLcoL1n߻UYUS5+P j-%ؾ}[//6_(%DɏyukC^,`7w#@9G Po̗fhXpwBgE#(rbC!u?tHx1 5q$-پoR\ڈgT?SJ*x0h s: ՂKIyg>|+1nc@s\O9[m1Xl-x~TݙW2"Y1~QMj^t 6lli{m8)UÆqOM1ym:8{+ =ˇjew)hh(ȇ;;do[L1hXpU>)</S܌{Wp)լeS__C;ݜJq$=E}S7A[ӥ,~1;@k kʃnka2.t Op_ݦkmV?\vGbUiα}/*;wG>M!!w=؂/B R^Jw8Ʋ/^FC4j@L:'<-@ g`i@8]A9}ŷm{M$,̓Ye1p r~;(Sr9J۲^4EjZׅ݀ޛ"7KC]v+\?Tf;-} Ǜ٦~8#3g;|B:01>LUB%t7nJ G6Le] >E[ϕO?YOϴ7UT(,}9Nj5~@ZG^[u(S5B~lxgVk(-Қ~Zs;"]eB '.[.wr%{B!OvLh(1Ty`r"x|vOJ?(ܦY _bB<[m[Sa.H=R'b# 6J@Sj%[$dkDRݱB{kxղ#ÑzqRLóg79nyF)k3"_k mzT%:?,PƙNQ}-מ|2,_pM:0Uvoӫ(ʃ̣*Qݪ Է3^g!&2ߣD mLx]t 'E1yZ/qIm]?e8(U 瑪byeY`fD@ Y/N&$'SNj^XF*̸$D= ̿Az7u({%G{[;Sf6Up5&^W?H}iJ6N9ui,1fU8-DlMzk.;֒%F6"qLag-^W)S+1q=E(U-':&06"ȏ"*g2:~enL(Ƨ,h_ݾ%\lCv1oG @9 aKbTeoՕms+f$m.yX*Kn x;qȢ=8&ds&n Iߪ{>>;ffG"ܜK4 L5gu盤HUJƆZAcMօ"_1c`)&ٜ/^ |I+"!>:%uި*B& ˔pYZֲL}*_hG9:B21 *ncoZd;љgȐh:@|~>7iX}ˡHD=w̮4l1V/*6ц;]\P4/O'W@@Oc<䫓@E10 G-W%fl_R6+7+ 2s{Uۘ qቑٛ\q`[ ;.FCf #}'Qnk63U]Mwܰp(IE8y@/O3;:RVkaZ7n3^ f}jqBIy2mW}P~y 7dA.[FIXϺ^`r(xQ IN Lmْ.'/X7*Ԧ7eՊ #tCOr@ Sbkꧦ8},h4a_.*)7+v  pQruW,22G|˵Er7w:ԆуTdAl\3D=4tŧ.B(#-$A9)!ul T3߁mTږ2{0.|]ˑԁpb'*jltBs Vo%ފ``Ru?yE@D@zH= YB8hKf 5  EӨ)<{8$t؍-GfSQg#.BG0*MbqvR-Q Mh_fqomcAK>l 4-.4o,Fpb)`m|8ģ(YX@917g)93CY.s_e}! ͬGԤp}%ɣ1CBc=:yNi;Z*u,K'g\^! ,\aUQȉ7D.6Slr??^)O0U>Wǜ՜t ,^(-=4W2rʑ9 GNa=>.jPDbzm#y`2A7i#7y_~d6Z17[A_̀u+/J`,O/l<@֫S%׮D,MKٰ&9.lՔiw' ґȢ{(s!;LǃYFBy16G4=L溔0wӀ@ s8C򖢡\U"2*!(D #N_f~Vi:hZ\@FZ4}@\v2 p,Ұ;~jGdE:;^:$Otj=d ΚEJ%R?l\Pg~95 K:N,׋|>7bօ"M(}ӤA/iEW] LU9v,Rx:!I,u_,әm0dd\bDzJoof;{JVk,HVYNJH4|2> bz`49/3UVC춫jYD9# : L\WLpn3O0`s7BO~݀7 <l=Syt?5L'[VM 4)< 5Kꗻ\SC¶j(IJ;s 4;i;?a&Q dbJ\H dɋ ZN[Iy{8F3-ܖqi갆43#$KH'b D2F|XlXƛ M|X\^,ҷ,f2b(&pYh壮@ǁ ݎEL&?T,hV Бyz]ZG^!hOz֖8,oAd' iUNn? 챆QcfSvxS&5PkgKS|]v8zxRs#I-S!īȿ@LyO*L&/EO *ΐg7Rc=[EX)ĚY 7dr^k_am^CQ[꫙\٭{GJѫZޢfcF95~=hrҵ?RΩ~!Fy{H?8sҐ/ryU5&x4dwgb%)3Xpkz/a=IZe#!uz.&k d2C65}hoBqFE-vS?1Ĩ{~DwS@N[ `.PHztS2gH҅x/ajeT"%<軆d?cK P9$n:,Xw}*dڽB>+񭾯QzL ˨aP84{Hھ?"/Y$S7myYݧ4|Ґ|qܞ!EМZ_ Mn>~\~A82rpܦ6^ V{7QD]s"HRRjV|Y%Etԩihô:qn ATѴ[ҚgT+(pwA%>㲒͂ˢy@ <$-> `{w'dy雹eݬv%'O~O)|tEـ=WLJ u.Єܲq;{\G;!x7EY(נ4@AH/@<ʀO߶JԓZ` ,x{]Z@Ҍ804-\n|P)xs6 Aϔ~i>y9q*ﵔcv7Dpp5M]\jL$f!iq##T/EC8M\kj Pe-EGfjj ѹ l;1UmՉmxOv$M'Mh5{K&X VDNl;J-/,`diyA!fIf?t/c\v*H 6g|gOg.]އ溪i+5 _֟x!'2xRWĊ&~\znT&7 ˸F{$AHx%5ntpZLcص3eh"ɧI8f@~rqSTa>Kkn 䤰\r{k]}|z,S*/FG8#z3IVdI$ 0=@ZBhNpRY0KkoFOBJiBGKxe|[F0.,\v> endobj 1758 0 obj << /Type /Font /Subtype /Type1 /BaseFont /JPSWBE+CMB10 /FontDescriptor 5424 0 R /FirstChar 11 /LastChar 121 /Widths 5414 0 R /ToUnicode 1 0 R >> endobj 7 0 obj << /Type /Font /Subtype /Type1 /BaseFont /TFGSII+CMBX12 /FontDescriptor 5426 0 R /FirstChar 11 /LastChar 122 /Widths 5422 0 R /ToUnicode 1 0 R >> endobj 60 0 obj << /Type /Font /Subtype /Type1 /BaseFont /CUJHND+CMMI10 /FontDescriptor 5428 0 R /FirstChar 58 /LastChar 58 /Widths 5418 0 R >> endobj 59 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GPANTX+CMMI12 /FontDescriptor 5430 0 R /FirstChar 58 /LastChar 58 /Widths 5419 0 R >> endobj 3263 0 obj << /Type /Font /Subtype /Type1 /BaseFont /PQILTH+CMMI9 /FontDescriptor 5432 0 R /FirstChar 58 /LastChar 58 /Widths 5404 0 R >> endobj 8 0 obj << /Type /Font /Subtype /Type1 /BaseFont /MGDJEB+CMR10 /FontDescriptor 5434 0 R /FirstChar 11 /LastChar 124 /Widths 5421 0 R /ToUnicode 1 0 R >> endobj 1765 0 obj << /Type /Font /Subtype /Type1 /BaseFont /DMWDNU+CMR7 /FontDescriptor 5436 0 R /FirstChar 48 /LastChar 57 /Widths 5412 0 R >> endobj 285 0 obj << /Type /Font /Subtype /Type1 /BaseFont /OUVHFK+CMR8 /FontDescriptor 5438 0 R /FirstChar 65 /LastChar 65 /Widths 5417 0 R /ToUnicode 1 0 R >> endobj 1766 0 obj << /Type /Font /Subtype /Type1 /BaseFont /FPYIGL+CMR9 /FontDescriptor 5440 0 R /FirstChar 11 /LastChar 124 /Widths 5411 0 R /ToUnicode 1 0 R >> endobj 1860 0 obj << /Type /Font /Subtype /Type1 /BaseFont /MTOGJT+CMSL10 /FontDescriptor 5442 0 R /FirstChar 11 /LastChar 121 /Widths 5408 0 R /ToUnicode 1 0 R >> endobj 2256 0 obj << /Type /Font /Subtype /Type1 /BaseFont /PZHWZX+CMSL9 /FontDescriptor 5444 0 R /FirstChar 12 /LastChar 120 /Widths 5406 0 R /ToUnicode 1 0 R >> endobj 1759 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ZPNBPL+CMSLTT10 /FontDescriptor 5446 0 R /FirstChar 33 /LastChar 122 /Widths 5413 0 R /ToUnicode 3 0 R >> endobj 13 0 obj << /Type /Font /Subtype /Type1 /BaseFont /LPUXAX+CMSY10 /FontDescriptor 5448 0 R /FirstChar 0 /LastChar 41 /Widths 5420 0 R >> endobj 1750 0 obj << /Type /Font /Subtype /Type1 /BaseFont /FSPBUY+CMTI10 /FontDescriptor 5450 0 R /FirstChar 11 /LastChar 127 /Widths 5415 0 R /ToUnicode 2 0 R >> endobj 1820 0 obj << /Type /Font /Subtype /Type1 /BaseFont /YKBIRF+CMTI9 /FontDescriptor 5452 0 R /FirstChar 12 /LastChar 121 /Widths 5409 0 R /ToUnicode 2 0 R >> endobj 359 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GLYIXK+CMTT10 /FontDescriptor 5454 0 R /FirstChar 13 /LastChar 126 /Widths 5416 0 R /ToUnicode 3 0 R >> endobj 1932 0 obj << /Type /Font /Subtype /Type1 /BaseFont /NUCKQI+CMTT12 /FontDescriptor 5456 0 R /FirstChar 43 /LastChar 126 /Widths 5407 0 R /ToUnicode 3 0 R >> endobj 2609 0 obj << /Type /Font /Subtype /Type1 /BaseFont /NSFJIT+CMTT8 /FontDescriptor 5458 0 R /FirstChar 65 /LastChar 65 /Widths 5405 0 R /ToUnicode 3 0 R >> endobj 1767 0 obj << /Type /Font /Subtype /Type1 /BaseFont /UWEZQK+CMTT9 /FontDescriptor 5460 0 R /FirstChar 13 /LastChar 126 /Widths 5410 0 R /ToUnicode 3 0 R >> endobj 9 0 obj << /Type /Pages /Count 6 /Parent 5461 0 R /Kids [5 0 R 11 0 R 56 0 R 129 0 R 202 0 R 282 0 R] >> endobj 360 0 obj << /Type /Pages /Count 6 /Parent 5461 0 R /Kids [356 0 R 426 0 R 491 0 R 523 0 R 1748 0 R 1756 0 R] >> endobj 1768 0 obj << /Type /Pages /Count 6 /Parent 5461 0 R /Kids [1763 0 R 1770 0 R 1774 0 R 1778 0 R 1784 0 R 1789 0 R] >> endobj 1797 0 obj << /Type /Pages /Count 6 /Parent 5461 0 R /Kids [1794 0 R 1799 0 R 1805 0 R 1812 0 R 1817 0 R 1825 0 R] >> endobj 1837 0 obj << /Type /Pages /Count 6 /Parent 5461 0 R /Kids [1835 0 R 1842 0 R 1848 0 R 1853 0 R 1858 0 R 1862 0 R] >> endobj 1872 0 obj << /Type /Pages /Count 6 /Parent 5461 0 R /Kids [1868 0 R 1875 0 R 1879 0 R 1883 0 R 1887 0 R 1895 0 R] >> endobj 1906 0 obj << /Type /Pages /Count 6 /Parent 5462 0 R /Kids [1901 0 R 1908 0 R 1914 0 R 1918 0 R 1924 0 R 1928 0 R] >> endobj 1937 0 obj << /Type /Pages /Count 6 /Parent 5462 0 R /Kids [1935 0 R 1939 0 R 1946 0 R 1949 0 R 1955 0 R 1958 0 R] >> endobj 1969 0 obj << /Type /Pages /Count 6 /Parent 5462 0 R /Kids [1965 0 R 1974 0 R 1978 0 R 1983 0 R 1988 0 R 1993 0 R] >> endobj 2007 0 obj << /Type /Pages /Count 6 /Parent 5462 0 R /Kids [2002 0 R 2016 0 R 2023 0 R 2028 0 R 2033 0 R 2036 0 R] >> endobj 2049 0 obj << /Type /Pages /Count 6 /Parent 5462 0 R /Kids [2046 0 R 2051 0 R 2055 0 R 2064 0 R 2070 0 R 2075 0 R] >> endobj 2082 0 obj << /Type /Pages /Count 6 /Parent 5462 0 R /Kids [2079 0 R 2087 0 R 2091 0 R 2095 0 R 2102 0 R 2109 0 R] >> endobj 2117 0 obj << /Type /Pages /Count 6 /Parent 5463 0 R /Kids [2114 0 R 2122 0 R 2131 0 R 2137 0 R 2141 0 R 2145 0 R] >> endobj 2152 0 obj << /Type /Pages /Count 6 /Parent 5463 0 R /Kids [2149 0 R 2157 0 R 2162 0 R 2169 0 R 2172 0 R 2176 0 R] >> endobj 2182 0 obj << /Type /Pages /Count 6 /Parent 5463 0 R /Kids [2180 0 R 2184 0 R 2187 0 R 2191 0 R 2197 0 R 2204 0 R] >> endobj 2211 0 obj << /Type /Pages /Count 6 /Parent 5463 0 R /Kids [2208 0 R 2216 0 R 2220 0 R 2223 0 R 2229 0 R 2234 0 R] >> endobj 2242 0 obj << /Type /Pages /Count 6 /Parent 5463 0 R /Kids [2239 0 R 2244 0 R 2247 0 R 2250 0 R 2254 0 R 2260 0 R] >> endobj 2268 0 obj << /Type /Pages /Count 6 /Parent 5463 0 R /Kids [2265 0 R 2272 0 R 2275 0 R 2283 0 R 2288 0 R 2292 0 R] >> endobj 2307 0 obj << /Type /Pages /Count 6 /Parent 5464 0 R /Kids [2301 0 R 2312 0 R 2316 0 R 2324 0 R 2335 0 R 2346 0 R] >> endobj 2354 0 obj << /Type /Pages /Count 6 /Parent 5464 0 R /Kids [2352 0 R 2358 0 R 2364 0 R 2371 0 R 2375 0 R 2379 0 R] >> endobj 2385 0 obj << /Type /Pages /Count 6 /Parent 5464 0 R /Kids [2383 0 R 2387 0 R 2392 0 R 2400 0 R 2405 0 R 2409 0 R] >> endobj 2416 0 obj << /Type /Pages /Count 6 /Parent 5464 0 R /Kids [2413 0 R 2418 0 R 2422 0 R 2427 0 R 2431 0 R 2435 0 R] >> endobj 2442 0 obj << /Type /Pages /Count 6 /Parent 5464 0 R /Kids [2440 0 R 2444 0 R 2451 0 R 2455 0 R 2460 0 R 2469 0 R] >> endobj 2485 0 obj << /Type /Pages /Count 6 /Parent 5464 0 R /Kids [2480 0 R 2492 0 R 2500 0 R 2504 0 R 2510 0 R 2515 0 R] >> endobj 2523 0 obj << /Type /Pages /Count 6 /Parent 5465 0 R /Kids [2520 0 R 2526 0 R 2533 0 R 2538 0 R 2542 0 R 2547 0 R] >> endobj 2553 0 obj << /Type /Pages /Count 6 /Parent 5465 0 R /Kids [2551 0 R 2557 0 R 2562 0 R 2566 0 R 2569 0 R 2575 0 R] >> endobj 2586 0 obj << /Type /Pages /Count 6 /Parent 5465 0 R /Kids [2584 0 R 2591 0 R 2596 0 R 2601 0 R 2607 0 R 2612 0 R] >> endobj 2623 0 obj << /Type /Pages /Count 6 /Parent 5465 0 R /Kids [2620 0 R 2626 0 R 2634 0 R 2645 0 R 2655 0 R 2662 0 R] >> endobj 2669 0 obj << /Type /Pages /Count 6 /Parent 5465 0 R /Kids [2667 0 R 2673 0 R 2679 0 R 2682 0 R 2692 0 R 2701 0 R] >> endobj 2709 0 obj << /Type /Pages /Count 6 /Parent 5465 0 R /Kids [2706 0 R 2711 0 R 2715 0 R 2718 0 R 2721 0 R 2725 0 R] >> endobj 2732 0 obj << /Type /Pages /Count 6 /Parent 5466 0 R /Kids [2730 0 R 2735 0 R 2738 0 R 2745 0 R 2749 0 R 2752 0 R] >> endobj 2757 0 obj << /Type /Pages /Count 6 /Parent 5466 0 R /Kids [2755 0 R 2764 0 R 2770 0 R 2775 0 R 2785 0 R 2792 0 R] >> endobj 2801 0 obj << /Type /Pages /Count 6 /Parent 5466 0 R /Kids [2799 0 R 2806 0 R 2813 0 R 2823 0 R 2828 0 R 2833 0 R] >> endobj 2840 0 obj << /Type /Pages /Count 6 /Parent 5466 0 R /Kids [2837 0 R 2842 0 R 2845 0 R 2851 0 R 2855 0 R 2858 0 R] >> endobj 2868 0 obj << /Type /Pages /Count 6 /Parent 5466 0 R /Kids [2864 0 R 2871 0 R 2878 0 R 2881 0 R 2886 0 R 2893 0 R] >> endobj 2903 0 obj << /Type /Pages /Count 6 /Parent 5466 0 R /Kids [2900 0 R 2905 0 R 2910 0 R 2913 0 R 2916 0 R 2922 0 R] >> endobj 2928 0 obj << /Type /Pages /Count 6 /Parent 5467 0 R /Kids [2926 0 R 2933 0 R 2939 0 R 2944 0 R 2948 0 R 2956 0 R] >> endobj 2964 0 obj << /Type /Pages /Count 6 /Parent 5467 0 R /Kids [2962 0 R 2966 0 R 2974 0 R 2980 0 R 2986 0 R 2990 0 R] >> endobj 2999 0 obj << /Type /Pages /Count 6 /Parent 5467 0 R /Kids [2997 0 R 3001 0 R 3008 0 R 3012 0 R 3015 0 R 3019 0 R] >> endobj 3027 0 obj << /Type /Pages /Count 6 /Parent 5467 0 R /Kids [3025 0 R 3030 0 R 3033 0 R 3036 0 R 3041 0 R 3045 0 R] >> endobj 3051 0 obj << /Type /Pages /Count 6 /Parent 5467 0 R /Kids [3049 0 R 3053 0 R 3057 0 R 3067 0 R 3070 0 R 3074 0 R] >> endobj 3079 0 obj << /Type /Pages /Count 6 /Parent 5467 0 R /Kids [3077 0 R 3081 0 R 3085 0 R 3089 0 R 3093 0 R 3098 0 R] >> endobj 3104 0 obj << /Type /Pages /Count 6 /Parent 5468 0 R /Kids [3101 0 R 3106 0 R 3110 0 R 3114 0 R 3119 0 R 3123 0 R] >> endobj 3130 0 obj << /Type /Pages /Count 6 /Parent 5468 0 R /Kids [3127 0 R 3261 0 R 3372 0 R 3484 0 R 3592 0 R 3713 0 R] >> endobj 3838 0 obj << /Type /Pages /Count 6 /Parent 5468 0 R /Kids [3835 0 R 3954 0 R 3977 0 R 4025 0 R 4160 0 R 4297 0 R] >> endobj 4402 0 obj << /Type /Pages /Count 6 /Parent 5468 0 R /Kids [4399 0 R 4540 0 R 4545 0 R 4664 0 R 4780 0 R 4910 0 R] >> endobj 4934 0 obj << /Type /Pages /Count 5 /Parent 5468 0 R /Kids [4931 0 R 5072 0 R 5221 0 R 5373 0 R 5401 0 R] >> endobj 5461 0 obj << /Type /Pages /Count 36 /Parent 5469 0 R /Kids [9 0 R 360 0 R 1768 0 R 1797 0 R 1837 0 R 1872 0 R] >> endobj 5462 0 obj << /Type /Pages /Count 36 /Parent 5469 0 R /Kids [1906 0 R 1937 0 R 1969 0 R 2007 0 R 2049 0 R 2082 0 R] >> endobj 5463 0 obj << /Type /Pages /Count 36 /Parent 5469 0 R /Kids [2117 0 R 2152 0 R 2182 0 R 2211 0 R 2242 0 R 2268 0 R] >> endobj 5464 0 obj << /Type /Pages /Count 36 /Parent 5469 0 R /Kids [2307 0 R 2354 0 R 2385 0 R 2416 0 R 2442 0 R 2485 0 R] >> endobj 5465 0 obj << /Type /Pages /Count 36 /Parent 5469 0 R /Kids [2523 0 R 2553 0 R 2586 0 R 2623 0 R 2669 0 R 2709 0 R] >> endobj 5466 0 obj << /Type /Pages /Count 36 /Parent 5469 0 R /Kids [2732 0 R 2757 0 R 2801 0 R 2840 0 R 2868 0 R 2903 0 R] >> endobj 5467 0 obj << /Type /Pages /Count 36 /Parent 5470 0 R /Kids [2928 0 R 2964 0 R 2999 0 R 3027 0 R 3051 0 R 3079 0 R] >> endobj 5468 0 obj << /Type /Pages /Count 29 /Parent 5470 0 R /Kids [3104 0 R 3130 0 R 3838 0 R 4402 0 R 4934 0 R] >> endobj 5469 0 obj << /Type /Pages /Count 216 /Parent 5471 0 R /Kids [5461 0 R 5462 0 R 5463 0 R 5464 0 R 5465 0 R 5466 0 R] >> endobj 5470 0 obj << /Type /Pages /Count 65 /Parent 5471 0 R /Kids [5467 0 R 5468 0 R] >> endobj 5471 0 obj << /Type /Pages /Count 281 /Kids [5469 0 R 5470 0 R] >> endobj 5472 0 obj << /Type /Outlines /First 532 0 R /Last 1743 0 R /Count 23 >> endobj 1743 0 obj << /Title 1744 0 R /A 1741 0 R /Parent 5472 0 R /Prev 1739 0 R >> endobj 1739 0 obj << /Title 1740 0 R /A 1737 0 R /Parent 5472 0 R /Prev 1735 0 R /Next 1743 0 R >> endobj 1735 0 obj << /Title 1736 0 R /A 1733 0 R /Parent 5472 0 R /Prev 1731 0 R /Next 1739 0 R >> endobj 1731 0 obj << /Title 1732 0 R /A 1729 0 R /Parent 5472 0 R /Prev 1727 0 R /Next 1735 0 R >> endobj 1727 0 obj << /Title 1728 0 R /A 1725 0 R /Parent 5472 0 R /Prev 1714 0 R /Next 1731 0 R >> endobj 1723 0 obj << /Title 1724 0 R /A 1722 0 R /Parent 1714 0 R /Prev 1720 0 R >> endobj 1720 0 obj << /Title 1721 0 R /A 1719 0 R /Parent 1714 0 R /Prev 1717 0 R /Next 1723 0 R >> endobj 1717 0 obj << /Title 1718 0 R /A 1716 0 R /Parent 1714 0 R /Next 1720 0 R >> endobj 1714 0 obj << /Title 1715 0 R /A 1712 0 R /Parent 5472 0 R /Prev 1698 0 R /Next 1727 0 R /First 1717 0 R /Last 1723 0 R /Count -3 >> endobj 1710 0 obj << /Title 1711 0 R /A 1708 0 R /Parent 1698 0 R /Prev 1706 0 R >> endobj 1706 0 obj << /Title 1707 0 R /A 1704 0 R /Parent 1698 0 R /Prev 1702 0 R /Next 1710 0 R >> endobj 1702 0 obj << /Title 1703 0 R /A 1700 0 R /Parent 1698 0 R /Next 1706 0 R >> endobj 1698 0 obj << /Title 1699 0 R /A 1696 0 R /Parent 5472 0 R /Prev 1630 0 R /Next 1714 0 R /First 1702 0 R /Last 1710 0 R /Count -3 >> endobj 1694 0 obj << /Title 1695 0 R /A 1692 0 R /Parent 1630 0 R /Prev 1690 0 R >> endobj 1690 0 obj << /Title 1691 0 R /A 1688 0 R /Parent 1630 0 R /Prev 1686 0 R /Next 1694 0 R >> endobj 1686 0 obj << /Title 1687 0 R /A 1684 0 R /Parent 1630 0 R /Prev 1682 0 R /Next 1690 0 R >> endobj 1682 0 obj << /Title 1683 0 R /A 1680 0 R /Parent 1630 0 R /Prev 1678 0 R /Next 1686 0 R >> endobj 1678 0 obj << /Title 1679 0 R /A 1676 0 R /Parent 1630 0 R /Prev 1674 0 R /Next 1682 0 R >> endobj 1674 0 obj << /Title 1675 0 R /A 1672 0 R /Parent 1630 0 R /Prev 1654 0 R /Next 1678 0 R >> endobj 1670 0 obj << /Title 1671 0 R /A 1668 0 R /Parent 1654 0 R /Prev 1666 0 R >> endobj 1666 0 obj << /Title 1667 0 R /A 1664 0 R /Parent 1654 0 R /Prev 1662 0 R /Next 1670 0 R >> endobj 1662 0 obj << /Title 1663 0 R /A 1660 0 R /Parent 1654 0 R /Prev 1658 0 R /Next 1666 0 R >> endobj 1658 0 obj << /Title 1659 0 R /A 1656 0 R /Parent 1654 0 R /Next 1662 0 R >> endobj 1654 0 obj << /Title 1655 0 R /A 1652 0 R /Parent 1630 0 R /Prev 1650 0 R /Next 1674 0 R /First 1658 0 R /Last 1670 0 R /Count -4 >> endobj 1650 0 obj << /Title 1651 0 R /A 1648 0 R /Parent 1630 0 R /Prev 1646 0 R /Next 1654 0 R >> endobj 1646 0 obj << /Title 1647 0 R /A 1644 0 R /Parent 1630 0 R /Prev 1642 0 R /Next 1650 0 R >> endobj 1642 0 obj << /Title 1643 0 R /A 1640 0 R /Parent 1630 0 R /Prev 1638 0 R /Next 1646 0 R >> endobj 1638 0 obj << /Title 1639 0 R /A 1636 0 R /Parent 1630 0 R /Prev 1634 0 R /Next 1642 0 R >> endobj 1634 0 obj << /Title 1635 0 R /A 1632 0 R /Parent 1630 0 R /Next 1638 0 R >> endobj 1630 0 obj << /Title 1631 0 R /A 1628 0 R /Parent 5472 0 R /Prev 1574 0 R /Next 1698 0 R /First 1634 0 R /Last 1694 0 R /Count -12 >> endobj 1626 0 obj << /Title 1627 0 R /A 1624 0 R /Parent 1574 0 R /Prev 1614 0 R >> endobj 1622 0 obj << /Title 1623 0 R /A 1620 0 R /Parent 1614 0 R /Prev 1618 0 R >> endobj 1618 0 obj << /Title 1619 0 R /A 1616 0 R /Parent 1614 0 R /Next 1622 0 R >> endobj 1614 0 obj << /Title 1615 0 R /A 1612 0 R /Parent 1574 0 R /Prev 1610 0 R /Next 1626 0 R /First 1618 0 R /Last 1622 0 R /Count -2 >> endobj 1610 0 obj << /Title 1611 0 R /A 1608 0 R /Parent 1574 0 R /Prev 1606 0 R /Next 1614 0 R >> endobj 1606 0 obj << /Title 1607 0 R /A 1604 0 R /Parent 1574 0 R /Prev 1602 0 R /Next 1610 0 R >> endobj 1602 0 obj << /Title 1603 0 R /A 1600 0 R /Parent 1574 0 R /Prev 1598 0 R /Next 1606 0 R >> endobj 1598 0 obj << /Title 1599 0 R /A 1596 0 R /Parent 1574 0 R /Prev 1594 0 R /Next 1602 0 R >> endobj 1594 0 obj << /Title 1595 0 R /A 1592 0 R /Parent 1574 0 R /Prev 1590 0 R /Next 1598 0 R >> endobj 1590 0 obj << /Title 1591 0 R /A 1588 0 R /Parent 1574 0 R /Prev 1586 0 R /Next 1594 0 R >> endobj 1586 0 obj << /Title 1587 0 R /A 1584 0 R /Parent 1574 0 R /Prev 1582 0 R /Next 1590 0 R >> endobj 1582 0 obj << /Title 1583 0 R /A 1580 0 R /Parent 1574 0 R /Prev 1578 0 R /Next 1586 0 R >> endobj 1578 0 obj << /Title 1579 0 R /A 1576 0 R /Parent 1574 0 R /Next 1582 0 R >> endobj 1574 0 obj << /Title 1575 0 R /A 1572 0 R /Parent 5472 0 R /Prev 1388 0 R /Next 1630 0 R /First 1578 0 R /Last 1626 0 R /Count -11 >> endobj 1570 0 obj << /Title 1571 0 R /A 1568 0 R /Parent 1388 0 R /Prev 1566 0 R >> endobj 1566 0 obj << /Title 1567 0 R /A 1564 0 R /Parent 1388 0 R /Prev 1562 0 R /Next 1570 0 R >> endobj 1562 0 obj << /Title 1563 0 R /A 1560 0 R /Parent 1388 0 R /Prev 1540 0 R /Next 1566 0 R >> endobj 1558 0 obj << /Title 1559 0 R /A 1557 0 R /Parent 1552 0 R /Prev 1555 0 R >> endobj 1555 0 obj << /Title 1556 0 R /A 1554 0 R /Parent 1552 0 R /Next 1558 0 R >> endobj 1552 0 obj << /Title 1553 0 R /A 1551 0 R /Parent 1540 0 R /Prev 1543 0 R /First 1555 0 R /Last 1558 0 R /Count -2 >> endobj 1549 0 obj << /Title 1550 0 R /A 1548 0 R /Parent 1543 0 R /Prev 1546 0 R >> endobj 1546 0 obj << /Title 1547 0 R /A 1545 0 R /Parent 1543 0 R /Next 1549 0 R >> endobj 1543 0 obj << /Title 1544 0 R /A 1542 0 R /Parent 1540 0 R /Next 1552 0 R /First 1546 0 R /Last 1549 0 R /Count -2 >> endobj 1540 0 obj << /Title 1541 0 R /A 1538 0 R /Parent 1388 0 R /Prev 1420 0 R /Next 1562 0 R /First 1543 0 R /Last 1552 0 R /Count -2 >> endobj 1536 0 obj << /Title 1537 0 R /A 1534 0 R /Parent 1428 0 R /Prev 1532 0 R >> endobj 1532 0 obj << /Title 1533 0 R /A 1530 0 R /Parent 1428 0 R /Prev 1528 0 R /Next 1536 0 R >> endobj 1528 0 obj << /Title 1529 0 R /A 1526 0 R /Parent 1428 0 R /Prev 1524 0 R /Next 1532 0 R >> endobj 1524 0 obj << /Title 1525 0 R /A 1522 0 R /Parent 1428 0 R /Prev 1520 0 R /Next 1528 0 R >> endobj 1520 0 obj << /Title 1521 0 R /A 1518 0 R /Parent 1428 0 R /Prev 1516 0 R /Next 1524 0 R >> endobj 1516 0 obj << /Title 1517 0 R /A 1514 0 R /Parent 1428 0 R /Prev 1512 0 R /Next 1520 0 R >> endobj 1512 0 obj << /Title 1513 0 R /A 1510 0 R /Parent 1428 0 R /Prev 1508 0 R /Next 1516 0 R >> endobj 1508 0 obj << /Title 1509 0 R /A 1506 0 R /Parent 1428 0 R /Prev 1504 0 R /Next 1512 0 R >> endobj 1504 0 obj << /Title 1505 0 R /A 1502 0 R /Parent 1428 0 R /Prev 1500 0 R /Next 1508 0 R >> endobj 1500 0 obj << /Title 1501 0 R /A 1498 0 R /Parent 1428 0 R /Prev 1496 0 R /Next 1504 0 R >> endobj 1496 0 obj << /Title 1497 0 R /A 1494 0 R /Parent 1428 0 R /Prev 1492 0 R /Next 1500 0 R >> endobj 1492 0 obj << /Title 1493 0 R /A 1490 0 R /Parent 1428 0 R /Prev 1488 0 R /Next 1496 0 R >> endobj 1488 0 obj << /Title 1489 0 R /A 1486 0 R /Parent 1428 0 R /Prev 1484 0 R /Next 1492 0 R >> endobj 1484 0 obj << /Title 1485 0 R /A 1482 0 R /Parent 1428 0 R /Prev 1480 0 R /Next 1488 0 R >> endobj 1480 0 obj << /Title 1481 0 R /A 1478 0 R /Parent 1428 0 R /Prev 1476 0 R /Next 1484 0 R >> endobj 1476 0 obj << /Title 1477 0 R /A 1474 0 R /Parent 1428 0 R /Prev 1472 0 R /Next 1480 0 R >> endobj 1472 0 obj << /Title 1473 0 R /A 1470 0 R /Parent 1428 0 R /Prev 1468 0 R /Next 1476 0 R >> endobj 1468 0 obj << /Title 1469 0 R /A 1466 0 R /Parent 1428 0 R /Prev 1464 0 R /Next 1472 0 R >> endobj 1464 0 obj << /Title 1465 0 R /A 1462 0 R /Parent 1428 0 R /Prev 1460 0 R /Next 1468 0 R >> endobj 1460 0 obj << /Title 1461 0 R /A 1458 0 R /Parent 1428 0 R /Prev 1456 0 R /Next 1464 0 R >> endobj 1456 0 obj << /Title 1457 0 R /A 1454 0 R /Parent 1428 0 R /Prev 1452 0 R /Next 1460 0 R >> endobj 1452 0 obj << /Title 1453 0 R /A 1450 0 R /Parent 1428 0 R /Prev 1448 0 R /Next 1456 0 R >> endobj 1448 0 obj << /Title 1449 0 R /A 1446 0 R /Parent 1428 0 R /Prev 1444 0 R /Next 1452 0 R >> endobj 1444 0 obj << /Title 1445 0 R /A 1442 0 R /Parent 1428 0 R /Prev 1440 0 R /Next 1448 0 R >> endobj 1440 0 obj << /Title 1441 0 R /A 1438 0 R /Parent 1428 0 R /Prev 1436 0 R /Next 1444 0 R >> endobj 1436 0 obj << /Title 1437 0 R /A 1434 0 R /Parent 1428 0 R /Prev 1432 0 R /Next 1440 0 R >> endobj 1432 0 obj << /Title 1433 0 R /A 1430 0 R /Parent 1428 0 R /Next 1436 0 R >> endobj 1428 0 obj << /Title 1429 0 R /A 1426 0 R /Parent 1420 0 R /Prev 1424 0 R /First 1432 0 R /Last 1536 0 R /Count -27 >> endobj 1424 0 obj << /Title 1425 0 R /A 1422 0 R /Parent 1420 0 R /Next 1428 0 R >> endobj 1420 0 obj << /Title 1421 0 R /A 1418 0 R /Parent 1388 0 R /Prev 1416 0 R /Next 1540 0 R /First 1424 0 R /Last 1428 0 R /Count -2 >> endobj 1416 0 obj << /Title 1417 0 R /A 1414 0 R /Parent 1388 0 R /Prev 1412 0 R /Next 1420 0 R >> endobj 1412 0 obj << /Title 1413 0 R /A 1410 0 R /Parent 1388 0 R /Prev 1408 0 R /Next 1416 0 R >> endobj 1408 0 obj << /Title 1409 0 R /A 1406 0 R /Parent 1388 0 R /Prev 1404 0 R /Next 1412 0 R >> endobj 1404 0 obj << /Title 1405 0 R /A 1402 0 R /Parent 1388 0 R /Prev 1400 0 R /Next 1408 0 R >> endobj 1400 0 obj << /Title 1401 0 R /A 1398 0 R /Parent 1388 0 R /Prev 1396 0 R /Next 1404 0 R >> endobj 1396 0 obj << /Title 1397 0 R /A 1394 0 R /Parent 1388 0 R /Prev 1392 0 R /Next 1400 0 R >> endobj 1392 0 obj << /Title 1393 0 R /A 1390 0 R /Parent 1388 0 R /Next 1396 0 R >> endobj 1388 0 obj << /Title 1389 0 R /A 1386 0 R /Parent 5472 0 R /Prev 1328 0 R /Next 1574 0 R /First 1392 0 R /Last 1570 0 R /Count -12 >> endobj 1384 0 obj << /Title 1385 0 R /A 1382 0 R /Parent 1328 0 R /Prev 1372 0 R >> endobj 1380 0 obj << /Title 1381 0 R /A 1378 0 R /Parent 1372 0 R /Prev 1376 0 R >> endobj 1376 0 obj << /Title 1377 0 R /A 1374 0 R /Parent 1372 0 R /Next 1380 0 R >> endobj 1372 0 obj << /Title 1373 0 R /A 1370 0 R /Parent 1328 0 R /Prev 1368 0 R /Next 1384 0 R /First 1376 0 R /Last 1380 0 R /Count -2 >> endobj 1368 0 obj << /Title 1369 0 R /A 1366 0 R /Parent 1328 0 R /Prev 1332 0 R /Next 1372 0 R >> endobj 1364 0 obj << /Title 1365 0 R /A 1362 0 R /Parent 1332 0 R /Prev 1360 0 R >> endobj 1360 0 obj << /Title 1361 0 R /A 1358 0 R /Parent 1332 0 R /Prev 1356 0 R /Next 1364 0 R >> endobj 1356 0 obj << /Title 1357 0 R /A 1354 0 R /Parent 1332 0 R /Prev 1352 0 R /Next 1360 0 R >> endobj 1352 0 obj << /Title 1353 0 R /A 1350 0 R /Parent 1332 0 R /Prev 1348 0 R /Next 1356 0 R >> endobj 1348 0 obj << /Title 1349 0 R /A 1346 0 R /Parent 1332 0 R /Prev 1344 0 R /Next 1352 0 R >> endobj 1344 0 obj << /Title 1345 0 R /A 1342 0 R /Parent 1332 0 R /Prev 1340 0 R /Next 1348 0 R >> endobj 1340 0 obj << /Title 1341 0 R /A 1338 0 R /Parent 1332 0 R /Prev 1336 0 R /Next 1344 0 R >> endobj 1336 0 obj << /Title 1337 0 R /A 1334 0 R /Parent 1332 0 R /Next 1340 0 R >> endobj 1332 0 obj << /Title 1333 0 R /A 1330 0 R /Parent 1328 0 R /Next 1368 0 R /First 1336 0 R /Last 1364 0 R /Count -8 >> endobj 1328 0 obj << /Title 1329 0 R /A 1326 0 R /Parent 5472 0 R /Prev 1128 0 R /Next 1388 0 R /First 1332 0 R /Last 1384 0 R /Count -4 >> endobj 1324 0 obj << /Title 1325 0 R /A 1322 0 R /Parent 1128 0 R /Prev 1320 0 R >> endobj 1320 0 obj << /Title 1321 0 R /A 1318 0 R /Parent 1128 0 R /Prev 1316 0 R /Next 1324 0 R >> endobj 1316 0 obj << /Title 1317 0 R /A 1314 0 R /Parent 1128 0 R /Prev 1312 0 R /Next 1320 0 R >> endobj 1312 0 obj << /Title 1313 0 R /A 1310 0 R /Parent 1128 0 R /Prev 1224 0 R /Next 1316 0 R >> endobj 1308 0 obj << /Title 1309 0 R /A 1306 0 R /Parent 1288 0 R /Prev 1304 0 R >> endobj 1304 0 obj << /Title 1305 0 R /A 1302 0 R /Parent 1288 0 R /Prev 1300 0 R /Next 1308 0 R >> endobj 1300 0 obj << /Title 1301 0 R /A 1298 0 R /Parent 1288 0 R /Prev 1296 0 R /Next 1304 0 R >> endobj 1296 0 obj << /Title 1297 0 R /A 1294 0 R /Parent 1288 0 R /Prev 1292 0 R /Next 1300 0 R >> endobj 1292 0 obj << /Title 1293 0 R /A 1290 0 R /Parent 1288 0 R /Next 1296 0 R >> endobj 1288 0 obj << /Title 1289 0 R /A 1286 0 R /Parent 1224 0 R /Prev 1284 0 R /First 1292 0 R /Last 1308 0 R /Count -5 >> endobj 1284 0 obj << /Title 1285 0 R /A 1282 0 R /Parent 1224 0 R /Prev 1280 0 R /Next 1288 0 R >> endobj 1280 0 obj << /Title 1281 0 R /A 1278 0 R /Parent 1224 0 R /Prev 1268 0 R /Next 1284 0 R >> endobj 1276 0 obj << /Title 1277 0 R /A 1274 0 R /Parent 1268 0 R /Prev 1272 0 R >> endobj 1272 0 obj << /Title 1273 0 R /A 1270 0 R /Parent 1268 0 R /Next 1276 0 R >> endobj 1268 0 obj << /Title 1269 0 R /A 1266 0 R /Parent 1224 0 R /Prev 1264 0 R /Next 1280 0 R /First 1272 0 R /Last 1276 0 R /Count -2 >> endobj 1264 0 obj << /Title 1265 0 R /A 1262 0 R /Parent 1224 0 R /Prev 1260 0 R /Next 1268 0 R >> endobj 1260 0 obj << /Title 1261 0 R /A 1258 0 R /Parent 1224 0 R /Prev 1256 0 R /Next 1264 0 R >> endobj 1256 0 obj << /Title 1257 0 R /A 1254 0 R /Parent 1224 0 R /Prev 1246 0 R /Next 1260 0 R >> endobj 1252 0 obj << /Title 1253 0 R /A 1251 0 R /Parent 1246 0 R /Prev 1249 0 R >> endobj 1249 0 obj << /Title 1250 0 R /A 1248 0 R /Parent 1246 0 R /Next 1252 0 R >> endobj 1246 0 obj << /Title 1247 0 R /A 1244 0 R /Parent 1224 0 R /Prev 1236 0 R /Next 1256 0 R /First 1249 0 R /Last 1252 0 R /Count -2 >> endobj 1242 0 obj << /Title 1243 0 R /A 1241 0 R /Parent 1236 0 R /Prev 1239 0 R >> endobj 1239 0 obj << /Title 1240 0 R /A 1238 0 R /Parent 1236 0 R /Next 1242 0 R >> endobj 1236 0 obj << /Title 1237 0 R /A 1234 0 R /Parent 1224 0 R /Prev 1232 0 R /Next 1246 0 R /First 1239 0 R /Last 1242 0 R /Count -2 >> endobj 1232 0 obj << /Title 1233 0 R /A 1230 0 R /Parent 1224 0 R /Prev 1228 0 R /Next 1236 0 R >> endobj 1228 0 obj << /Title 1229 0 R /A 1226 0 R /Parent 1224 0 R /Next 1232 0 R >> endobj 1224 0 obj << /Title 1225 0 R /A 1222 0 R /Parent 1128 0 R /Prev 1220 0 R /Next 1312 0 R /First 1228 0 R /Last 1288 0 R /Count -11 >> endobj 1220 0 obj << /Title 1221 0 R /A 1218 0 R /Parent 1128 0 R /Prev 1200 0 R /Next 1224 0 R >> endobj 1216 0 obj << /Title 1217 0 R /A 1214 0 R /Parent 1200 0 R /Prev 1212 0 R >> endobj 1212 0 obj << /Title 1213 0 R /A 1210 0 R /Parent 1200 0 R /Prev 1208 0 R /Next 1216 0 R >> endobj 1208 0 obj << /Title 1209 0 R /A 1206 0 R /Parent 1200 0 R /Prev 1204 0 R /Next 1212 0 R >> endobj 1204 0 obj << /Title 1205 0 R /A 1202 0 R /Parent 1200 0 R /Next 1208 0 R >> endobj 1200 0 obj << /Title 1201 0 R /A 1198 0 R /Parent 1128 0 R /Prev 1152 0 R /Next 1220 0 R /First 1204 0 R /Last 1216 0 R /Count -4 >> endobj 1196 0 obj << /Title 1197 0 R /A 1194 0 R /Parent 1152 0 R /Prev 1192 0 R >> endobj 1192 0 obj << /Title 1193 0 R /A 1190 0 R /Parent 1152 0 R /Prev 1188 0 R /Next 1196 0 R >> endobj 1188 0 obj << /Title 1189 0 R /A 1186 0 R /Parent 1152 0 R /Prev 1184 0 R /Next 1192 0 R >> endobj 1184 0 obj << /Title 1185 0 R /A 1182 0 R /Parent 1152 0 R /Prev 1180 0 R /Next 1188 0 R >> endobj 1180 0 obj << /Title 1181 0 R /A 1178 0 R /Parent 1152 0 R /Prev 1176 0 R /Next 1184 0 R >> endobj 1176 0 obj << /Title 1177 0 R /A 1174 0 R /Parent 1152 0 R /Prev 1172 0 R /Next 1180 0 R >> endobj 1172 0 obj << /Title 1173 0 R /A 1170 0 R /Parent 1152 0 R /Prev 1168 0 R /Next 1176 0 R >> endobj 1168 0 obj << /Title 1169 0 R /A 1166 0 R /Parent 1152 0 R /Prev 1164 0 R /Next 1172 0 R >> endobj 1164 0 obj << /Title 1165 0 R /A 1162 0 R /Parent 1152 0 R /Prev 1160 0 R /Next 1168 0 R >> endobj 1160 0 obj << /Title 1161 0 R /A 1158 0 R /Parent 1152 0 R /Prev 1156 0 R /Next 1164 0 R >> endobj 1156 0 obj << /Title 1157 0 R /A 1154 0 R /Parent 1152 0 R /Next 1160 0 R >> endobj 1152 0 obj << /Title 1153 0 R /A 1150 0 R /Parent 1128 0 R /Prev 1148 0 R /Next 1200 0 R /First 1156 0 R /Last 1196 0 R /Count -11 >> endobj 1148 0 obj << /Title 1149 0 R /A 1146 0 R /Parent 1128 0 R /Prev 1144 0 R /Next 1152 0 R >> endobj 1144 0 obj << /Title 1145 0 R /A 1142 0 R /Parent 1128 0 R /Prev 1140 0 R /Next 1148 0 R >> endobj 1140 0 obj << /Title 1141 0 R /A 1138 0 R /Parent 1128 0 R /Prev 1136 0 R /Next 1144 0 R >> endobj 1136 0 obj << /Title 1137 0 R /A 1134 0 R /Parent 1128 0 R /Prev 1132 0 R /Next 1140 0 R >> endobj 1132 0 obj << /Title 1133 0 R /A 1130 0 R /Parent 1128 0 R /Next 1136 0 R >> endobj 1128 0 obj << /Title 1129 0 R /A 1126 0 R /Parent 5472 0 R /Prev 1072 0 R /Next 1328 0 R /First 1132 0 R /Last 1324 0 R /Count -13 >> endobj 1124 0 obj << /Title 1125 0 R /A 1122 0 R /Parent 1072 0 R /Prev 1100 0 R >> endobj 1120 0 obj << /Title 1121 0 R /A 1118 0 R /Parent 1100 0 R /Prev 1116 0 R >> endobj 1116 0 obj << /Title 1117 0 R /A 1114 0 R /Parent 1100 0 R /Prev 1112 0 R /Next 1120 0 R >> endobj 1112 0 obj << /Title 1113 0 R /A 1110 0 R /Parent 1100 0 R /Prev 1108 0 R /Next 1116 0 R >> endobj 1108 0 obj << /Title 1109 0 R /A 1106 0 R /Parent 1100 0 R /Prev 1104 0 R /Next 1112 0 R >> endobj 1104 0 obj << /Title 1105 0 R /A 1102 0 R /Parent 1100 0 R /Next 1108 0 R >> endobj 1100 0 obj << /Title 1101 0 R /A 1098 0 R /Parent 1072 0 R /Prev 1096 0 R /Next 1124 0 R /First 1104 0 R /Last 1120 0 R /Count -5 >> endobj 1096 0 obj << /Title 1097 0 R /A 1094 0 R /Parent 1072 0 R /Prev 1092 0 R /Next 1100 0 R >> endobj 1092 0 obj << /Title 1093 0 R /A 1090 0 R /Parent 1072 0 R /Prev 1088 0 R /Next 1096 0 R >> endobj 1088 0 obj << /Title 1089 0 R /A 1086 0 R /Parent 1072 0 R /Prev 1084 0 R /Next 1092 0 R >> endobj 1084 0 obj << /Title 1085 0 R /A 1082 0 R /Parent 1072 0 R /Prev 1080 0 R /Next 1088 0 R >> endobj 1080 0 obj << /Title 1081 0 R /A 1078 0 R /Parent 1072 0 R /Prev 1076 0 R /Next 1084 0 R >> endobj 1076 0 obj << /Title 1077 0 R /A 1074 0 R /Parent 1072 0 R /Next 1080 0 R >> endobj 1072 0 obj << /Title 1073 0 R /A 1070 0 R /Parent 5472 0 R /Prev 984 0 R /Next 1128 0 R /First 1076 0 R /Last 1124 0 R /Count -8 >> endobj 1068 0 obj << /Title 1069 0 R /A 1066 0 R /Parent 984 0 R /Prev 1064 0 R >> endobj 1064 0 obj << /Title 1065 0 R /A 1062 0 R /Parent 984 0 R /Prev 1048 0 R /Next 1068 0 R >> endobj 1060 0 obj << /Title 1061 0 R /A 1058 0 R /Parent 1048 0 R /Prev 1056 0 R >> endobj 1056 0 obj << /Title 1057 0 R /A 1054 0 R /Parent 1048 0 R /Prev 1052 0 R /Next 1060 0 R >> endobj 1052 0 obj << /Title 1053 0 R /A 1050 0 R /Parent 1048 0 R /Next 1056 0 R >> endobj 1048 0 obj << /Title 1049 0 R /A 1046 0 R /Parent 984 0 R /Prev 1044 0 R /Next 1064 0 R /First 1052 0 R /Last 1060 0 R /Count -3 >> endobj 1044 0 obj << /Title 1045 0 R /A 1042 0 R /Parent 984 0 R /Prev 1024 0 R /Next 1048 0 R >> endobj 1040 0 obj << /Title 1041 0 R /A 1038 0 R /Parent 1024 0 R /Prev 1036 0 R >> endobj 1036 0 obj << /Title 1037 0 R /A 1034 0 R /Parent 1024 0 R /Prev 1032 0 R /Next 1040 0 R >> endobj 1032 0 obj << /Title 1033 0 R /A 1030 0 R /Parent 1024 0 R /Prev 1028 0 R /Next 1036 0 R >> endobj 1028 0 obj << /Title 1029 0 R /A 1026 0 R /Parent 1024 0 R /Next 1032 0 R >> endobj 1024 0 obj << /Title 1025 0 R /A 1022 0 R /Parent 984 0 R /Prev 996 0 R /Next 1044 0 R /First 1028 0 R /Last 1040 0 R /Count -4 >> endobj 1020 0 obj << /Title 1021 0 R /A 1018 0 R /Parent 996 0 R /Prev 1016 0 R >> endobj 1016 0 obj << /Title 1017 0 R /A 1014 0 R /Parent 996 0 R /Prev 1012 0 R /Next 1020 0 R >> endobj 1012 0 obj << /Title 1013 0 R /A 1010 0 R /Parent 996 0 R /Prev 1008 0 R /Next 1016 0 R >> endobj 1008 0 obj << /Title 1009 0 R /A 1006 0 R /Parent 996 0 R /Prev 1004 0 R /Next 1012 0 R >> endobj 1004 0 obj << /Title 1005 0 R /A 1002 0 R /Parent 996 0 R /Prev 1000 0 R /Next 1008 0 R >> endobj 1000 0 obj << /Title 1001 0 R /A 998 0 R /Parent 996 0 R /Next 1004 0 R >> endobj 996 0 obj << /Title 997 0 R /A 994 0 R /Parent 984 0 R /Prev 992 0 R /Next 1024 0 R /First 1000 0 R /Last 1020 0 R /Count -6 >> endobj 992 0 obj << /Title 993 0 R /A 990 0 R /Parent 984 0 R /Prev 988 0 R /Next 996 0 R >> endobj 988 0 obj << /Title 989 0 R /A 986 0 R /Parent 984 0 R /Next 992 0 R >> endobj 984 0 obj << /Title 985 0 R /A 982 0 R /Parent 5472 0 R /Prev 924 0 R /Next 1072 0 R /First 988 0 R /Last 1068 0 R /Count -8 >> endobj 980 0 obj << /Title 981 0 R /A 978 0 R /Parent 972 0 R /Prev 976 0 R >> endobj 976 0 obj << /Title 977 0 R /A 974 0 R /Parent 972 0 R /Next 980 0 R >> endobj 972 0 obj << /Title 973 0 R /A 970 0 R /Parent 924 0 R /Prev 968 0 R /First 976 0 R /Last 980 0 R /Count -2 >> endobj 968 0 obj << /Title 969 0 R /A 966 0 R /Parent 924 0 R /Prev 964 0 R /Next 972 0 R >> endobj 964 0 obj << /Title 965 0 R /A 962 0 R /Parent 924 0 R /Prev 960 0 R /Next 968 0 R >> endobj 960 0 obj << /Title 961 0 R /A 958 0 R /Parent 924 0 R /Prev 956 0 R /Next 964 0 R >> endobj 956 0 obj << /Title 957 0 R /A 954 0 R /Parent 924 0 R /Prev 928 0 R /Next 960 0 R >> endobj 952 0 obj << /Title 953 0 R /A 950 0 R /Parent 940 0 R /Prev 948 0 R >> endobj 948 0 obj << /Title 949 0 R /A 946 0 R /Parent 940 0 R /Prev 944 0 R /Next 952 0 R >> endobj 944 0 obj << /Title 945 0 R /A 942 0 R /Parent 940 0 R /Next 948 0 R >> endobj 940 0 obj << /Title 941 0 R /A 938 0 R /Parent 928 0 R /Prev 936 0 R /First 944 0 R /Last 952 0 R /Count -3 >> endobj 936 0 obj << /Title 937 0 R /A 934 0 R /Parent 928 0 R /Prev 932 0 R /Next 940 0 R >> endobj 932 0 obj << /Title 933 0 R /A 930 0 R /Parent 928 0 R /Next 936 0 R >> endobj 928 0 obj << /Title 929 0 R /A 926 0 R /Parent 924 0 R /Next 956 0 R /First 932 0 R /Last 940 0 R /Count -3 >> endobj 924 0 obj << /Title 925 0 R /A 922 0 R /Parent 5472 0 R /Prev 864 0 R /Next 984 0 R /First 928 0 R /Last 972 0 R /Count -6 >> endobj 920 0 obj << /Title 921 0 R /A 918 0 R /Parent 864 0 R /Prev 916 0 R >> endobj 916 0 obj << /Title 917 0 R /A 914 0 R /Parent 864 0 R /Prev 912 0 R /Next 920 0 R >> endobj 912 0 obj << /Title 913 0 R /A 910 0 R /Parent 864 0 R /Prev 896 0 R /Next 916 0 R >> endobj 908 0 obj << /Title 909 0 R /A 906 0 R /Parent 896 0 R /Prev 904 0 R >> endobj 904 0 obj << /Title 905 0 R /A 902 0 R /Parent 896 0 R /Prev 900 0 R /Next 908 0 R >> endobj 900 0 obj << /Title 901 0 R /A 898 0 R /Parent 896 0 R /Next 904 0 R >> endobj 896 0 obj << /Title 897 0 R /A 894 0 R /Parent 864 0 R /Prev 884 0 R /Next 912 0 R /First 900 0 R /Last 908 0 R /Count -3 >> endobj 892 0 obj << /Title 893 0 R /A 890 0 R /Parent 884 0 R /Prev 888 0 R >> endobj 888 0 obj << /Title 889 0 R /A 886 0 R /Parent 884 0 R /Next 892 0 R >> endobj 884 0 obj << /Title 885 0 R /A 882 0 R /Parent 864 0 R /Prev 872 0 R /Next 896 0 R /First 888 0 R /Last 892 0 R /Count -2 >> endobj 880 0 obj << /Title 881 0 R /A 878 0 R /Parent 872 0 R /Prev 876 0 R >> endobj 876 0 obj << /Title 877 0 R /A 874 0 R /Parent 872 0 R /Next 880 0 R >> endobj 872 0 obj << /Title 873 0 R /A 870 0 R /Parent 864 0 R /Prev 868 0 R /Next 884 0 R /First 876 0 R /Last 880 0 R /Count -2 >> endobj 868 0 obj << /Title 869 0 R /A 866 0 R /Parent 864 0 R /Next 872 0 R >> endobj 864 0 obj << /Title 865 0 R /A 862 0 R /Parent 5472 0 R /Prev 816 0 R /Next 924 0 R /First 868 0 R /Last 920 0 R /Count -7 >> endobj 860 0 obj << /Title 861 0 R /A 858 0 R /Parent 816 0 R /Prev 836 0 R >> endobj 856 0 obj << /Title 857 0 R /A 854 0 R /Parent 836 0 R /Prev 852 0 R >> endobj 852 0 obj << /Title 853 0 R /A 850 0 R /Parent 836 0 R /Prev 840 0 R /Next 856 0 R >> endobj 848 0 obj << /Title 849 0 R /A 846 0 R /Parent 840 0 R /Prev 844 0 R >> endobj 844 0 obj << /Title 845 0 R /A 842 0 R /Parent 840 0 R /Next 848 0 R >> endobj 840 0 obj << /Title 841 0 R /A 838 0 R /Parent 836 0 R /Next 852 0 R /First 844 0 R /Last 848 0 R /Count -2 >> endobj 836 0 obj << /Title 837 0 R /A 834 0 R /Parent 816 0 R /Prev 832 0 R /Next 860 0 R /First 840 0 R /Last 856 0 R /Count -3 >> endobj 832 0 obj << /Title 833 0 R /A 830 0 R /Parent 816 0 R /Prev 828 0 R /Next 836 0 R >> endobj 828 0 obj << /Title 829 0 R /A 826 0 R /Parent 816 0 R /Prev 824 0 R /Next 832 0 R >> endobj 824 0 obj << /Title 825 0 R /A 822 0 R /Parent 816 0 R /Prev 820 0 R /Next 828 0 R >> endobj 820 0 obj << /Title 821 0 R /A 818 0 R /Parent 816 0 R /Next 824 0 R >> endobj 816 0 obj << /Title 817 0 R /A 814 0 R /Parent 5472 0 R /Prev 796 0 R /Next 864 0 R /First 820 0 R /Last 860 0 R /Count -6 >> endobj 812 0 obj << /Title 813 0 R /A 810 0 R /Parent 796 0 R /Prev 808 0 R >> endobj 808 0 obj << /Title 809 0 R /A 806 0 R /Parent 796 0 R /Prev 804 0 R /Next 812 0 R >> endobj 804 0 obj << /Title 805 0 R /A 802 0 R /Parent 796 0 R /Prev 800 0 R /Next 808 0 R >> endobj 800 0 obj << /Title 801 0 R /A 798 0 R /Parent 796 0 R /Next 804 0 R >> endobj 796 0 obj << /Title 797 0 R /A 794 0 R /Parent 5472 0 R /Prev 728 0 R /Next 816 0 R /First 800 0 R /Last 812 0 R /Count -4 >> endobj 792 0 obj << /Title 793 0 R /A 790 0 R /Parent 728 0 R /Prev 788 0 R >> endobj 788 0 obj << /Title 789 0 R /A 786 0 R /Parent 728 0 R /Prev 784 0 R /Next 792 0 R >> endobj 784 0 obj << /Title 785 0 R /A 782 0 R /Parent 728 0 R /Prev 768 0 R /Next 788 0 R >> endobj 780 0 obj << /Title 781 0 R /A 778 0 R /Parent 768 0 R /Prev 776 0 R >> endobj 776 0 obj << /Title 777 0 R /A 774 0 R /Parent 768 0 R /Prev 772 0 R /Next 780 0 R >> endobj 772 0 obj << /Title 773 0 R /A 770 0 R /Parent 768 0 R /Next 776 0 R >> endobj 768 0 obj << /Title 769 0 R /A 766 0 R /Parent 728 0 R /Prev 736 0 R /Next 784 0 R /First 772 0 R /Last 780 0 R /Count -3 >> endobj 764 0 obj << /Title 765 0 R /A 762 0 R /Parent 736 0 R /Prev 760 0 R >> endobj 760 0 obj << /Title 761 0 R /A 758 0 R /Parent 736 0 R /Prev 756 0 R /Next 764 0 R >> endobj 756 0 obj << /Title 757 0 R /A 754 0 R /Parent 736 0 R /Prev 752 0 R /Next 760 0 R >> endobj 752 0 obj << /Title 753 0 R /A 750 0 R /Parent 736 0 R /Prev 748 0 R /Next 756 0 R >> endobj 748 0 obj << /Title 749 0 R /A 746 0 R /Parent 736 0 R /Prev 744 0 R /Next 752 0 R >> endobj 744 0 obj << /Title 745 0 R /A 742 0 R /Parent 736 0 R /Prev 740 0 R /Next 748 0 R >> endobj 740 0 obj << /Title 741 0 R /A 738 0 R /Parent 736 0 R /Next 744 0 R >> endobj 736 0 obj << /Title 737 0 R /A 734 0 R /Parent 728 0 R /Prev 732 0 R /Next 768 0 R /First 740 0 R /Last 764 0 R /Count -7 >> endobj 732 0 obj << /Title 733 0 R /A 730 0 R /Parent 728 0 R /Next 736 0 R >> endobj 728 0 obj << /Title 729 0 R /A 726 0 R /Parent 5472 0 R /Prev 688 0 R /Next 796 0 R /First 732 0 R /Last 792 0 R /Count -6 >> endobj 724 0 obj << /Title 725 0 R /A 722 0 R /Parent 688 0 R /Prev 720 0 R >> endobj 720 0 obj << /Title 721 0 R /A 718 0 R /Parent 688 0 R /Prev 716 0 R /Next 724 0 R >> endobj 716 0 obj << /Title 717 0 R /A 714 0 R /Parent 688 0 R /Prev 712 0 R /Next 720 0 R >> endobj 712 0 obj << /Title 713 0 R /A 710 0 R /Parent 688 0 R /Prev 708 0 R /Next 716 0 R >> endobj 708 0 obj << /Title 709 0 R /A 706 0 R /Parent 688 0 R /Prev 704 0 R /Next 712 0 R >> endobj 704 0 obj << /Title 705 0 R /A 702 0 R /Parent 688 0 R /Prev 696 0 R /Next 708 0 R >> endobj 700 0 obj << /Title 701 0 R /A 698 0 R /Parent 696 0 R >> endobj 696 0 obj << /Title 697 0 R /A 694 0 R /Parent 688 0 R /Prev 692 0 R /Next 704 0 R /First 700 0 R /Last 700 0 R /Count -1 >> endobj 692 0 obj << /Title 693 0 R /A 690 0 R /Parent 688 0 R /Next 696 0 R >> endobj 688 0 obj << /Title 689 0 R /A 686 0 R /Parent 5472 0 R /Prev 620 0 R /Next 728 0 R /First 692 0 R /Last 724 0 R /Count -8 >> endobj 684 0 obj << /Title 685 0 R /A 682 0 R /Parent 620 0 R /Prev 640 0 R >> endobj 680 0 obj << /Title 681 0 R /A 678 0 R /Parent 640 0 R /Prev 676 0 R >> endobj 676 0 obj << /Title 677 0 R /A 674 0 R /Parent 640 0 R /Prev 672 0 R /Next 680 0 R >> endobj 672 0 obj << /Title 673 0 R /A 670 0 R /Parent 640 0 R /Prev 668 0 R /Next 676 0 R >> endobj 668 0 obj << /Title 669 0 R /A 666 0 R /Parent 640 0 R /Prev 664 0 R /Next 672 0 R >> endobj 664 0 obj << /Title 665 0 R /A 662 0 R /Parent 640 0 R /Prev 660 0 R /Next 668 0 R >> endobj 660 0 obj << /Title 661 0 R /A 658 0 R /Parent 640 0 R /Prev 656 0 R /Next 664 0 R >> endobj 656 0 obj << /Title 657 0 R /A 654 0 R /Parent 640 0 R /Prev 652 0 R /Next 660 0 R >> endobj 652 0 obj << /Title 653 0 R /A 650 0 R /Parent 640 0 R /Prev 648 0 R /Next 656 0 R >> endobj 648 0 obj << /Title 649 0 R /A 646 0 R /Parent 640 0 R /Prev 644 0 R /Next 652 0 R >> endobj 644 0 obj << /Title 645 0 R /A 642 0 R /Parent 640 0 R /Next 648 0 R >> endobj 640 0 obj << /Title 641 0 R /A 638 0 R /Parent 620 0 R /Prev 636 0 R /Next 684 0 R /First 644 0 R /Last 680 0 R /Count -10 >> endobj 636 0 obj << /Title 637 0 R /A 634 0 R /Parent 620 0 R /Prev 632 0 R /Next 640 0 R >> endobj 632 0 obj << /Title 633 0 R /A 630 0 R /Parent 620 0 R /Prev 628 0 R /Next 636 0 R >> endobj 628 0 obj << /Title 629 0 R /A 626 0 R /Parent 620 0 R /Prev 624 0 R /Next 632 0 R >> endobj 624 0 obj << /Title 625 0 R /A 622 0 R /Parent 620 0 R /Next 628 0 R >> endobj 620 0 obj << /Title 621 0 R /A 618 0 R /Parent 5472 0 R /Prev 556 0 R /Next 688 0 R /First 624 0 R /Last 684 0 R /Count -6 >> endobj 616 0 obj << /Title 617 0 R /A 614 0 R /Parent 556 0 R /Prev 612 0 R >> endobj 612 0 obj << /Title 613 0 R /A 610 0 R /Parent 556 0 R /Prev 608 0 R /Next 616 0 R >> endobj 608 0 obj << /Title 609 0 R /A 606 0 R /Parent 556 0 R /Prev 604 0 R /Next 612 0 R >> endobj 604 0 obj << /Title 605 0 R /A 602 0 R /Parent 556 0 R /Prev 600 0 R /Next 608 0 R >> endobj 600 0 obj << /Title 601 0 R /A 598 0 R /Parent 556 0 R /Prev 596 0 R /Next 604 0 R >> endobj 596 0 obj << /Title 597 0 R /A 594 0 R /Parent 556 0 R /Prev 592 0 R /Next 600 0 R >> endobj 592 0 obj << /Title 593 0 R /A 590 0 R /Parent 556 0 R /Prev 588 0 R /Next 596 0 R >> endobj 588 0 obj << /Title 589 0 R /A 586 0 R /Parent 556 0 R /Prev 584 0 R /Next 592 0 R >> endobj 584 0 obj << /Title 585 0 R /A 582 0 R /Parent 556 0 R /Prev 568 0 R /Next 588 0 R >> endobj 580 0 obj << /Title 581 0 R /A 578 0 R /Parent 568 0 R /Prev 576 0 R >> endobj 576 0 obj << /Title 577 0 R /A 574 0 R /Parent 568 0 R /Prev 572 0 R /Next 580 0 R >> endobj 572 0 obj << /Title 573 0 R /A 570 0 R /Parent 568 0 R /Next 576 0 R >> endobj 568 0 obj << /Title 569 0 R /A 566 0 R /Parent 556 0 R /Prev 564 0 R /Next 584 0 R /First 572 0 R /Last 580 0 R /Count -3 >> endobj 564 0 obj << /Title 565 0 R /A 562 0 R /Parent 556 0 R /Prev 560 0 R /Next 568 0 R >> endobj 560 0 obj << /Title 561 0 R /A 558 0 R /Parent 556 0 R /Next 564 0 R >> endobj 556 0 obj << /Title 557 0 R /A 554 0 R /Parent 5472 0 R /Prev 532 0 R /Next 620 0 R /First 560 0 R /Last 616 0 R /Count -12 >> endobj 552 0 obj << /Title 553 0 R /A 550 0 R /Parent 532 0 R /Prev 548 0 R >> endobj 548 0 obj << /Title 549 0 R /A 546 0 R /Parent 532 0 R /Prev 544 0 R /Next 552 0 R >> endobj 544 0 obj << /Title 545 0 R /A 542 0 R /Parent 532 0 R /Prev 540 0 R /Next 548 0 R >> endobj 540 0 obj << /Title 541 0 R /A 538 0 R /Parent 532 0 R /Prev 536 0 R /Next 544 0 R >> endobj 536 0 obj << /Title 537 0 R /A 534 0 R /Parent 532 0 R /Next 540 0 R >> endobj 532 0 obj << /Title 533 0 R /A 530 0 R /Parent 5472 0 R /Next 556 0 R /First 536 0 R /Last 552 0 R /Count -5 >> endobj 5473 0 obj << /Names [(-1) 58 0 R (-2) 131 0 R (-3) 204 0 R (-4) 284 0 R (-5) 358 0 R (-6) 428 0 R] /Limits [(-1) (-6)] >> endobj 5474 0 obj << /Names [(-7) 493 0 R (-8) 525 0 R (1) 61 0 R (10) 1801 0 R (100) 228 0 R (101) 2318 0 R] /Limits [(-7) (101)] >> endobj 5475 0 obj << /Names [(102) 229 0 R (103) 230 0 R (104) 2348 0 R (105) 231 0 R (106) 232 0 R (107) 233 0 R] /Limits [(102) (107)] >> endobj 5476 0 obj << /Names [(108) 234 0 R (109) 235 0 R (11) 68 0 R (110) 2381 0 R (111) 286 0 R (112) 2389 0 R] /Limits [(108) (112)] >> endobj 5477 0 obj << /Names [(113) 2394 0 R (114) 2402 0 R (115) 2407 0 R (116) 2411 0 R (117) 2415 0 R (118) 2420 0 R] /Limits [(113) (118)] >> endobj 5478 0 obj << /Names [(119) 2424 0 R (12) 69 0 R (120) 287 0 R (121) 288 0 R (122) 2437 0 R (123) 289 0 R] /Limits [(119) (123)] >> endobj 5479 0 obj << /Names [(124) 2446 0 R (125) 290 0 R (126) 2457 0 R (127) 291 0 R (128) 2471 0 R (129) 292 0 R] /Limits [(124) (129)] >> endobj 5480 0 obj << /Names [(13) 1819 0 R (130) 2494 0 R (131) 293 0 R (132) 294 0 R (133) 295 0 R (134) 296 0 R] /Limits [(13) (134)] >> endobj 5481 0 obj << /Names [(135) 297 0 R (136) 298 0 R (137) 299 0 R (138) 2540 0 R (139) 2544 0 R (14) 1827 0 R] /Limits [(135) (14)] >> endobj 5482 0 obj << /Names [(140) 300 0 R (141) 301 0 R (142) 2559 0 R (143) 2564 0 R (144) 302 0 R (145) 303 0 R] /Limits [(140) (145)] >> endobj 5483 0 obj << /Names [(146) 304 0 R (147) 305 0 R (148) 2593 0 R (149) 306 0 R (15) 70 0 R (150) 307 0 R] /Limits [(146) (150)] >> endobj 5484 0 obj << /Names [(151) 308 0 R (152) 2614 0 R (153) 2622 0 R (154) 2628 0 R (155) 309 0 R (156) 361 0 R] /Limits [(151) (156)] >> endobj 5485 0 obj << /Names [(157) 362 0 R (158) 363 0 R (159) 364 0 R (16) 71 0 R (160) 365 0 R (161) 366 0 R] /Limits [(157) (161)] >> endobj 5486 0 obj << /Names [(162) 367 0 R (163) 368 0 R (164) 369 0 R (165) 2708 0 R (166) 370 0 R (167) 371 0 R] /Limits [(162) (167)] >> endobj 5487 0 obj << /Names [(168) 372 0 R (169) 2723 0 R (17) 1850 0 R (170) 2727 0 R (171) 373 0 R (172) 374 0 R] /Limits [(168) (172)] >> endobj 5488 0 obj << /Names [(173) 375 0 R (174) 376 0 R (175) 377 0 R (176) 378 0 R (177) 379 0 R (178) 429 0 R] /Limits [(173) (178)] >> endobj 5489 0 obj << /Names [(179) 430 0 R (18) 72 0 R (180) 431 0 R (181) 432 0 R (182) 433 0 R (183) 434 0 R] /Limits [(179) (183)] >> endobj 5490 0 obj << /Names [(184) 435 0 R (185) 2815 0 R (186) 436 0 R (187) 2830 0 R (188) 2835 0 R (189) 2839 0 R] /Limits [(184) (189)] >> endobj 5491 0 obj << /Names [(19) 73 0 R (190) 437 0 R (191) 2847 0 R (192) 438 0 R (193) 439 0 R (194) 440 0 R] /Limits [(19) (194)] >> endobj 5492 0 obj << /Names [(195) 441 0 R (196) 442 0 R (197) 443 0 R (198) 444 0 R (199) 445 0 R (2) 62 0 R] /Limits [(195) (2)] >> endobj 5493 0 obj << /Names [(20) 1864 0 R (200) 446 0 R (201) 447 0 R (202) 448 0 R (203) 449 0 R (204) 450 0 R] /Limits [(20) (204)] >> endobj 5494 0 obj << /Names [(205) 2918 0 R (206) 494 0 R (207) 495 0 R (208) 496 0 R (209) 2941 0 R (21) 1870 0 R] /Limits [(205) (21)] >> endobj 5495 0 obj << /Names [(210) 2946 0 R (211) 2950 0 R (212) 497 0 R (213) 498 0 R (214) 499 0 R (215) 500 0 R] /Limits [(210) (215)] >> endobj 5496 0 obj << /Names [(216) 501 0 R (217) 2988 0 R (218) 502 0 R (219) 503 0 R (22) 74 0 R (220) 3003 0 R] /Limits [(216) (220)] >> endobj 5497 0 obj << /Names [(221) 504 0 R (222) 505 0 R (223) 506 0 R (224) 507 0 R (225) 508 0 R (226) 509 0 R] /Limits [(221) (226)] >> endobj 5498 0 obj << /Names [(227) 510 0 R (228) 3038 0 R (229) 511 0 R (23) 75 0 R (230) 3047 0 R (231) 512 0 R] /Limits [(227) (231)] >> endobj 5499 0 obj << /Names [(232) 513 0 R (233) 3059 0 R (234) 514 0 R (235) 515 0 R (236) 516 0 R (237) 517 0 R] /Limits [(232) (237)] >> endobj 5500 0 obj << /Names [(238) 3083 0 R (239) 3087 0 R (24) 76 0 R (240) 3091 0 R (241) 3095 0 R (242) 518 0 R] /Limits [(238) (242)] >> endobj 5501 0 obj << /Names [(243) 3103 0 R (244) 3108 0 R (245) 3112 0 R (246) 3116 0 R (247) 3121 0 R (248) 3125 0 R] /Limits [(243) (248)] >> endobj 5502 0 obj << /Names [(249) 3129 0 R (25) 1889 0 R (250) 526 0 R (251) 3374 0 R (252) 3486 0 R (253) 3594 0 R] /Limits [(249) (253)] >> endobj 5503 0 obj << /Names [(254) 3715 0 R (255) 3837 0 R (256) 3956 0 R (257) 3979 0 R (258) 527 0 R (259) 4162 0 R] /Limits [(254) (259)] >> endobj 5504 0 obj << /Names [(26) 77 0 R (260) 4299 0 R (261) 4401 0 R (262) 4542 0 R (263) 4547 0 R (264) 528 0 R] /Limits [(26) (264)] >> endobj 5505 0 obj << /Names [(265) 4782 0 R (266) 4912 0 R (267) 4933 0 R (268) 529 0 R (269) 5223 0 R (27) 1903 0 R] /Limits [(265) (27)] >> endobj 5506 0 obj << /Names [(270) 5375 0 R (271) 5403 0 R (28) 78 0 R (29) 79 0 R (3) 63 0 R (30) 80 0 R] /Limits [(270) (30)] >> endobj 5507 0 obj << /Names [(31) 81 0 R (32) 1930 0 R (33) 82 0 R (34) 1941 0 R (35) 83 0 R (36) 1951 0 R] /Limits [(31) (36)] >> endobj 5508 0 obj << /Names [(37) 132 0 R (38) 133 0 R (39) 1967 0 R (4) 1772 0 R (40) 134 0 R (41) 1980 0 R] /Limits [(37) (41)] >> endobj 5509 0 obj << /Names [(42) 135 0 R (43) 136 0 R (44) 137 0 R (45) 138 0 R (46) 139 0 R (47) 140 0 R] /Limits [(42) (47)] >> endobj 5510 0 obj << /Names [(48) 141 0 R (49) 142 0 R (5) 64 0 R (50) 2038 0 R (51) 143 0 R (52) 144 0 R] /Limits [(48) (52)] >> endobj 5511 0 obj << /Names [(53) 2057 0 R (54) 145 0 R (55) 146 0 R (56) 2077 0 R (57) 2081 0 R (58) 147 0 R] /Limits [(53) (58)] >> endobj 5512 0 obj << /Names [(59) 2093 0 R (6) 65 0 R (60) 2097 0 R (61) 148 0 R (62) 149 0 R (63) 2116 0 R] /Limits [(59) (63)] >> endobj 5513 0 obj << /Names [(64) 150 0 R (65) 151 0 R (66) 152 0 R (67) 2143 0 R (68) 153 0 R (69) 154 0 R] /Limits [(64) (69)] >> endobj 5514 0 obj << /Names [(7) 1786 0 R (70) 155 0 R (71) 205 0 R (72) 206 0 R (73) 207 0 R (74) 2178 0 R] /Limits [(7) (74)] >> endobj 5515 0 obj << /Names [(75) 208 0 R (76) 209 0 R (77) 210 0 R (78) 211 0 R (79) 212 0 R (8) 66 0 R] /Limits [(75) (8)] >> endobj 5516 0 obj << /Names [(80) 213 0 R (81) 2210 0 R (82) 2218 0 R (83) 214 0 R (84) 215 0 R (85) 216 0 R] /Limits [(80) (85)] >> endobj 5517 0 obj << /Names [(86) 217 0 R (87) 218 0 R (88) 219 0 R (89) 220 0 R (9) 67 0 R (90) 2252 0 R] /Limits [(86) (90)] >> endobj 5518 0 obj << /Names [(91) 221 0 R (92) 222 0 R (93) 2267 0 R (94) 223 0 R (95) 224 0 R (96) 225 0 R] /Limits [(91) (96)] >> endobj 5519 0 obj << /Names [(97) 2290 0 R (98) 226 0 R (99) 227 0 R (A LaTeX{} example) 1661 0 R (ASCII/Latin-1/UTF-8 export) 1143 0 R (Activation) 543 0 R] /Limits [(97) (Activation)] >> endobj 5520 0 obj << /Names [(Add-on packages) 1637 0 R (Adding export back-ends) 1645 0 R (Adding hyperlink types) 1641 0 R (Advanced configuration) 1323 0 R (Advanced features) 679 0 R (Advanced topics in ODT export) 1287 0 R] /Limits [(Add-on packages) (Advanced topics in ODT export)] >> endobj 5521 0 obj << /Names [(Agenda Views) 983 0 R (Agenda column view) 1067 0 R (Agenda commands) 1043 0 R (Agenda dispatcher) 991 0 R (Agenda files) 987 0 R (Applying custom styles) 1245 0 R] /Limits [(Agenda Views) (Applying custom styles)] >> endobj 5522 0 obj << /Names [(Archiving) 971 0 R (Attachments) 955 0 R (Batch execution) 1569 0 R (Beamer export) 1147 0 R (Block agenda) 1055 0 R (Blocks) 603 0 R] /Limits [(Archiving) (Blocks)] >> endobj 5523 0 obj << /Names [(Breaking down tasks) 787 0 R (Built-in agenda views) 995 0 R (Built-in table editor) 623 0 R (CDLaTeX mode) 1119 0 R (CSS support) 1191 0 R (Capture) 927 0 R] /Limits [(Breaking down tasks) (Capture)] >> endobj 5524 0 obj << /Names [(Capture - Refile - Archive) 923 0 R (Capture templates) 939 0 R (Capturing column view) 855 0 R (Catching invisible edits) 579 0 R (Categories) 1027 0 R (Checkboxes) 791 0 R] /Limits [(Capture - Refile - Archive) (Checkboxes)] >> endobj 5525 0 obj << /Names [(Clean view) 1605 0 R (Clocking commands) 899 0 R (Clocking work time) 895 0 R (Closing items) 771 0 R (Code block specific header arguments) 2817 0 R (Code evaluation security) 1589 0 R] /Limits [(Clean view) (Code evaluation security)] >> endobj 5526 0 obj << /Names [(Column attributes) 847 0 R (Column formulas) 663 0 R (Column groups) 631 0 R (Column view) 835 0 R (Column width and alignment) 627 0 R (Command and Function Index) 1738 0 R] /Limits [(Column attributes) (Command and Function Index)] >> endobj 5527 0 obj << /Names [(Comment lines) 2483 0 R (Completion) 1577 0 R (Complex example) 1379 0 R (Configuration) 1331 0 R (Configuring a document converter) 1291 0 R (Conflicts) 1621 0 R] /Limits [(Comment lines) (Conflicts)] >> endobj 5528 0 obj << /Names [(Context-sensitive commands) 1649 0 R (Conventions) 551 0 R (Cooperation) 1617 0 R (Countdown timer) 919 0 R (Creating one-off styles) 1299 0 R (Creating timestamps) 871 0 R] /Limits [(Context-sensitive commands) (Creating timestamps)] >> endobj 5529 0 obj << /Names [(Custom agenda views) 1047 0 R (Custom searches) 723 0 R (Custom time format) 879 0 R (Customization) 1593 0 R (Customizing tables in ODT export) 1303 0 R (Dates and Times) 863 0 R] /Limits [(Custom agenda views) (Dates and Times)] >> endobj 5530 0 obj << /Names [(Deadlines and scheduling) 883 0 R (Defining columns) 839 0 R (Document Structure) 555 0 R (Document title) 2462 0 R (Drawers) 599 0 R (Durations and time values) 655 0 R] /Limits [(Deadlines and scheduling) (Durations and time values)] >> endobj 5531 0 obj << /Names [(Dynamic blocks) 1673 0 R (Easy Templates) 1581 0 R (Editing and debugging formulas) 671 0 R (Editing source code) 1395 0 R (Effort estimates) 911 0 R (Embedded LaTeX{}) 1099 0 R] /Limits [(Dynamic blocks) (Embedded LaTeX{})] >> endobj 5532 0 obj << /Names [(Emphasis and monospace) 2475 0 R (Evaluating code blocks) 1407 0 R (Export back-ends) 1135 0 R (Export in foreign buffers) 1319 0 R (Export settings) 1139 0 R (Exporting) 1127 0 R] /Limits [(Emphasis and monospace) (Exporting)] >> endobj 5533 0 obj << /Names [(Exporting Agenda Views) 1063 0 R (Exporting code blocks) 1399 0 R (Extending ODT export) 1235 0 R (External links) 703 0 R (Extracting agenda information) 1685 0 R (Extracting source code) 1403 0 R] /Limits [(Exporting Agenda Views) (Extracting source code)] >> endobj 5534 0 obj << /Names [(Faces for TODO keywords) 759 0 R (Fast access to TODO states) 751 0 R (Feedback) 547 0 R (Field and range formulas) 659 0 R (Filtering/limiting agenda items) 1039 0 R (Footnote markup) 2474 0 R] /Limits [(Faces for TODO keywords) (Footnote markup)] >> endobj 5535 0 obj << /Names [(Footnotes) 607 0 R (Formula syntax for Calc) 647 0 R (Formula syntax for Lisp) 651 0 R (GNU Free Documentation License) 1726 0 R (Generating an index) 1363 0 R (Global TODO list) 1003 0 R] /Limits [(Footnotes) (Global TODO list)] >> endobj 5536 0 obj << /Names [(Global and local cycling) 571 0 R (HTML Export commands) 1155 0 R (HTML doctypes) 1159 0 R (HTML export) 1151 0 R (HTML preamble and postamble) 1163 0 R (Hacking) 1629 0 R] /Limits [(Global and local cycling) (Hacking)] >> endobj 5537 0 obj << /Names [(Handling links) 707 0 R (Header and sectioning) 1207 0 R (Header arguments) 1419 0 R (Header arguments in Org mode properties) 2810 0 R (Header arguments in function calls) 2796 0 R (Headings and sections) 2463 0 R] /Limits [(Handling links) (Headings and sections)] >> endobj 5538 0 obj << /Names [(Headlines) 563 0 R (History and Acknowledgments) 1713 0 R (Hooks) 1633 0 R (Horizontal rules) 2482 0 R (Hyperlinks) 687 0 R (Images and tables) 1079 0 R] /Limits [(Headlines) (Images and tables)] >> endobj 5539 0 obj << /Names [(Images in HTML export) 1179 0 R (Images in ODT export) 1263 0 R (In-buffer settings) 1597 0 R (Include files) 1087 0 R (Index entries) 1091 0 R (Initial visibility) 575 0 R] /Limits [(Images in HTML export) (Initial visibility)] >> endobj 5540 0 obj << /Names [(Inserting deadline/schedule) 887 0 R (Installation) 539 0 R (Interaction) 1613 0 R (Internal archiving) 979 0 R (Internal links) 695 0 R (Introduction) 531 0 R] /Limits [(Inserting deadline/schedule) (Introduction)] >> endobj 5541 0 obj << /Names [(JavaScript support) 1195 0 R (Key Index) 1734 0 R (Key bindings and useful functions) 1565 0 R (LaTeX{} and PDF export) 1199 0 R (LaTeX{} export commands) 1203 0 R (LaTeX{} fragments) 1111 0 R] /Limits [(JavaScript support) (LaTeX{} fragments)] >> endobj 5542 0 obj << /Names [(LaTeX{} specific attributes) 1215 0 R (Labels and captions in ODT export) 1279 0 R (Language-specific header arguments) 2809 0 R (Language-specific header arguments in Org mode properties) 2816 0 R (Languages) 1415 0 R (Library of Babel) 1411 0 R] /Limits [(LaTeX{} specific attributes) (Library of Babel)] >> endobj 5543 0 obj << /Names [(Link abbreviations) 715 0 R (Link format) 691 0 R (Links in HTML export) 1171 0 R (Links in ODT export) 1255 0 R (Lists) 2472 0 R (Literal examples) 1083 0 R] /Limits [(Link abbreviations) (Literal examples)] >> endobj 5544 0 obj << /Names [(Literal examples in ODT export) 1283 0 R (Lookup functions) 667 0 R (Macro replacement) 1095 0 R (Main Index) 1730 0 R (Markdown export) 1219 0 R (Markup) 1071 0 R] /Limits [(Literal examples in ODT export) (Markup)] >> endobj 5545 0 obj << /Names [(Matching tags and properties) 1007 0 R (Math formatting in HTML export) 1183 0 R (Math formatting in ODT export) 1267 0 R (Miscellaneous) 1573 0 R (MobileOrg) 1697 0 R (Motion) 583 0 R] /Limits [(Matching tags and properties) (Motion)] >> endobj 5546 0 obj << /Names [(Moving subtrees) 975 0 R (Multiple sets in one file) 747 0 R (Noweb reference syntax) 1561 0 R (ODT export commands) 1231 0 R (OpenDocument Text export) 1223 0 R (Org syntax) 615 0 R] /Limits [(Moving subtrees) (Org syntax)] >> endobj 5547 0 obj << /Names [(Org-Plot) 683 0 R (Orgstruct mode) 611 0 R (Orgtbl mode) 635 0 R (Other built-in back-ends) 1315 0 R (Outlines) 559 0 R (Paragraphs) 2473 0 R] /Limits [(Org-Plot) (Paragraphs)] >> endobj 5548 0 obj << /Names [(Per-file keywords) 755 0 R (Plain lists) 595 0 R (Pre-requisites for ODT export) 1227 0 R (Presentation and sorting) 1023 0 R (Previewing LaTeX{} fragments) 1115 0 R (Priorities) 783 0 R] /Limits [(Per-file keywords) (Priorities)] >> endobj 5549 0 obj << /Names [(Progress logging) 767 0 R (Project alist) 1335 0 R (Properties and Columns) 815 0 R (Property API) 859 0 R (Property inheritance) 831 0 R (Property searches) 827 0 R] /Limits [(Progress logging) (Property searches)] >> endobj 5550 0 obj << /Names [(Property syntax) 819 0 R (Protocols) 963 0 R (Publishing) 1327 0 R (Publishing action) 1347 0 R (Publishing links) 1355 0 R (Publishing options) 1351 0 R] /Limits [(Property syntax) (Publishing options)] >> endobj 5551 0 obj << /Names [(Pulling from MobileOrg) 1709 0 R (Pushing to MobileOrg) 1705 0 R (Quoting HTML tags) 1167 0 R (Quoting LaTeX{} code) 1211 0 R (RSS Feeds) 959 0 R (Radio lists) 1669 0 R] /Limits [(Pulling from MobileOrg) (Radio lists)] >> endobj 5552 0 obj << /Names [(Radio tables) 1657 0 R (Radio targets) 699 0 R (References) 643 0 R (Refile and copy) 967 0 R (Relative timer) 915 0 R (Repeated tasks) 891 0 R] /Limits [(Radio tables) (Repeated tasks)] >> endobj 5553 0 obj << /Names [(Resolving idle time) 907 0 R (Results of evaluation) 1539 0 R (Sample configuration) 1371 0 R (Scope of column definitions) 843 0 R (Search options) 719 0 R (Search view) 1015 0 R] /Limits [(Resolving idle time) (Search view)] >> endobj 5554 0 obj << /Names [(Selecting files) 1343 0 R (Setting Options) 1059 0 R (Setting tags) 803 0 R (Setting up capture) 931 0 R (Setting up the staging area) 1701 0 R (Simple example) 1375 0 R] /Limits [(Selecting files) (Simple example)] >> endobj 5555 0 obj << /Names [(Sitemap) 1359 0 R (Sorting agenda items) 1035 0 R (Sources and destinations) 1339 0 R (Sparse trees) 591 0 R (Special agenda views) 1677 0 R (Special blocks) 1123 0 R] /Limits [(Sitemap) (Special blocks)] >> endobj 5556 0 obj << /Names [(Special properties) 823 0 R (Special symbols) 1103 0 R (Specific header arguments) 1427 0 R (Speed keys) 1585 0 R (Speeding up your agendas) 1681 0 R (Storing searches) 1051 0 R] /Limits [(Special properties) (Storing searches)] >> endobj 5557 0 obj << /Names [(Structural markup elements) 1075 0 R (Structure editing) 587 0 R (Structure of code blocks) 1391 0 R (Stuck projects) 1019 0 R (Subscripts and superscripts) 1107 0 R (Summary) 535 0 R] /Limits [(Structural markup elements) (Summary)] >> endobj 5558 0 obj << /Names [(System-wide header arguments) 2808 0 R (TODO Items) 727 0 R (TODO basics) 731 0 R (TODO dependencies) 763 0 R (TODO extensions) 735 0 R (TODO types) 743 0 R] /Limits [(System-wide header arguments) (TODO types)] >> endobj 5559 0 obj << /Names [(TTY keys) 1609 0 R (Table of contents) 2465 0 R (Tables) 619 0 R (Tables in HTML export) 1175 0 R (Tables in ODT export) 1259 0 R (Tables in arbitrary syntax) 1653 0 R] /Limits [(TTY keys) (Tables in arbitrary syntax)] >> endobj 5560 0 obj << /Names [(Tag groups) 807 0 R (Tag inheritance) 799 0 R (Tag searches) 811 0 R (Tags) 795 0 R (Template elements) 943 0 R (Template expansion) 947 0 R] /Limits [(Tag groups) (Template expansion)] >> endobj 5561 0 obj << /Names [(Templates in contexts) 951 0 R (Text areas in HTML export) 1187 0 R (The Export Dispatcher) 1131 0 R (The clock table) 903 0 R (The date/time prompt) 875 0 R (The spreadsheet) 639 0 R] /Limits [(Templates in contexts) (The spreadsheet)] >> endobj 5562 0 obj << /Names [(The very busy C-c C-c key) 1601 0 R (Time-of-day specifications) 1031 0 R (Timeline) 1011 0 R (Timestamps) 867 0 R (Tracking TODO state changes) 775 0 R (Tracking your habits) 779 0 R] /Limits [(The very busy C-c C-c key) (Tracking your habits)] >> endobj 5563 0 obj << /Names [(Translator functions) 1665 0 R (Triggering publication) 1383 0 R (Updating the table) 675 0 R (Uploading files) 1367 0 R (Using capture) 935 0 R (Using column view) 851 0 R] /Limits [(Translator functions) (Using column view)] >> endobj 5564 0 obj << /Names [(Using header arguments) 1423 0 R (Using links outside Org) 711 0 R (Using multiple #+TBLFM lines) 1931 0 R (Using the mapping API) 1693 0 R (Using the property API) 1689 0 R (Validating OpenDocument XML) 1307 0 R] /Limits [(Using header arguments) (Validating OpenDocument XML)] >> endobj 5565 0 obj << /Names [(Variable Index) 1742 0 R (Visibility cycling) 567 0 R (Weekly/daily agenda) 999 0 R (Workflow states) 739 0 R (Working With Source Code) 1387 0 R (Working with LaTeX{} math snippets) 1271 0 R] /Limits [(Variable Index) (Working with LaTeX{} math snippets)] >> endobj 5566 0 obj << /Names [(Working with MathML or OpenDocument formula files) 1275 0 R (Working with OpenDocument style files) 1295 0 R (cache) 1491 0 R (colnames) 1503 0 R (comments) 1463 0 R (dir) 1447 0 R] /Limits [(Working with MathML or OpenDocument formula files) (dir)] >> endobj 5567 0 obj << /Names [(epilogue) 1535 0 R (eval) 1519 0 R (exports) 1451 0 R (file) 1439 0 R (file-desc) 1443 0 R (hlines) 1499 0 R] /Limits [(epilogue) (hlines)] >> endobj 5568 0 obj << /Names [(iCalendar export) 1311 0 R (mkdirp) 1459 0 R (no-expand) 1471 0 R (noweb) 1479 0 R (noweb-ref) 1483 0 R (noweb-sep) 1487 0 R] /Limits [(iCalendar export) (noweb-sep)] >> endobj 5569 0 obj << /Names [(org-crypt) 1625 0 R (padline) 1467 0 R (post) 1527 0 R (prologue) 1531 0 R (results) 1435 0 R (rownames) 1507 0 R] /Limits [(org-crypt) (rownames)] >> endobj 5570 0 obj << /Names [(sep) 1495 0 R (session) 1475 0 R (shebang) 1511 0 R (tangle) 1455 0 R (tangle-mode) 1515 0 R (var) 1431 0 R] /Limits [(sep) (var)] >> endobj 5571 0 obj << /Names [(wrap) 1523 0 R (x-agenda-skip-entry-regexp) 2349 0 R (x-convert-to-other-formats) 2647 0 R (x-export-to-odt) 2637 0 R (x-export-to-other-formats) 2639 0 R (x-factory-styles) 2685 0 R] /Limits [(wrap) (x-factory-styles)] >> endobj 5572 0 obj << /Names [(x-odt-converter-capabilities) 2684 0 R (x-org-odt-content-template-file) 2694 0 R (x-org-odt-styles-file) 2688 0 R (x-orgodtcontenttemplate-xml) 2687 0 R (x-orgodtstyles-xml) 2686 0 R (x-overriding-factory-styles) 2658 0 R] /Limits [(x-odt-converter-capabilities) (x-overriding-factory-styles)] >> endobj 5573 0 obj << /Kids [5473 0 R 5474 0 R 5475 0 R 5476 0 R 5477 0 R 5478 0 R] /Limits [(-1) (123)] >> endobj 5574 0 obj << /Kids [5479 0 R 5480 0 R 5481 0 R 5482 0 R 5483 0 R 5484 0 R] /Limits [(124) (156)] >> endobj 5575 0 obj << /Kids [5485 0 R 5486 0 R 5487 0 R 5488 0 R 5489 0 R 5490 0 R] /Limits [(157) (189)] >> endobj 5576 0 obj << /Kids [5491 0 R 5492 0 R 5493 0 R 5494 0 R 5495 0 R 5496 0 R] /Limits [(19) (220)] >> endobj 5577 0 obj << /Kids [5497 0 R 5498 0 R 5499 0 R 5500 0 R 5501 0 R 5502 0 R] /Limits [(221) (253)] >> endobj 5578 0 obj << /Kids [5503 0 R 5504 0 R 5505 0 R 5506 0 R 5507 0 R 5508 0 R] /Limits [(254) (41)] >> endobj 5579 0 obj << /Kids [5509 0 R 5510 0 R 5511 0 R 5512 0 R 5513 0 R 5514 0 R] /Limits [(42) (74)] >> endobj 5580 0 obj << /Kids [5515 0 R 5516 0 R 5517 0 R 5518 0 R 5519 0 R 5520 0 R] /Limits [(75) (Advanced topics in ODT export)] >> endobj 5581 0 obj << /Kids [5521 0 R 5522 0 R 5523 0 R 5524 0 R 5525 0 R 5526 0 R] /Limits [(Agenda Views) (Command and Function Index)] >> endobj 5582 0 obj << /Kids [5527 0 R 5528 0 R 5529 0 R 5530 0 R 5531 0 R 5532 0 R] /Limits [(Comment lines) (Exporting)] >> endobj 5583 0 obj << /Kids [5533 0 R 5534 0 R 5535 0 R 5536 0 R 5537 0 R 5538 0 R] /Limits [(Exporting Agenda Views) (Images and tables)] >> endobj 5584 0 obj << /Kids [5539 0 R 5540 0 R 5541 0 R 5542 0 R 5543 0 R 5544 0 R] /Limits [(Images in HTML export) (Markup)] >> endobj 5585 0 obj << /Kids [5545 0 R 5546 0 R 5547 0 R 5548 0 R 5549 0 R 5550 0 R] /Limits [(Matching tags and properties) (Publishing options)] >> endobj 5586 0 obj << /Kids [5551 0 R 5552 0 R 5553 0 R 5554 0 R 5555 0 R 5556 0 R] /Limits [(Pulling from MobileOrg) (Storing searches)] >> endobj 5587 0 obj << /Kids [5557 0 R 5558 0 R 5559 0 R 5560 0 R 5561 0 R 5562 0 R] /Limits [(Structural markup elements) (Tracking your habits)] >> endobj 5588 0 obj << /Kids [5563 0 R 5564 0 R 5565 0 R 5566 0 R 5567 0 R 5568 0 R] /Limits [(Translator functions) (noweb-sep)] >> endobj 5589 0 obj << /Kids [5569 0 R 5570 0 R 5571 0 R 5572 0 R] /Limits [(org-crypt) (x-overriding-factory-styles)] >> endobj 5590 0 obj << /Kids [5573 0 R 5574 0 R 5575 0 R 5576 0 R 5577 0 R 5578 0 R] /Limits [(-1) (41)] >> endobj 5591 0 obj << /Kids [5579 0 R 5580 0 R 5581 0 R 5582 0 R 5583 0 R 5584 0 R] /Limits [(42) (Markup)] >> endobj 5592 0 obj << /Kids [5585 0 R 5586 0 R 5587 0 R 5588 0 R 5589 0 R] /Limits [(Matching tags and properties) (x-overriding-factory-styles)] >> endobj 5593 0 obj << /Kids [5590 0 R 5591 0 R 5592 0 R] /Limits [(-1) (x-overriding-factory-styles)] >> endobj 5594 0 obj << /Dests 5593 0 R >> endobj 5595 0 obj << /Type /Catalog /Pages 5471 0 R /Outlines 5472 0 R /Names 5594 0 R /PageMode /UseOutlines >> endobj 5596 0 obj << /Producer (pdfTeX-1.40.10) /Creator (TeX) /CreationDate (D:20131206050104-06'00') /ModDate (D:20131206050104-06'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0) >> endobj xref 0 5597 0000000000 65535 f 0000000015 00000 n 0000000681 00000 n 0000001358 00000 n 0000002577 00000 n 0000002473 00000 n 0000001962 00000 n 0001614670 00000 n 0001615264 00000 n 0001617505 00000 n 0000003613 00000 n 0000003506 00000 n 0000002656 00000 n 0001616383 00000 n 0000006593 00000 n 0000006719 00000 n 0000006846 00000 n 0000006973 00000 n 0000007100 00000 n 0000007227 00000 n 0000007354 00000 n 0000007478 00000 n 0000007605 00000 n 0000007732 00000 n 0000007859 00000 n 0000007986 00000 n 0000008113 00000 n 0000008239 00000 n 0000008366 00000 n 0000008493 00000 n 0000008621 00000 n 0000008749 00000 n 0000008877 00000 n 0000009005 00000 n 0000009132 00000 n 0000009260 00000 n 0000009388 00000 n 0000009515 00000 n 0000009643 00000 n 0000009771 00000 n 0000009899 00000 n 0000010027 00000 n 0000010155 00000 n 0000010283 00000 n 0000010411 00000 n 0000010537 00000 n 0000010664 00000 n 0000010792 00000 n 0000010920 00000 n 0000011048 00000 n 0000011175 00000 n 0000011303 00000 n 0000011430 00000 n 0000014901 00000 n 0000015025 00000 n 0000011608 00000 n 0000006201 00000 n 0000003694 00000 n 0000011557 00000 n 0001614975 00000 n 0001614831 00000 n 0000100252 00000 n 0000103651 00000 n 0000107347 00000 n 0000112873 00000 n 0000115796 00000 n 0000122565 00000 n 0000125811 00000 n 0000132079 00000 n 0000136242 00000 n 0000148061 00000 n 0000152956 00000 n 0000159024 00000 n 0000162514 00000 n 0000171654 00000 n 0000174863 00000 n 0000179072 00000 n 0000187349 00000 n 0000194437 00000 n 0000198684 00000 n 0000202177 00000 n 0000206124 00000 n 0000211277 00000 n 0000217517 00000 n 0000015153 00000 n 0000015281 00000 n 0000015409 00000 n 0000015537 00000 n 0000015665 00000 n 0000015793 00000 n 0000015921 00000 n 0000016048 00000 n 0000016176 00000 n 0000016304 00000 n 0000016431 00000 n 0000016559 00000 n 0000016687 00000 n 0000016815 00000 n 0000016942 00000 n 0000017070 00000 n 0000017198 00000 n 0000017327 00000 n 0000017456 00000 n 0000017585 00000 n 0000017714 00000 n 0000017843 00000 n 0000017972 00000 n 0000018100 00000 n 0000018229 00000 n 0000018357 00000 n 0000018486 00000 n 0000018615 00000 n 0000018744 00000 n 0000018873 00000 n 0000019002 00000 n 0000019131 00000 n 0000019260 00000 n 0000019389 00000 n 0000019518 00000 n 0000019646 00000 n 0000019775 00000 n 0000019904 00000 n 0000020033 00000 n 0000020162 00000 n 0000020291 00000 n 0000020419 00000 n 0000024049 00000 n 0000024174 00000 n 0000020599 00000 n 0000014445 00000 n 0000011712 00000 n 0000020546 00000 n 0000222833 00000 n 0000226324 00000 n 0000234073 00000 n 0000241277 00000 n 0000244859 00000 n 0000248637 00000 n 0000253029 00000 n 0000258280 00000 n 0000262217 00000 n 0000266102 00000 n 0000269322 00000 n 0000275374 00000 n 0000278756 00000 n 0000285719 00000 n 0000289697 00000 n 0000299185 00000 n 0000309591 00000 n 0000313368 00000 n 0000318665 00000 n 0000322956 00000 n 0000326402 00000 n 0000332434 00000 n 0000335313 00000 n 0000338290 00000 n 0000024303 00000 n 0000024432 00000 n 0000024560 00000 n 0000024689 00000 n 0000024818 00000 n 0000024947 00000 n 0000025076 00000 n 0000025204 00000 n 0000025333 00000 n 0000025462 00000 n 0000025591 00000 n 0000025720 00000 n 0000025848 00000 n 0000025976 00000 n 0000026104 00000 n 0000026232 00000 n 0000026361 00000 n 0000026490 00000 n 0000026619 00000 n 0000026748 00000 n 0000026877 00000 n 0000027006 00000 n 0000027135 00000 n 0000027264 00000 n 0000027393 00000 n 0000027521 00000 n 0000027650 00000 n 0000027779 00000 n 0000027908 00000 n 0000028037 00000 n 0000028166 00000 n 0000028295 00000 n 0000028423 00000 n 0000028553 00000 n 0000028683 00000 n 0000028813 00000 n 0000028943 00000 n 0000029073 00000 n 0000029203 00000 n 0000029333 00000 n 0000029463 00000 n 0000029593 00000 n 0000029722 00000 n 0000033473 00000 n 0000033603 00000 n 0000029903 00000 n 0000023567 00000 n 0000020704 00000 n 0000029850 00000 n 0000342221 00000 n 0000345326 00000 n 0000348986 00000 n 0000355094 00000 n 0000358814 00000 n 0000362469 00000 n 0000366169 00000 n 0000370522 00000 n 0000373905 00000 n 0000383656 00000 n 0000387225 00000 n 0000391466 00000 n 0000393179 00000 n 0000396822 00000 n 0000400073 00000 n 0000402705 00000 n 0000408073 00000 n 0000411904 00000 n 0000418375 00000 n 0000421393 00000 n 0000425858 00000 n 0000431696 00000 n 0000436486 00000 n 0000440447 00000 n 0000447764 00000 n 0000453481 00000 n 0000461747 00000 n 0000465322 00000 n 0000469711 00000 n 0000473174 00000 n 0000476882 00000 n 0000033733 00000 n 0000033863 00000 n 0000033993 00000 n 0000034122 00000 n 0000034251 00000 n 0000034381 00000 n 0000034511 00000 n 0000034640 00000 n 0000034770 00000 n 0000034900 00000 n 0000035030 00000 n 0000035160 00000 n 0000035290 00000 n 0000035420 00000 n 0000035550 00000 n 0000035680 00000 n 0000035810 00000 n 0000035940 00000 n 0000036070 00000 n 0000036200 00000 n 0000036330 00000 n 0000036460 00000 n 0000036590 00000 n 0000036719 00000 n 0000036849 00000 n 0000036979 00000 n 0000037109 00000 n 0000037239 00000 n 0000037369 00000 n 0000037498 00000 n 0000037628 00000 n 0000037758 00000 n 0000037888 00000 n 0000038018 00000 n 0000038148 00000 n 0000038278 00000 n 0000038408 00000 n 0000038538 00000 n 0000038668 00000 n 0000038797 00000 n 0000038927 00000 n 0000039057 00000 n 0000039187 00000 n 0000039315 00000 n 0000042811 00000 n 0000039495 00000 n 0000032983 00000 n 0000030008 00000 n 0000039442 00000 n 0001615568 00000 n 0000482306 00000 n 0000507659 00000 n 0000510667 00000 n 0000516540 00000 n 0000523062 00000 n 0000527338 00000 n 0000534652 00000 n 0000543827 00000 n 0000547862 00000 n 0000553188 00000 n 0000556540 00000 n 0000561133 00000 n 0000564926 00000 n 0000569294 00000 n 0000578218 00000 n 0000581645 00000 n 0000590176 00000 n 0000592949 00000 n 0000597154 00000 n 0000601424 00000 n 0000608637 00000 n 0000612402 00000 n 0000616483 00000 n 0000629702 00000 n 0000042941 00000 n 0000043071 00000 n 0000043201 00000 n 0000043331 00000 n 0000043460 00000 n 0000043589 00000 n 0000043719 00000 n 0000043849 00000 n 0000043979 00000 n 0000044108 00000 n 0000044238 00000 n 0000044368 00000 n 0000044498 00000 n 0000044628 00000 n 0000044758 00000 n 0000044888 00000 n 0000045018 00000 n 0000045148 00000 n 0000045277 00000 n 0000045407 00000 n 0000045537 00000 n 0000045667 00000 n 0000045796 00000 n 0000045926 00000 n 0000046056 00000 n 0000046186 00000 n 0000046316 00000 n 0000046446 00000 n 0000046576 00000 n 0000046706 00000 n 0000046836 00000 n 0000046966 00000 n 0000047096 00000 n 0000047226 00000 n 0000047355 00000 n 0000047485 00000 n 0000047614 00000 n 0000047744 00000 n 0000047874 00000 n 0000048004 00000 n 0000051458 00000 n 0000051584 00000 n 0000051714 00000 n 0000051844 00000 n 0000051974 00000 n 0000048186 00000 n 0000042359 00000 n 0000039612 00000 n 0000048133 00000 n 0001616853 00000 n 0001617617 00000 n 0000634586 00000 n 0000639136 00000 n 0000642324 00000 n 0000645022 00000 n 0000648506 00000 n 0000652008 00000 n 0000654942 00000 n 0000658441 00000 n 0000661775 00000 n 0000667978 00000 n 0000671175 00000 n 0000674021 00000 n 0000680988 00000 n 0000684524 00000 n 0000686268 00000 n 0000689673 00000 n 0000692986 00000 n 0000695785 00000 n 0000697639 00000 n 0000052104 00000 n 0000052234 00000 n 0000052364 00000 n 0000052494 00000 n 0000052623 00000 n 0000052753 00000 n 0000052883 00000 n 0000053013 00000 n 0000053143 00000 n 0000053273 00000 n 0000053401 00000 n 0000053531 00000 n 0000053661 00000 n 0000053791 00000 n 0000053921 00000 n 0000054051 00000 n 0000054181 00000 n 0000054311 00000 n 0000054441 00000 n 0000054571 00000 n 0000054701 00000 n 0000054831 00000 n 0000054961 00000 n 0000055091 00000 n 0000055221 00000 n 0000055349 00000 n 0000055478 00000 n 0000055608 00000 n 0000055738 00000 n 0000055868 00000 n 0000055998 00000 n 0000056128 00000 n 0000056258 00000 n 0000056387 00000 n 0000056515 00000 n 0000056645 00000 n 0000056775 00000 n 0000056905 00000 n 0000057035 00000 n 0000057164 00000 n 0000057293 00000 n 0000057423 00000 n 0000057552 00000 n 0000061074 00000 n 0000061200 00000 n 0000057733 00000 n 0000050950 00000 n 0000048316 00000 n 0000057680 00000 n 0000701240 00000 n 0000704771 00000 n 0000707876 00000 n 0000712281 00000 n 0000716428 00000 n 0000719075 00000 n 0000722829 00000 n 0000728778 00000 n 0000736082 00000 n 0000742648 00000 n 0000745876 00000 n 0000748697 00000 n 0000752673 00000 n 0000755280 00000 n 0000758233 00000 n 0000760431 00000 n 0000762743 00000 n 0000766297 00000 n 0000769697 00000 n 0000772647 00000 n 0000775446 00000 n 0000777089 00000 n 0000061330 00000 n 0000061460 00000 n 0000061590 00000 n 0000061720 00000 n 0000061850 00000 n 0000061980 00000 n 0000062110 00000 n 0000062239 00000 n 0000062369 00000 n 0000062499 00000 n 0000062629 00000 n 0000062758 00000 n 0000062887 00000 n 0000063016 00000 n 0000063146 00000 n 0000063275 00000 n 0000063405 00000 n 0000063535 00000 n 0000063665 00000 n 0000063795 00000 n 0000063925 00000 n 0000064055 00000 n 0000064185 00000 n 0000064315 00000 n 0000064445 00000 n 0000064574 00000 n 0000064704 00000 n 0000064834 00000 n 0000064964 00000 n 0000065093 00000 n 0000065223 00000 n 0000065353 00000 n 0000065481 00000 n 0000065610 00000 n 0000065739 00000 n 0000065869 00000 n 0000065999 00000 n 0000066127 00000 n 0000067041 00000 n 0000066308 00000 n 0000060630 00000 n 0000057851 00000 n 0000066255 00000 n 0000781555 00000 n 0000784491 00000 n 0000788384 00000 n 0000800843 00000 n 0000804016 00000 n 0000807134 00000 n 0000810983 00000 n 0000814767 00000 n 0000820571 00000 n 0000823717 00000 n 0000830810 00000 n 0000834296 00000 n 0000837644 00000 n 0000841214 00000 n 0000845051 00000 n 0000847835 00000 n 0000851034 00000 n 0000856337 00000 n 0000860766 00000 n 0000863832 00000 n 0000871201 00000 n 0000875372 00000 n 0000879195 00000 n 0000882131 00000 n 0000896637 00000 n 0000067167 00000 n 0000067297 00000 n 0000067426 00000 n 0000067609 00000 n 0000066885 00000 n 0000066425 00000 n 0000067556 00000 n 0000940005 00000 n 0001085624 00000 n 0001196765 00000 n 0001268433 00000 n 0000067702 00000 n 0000100305 00000 n 0001654830 00000 n 0000067752 00000 n 0000067784 00000 n 0000100359 00000 n 0001654751 00000 n 0000067829 00000 n 0000067856 00000 n 0000103704 00000 n 0001654658 00000 n 0000067906 00000 n 0000067938 00000 n 0000107400 00000 n 0001654565 00000 n 0000067986 00000 n 0000068016 00000 n 0000107454 00000 n 0001654472 00000 n 0000068062 00000 n 0000068090 00000 n 0000112926 00000 n 0001654393 00000 n 0000068139 00000 n 0000068202 00000 n 0000115849 00000 n 0001654259 00000 n 0000068258 00000 n 0000068296 00000 n 0000115903 00000 n 0001654180 00000 n 0000068342 00000 n 0000068370 00000 n 0000115961 00000 n 0001654087 00000 n 0000068417 00000 n 0000068446 00000 n 0000116019 00000 n 0001653955 00000 n 0000068502 00000 n 0000068540 00000 n 0000116077 00000 n 0001653876 00000 n 0000068602 00000 n 0000068646 00000 n 0000122618 00000 n 0001653783 00000 n 0000068702 00000 n 0000068740 00000 n 0000122672 00000 n 0001653704 00000 n 0000068802 00000 n 0000068846 00000 n 0000122728 00000 n 0001653611 00000 n 0000068890 00000 n 0000068916 00000 n 0000125864 00000 n 0001653518 00000 n 0000068971 00000 n 0000069008 00000 n 0000132132 00000 n 0001653425 00000 n 0000069058 00000 n 0000069090 00000 n 0000136295 00000 n 0001653332 00000 n 0000069139 00000 n 0000069170 00000 n 0000148114 00000 n 0001653239 00000 n 0000069215 00000 n 0000069242 00000 n 0000153009 00000 n 0001653146 00000 n 0000069286 00000 n 0000069312 00000 n 0000153067 00000 n 0001653053 00000 n 0000069359 00000 n 0000069388 00000 n 0000159077 00000 n 0001652960 00000 n 0000069440 00000 n 0000069484 00000 n 0000159131 00000 n 0001652881 00000 n 0000069532 00000 n 0000069562 00000 n 0000162567 00000 n 0001652748 00000 n 0000069606 00000 n 0000069632 00000 n 0000162621 00000 n 0001652669 00000 n 0000069691 00000 n 0000069736 00000 n 0000171707 00000 n 0001652576 00000 n 0000069800 00000 n 0000069846 00000 n 0000174916 00000 n 0001652483 00000 n 0000069897 00000 n 0000069930 00000 n 0000174974 00000 n 0001652390 00000 n 0000069979 00000 n 0000070020 00000 n 0000179125 00000 n 0001652257 00000 n 0000070073 00000 n 0000070108 00000 n 0000179183 00000 n 0001652178 00000 n 0000070156 00000 n 0000070186 00000 n 0000187402 00000 n 0001652085 00000 n 0000070247 00000 n 0000070290 00000 n 0000194490 00000 n 0001651992 00000 n 0000070351 00000 n 0000070399 00000 n 0000194548 00000 n 0001651899 00000 n 0000070462 00000 n 0000070507 00000 n 0000198737 00000 n 0001651806 00000 n 0000070569 00000 n 0000070613 00000 n 0000202230 00000 n 0001651713 00000 n 0000070666 00000 n 0000070701 00000 n 0000202284 00000 n 0001651620 00000 n 0000070755 00000 n 0000070791 00000 n 0000206177 00000 n 0001651527 00000 n 0000070859 00000 n 0000070909 00000 n 0000211330 00000 n 0001651434 00000 n 0000070965 00000 n 0000071003 00000 n 0000211388 00000 n 0001651355 00000 n 0000071058 00000 n 0000071095 00000 n 0000217570 00000 n 0001651276 00000 n 0000071141 00000 n 0000071169 00000 n 0000222887 00000 n 0001651143 00000 n 0000071217 00000 n 0000071247 00000 n 0000222941 00000 n 0001651064 00000 n 0000071296 00000 n 0000071327 00000 n 0000222999 00000 n 0001650932 00000 n 0000071379 00000 n 0000071413 00000 n 0000226378 00000 n 0001650867 00000 n 0000071464 00000 n 0000071497 00000 n 0000226436 00000 n 0001650774 00000 n 0000071549 00000 n 0000071583 00000 n 0000234127 00000 n 0001650681 00000 n 0000071635 00000 n 0000071669 00000 n 0000241331 00000 n 0001650588 00000 n 0000071730 00000 n 0000071773 00000 n 0000244913 00000 n 0001650495 00000 n 0000071829 00000 n 0000071867 00000 n 0000244971 00000 n 0001650402 00000 n 0000071919 00000 n 0000071967 00000 n 0000248691 00000 n 0001650323 00000 n 0000072020 00000 n 0000072055 00000 n 0000253083 00000 n 0001650190 00000 n 0000072103 00000 n 0000072133 00000 n 0000253137 00000 n 0001650111 00000 n 0000072182 00000 n 0000072226 00000 n 0000258334 00000 n 0001649979 00000 n 0000072279 00000 n 0000072328 00000 n 0000258392 00000 n 0001649900 00000 n 0000072381 00000 n 0000072433 00000 n 0000262271 00000 n 0001649807 00000 n 0000072481 00000 n 0000072523 00000 n 0000262325 00000 n 0001649714 00000 n 0000072586 00000 n 0000072639 00000 n 0000266156 00000 n 0001649621 00000 n 0000072703 00000 n 0000072749 00000 n 0000266214 00000 n 0001649528 00000 n 0000072804 00000 n 0000072864 00000 n 0000269376 00000 n 0001649435 00000 n 0000072925 00000 n 0000072968 00000 n 0000269430 00000 n 0001649356 00000 n 0000073023 00000 n 0000073060 00000 n 0000275428 00000 n 0001649224 00000 n 0000073114 00000 n 0000073150 00000 n 0000275482 00000 n 0001649145 00000 n 0000073201 00000 n 0000073234 00000 n 0000275540 00000 n 0001649052 00000 n 0000073299 00000 n 0000073346 00000 n 0000278810 00000 n 0001648973 00000 n 0000073404 00000 n 0000073444 00000 n 0000285773 00000 n 0001648880 00000 n 0000073492 00000 n 0000073522 00000 n 0000289751 00000 n 0001648787 00000 n 0000073579 00000 n 0000073632 00000 n 0000289805 00000 n 0001648708 00000 n 0000073680 00000 n 0000073710 00000 n 0000299239 00000 n 0001648575 00000 n 0000073752 00000 n 0000073776 00000 n 0000299293 00000 n 0001648496 00000 n 0000073829 00000 n 0000073864 00000 n 0000299351 00000 n 0001648403 00000 n 0000073914 00000 n 0000073946 00000 n 0000309645 00000 n 0001648310 00000 n 0000073994 00000 n 0000074024 00000 n 0000309699 00000 n 0001648231 00000 n 0000074074 00000 n 0000074106 00000 n 0000313422 00000 n 0001648098 00000 n 0000074166 00000 n 0000074208 00000 n 0000313476 00000 n 0001648019 00000 n 0000074261 00000 n 0000074296 00000 n 0000318719 00000 n 0001647926 00000 n 0000074352 00000 n 0000074390 00000 n 0000318777 00000 n 0001647833 00000 n 0000074445 00000 n 0000074482 00000 n 0000323010 00000 n 0001647740 00000 n 0000074540 00000 n 0000074580 00000 n 0000326456 00000 n 0001647608 00000 n 0000074629 00000 n 0000074660 00000 n 0000326510 00000 n 0001647490 00000 n 0000074714 00000 n 0000074750 00000 n 0000326568 00000 n 0001647411 00000 n 0000074815 00000 n 0000074862 00000 n 0000326626 00000 n 0001647332 00000 n 0000074917 00000 n 0000074954 00000 n 0000332488 00000 n 0001647239 00000 n 0000075009 00000 n 0000075046 00000 n 0000335367 00000 n 0001647160 00000 n 0000075105 00000 n 0000075146 00000 n 0000338344 00000 n 0001647081 00000 n 0000075196 00000 n 0000075232 00000 n 0000342275 00000 n 0001646948 00000 n 0000075285 00000 n 0000075320 00000 n 0000342329 00000 n 0001646869 00000 n 0000075368 00000 n 0000075425 00000 n 0000345380 00000 n 0001646737 00000 n 0000075482 00000 n 0000075521 00000 n 0000349040 00000 n 0001646658 00000 n 0000075579 00000 n 0000075619 00000 n 0000355148 00000 n 0001646579 00000 n 0000075675 00000 n 0000075713 00000 n 0000355202 00000 n 0001646447 00000 n 0000075775 00000 n 0000075819 00000 n 0000358868 00000 n 0001646368 00000 n 0000075884 00000 n 0000075936 00000 n 0000362523 00000 n 0001646289 00000 n 0000075988 00000 n 0000076022 00000 n 0000366223 00000 n 0001646157 00000 n 0000076078 00000 n 0000076116 00000 n 0000370576 00000 n 0001646078 00000 n 0000076171 00000 n 0000076208 00000 n 0000373959 00000 n 0001645985 00000 n 0000076261 00000 n 0000076296 00000 n 0000383710 00000 n 0001645906 00000 n 0000076353 00000 n 0000076416 00000 n 0000387279 00000 n 0001645813 00000 n 0000076470 00000 n 0000076506 00000 n 0000391520 00000 n 0001645720 00000 n 0000076558 00000 n 0000076612 00000 n 0000393233 00000 n 0001645641 00000 n 0000076665 00000 n 0000076700 00000 n 0000396876 00000 n 0001645508 00000 n 0000076764 00000 n 0000076810 00000 n 0000396930 00000 n 0001645390 00000 n 0000076855 00000 n 0000076882 00000 n 0000396988 00000 n 0001645311 00000 n 0000076938 00000 n 0000076976 00000 n 0000397046 00000 n 0001645218 00000 n 0000077027 00000 n 0000077060 00000 n 0000400127 00000 n 0001645100 00000 n 0000077115 00000 n 0000077152 00000 n 0000402759 00000 n 0001645021 00000 n 0000077207 00000 n 0000077244 00000 n 0000408127 00000 n 0001644928 00000 n 0000077300 00000 n 0000077338 00000 n 0000411958 00000 n 0001644849 00000 n 0000077397 00000 n 0000077438 00000 n 0000412016 00000 n 0001644756 00000 n 0000077487 00000 n 0000077518 00000 n 0000418429 00000 n 0001644663 00000 n 0000077565 00000 n 0000077594 00000 n 0000418487 00000 n 0001644570 00000 n 0000077641 00000 n 0000077690 00000 n 0000418545 00000 n 0001644477 00000 n 0000077743 00000 n 0000077778 00000 n 0000421447 00000 n 0001644359 00000 n 0000077825 00000 n 0000077854 00000 n 0000425912 00000 n 0001644280 00000 n 0000077907 00000 n 0000077960 00000 n 0000425966 00000 n 0001644201 00000 n 0000078016 00000 n 0000078054 00000 n 0000431750 00000 n 0001644066 00000 n 0000078104 00000 n 0000078136 00000 n 0000431804 00000 n 0001643987 00000 n 0000078186 00000 n 0000078218 00000 n 0000436540 00000 n 0001643894 00000 n 0000078273 00000 n 0000078314 00000 n 0000440501 00000 n 0001643759 00000 n 0000078373 00000 n 0000078418 00000 n 0000440559 00000 n 0001643677 00000 n 0000078475 00000 n 0000078519 00000 n 0000447818 00000 n 0001643579 00000 n 0000078574 00000 n 0000078615 00000 n 0000453535 00000 n 0001643481 00000 n 0000078682 00000 n 0000078731 00000 n 0000461801 00000 n 0001643383 00000 n 0000078778 00000 n 0000078825 00000 n 0000465376 00000 n 0001643285 00000 n 0000078875 00000 n 0000078907 00000 n 0000465435 00000 n 0001643202 00000 n 0000078960 00000 n 0000078995 00000 n 0000469765 00000 n 0001643064 00000 n 0000079058 00000 n 0000079103 00000 n 0000469824 00000 n 0001642980 00000 n 0000079152 00000 n 0000079183 00000 n 0000469883 00000 n 0001642881 00000 n 0000079248 00000 n 0000079295 00000 n 0000473228 00000 n 0001642782 00000 n 0000079354 00000 n 0000079395 00000 n 0000476936 00000 n 0001642698 00000 n 0000079465 00000 n 0000079517 00000 n 0000482360 00000 n 0001642600 00000 n 0000079571 00000 n 0000079621 00000 n 0000507713 00000 n 0001642461 00000 n 0000079679 00000 n 0000079719 00000 n 0000507772 00000 n 0001642377 00000 n 0000079774 00000 n 0000079811 00000 n 0000510721 00000 n 0001642278 00000 n 0000079862 00000 n 0000079895 00000 n 0000510780 00000 n 0001642194 00000 n 0000079949 00000 n 0000080005 00000 n 0000516594 00000 n 0001642096 00000 n 0000080066 00000 n 0000080109 00000 n 0000523116 00000 n 0001642013 00000 n 0000080166 00000 n 0000080218 00000 n 0000527392 00000 n 0001641874 00000 n 0000080263 00000 n 0000080306 00000 n 0000527447 00000 n 0001641790 00000 n 0000080371 00000 n 0000080418 00000 n 0000534824 00000 n 0001641691 00000 n 0000080474 00000 n 0000080512 00000 n 0000534883 00000 n 0001641592 00000 n 0000080567 00000 n 0000080604 00000 n 0000543881 00000 n 0001641493 00000 n 0000080656 00000 n 0000080690 00000 n 0000547916 00000 n 0001641394 00000 n 0000080742 00000 n 0000080776 00000 n 0000547971 00000 n 0001641295 00000 n 0000080832 00000 n 0000080870 00000 n 0000548030 00000 n 0001641155 00000 n 0000080925 00000 n 0000080962 00000 n 0000548088 00000 n 0001641071 00000 n 0000081016 00000 n 0000081052 00000 n 0000553242 00000 n 0001640972 00000 n 0000081118 00000 n 0000081166 00000 n 0000553301 00000 n 0001640873 00000 n 0000081222 00000 n 0000081260 00000 n 0000556594 00000 n 0001640774 00000 n 0000081327 00000 n 0000081376 00000 n 0000556653 00000 n 0001640690 00000 n 0000081427 00000 n 0000081477 00000 n 0000561187 00000 n 0001640606 00000 n 0000081530 00000 n 0000081565 00000 n 0000564980 00000 n 0001640465 00000 n 0000081613 00000 n 0000081643 00000 n 0000565035 00000 n 0001640381 00000 n 0000081703 00000 n 0000081745 00000 n 0000569348 00000 n 0001640282 00000 n 0000081800 00000 n 0000081837 00000 n 0000569407 00000 n 0001640183 00000 n 0000081891 00000 n 0000081927 00000 n 0000578272 00000 n 0001640084 00000 n 0000081992 00000 n 0000082039 00000 n 0000581699 00000 n 0001639985 00000 n 0000082091 00000 n 0000082125 00000 n 0000590230 00000 n 0001639844 00000 n 0000082175 00000 n 0000082207 00000 n 0000590289 00000 n 0001639760 00000 n 0000082266 00000 n 0000082307 00000 n 0000590348 00000 n 0001639661 00000 n 0000082359 00000 n 0000082393 00000 n 0000593003 00000 n 0001639562 00000 n 0000082459 00000 n 0000082507 00000 n 0000593062 00000 n 0001639463 00000 n 0000082563 00000 n 0000082601 00000 n 0000597208 00000 n 0001639364 00000 n 0000082660 00000 n 0000082701 00000 n 0000597267 00000 n 0001639265 00000 n 0000082761 00000 n 0000082788 00000 n 0000597326 00000 n 0001639166 00000 n 0000082848 00000 n 0000082890 00000 n 0000601478 00000 n 0001639067 00000 n 0000082959 00000 n 0000083010 00000 n 0000601536 00000 n 0001638968 00000 n 0000083074 00000 n 0000083120 00000 n 0000601595 00000 n 0001638869 00000 n 0000083170 00000 n 0000083202 00000 n 0000608691 00000 n 0001638785 00000 n 0000083259 00000 n 0000083321 00000 n 0000612456 00000 n 0001638645 00000 n 0000083382 00000 n 0000083425 00000 n 0000612511 00000 n 0001638561 00000 n 0000083487 00000 n 0000083531 00000 n 0000612570 00000 n 0001638462 00000 n 0000083591 00000 n 0000083643 00000 n 0000616537 00000 n 0001638363 00000 n 0000083702 00000 n 0000083743 00000 n 0000616596 00000 n 0001638279 00000 n 0000083809 00000 n 0000083857 00000 n 0000629756 00000 n 0001638180 00000 n 0000083911 00000 n 0000083947 00000 n 0000629811 00000 n 0001638039 00000 n 0000084010 00000 n 0000084055 00000 n 0000629870 00000 n 0001637955 00000 n 0000084123 00000 n 0000084173 00000 n 0000629929 00000 n 0001637856 00000 n 0000084231 00000 n 0000084271 00000 n 0000634640 00000 n 0001637716 00000 n 0000084330 00000 n 0000084371 00000 n 0001637632 00000 n 0000084413 00000 n 0000084474 00000 n 0001637548 00000 n 0000084516 00000 n 0000084572 00000 n 0000634817 00000 n 0001637408 00000 n 0000084633 00000 n 0000084676 00000 n 0001637324 00000 n 0000084718 00000 n 0000084775 00000 n 0001637240 00000 n 0000084817 00000 n 0000084876 00000 n 0000639190 00000 n 0001637141 00000 n 0000084934 00000 n 0000084974 00000 n 0000639249 00000 n 0001637042 00000 n 0000085033 00000 n 0000085074 00000 n 0000642378 00000 n 0001636943 00000 n 0000085133 00000 n 0000085174 00000 n 0000645076 00000 n 0001636803 00000 n 0000085242 00000 n 0000085292 00000 n 0000645135 00000 n 0001636719 00000 n 0000085365 00000 n 0000085420 00000 n 0000648560 00000 n 0001636635 00000 n 0000085508 00000 n 0000085578 00000 n 0000648619 00000 n 0001636536 00000 n 0000085650 00000 n 0000085704 00000 n 0000652062 00000 n 0001636437 00000 n 0000085773 00000 n 0000085824 00000 n 0000652121 00000 n 0001636312 00000 n 0000085892 00000 n 0000085942 00000 n 0000652180 00000 n 0001636228 00000 n 0000086013 00000 n 0000086066 00000 n 0000655055 00000 n 0001636129 00000 n 0000086142 00000 n 0000086200 00000 n 0000658554 00000 n 0001636030 00000 n 0000086262 00000 n 0000086306 00000 n 0000661829 00000 n 0001635931 00000 n 0000086377 00000 n 0000086430 00000 n 0000668032 00000 n 0001635847 00000 n 0000086496 00000 n 0000086544 00000 n 0000668090 00000 n 0001635748 00000 n 0000086599 00000 n 0000086636 00000 n 0000671229 00000 n 0001635649 00000 n 0000086699 00000 n 0000086744 00000 n 0000671288 00000 n 0001635550 00000 n 0000086808 00000 n 0000086854 00000 n 0000674075 00000 n 0001635466 00000 n 0000086915 00000 n 0000086958 00000 n 0000681042 00000 n 0001635326 00000 n 0000087007 00000 n 0000087038 00000 n 0000681097 00000 n 0001635201 00000 n 0000087090 00000 n 0000087124 00000 n 0000681155 00000 n 0001635117 00000 n 0000087176 00000 n 0000087235 00000 n 0000681213 00000 n 0001635018 00000 n 0000087298 00000 n 0000087353 00000 n 0000684578 00000 n 0001634919 00000 n 0000087407 00000 n 0000087443 00000 n 0000684637 00000 n 0001634820 00000 n 0000087499 00000 n 0000087537 00000 n 0000686322 00000 n 0001634721 00000 n 0000087594 00000 n 0000087640 00000 n 0000689727 00000 n 0001634622 00000 n 0000087695 00000 n 0000087745 00000 n 0000689786 00000 n 0001634523 00000 n 0000087791 00000 n 0000087832 00000 n 0000693040 00000 n 0001634439 00000 n 0000087890 00000 n 0000087930 00000 n 0000693099 00000 n 0001634340 00000 n 0000087984 00000 n 0000088020 00000 n 0000695839 00000 n 0001634200 00000 n 0000088079 00000 n 0000088120 00000 n 0000695897 00000 n 0001634116 00000 n 0000088173 00000 n 0000088234 00000 n 0000695956 00000 n 0001634032 00000 n 0000088288 00000 n 0000088350 00000 n 0000697693 00000 n 0001633948 00000 n 0000088411 00000 n 0000088454 00000 n 0000701294 00000 n 0001633807 00000 n 0000088517 00000 n 0000088562 00000 n 0000701349 00000 n 0001633723 00000 n 0000088625 00000 n 0000088670 00000 n 0000704825 00000 n 0001633624 00000 n 0000088728 00000 n 0000088768 00000 n 0000704884 00000 n 0001633525 00000 n 0000088828 00000 n 0000088870 00000 n 0000707930 00000 n 0001633426 00000 n 0000088931 00000 n 0000088974 00000 n 0000712335 00000 n 0001633327 00000 n 0000089035 00000 n 0000089078 00000 n 0000716482 00000 n 0001633228 00000 n 0000089133 00000 n 0000089170 00000 n 0000719129 00000 n 0001633129 00000 n 0000089218 00000 n 0000089248 00000 n 0000719187 00000 n 0001632989 00000 n 0000089303 00000 n 0000089340 00000 n 0000722883 00000 n 0001632905 00000 n 0000089401 00000 n 0000089444 00000 n 0000728891 00000 n 0001632779 00000 n 0000089508 00000 n 0000089554 00000 n 0000728950 00000 n 0001632695 00000 n 0000089596 00000 n 0000089621 00000 n 0000736136 00000 n 0001632596 00000 n 0000089667 00000 n 0000089696 00000 n 0000742702 00000 n 0001632497 00000 n 0000089739 00000 n 0000089765 00000 n 0000742761 00000 n 0001632398 00000 n 0000089813 00000 n 0000089844 00000 n 0000745930 00000 n 0001632299 00000 n 0000089886 00000 n 0000089932 00000 n 0000748751 00000 n 0001632200 00000 n 0000089978 00000 n 0000090007 00000 n 0000748806 00000 n 0001632101 00000 n 0000090052 00000 n 0000090080 00000 n 0000748864 00000 n 0001632002 00000 n 0000090125 00000 n 0000090153 00000 n 0000748922 00000 n 0001631903 00000 n 0000090200 00000 n 0000090230 00000 n 0000752727 00000 n 0001631804 00000 n 0000090276 00000 n 0000090305 00000 n 0000752782 00000 n 0001631705 00000 n 0000090353 00000 n 0000090384 00000 n 0000752841 00000 n 0001631606 00000 n 0000090430 00000 n 0000090459 00000 n 0000752900 00000 n 0001631507 00000 n 0000090503 00000 n 0000090530 00000 n 0000755334 00000 n 0001631408 00000 n 0000090578 00000 n 0000090609 00000 n 0000758287 00000 n 0001631309 00000 n 0000090657 00000 n 0000090688 00000 n 0000758346 00000 n 0001631210 00000 n 0000090732 00000 n 0000090759 00000 n 0000758405 00000 n 0001631111 00000 n 0000090801 00000 n 0000090826 00000 n 0000760485 00000 n 0001631012 00000 n 0000090871 00000 n 0000090899 00000 n 0000762797 00000 n 0001630913 00000 n 0000090946 00000 n 0000090976 00000 n 0000762852 00000 n 0001630814 00000 n 0000091023 00000 n 0000091053 00000 n 0000766351 00000 n 0001630715 00000 n 0000091099 00000 n 0000091128 00000 n 0000766410 00000 n 0001630616 00000 n 0000091178 00000 n 0000091211 00000 n 0000766469 00000 n 0001630517 00000 n 0000091254 00000 n 0000091280 00000 n 0000766528 00000 n 0001630418 00000 n 0000091323 00000 n 0000091349 00000 n 0000769751 00000 n 0001630319 00000 n 0000091392 00000 n 0000091418 00000 n 0000769806 00000 n 0001630220 00000 n 0000091465 00000 n 0000091495 00000 n 0000769865 00000 n 0001630136 00000 n 0000091542 00000 n 0000091572 00000 n 0000769924 00000 n 0001629996 00000 n 0000091632 00000 n 0000091674 00000 n 0001629871 00000 n 0000091716 00000 n 0000091748 00000 n 0001629787 00000 n 0000091790 00000 n 0000091825 00000 n 0001629703 00000 n 0000091867 00000 n 0000091903 00000 n 0001629578 00000 n 0000091945 00000 n 0000091973 00000 n 0001629494 00000 n 0000092015 00000 n 0000092050 00000 n 0001629410 00000 n 0000092092 00000 n 0000092128 00000 n 0000775500 00000 n 0001629311 00000 n 0000092189 00000 n 0000092232 00000 n 0000777143 00000 n 0001629212 00000 n 0000092304 00000 n 0000092358 00000 n 0000777198 00000 n 0001629128 00000 n 0000092412 00000 n 0000092448 00000 n 0000781609 00000 n 0001628987 00000 n 0000092500 00000 n 0000092534 00000 n 0000781664 00000 n 0001628903 00000 n 0000092583 00000 n 0000092614 00000 n 0000781723 00000 n 0001628804 00000 n 0000092667 00000 n 0000092702 00000 n 0000784545 00000 n 0001628705 00000 n 0000092751 00000 n 0000092782 00000 n 0000784604 00000 n 0001628606 00000 n 0000092845 00000 n 0000092901 00000 n 0000788438 00000 n 0001628507 00000 n 0000092953 00000 n 0000092987 00000 n 0000788497 00000 n 0001628408 00000 n 0000093044 00000 n 0000093094 00000 n 0000800897 00000 n 0001628309 00000 n 0000093158 00000 n 0000093204 00000 n 0000804070 00000 n 0001628210 00000 n 0000093253 00000 n 0000093296 00000 n 0000807188 00000 n 0001628111 00000 n 0000093343 00000 n 0000093382 00000 n 0000811037 00000 n 0001627971 00000 n 0000093432 00000 n 0000093484 00000 n 0000811096 00000 n 0001627887 00000 n 0000093534 00000 n 0000093588 00000 n 0000814821 00000 n 0001627803 00000 n 0000093636 00000 n 0000093702 00000 n 0000820625 00000 n 0001627719 00000 n 0000093750 00000 n 0000093783 00000 n 0000823771 00000 n 0001627578 00000 n 0000093829 00000 n 0000093857 00000 n 0000823826 00000 n 0001627494 00000 n 0000093901 00000 n 0000093927 00000 n 0000823885 00000 n 0001627395 00000 n 0000093981 00000 n 0000094017 00000 n 0000823944 00000 n 0001627296 00000 n 0000094078 00000 n 0000094121 00000 n 0000830864 00000 n 0001627197 00000 n 0000094183 00000 n 0000094227 00000 n 0000830919 00000 n 0001627098 00000 n 0000094292 00000 n 0000094339 00000 n 0000834350 00000 n 0001626958 00000 n 0000094404 00000 n 0000094461 00000 n 0000834405 00000 n 0001626874 00000 n 0000094512 00000 n 0000094545 00000 n 0000837698 00000 n 0001626775 00000 n 0000094601 00000 n 0000094655 00000 n 0000841268 00000 n 0001626676 00000 n 0000094714 00000 n 0000094755 00000 n 0000845105 00000 n 0001626592 00000 n 0000094805 00000 n 0000094837 00000 n 0000847889 00000 n 0001626493 00000 n 0000094890 00000 n 0000094925 00000 n 0000851088 00000 n 0001626394 00000 n 0000094984 00000 n 0000095025 00000 n 0000856391 00000 n 0001626295 00000 n 0000095088 00000 n 0000095133 00000 n 0000856446 00000 n 0001626196 00000 n 0000095201 00000 n 0000095251 00000 n 0000860820 00000 n 0001626097 00000 n 0000095312 00000 n 0000095355 00000 n 0000863886 00000 n 0001626013 00000 n 0000095415 00000 n 0000095457 00000 n 0000871255 00000 n 0001625873 00000 n 0000095505 00000 n 0000095535 00000 n 0000871310 00000 n 0001625789 00000 n 0000095601 00000 n 0000095649 00000 n 0000871369 00000 n 0001625690 00000 n 0000095708 00000 n 0000095749 00000 n 0000875426 00000 n 0001625606 00000 n 0000095810 00000 n 0000095853 00000 n 0000879249 00000 n 0001625466 00000 n 0000095919 00000 n 0000095967 00000 n 0001625382 00000 n 0000096009 00000 n 0000096042 00000 n 0001625283 00000 n 0000096084 00000 n 0000096117 00000 n 0001625199 00000 n 0000096159 00000 n 0000096201 00000 n 0000896691 00000 n 0001625100 00000 n 0000096270 00000 n 0000096321 00000 n 0000940059 00000 n 0001625001 00000 n 0000096370 00000 n 0000096404 00000 n 0001085678 00000 n 0001624902 00000 n 0000096452 00000 n 0000096482 00000 n 0001196819 00000 n 0001624803 00000 n 0000096547 00000 n 0000096594 00000 n 0001268487 00000 n 0001624719 00000 n 0000096647 00000 n 0000099761 00000 n 0000099912 00000 n 0000100417 00000 n 0000099607 00000 n 0000096682 00000 n 0001616526 00000 n 0000100083 00000 n 0000103163 00000 n 0000103319 00000 n 0000103471 00000 n 0000103758 00000 n 0000103009 00000 n 0000100550 00000 n 0001614507 00000 n 0001616217 00000 n 0000107046 00000 n 0000107186 00000 n 0000107512 00000 n 0000106900 00000 n 0000103893 00000 n 0001615424 00000 n 0001615728 00000 n 0001617342 00000 n 0001617737 00000 n 0000110235 00000 n 0000110064 00000 n 0000107675 00000 n 0000110180 00000 n 0000112984 00000 n 0000112757 00000 n 0000110358 00000 n 0000115655 00000 n 0000116135 00000 n 0000115518 00000 n 0000113147 00000 n 0000118958 00000 n 0000119101 00000 n 0000122412 00000 n 0000119303 00000 n 0000118812 00000 n 0000116298 00000 n 0000119248 00000 n 0000122115 00000 n 0000122786 00000 n 0000121960 00000 n 0000119455 00000 n 0000122264 00000 n 0000125535 00000 n 0000125922 00000 n 0000125389 00000 n 0000122935 00000 n 0000125673 00000 n 0001617862 00000 n 0000128508 00000 n 0000128337 00000 n 0000126085 00000 n 0000128453 00000 n 0000131657 00000 n 0000131941 00000 n 0000132190 00000 n 0000131502 00000 n 0000128606 00000 n 0000131800 00000 n 0000135672 00000 n 0000135961 00000 n 0000136102 00000 n 0000136353 00000 n 0000135508 00000 n 0000132353 00000 n 0000135817 00000 n 0000140191 00000 n 0000140385 00000 n 0000140054 00000 n 0000136528 00000 n 0000140330 00000 n 0001616690 00000 n 0000143729 00000 n 0000143877 00000 n 0000147481 00000 n 0000144074 00000 n 0000143583 00000 n 0000140577 00000 n 0000144019 00000 n 0000147623 00000 n 0000147772 00000 n 0000147911 00000 n 0000151623 00000 n 0000151922 00000 n 0000152230 00000 n 0000148172 00000 n 0000147317 00000 n 0000144226 00000 n 0001617987 00000 n 0000152521 00000 n 0000152668 00000 n 0000152813 00000 n 0000153125 00000 n 0000151414 00000 n 0000148335 00000 n 0000151773 00000 n 0000152076 00000 n 0000152376 00000 n 0000155991 00000 n 0000155820 00000 n 0000153260 00000 n 0000155936 00000 n 0000158681 00000 n 0000159189 00000 n 0000158535 00000 n 0000156129 00000 n 0000158853 00000 n 0000162364 00000 n 0000162679 00000 n 0000162227 00000 n 0000159312 00000 n 0001615890 00000 n 0000164704 00000 n 0000164533 00000 n 0000162870 00000 n 0000164649 00000 n 0000167655 00000 n 0000167928 00000 n 0000168141 00000 n 0000167500 00000 n 0000164816 00000 n 0000168086 00000 n 0000167792 00000 n 0001618112 00000 n 0000171359 00000 n 0000171765 00000 n 0000171213 00000 n 0000168253 00000 n 0000171507 00000 n 0000175032 00000 n 0000174747 00000 n 0000171914 00000 n 0000178914 00000 n 0000179241 00000 n 0000178777 00000 n 0000175167 00000 n 0000182450 00000 n 0000182806 00000 n 0000182304 00000 n 0000179416 00000 n 0000182751 00000 n 0000182601 00000 n 0000186701 00000 n 0000186854 00000 n 0000187003 00000 n 0000187460 00000 n 0000186537 00000 n 0000182955 00000 n 0000187177 00000 n 0000190901 00000 n 0000191206 00000 n 0000191582 00000 n 0000190737 00000 n 0000187609 00000 n 0000191527 00000 n 0000191054 00000 n 0000191367 00000 n 0001618237 00000 n 0000194605 00000 n 0000194321 00000 n 0000191720 00000 n 0000198075 00000 n 0000198390 00000 n 0000198537 00000 n 0000198795 00000 n 0000197911 00000 n 0000194700 00000 n 0000198233 00000 n 0000202342 00000 n 0000202061 00000 n 0000198918 00000 n 0000205492 00000 n 0000205677 00000 n 0000205821 00000 n 0000206235 00000 n 0000205328 00000 n 0000202465 00000 n 0000205973 00000 n 0000208550 00000 n 0000208320 00000 n 0000206344 00000 n 0000208436 00000 n 0000208491 00000 n 0001617016 00000 n 0000211128 00000 n 0000211446 00000 n 0000210991 00000 n 0000208674 00000 n 0001618362 00000 n 0000214297 00000 n 0000214126 00000 n 0000211595 00000 n 0000214242 00000 n 0000217018 00000 n 0000217174 00000 n 0000217340 00000 n 0000217628 00000 n 0000216863 00000 n 0000214423 00000 n 0000219301 00000 n 0000219130 00000 n 0000217723 00000 n 0000219246 00000 n 0000222687 00000 n 0000226177 00000 n 0000223057 00000 n 0000222550 00000 n 0000219399 00000 n 0000226494 00000 n 0000226040 00000 n 0000223206 00000 n 0000229351 00000 n 0000229495 00000 n 0000229793 00000 n 0000229935 00000 n 0000230128 00000 n 0000229178 00000 n 0000226643 00000 n 0000230073 00000 n 0000229645 00000 n 0001618487 00000 n 0000233639 00000 n 0000233783 00000 n 0000233930 00000 n 0000234181 00000 n 0000233484 00000 n 0000230239 00000 n 0000237881 00000 n 0000238225 00000 n 0000237735 00000 n 0000234358 00000 n 0000238170 00000 n 0000238026 00000 n 0000241389 00000 n 0000241161 00000 n 0000238391 00000 n 0000244718 00000 n 0000248066 00000 n 0000245029 00000 n 0000244581 00000 n 0000241538 00000 n 0000248349 00000 n 0000248494 00000 n 0000248749 00000 n 0000247902 00000 n 0000245192 00000 n 0000248208 00000 n 0000251868 00000 n 0000252175 00000 n 0000252460 00000 n 0000252745 00000 n 0000252885 00000 n 0000253195 00000 n 0000251668 00000 n 0000248858 00000 n 0000252022 00000 n 0000252318 00000 n 0000252603 00000 n 0001618612 00000 n 0000256963 00000 n 0000257107 00000 n 0000257252 00000 n 0000257536 00000 n 0000257672 00000 n 0000257813 00000 n 0000257971 00000 n 0000258450 00000 n 0000256754 00000 n 0000253344 00000 n 0000257394 00000 n 0000258126 00000 n 0000261944 00000 n 0000265817 00000 n 0000262383 00000 n 0000261798 00000 n 0000258599 00000 n 0000262081 00000 n 0000265958 00000 n 0000266272 00000 n 0000265671 00000 n 0000262532 00000 n 0000269181 00000 n 0000270510 00000 n 0000269488 00000 n 0000269044 00000 n 0000266435 00000 n 0000270839 00000 n 0000270364 00000 n 0000269611 00000 n 0000270784 00000 n 0000270647 00000 n 0000274520 00000 n 0000274665 00000 n 0000274805 00000 n 0000274951 00000 n 0000275236 00000 n 0000275598 00000 n 0000274338 00000 n 0000270923 00000 n 0000275094 00000 n 0001618737 00000 n 0000278868 00000 n 0000278640 00000 n 0000275761 00000 n 0000281350 00000 n 0000281714 00000 n 0000281204 00000 n 0000279031 00000 n 0000281659 00000 n 0000281505 00000 n 0000285131 00000 n 0000285282 00000 n 0000285429 00000 n 0000285580 00000 n 0000285831 00000 n 0000284967 00000 n 0000281798 00000 n 0000289140 00000 n 0000289282 00000 n 0000289424 00000 n 0000289863 00000 n 0000288976 00000 n 0000285994 00000 n 0000289561 00000 n 0000294927 00000 n 0000293184 00000 n 0000293013 00000 n 0000290012 00000 n 0000293129 00000 n 0000295125 00000 n 0000294790 00000 n 0000293362 00000 n 0000295070 00000 n 0001618862 00000 n 0000298741 00000 n 0000298895 00000 n 0000302468 00000 n 0000299409 00000 n 0000298586 00000 n 0000295249 00000 n 0000299038 00000 n 0000302666 00000 n 0000302331 00000 n 0000299558 00000 n 0000302611 00000 n 0000305972 00000 n 0000305801 00000 n 0000302778 00000 n 0000305917 00000 n 0000308971 00000 n 0000309128 00000 n 0000309438 00000 n 0000309757 00000 n 0000308807 00000 n 0000306096 00000 n 0000309284 00000 n 0000312659 00000 n 0000312936 00000 n 0000313075 00000 n 0000313534 00000 n 0000312486 00000 n 0000309880 00000 n 0000312798 00000 n 0000313223 00000 n 0000315674 00000 n 0000315503 00000 n 0000313643 00000 n 0000315619 00000 n 0001618987 00000 n 0000318245 00000 n 0000318521 00000 n 0000321906 00000 n 0000318835 00000 n 0000318090 00000 n 0000315772 00000 n 0000318383 00000 n 0000322064 00000 n 0000322375 00000 n 0000322652 00000 n 0000322799 00000 n 0000325973 00000 n 0000323068 00000 n 0000321715 00000 n 0000318944 00000 n 0000322220 00000 n 0000322514 00000 n 0000326252 00000 n 0000326684 00000 n 0000325818 00000 n 0000323177 00000 n 0000326113 00000 n 0000329801 00000 n 0000329630 00000 n 0000326807 00000 n 0000329746 00000 n 0000332546 00000 n 0000332318 00000 n 0000329911 00000 n 0000335030 00000 n 0000335425 00000 n 0000334884 00000 n 0000332669 00000 n 0000335172 00000 n 0001619112 00000 n 0000337841 00000 n 0000338141 00000 n 0000337987 00000 n 0000338402 00000 n 0000337686 00000 n 0000335576 00000 n 0000342071 00000 n 0000341925 00000 n 0000342387 00000 n 0000341779 00000 n 0000338551 00000 n 0000345038 00000 n 0000345187 00000 n 0000348573 00000 n 0000348714 00000 n 0000345438 00000 n 0000344892 00000 n 0000342550 00000 n 0000349097 00000 n 0000348418 00000 n 0000345575 00000 n 0000348851 00000 n 0000352154 00000 n 0000351983 00000 n 0000349286 00000 n 0000352099 00000 n 0000355260 00000 n 0000354978 00000 n 0000352304 00000 n 0001619237 00000 n 0000358926 00000 n 0000358698 00000 n 0000355409 00000 n 0000362581 00000 n 0000362353 00000 n 0000359103 00000 n 0000366022 00000 n 0000366281 00000 n 0000365885 00000 n 0000362744 00000 n 0000369940 00000 n 0000370091 00000 n 0000370239 00000 n 0000370634 00000 n 0000369776 00000 n 0000366444 00000 n 0000370381 00000 n 0000373615 00000 n 0000373754 00000 n 0000376738 00000 n 0000374016 00000 n 0000373469 00000 n 0000370783 00000 n 0000376884 00000 n 0000377084 00000 n 0000376592 00000 n 0000374153 00000 n 0000377029 00000 n 0001619362 00000 n 0000380085 00000 n 0000380245 00000 n 0000380404 00000 n 0000380619 00000 n 0000379930 00000 n 0000377196 00000 n 0000380564 00000 n 0000383768 00000 n 0000383540 00000 n 0000380757 00000 n 0000387337 00000 n 0000387109 00000 n 0000383917 00000 n 0000390753 00000 n 0000391174 00000 n 0000391027 00000 n 0000391578 00000 n 0000390580 00000 n 0000387486 00000 n 0000390890 00000 n 0000391318 00000 n 0000393291 00000 n 0000393063 00000 n 0000391713 00000 n 0000396390 00000 n 0000396537 00000 n 0000397104 00000 n 0000396235 00000 n 0000393400 00000 n 0000396680 00000 n 0001619487 00000 n 0000400184 00000 n 0000399957 00000 n 0000397267 00000 n 0000402817 00000 n 0000402589 00000 n 0000400307 00000 n 0000405152 00000 n 0000404981 00000 n 0000402954 00000 n 0000405097 00000 n 0000408185 00000 n 0000407957 00000 n 0000405290 00000 n 0001616054 00000 n 0000411752 00000 n 0000411482 00000 n 0000412074 00000 n 0000411327 00000 n 0000408348 00000 n 0000411617 00000 n 0000414757 00000 n 0000414958 00000 n 0000414620 00000 n 0000412251 00000 n 0000414903 00000 n 0001619612 00000 n 0000418056 00000 n 0000418195 00000 n 0000418603 00000 n 0000417910 00000 n 0000415096 00000 n 0000421505 00000 n 0000421277 00000 n 0000418726 00000 n 0000425134 00000 n 0000425433 00000 n 0000425568 00000 n 0000425714 00000 n 0000428265 00000 n 0000426024 00000 n 0000424961 00000 n 0000421654 00000 n 0000425284 00000 n 0000428409 00000 n 0000428603 00000 n 0000428119 00000 n 0000426213 00000 n 0000428548 00000 n 0000431862 00000 n 0000431580 00000 n 0000428727 00000 n 0000435044 00000 n 0000435188 00000 n 0000435330 00000 n 0000435622 00000 n 0000435909 00000 n 0000436218 00000 n 0000436598 00000 n 0000434826 00000 n 0000432037 00000 n 0000435476 00000 n 0000435766 00000 n 0000436064 00000 n 0000436353 00000 n 0001619737 00000 n 0000440009 00000 n 0000440154 00000 n 0000440305 00000 n 0000440617 00000 n 0000439854 00000 n 0000436707 00000 n 0000444082 00000 n 0000444284 00000 n 0000443945 00000 n 0000440766 00000 n 0000444229 00000 n 0000447475 00000 n 0000447617 00000 n 0000451643 00000 n 0000451792 00000 n 0000447877 00000 n 0000447329 00000 n 0000444433 00000 n 0000451936 00000 n 0000452078 00000 n 0000452220 00000 n 0000452356 00000 n 0000452509 00000 n 0000452770 00000 n 0000452918 00000 n 0000453197 00000 n 0000453594 00000 n 0000451398 00000 n 0000447986 00000 n 0000452641 00000 n 0000453058 00000 n 0000453340 00000 n 0000457054 00000 n 0000457196 00000 n 0000457350 00000 n 0000457648 00000 n 0000457499 00000 n 0000457859 00000 n 0000456881 00000 n 0000453729 00000 n 0000457804 00000 n 0000853183 00000 n 0000461596 00000 n 0000461859 00000 n 0000461459 00000 n 0000457983 00000 n 0001619862 00000 n 0000465037 00000 n 0000469569 00000 n 0000465494 00000 n 0000464891 00000 n 0000461994 00000 n 0000465180 00000 n 0000469135 00000 n 0000469277 00000 n 0000469942 00000 n 0000468971 00000 n 0000465617 00000 n 0000469424 00000 n 0000472611 00000 n 0000472752 00000 n 0000472894 00000 n 0000473283 00000 n 0000472447 00000 n 0000470091 00000 n 0000473037 00000 n 0000476991 00000 n 0000476766 00000 n 0000473404 00000 n 0000482155 00000 n 0000479611 00000 n 0000479440 00000 n 0000477154 00000 n 0000479556 00000 n 0000482419 00000 n 0000482018 00000 n 0000479737 00000 n 0001619987 00000 n 0000485218 00000 n 0000485047 00000 n 0000482596 00000 n 0000485163 00000 n 0000488105 00000 n 0000488453 00000 n 0000487959 00000 n 0000485330 00000 n 0000488398 00000 n 0000488252 00000 n 0000491359 00000 n 0000491501 00000 n 0000491645 00000 n 0000492016 00000 n 0000491195 00000 n 0000488591 00000 n 0000491961 00000 n 0000491803 00000 n 0000494236 00000 n 0000494065 00000 n 0000492128 00000 n 0000494181 00000 n 0000496799 00000 n 0000496628 00000 n 0000494362 00000 n 0000496744 00000 n 0000498949 00000 n 0000498778 00000 n 0000496911 00000 n 0000498894 00000 n 0001620112 00000 n 0000501492 00000 n 0000501321 00000 n 0000499101 00000 n 0000501437 00000 n 0000504503 00000 n 0000504332 00000 n 0000501644 00000 n 0000504448 00000 n 0000507371 00000 n 0000507830 00000 n 0000507225 00000 n 0000504655 00000 n 0000507516 00000 n 0000510839 00000 n 0000510551 00000 n 0000508007 00000 n 0000513591 00000 n 0000513923 00000 n 0000513445 00000 n 0000510962 00000 n 0000513868 00000 n 0000513730 00000 n 0000516651 00000 n 0000516424 00000 n 0000514035 00000 n 0001620237 00000 n 0000519081 00000 n 0000518910 00000 n 0000516800 00000 n 0000519026 00000 n 0000522469 00000 n 0000522630 00000 n 0000522773 00000 n 0000523175 00000 n 0000522305 00000 n 0000519193 00000 n 0000522918 00000 n 0000524395 00000 n 0000524224 00000 n 0000523324 00000 n 0000524340 00000 n 0000527049 00000 n 0000527683 00000 n 0000526903 00000 n 0000524493 00000 n 0000527506 00000 n 0000527565 00000 n 0000527193 00000 n 0000527624 00000 n 0000530431 00000 n 0000530573 00000 n 0000531005 00000 n 0000530285 00000 n 0000527790 00000 n 0000530714 00000 n 0000530769 00000 n 0000530828 00000 n 0000530887 00000 n 0000530946 00000 n 0000534087 00000 n 0000534223 00000 n 0000534506 00000 n 0000534942 00000 n 0000533923 00000 n 0000531128 00000 n 0000534706 00000 n 0000534765 00000 n 0000534365 00000 n 0001620362 00000 n 0000538734 00000 n 0000539158 00000 n 0000539322 00000 n 0000538877 00000 n 0000543377 00000 n 0000539683 00000 n 0000538552 00000 n 0000535063 00000 n 0000539628 00000 n 0000539017 00000 n 0000539474 00000 n 0000543682 00000 n 0000547711 00000 n 0000543940 00000 n 0000543222 00000 n 0000539847 00000 n 0000543530 00000 n 0000548147 00000 n 0000547574 00000 n 0000544089 00000 n 0000552546 00000 n 0000552701 00000 n 0000553016 00000 n 0000553360 00000 n 0000552382 00000 n 0000548308 00000 n 0000552859 00000 n 0000560530 00000 n 0000556712 00000 n 0000556424 00000 n 0000553533 00000 n 0000560704 00000 n 0000560846 00000 n 0000561246 00000 n 0000560366 00000 n 0000556885 00000 n 0000560990 00000 n 0001620487 00000 n 0000564780 00000 n 0000565094 00000 n 0000564643 00000 n 0000561433 00000 n 0000568414 00000 n 0000568693 00000 n 0000568843 00000 n 0000568997 00000 n 0000569466 00000 n 0000568232 00000 n 0000565255 00000 n 0000568554 00000 n 0000569146 00000 n 0000572554 00000 n 0000572383 00000 n 0000569639 00000 n 0000572499 00000 n 0000575259 00000 n 0000575088 00000 n 0000572692 00000 n 0000575204 00000 n 0000578071 00000 n 0000578331 00000 n 0000577934 00000 n 0000575395 00000 n 0000581499 00000 n 0000581758 00000 n 0000581362 00000 n 0000578466 00000 n 0001620612 00000 n 0000585154 00000 n 0000585453 00000 n 0000585656 00000 n 0000584999 00000 n 0000581945 00000 n 0000585601 00000 n 0000585304 00000 n 0000587952 00000 n 0000587781 00000 n 0000585803 00000 n 0000587897 00000 n 0000590406 00000 n 0000590060 00000 n 0000588075 00000 n 0000593121 00000 n 0000592833 00000 n 0000590555 00000 n 0000596440 00000 n 0000596586 00000 n 0000596867 00000 n 0000597385 00000 n 0000596267 00000 n 0000593216 00000 n 0000596727 00000 n 0000597011 00000 n 0000600783 00000 n 0000600930 00000 n 0000601085 00000 n 0000601236 00000 n 0000601654 00000 n 0000600619 00000 n 0000597534 00000 n 0001620737 00000 n 0000607993 00000 n 0000608156 00000 n 0000608325 00000 n 0000604560 00000 n 0000604389 00000 n 0000601815 00000 n 0000604505 00000 n 0000608476 00000 n 0000608746 00000 n 0000607829 00000 n 0000604684 00000 n 0000612255 00000 n 0000616323 00000 n 0000612629 00000 n 0000612118 00000 n 0000608869 00000 n 0000615889 00000 n 0000616037 00000 n 0000619285 00000 n 0000616655 00000 n 0000615725 00000 n 0000612790 00000 n 0001617180 00000 n 0000616179 00000 n 0000619487 00000 n 0000619148 00000 n 0000616816 00000 n 0000619432 00000 n 0000622891 00000 n 0000622743 00000 n 0000625388 00000 n 0000625536 00000 n 0000623113 00000 n 0000622597 00000 n 0000619583 00000 n 0000623058 00000 n 0001620862 00000 n 0000629334 00000 n 0000625740 00000 n 0000625242 00000 n 0000623272 00000 n 0000625685 00000 n 0000628607 00000 n 0000628884 00000 n 0000629510 00000 n 0000629030 00000 n 0000630047 00000 n 0000628416 00000 n 0000625872 00000 n 0000628746 00000 n 0000629988 00000 n 0000629183 00000 n 0000634699 00000 n 0000633791 00000 n 0000633947 00000 n 0000634111 00000 n 0000634258 00000 n 0000634876 00000 n 0000633618 00000 n 0000630210 00000 n 0000634758 00000 n 0000634422 00000 n 0000638215 00000 n 0000638374 00000 n 0000638695 00000 n 0000638833 00000 n 0000638978 00000 n 0000639308 00000 n 0000638033 00000 n 0000635025 00000 n 0000638535 00000 n 0000655289 00000 n 0000641855 00000 n 0000642173 00000 n 0000642437 00000 n 0000641700 00000 n 0000639429 00000 n 0000642015 00000 n 0000644875 00000 n 0000645194 00000 n 0000644738 00000 n 0000642532 00000 n 0001620987 00000 n 0000648325 00000 n 0000648037 00000 n 0000648678 00000 n 0000647882 00000 n 0000645341 00000 n 0000648182 00000 n 0000651708 00000 n 0000651856 00000 n 0000652239 00000 n 0000651562 00000 n 0000648825 00000 n 0000655407 00000 n 0000654826 00000 n 0000652374 00000 n 0000654996 00000 n 0000655112 00000 n 0000655171 00000 n 0000655230 00000 n 0000655348 00000 n 0000657860 00000 n 0000658150 00000 n 0000658613 00000 n 0000657696 00000 n 0000655514 00000 n 0000658495 00000 n 0000658006 00000 n 0000658296 00000 n 0000661129 00000 n 0000661582 00000 n 0000661423 00000 n 0000661888 00000 n 0000660965 00000 n 0000658734 00000 n 0000661277 00000 n 0000664394 00000 n 0000664608 00000 n 0000664257 00000 n 0000662049 00000 n 0000664553 00000 n 0001621112 00000 n 0000668149 00000 n 0000667862 00000 n 0000664758 00000 n 0000671024 00000 n 0000671347 00000 n 0000670887 00000 n 0000668284 00000 n 0000674133 00000 n 0000673905 00000 n 0000671520 00000 n 0000676546 00000 n 0000676375 00000 n 0000674228 00000 n 0000676491 00000 n 0000678104 00000 n 0000677933 00000 n 0000676653 00000 n 0000678049 00000 n 0000680842 00000 n 0000681272 00000 n 0000680705 00000 n 0000678202 00000 n 0001621237 00000 n 0000684386 00000 n 0000684696 00000 n 0000684249 00000 n 0000681396 00000 n 0000686381 00000 n 0000686152 00000 n 0000684845 00000 n 0000689105 00000 n 0000689251 00000 n 0000689526 00000 n 0000692817 00000 n 0000689843 00000 n 0000688941 00000 n 0000686476 00000 n 0000689389 00000 n 0000693156 00000 n 0000692680 00000 n 0000689938 00000 n 0000696015 00000 n 0000695669 00000 n 0000693265 00000 n 0000697752 00000 n 0000697523 00000 n 0000696110 00000 n 0001621362 00000 n 0000701096 00000 n 0000700525 00000 n 0000700810 00000 n 0000700951 00000 n 0000704338 00000 n 0000701408 00000 n 0000700352 00000 n 0000697861 00000 n 0000700668 00000 n 0000704486 00000 n 0000707433 00000 n 0000704943 00000 n 0000704183 00000 n 0000701557 00000 n 0000704629 00000 n 0000707579 00000 n 0000707989 00000 n 0000707278 00000 n 0000705066 00000 n 0000707728 00000 n 0000711406 00000 n 0000711545 00000 n 0000712127 00000 n 0000711684 00000 n 0000711825 00000 n 0000715502 00000 n 0000712394 00000 n 0000711224 00000 n 0000708084 00000 n 0000711977 00000 n 0000715650 00000 n 0000715951 00000 n 0000716274 00000 n 0000716541 00000 n 0000715320 00000 n 0000712543 00000 n 0000715801 00000 n 0000716113 00000 n 0000728832 00000 n 0000718886 00000 n 0000719246 00000 n 0000718749 00000 n 0000716636 00000 n 0001621487 00000 n 0000722228 00000 n 0000722397 00000 n 0000722682 00000 n 0000723115 00000 n 0000722064 00000 n 0000719369 00000 n 0000722938 00000 n 0000722997 00000 n 0000723056 00000 n 0000722540 00000 n 0000725846 00000 n 0000725557 00000 n 0000723236 00000 n 0000725673 00000 n 0000725728 00000 n 0000725787 00000 n 0000728216 00000 n 0000728370 00000 n 0000728643 00000 n 0000730878 00000 n 0000729008 00000 n 0000728052 00000 n 0000725967 00000 n 0000728507 00000 n 0000731015 00000 n 0000731331 00000 n 0000730723 00000 n 0000729118 00000 n 0000731276 00000 n 0000731146 00000 n 0000732747 00000 n 0000732576 00000 n 0000731429 00000 n 0000732692 00000 n 0000734249 00000 n 0000734078 00000 n 0000732856 00000 n 0000734194 00000 n 0001621612 00000 n 0000736195 00000 n 0000735966 00000 n 0000734347 00000 n 0000739027 00000 n 0000738856 00000 n 0000736305 00000 n 0000738972 00000 n 0000742229 00000 n 0000742505 00000 n 0000742820 00000 n 0000742074 00000 n 0000739162 00000 n 0000742367 00000 n 0000745985 00000 n 0000745760 00000 n 0000742954 00000 n 0000748981 00000 n 0000748581 00000 n 0000746135 00000 n 0000751974 00000 n 0000752230 00000 n 0000752524 00000 n 0000752959 00000 n 0000751801 00000 n 0000749115 00000 n 0000752104 00000 n 0000752376 00000 n 0001621737 00000 n 0000754984 00000 n 0000755393 00000 n 0000754838 00000 n 0000753081 00000 n 0000755130 00000 n 0000757955 00000 n 0000758096 00000 n 0000760169 00000 n 0000758464 00000 n 0000757809 00000 n 0000755557 00000 n 0000760544 00000 n 0000760023 00000 n 0000758586 00000 n 0000760300 00000 n 0000762608 00000 n 0000762911 00000 n 0000762471 00000 n 0000760680 00000 n 0000765738 00000 n 0000765872 00000 n 0000766141 00000 n 0000769019 00000 n 0000766587 00000 n 0000765574 00000 n 0000763033 00000 n 0000766007 00000 n 0000769153 00000 n 0000769293 00000 n 0000769433 00000 n 0000769983 00000 n 0000768846 00000 n 0000766697 00000 n 0000769565 00000 n 0001621862 00000 n 0000772701 00000 n 0000772531 00000 n 0000770093 00000 n 0000775139 00000 n 0000775306 00000 n 0000775558 00000 n 0000774993 00000 n 0000772825 00000 n 0000777257 00000 n 0000776973 00000 n 0000775667 00000 n 0000778135 00000 n 0000777964 00000 n 0000777366 00000 n 0000778080 00000 n 0000781120 00000 n 0000781264 00000 n 0000781782 00000 n 0000780965 00000 n 0000778219 00000 n 0000781410 00000 n 0000784663 00000 n 0000784375 00000 n 0000781917 00000 n 0001621987 00000 n 0000787666 00000 n 0000787948 00000 n 0000788093 00000 n 0000788556 00000 n 0000787493 00000 n 0000784786 00000 n 0000787808 00000 n 0000788239 00000 n 0000791301 00000 n 0000791646 00000 n 0000791155 00000 n 0000788679 00000 n 0000791591 00000 n 0000791446 00000 n 0000794156 00000 n 0000793985 00000 n 0000791744 00000 n 0000794101 00000 n 0000796531 00000 n 0000796360 00000 n 0000794278 00000 n 0000796476 00000 n 0000799824 00000 n 0000799983 00000 n 0000800295 00000 n 0000800580 00000 n 0000800956 00000 n 0000799633 00000 n 0000796615 00000 n 0000800140 00000 n 0000800438 00000 n 0000800712 00000 n 0000804129 00000 n 0000803900 00000 n 0000801091 00000 n 0001622112 00000 n 0000807247 00000 n 0000807018 00000 n 0000804290 00000 n 0000810066 00000 n 0000810213 00000 n 0000810524 00000 n 0000810671 00000 n 0000810841 00000 n 0000811154 00000 n 0000809884 00000 n 0000807424 00000 n 0000810369 00000 n 0000814326 00000 n 0000814496 00000 n 0000814880 00000 n 0000814171 00000 n 0000811289 00000 n 0000814632 00000 n 0000817896 00000 n 0000818050 00000 n 0000818246 00000 n 0000817750 00000 n 0000814989 00000 n 0000818191 00000 n 0000820684 00000 n 0000820455 00000 n 0000818370 00000 n 0000823079 00000 n 0000823256 00000 n 0000823407 00000 n 0000823576 00000 n 0000824003 00000 n 0000822915 00000 n 0000820793 00000 n 0001622237 00000 n 0000826832 00000 n 0000826661 00000 n 0000824098 00000 n 0000826777 00000 n 0000830164 00000 n 0000830349 00000 n 0000830506 00000 n 0000830978 00000 n 0000830000 00000 n 0000826930 00000 n 0000830656 00000 n 0000834464 00000 n 0000834180 00000 n 0000831127 00000 n 0000837757 00000 n 0000837528 00000 n 0000834585 00000 n 0000840919 00000 n 0000841327 00000 n 0000840773 00000 n 0000837944 00000 n 0000841067 00000 n 0000844746 00000 n 0000844907 00000 n 0000845164 00000 n 0000844600 00000 n 0000841474 00000 n 0001622362 00000 n 0000847685 00000 n 0000847948 00000 n 0000847548 00000 n 0000845297 00000 n 0000851147 00000 n 0000850918 00000 n 0000848095 00000 n 0000853243 00000 n 0000853012 00000 n 0000851296 00000 n 0000853128 00000 n 0000855984 00000 n 0000856505 00000 n 0000855838 00000 n 0000853367 00000 n 0000856161 00000 n 0000858402 00000 n 0000858231 00000 n 0000856614 00000 n 0000858347 00000 n 0000860875 00000 n 0000860650 00000 n 0000858486 00000 n 0001622487 00000 n 0000863944 00000 n 0000863716 00000 n 0000861012 00000 n 0000866002 00000 n 0000866210 00000 n 0000865865 00000 n 0000864067 00000 n 0000866155 00000 n 0000870230 00000 n 0000870392 00000 n 0000870574 00000 n 0000870723 00000 n 0000870866 00000 n 0000871017 00000 n 0000871428 00000 n 0000870048 00000 n 0000866322 00000 n 0000875485 00000 n 0000875256 00000 n 0000871577 00000 n 0000879042 00000 n 0000879304 00000 n 0000878905 00000 n 0000875662 00000 n 0000882185 00000 n 0000882015 00000 n 0000879425 00000 n 0001622612 00000 n 0000885317 00000 n 0000885146 00000 n 0000882306 00000 n 0000885262 00000 n 0000888584 00000 n 0000888413 00000 n 0000885427 00000 n 0000888529 00000 n 0000891777 00000 n 0000891606 00000 n 0000888706 00000 n 0000891722 00000 n 0000893313 00000 n 0000893142 00000 n 0000891899 00000 n 0000893258 00000 n 0000896491 00000 n 0000896746 00000 n 0000896354 00000 n 0000893435 00000 n 0000900047 00000 n 0000899876 00000 n 0000896867 00000 n 0000899992 00000 n 0001622737 00000 n 0000903280 00000 n 0000903109 00000 n 0000900118 00000 n 0000903225 00000 n 0000906126 00000 n 0000905955 00000 n 0000903351 00000 n 0000906071 00000 n 0000909024 00000 n 0000908853 00000 n 0000906197 00000 n 0000908969 00000 n 0000914648 00000 n 0000912118 00000 n 0000911947 00000 n 0000909095 00000 n 0000912063 00000 n 0000914864 00000 n 0000914511 00000 n 0000912189 00000 n 0000914809 00000 n 0000916537 00000 n 0000916366 00000 n 0000914948 00000 n 0000916482 00000 n 0001622862 00000 n 0000924090 00000 n 0000924221 00000 n 0000924356 00000 n 0000924491 00000 n 0000924626 00000 n 0000924761 00000 n 0000924896 00000 n 0000925029 00000 n 0000925162 00000 n 0000925295 00000 n 0000925428 00000 n 0000925563 00000 n 0000925698 00000 n 0000925833 00000 n 0000925968 00000 n 0000926103 00000 n 0000926238 00000 n 0000926372 00000 n 0000926506 00000 n 0000926641 00000 n 0000926776 00000 n 0000926911 00000 n 0000927046 00000 n 0000927181 00000 n 0000927316 00000 n 0000927451 00000 n 0000927586 00000 n 0000927721 00000 n 0000927853 00000 n 0000927988 00000 n 0000928123 00000 n 0000928258 00000 n 0000928393 00000 n 0000928528 00000 n 0000928663 00000 n 0000928798 00000 n 0000928931 00000 n 0000929065 00000 n 0000929199 00000 n 0000929333 00000 n 0000929467 00000 n 0000929602 00000 n 0000929735 00000 n 0000929870 00000 n 0000930005 00000 n 0000930140 00000 n 0000930275 00000 n 0000930410 00000 n 0000930545 00000 n 0000930680 00000 n 0000930815 00000 n 0000930950 00000 n 0000931085 00000 n 0000931220 00000 n 0000931354 00000 n 0000931489 00000 n 0000931623 00000 n 0000931758 00000 n 0000931893 00000 n 0000932026 00000 n 0000932159 00000 n 0000932290 00000 n 0000932421 00000 n 0000932552 00000 n 0000932683 00000 n 0000932813 00000 n 0000932943 00000 n 0000933073 00000 n 0000933204 00000 n 0000933334 00000 n 0000933469 00000 n 0000933600 00000 n 0000933731 00000 n 0000933859 00000 n 0000933991 00000 n 0000934122 00000 n 0000934251 00000 n 0000934381 00000 n 0000934511 00000 n 0000934642 00000 n 0000934773 00000 n 0000934903 00000 n 0000935033 00000 n 0000935163 00000 n 0000935294 00000 n 0000935425 00000 n 0000935554 00000 n 0000935688 00000 n 0000935821 00000 n 0000935952 00000 n 0000936083 00000 n 0000936214 00000 n 0000936345 00000 n 0000936475 00000 n 0000936605 00000 n 0000936736 00000 n 0000936866 00000 n 0000936997 00000 n 0000937132 00000 n 0000937263 00000 n 0000937394 00000 n 0000937523 00000 n 0000937652 00000 n 0000937783 00000 n 0000937914 00000 n 0000938045 00000 n 0000938176 00000 n 0000938307 00000 n 0000938438 00000 n 0000938568 00000 n 0000938699 00000 n 0000938830 00000 n 0000938963 00000 n 0000939094 00000 n 0000939227 00000 n 0000939358 00000 n 0000939489 00000 n 0000939620 00000 n 0000939750 00000 n 0000939878 00000 n 0000947333 00000 n 0000947467 00000 n 0000947601 00000 n 0000947733 00000 n 0000947866 00000 n 0000948001 00000 n 0000948134 00000 n 0000948267 00000 n 0000948402 00000 n 0000940114 00000 n 0000922882 00000 n 0000916647 00000 n 0001615119 00000 n 0000948536 00000 n 0000948671 00000 n 0000948806 00000 n 0000948941 00000 n 0000949073 00000 n 0000949207 00000 n 0000949342 00000 n 0000949477 00000 n 0000949610 00000 n 0000949745 00000 n 0000949879 00000 n 0000950013 00000 n 0000950147 00000 n 0000950281 00000 n 0000950416 00000 n 0000950551 00000 n 0000950685 00000 n 0000950819 00000 n 0000950954 00000 n 0000951089 00000 n 0000951224 00000 n 0000951359 00000 n 0000951494 00000 n 0000951629 00000 n 0000951763 00000 n 0000951896 00000 n 0000952030 00000 n 0000952164 00000 n 0000952295 00000 n 0000952430 00000 n 0000952564 00000 n 0000952698 00000 n 0000952833 00000 n 0000952968 00000 n 0000953103 00000 n 0000953236 00000 n 0000953371 00000 n 0000953506 00000 n 0000953641 00000 n 0000953776 00000 n 0000953911 00000 n 0000954046 00000 n 0000954180 00000 n 0000954313 00000 n 0000954444 00000 n 0000954575 00000 n 0000954704 00000 n 0000954834 00000 n 0000954965 00000 n 0000955095 00000 n 0000955226 00000 n 0000955357 00000 n 0000955488 00000 n 0000955616 00000 n 0000955747 00000 n 0000955877 00000 n 0000956010 00000 n 0000956141 00000 n 0000956272 00000 n 0000956405 00000 n 0000956536 00000 n 0000956667 00000 n 0000956798 00000 n 0000956927 00000 n 0000957057 00000 n 0000957188 00000 n 0000957319 00000 n 0000957450 00000 n 0000957583 00000 n 0000957714 00000 n 0000957843 00000 n 0000957974 00000 n 0000958104 00000 n 0000958233 00000 n 0000958363 00000 n 0000958493 00000 n 0000958623 00000 n 0000958752 00000 n 0000958882 00000 n 0000959012 00000 n 0000959143 00000 n 0000959273 00000 n 0000959404 00000 n 0000959534 00000 n 0000959664 00000 n 0000959795 00000 n 0000959924 00000 n 0000960053 00000 n 0000960183 00000 n 0000960313 00000 n 0000960443 00000 n 0000960572 00000 n 0000960703 00000 n 0000960833 00000 n 0000960963 00000 n 0000961093 00000 n 0000961223 00000 n 0000961353 00000 n 0000961483 00000 n 0000961613 00000 n 0000961744 00000 n 0000961873 00000 n 0000962001 00000 n 0000969220 00000 n 0000969353 00000 n 0000969487 00000 n 0000969622 00000 n 0000962182 00000 n 0000946197 00000 n 0000940236 00000 n 0000962127 00000 n 0000969757 00000 n 0000969892 00000 n 0000970025 00000 n 0000970159 00000 n 0000970294 00000 n 0000970429 00000 n 0000970562 00000 n 0000970697 00000 n 0000970832 00000 n 0000970964 00000 n 0000971099 00000 n 0000971233 00000 n 0000971367 00000 n 0000971501 00000 n 0000971635 00000 n 0000971770 00000 n 0000971905 00000 n 0000972039 00000 n 0000972174 00000 n 0000972308 00000 n 0000972442 00000 n 0000972576 00000 n 0000972709 00000 n 0000972843 00000 n 0000972978 00000 n 0000973112 00000 n 0000973244 00000 n 0000973378 00000 n 0000973513 00000 n 0000973648 00000 n 0000973783 00000 n 0000973918 00000 n 0000974052 00000 n 0000974187 00000 n 0000974320 00000 n 0000974455 00000 n 0000974590 00000 n 0000974725 00000 n 0000974860 00000 n 0000974995 00000 n 0000975130 00000 n 0000975263 00000 n 0000975396 00000 n 0000975531 00000 n 0000975665 00000 n 0000975799 00000 n 0000975933 00000 n 0000976068 00000 n 0000976202 00000 n 0000976334 00000 n 0000976465 00000 n 0000976596 00000 n 0000976726 00000 n 0000976856 00000 n 0000976985 00000 n 0000977115 00000 n 0000977245 00000 n 0000977375 00000 n 0000977505 00000 n 0000977636 00000 n 0000977767 00000 n 0000977898 00000 n 0000978029 00000 n 0000978160 00000 n 0000978291 00000 n 0000978420 00000 n 0000978551 00000 n 0000978682 00000 n 0000978813 00000 n 0000978944 00000 n 0000979073 00000 n 0000979203 00000 n 0000979333 00000 n 0000979468 00000 n 0000979599 00000 n 0000979729 00000 n 0000979860 00000 n 0000979988 00000 n 0000980118 00000 n 0000980248 00000 n 0000980378 00000 n 0000980508 00000 n 0000980638 00000 n 0000980768 00000 n 0000980898 00000 n 0000981028 00000 n 0000981158 00000 n 0000981289 00000 n 0000981418 00000 n 0000981547 00000 n 0000981676 00000 n 0000981805 00000 n 0000981935 00000 n 0000982065 00000 n 0000982194 00000 n 0000982325 00000 n 0000982455 00000 n 0000982585 00000 n 0000982716 00000 n 0000982847 00000 n 0000982978 00000 n 0000983103 00000 n 0000983231 00000 n 0000990079 00000 n 0000990212 00000 n 0000990345 00000 n 0000990479 00000 n 0000990614 00000 n 0000983411 00000 n 0000968129 00000 n 0000962316 00000 n 0000983356 00000 n 0000990749 00000 n 0000990884 00000 n 0000991019 00000 n 0000991154 00000 n 0000991289 00000 n 0000991424 00000 n 0000991559 00000 n 0000991694 00000 n 0000991829 00000 n 0000991964 00000 n 0000992099 00000 n 0000992233 00000 n 0000992368 00000 n 0000992503 00000 n 0000992638 00000 n 0000992772 00000 n 0000992907 00000 n 0000993042 00000 n 0000993177 00000 n 0000993312 00000 n 0000993447 00000 n 0000993581 00000 n 0000993716 00000 n 0000993851 00000 n 0000993985 00000 n 0000994120 00000 n 0000994255 00000 n 0000994390 00000 n 0000994525 00000 n 0000994659 00000 n 0000994793 00000 n 0000994927 00000 n 0000995062 00000 n 0000995196 00000 n 0000995331 00000 n 0000995465 00000 n 0000995600 00000 n 0000995735 00000 n 0000995869 00000 n 0000996004 00000 n 0000996137 00000 n 0000996271 00000 n 0000996406 00000 n 0000996539 00000 n 0000996674 00000 n 0000996808 00000 n 0000996943 00000 n 0000997074 00000 n 0000997203 00000 n 0000997333 00000 n 0000997464 00000 n 0000997595 00000 n 0000997726 00000 n 0000997857 00000 n 0000997988 00000 n 0000998119 00000 n 0000998250 00000 n 0000998381 00000 n 0000998511 00000 n 0000998641 00000 n 0000998772 00000 n 0000998903 00000 n 0000999033 00000 n 0000999168 00000 n 0000999299 00000 n 0000999430 00000 n 0000999559 00000 n 0000999690 00000 n 0000999820 00000 n 0000999950 00000 n 0001000080 00000 n 0001000210 00000 n 0001000340 00000 n 0001000471 00000 n 0001000602 00000 n 0001000731 00000 n 0001000862 00000 n 0001000992 00000 n 0001001122 00000 n 0001001252 00000 n 0001001383 00000 n 0001001514 00000 n 0001001643 00000 n 0001001773 00000 n 0001001904 00000 n 0001002035 00000 n 0001002165 00000 n 0001002295 00000 n 0001002426 00000 n 0001002557 00000 n 0001002688 00000 n 0001002819 00000 n 0001002950 00000 n 0001003080 00000 n 0001003211 00000 n 0001003342 00000 n 0001003473 00000 n 0001003603 00000 n 0001003734 00000 n 0001003863 00000 n 0001011551 00000 n 0001011686 00000 n 0001011819 00000 n 0001011954 00000 n 0001004047 00000 n 0000989006 00000 n 0000983545 00000 n 0001003992 00000 n 0001012086 00000 n 0001012221 00000 n 0001012355 00000 n 0001012490 00000 n 0001012625 00000 n 0001012760 00000 n 0001012894 00000 n 0001013029 00000 n 0001013164 00000 n 0001013299 00000 n 0001013433 00000 n 0001013567 00000 n 0001013701 00000 n 0001013836 00000 n 0001013970 00000 n 0001014105 00000 n 0001014238 00000 n 0001014372 00000 n 0001014506 00000 n 0001014640 00000 n 0001014770 00000 n 0001014905 00000 n 0001015040 00000 n 0001015175 00000 n 0001015309 00000 n 0001015444 00000 n 0001015579 00000 n 0001015713 00000 n 0001015848 00000 n 0001015982 00000 n 0001016117 00000 n 0001016252 00000 n 0001016387 00000 n 0001016522 00000 n 0001016656 00000 n 0001016791 00000 n 0001016926 00000 n 0001017061 00000 n 0001017195 00000 n 0001017330 00000 n 0001017465 00000 n 0001017600 00000 n 0001017735 00000 n 0001017870 00000 n 0001018005 00000 n 0001018140 00000 n 0001018275 00000 n 0001018409 00000 n 0001018541 00000 n 0001018670 00000 n 0001018800 00000 n 0001018929 00000 n 0001019059 00000 n 0001019190 00000 n 0001019321 00000 n 0001019452 00000 n 0001019586 00000 n 0001019716 00000 n 0001019847 00000 n 0001019977 00000 n 0001020108 00000 n 0001020238 00000 n 0001020371 00000 n 0001020502 00000 n 0001020633 00000 n 0001020762 00000 n 0001020891 00000 n 0001021019 00000 n 0001021148 00000 n 0001021281 00000 n 0001021412 00000 n 0001021539 00000 n 0001021670 00000 n 0001021799 00000 n 0001021930 00000 n 0001022060 00000 n 0001022190 00000 n 0001022321 00000 n 0001022446 00000 n 0001022576 00000 n 0001022707 00000 n 0001022836 00000 n 0001022966 00000 n 0001023096 00000 n 0001023227 00000 n 0001023352 00000 n 0001023483 00000 n 0001023612 00000 n 0001023742 00000 n 0001023875 00000 n 0001024006 00000 n 0001024136 00000 n 0001024266 00000 n 0001024391 00000 n 0001024521 00000 n 0001024652 00000 n 0001024782 00000 n 0001024912 00000 n 0001025042 00000 n 0001025173 00000 n 0001025307 00000 n 0001025437 00000 n 0001025566 00000 n 0001025696 00000 n 0001025827 00000 n 0001025958 00000 n 0001026089 00000 n 0001026219 00000 n 0001026348 00000 n 0001026477 00000 n 0001034399 00000 n 0001034533 00000 n 0001034668 00000 n 0001034802 00000 n 0001034936 00000 n 0001035069 00000 n 0001035202 00000 n 0001026659 00000 n 0001010397 00000 n 0001004181 00000 n 0001026604 00000 n 0001035337 00000 n 0001035471 00000 n 0001035606 00000 n 0001035741 00000 n 0001035876 00000 n 0001036011 00000 n 0001036145 00000 n 0001036279 00000 n 0001036414 00000 n 0001036549 00000 n 0001036683 00000 n 0001036817 00000 n 0001036951 00000 n 0001037085 00000 n 0001037217 00000 n 0001037349 00000 n 0001037481 00000 n 0001037615 00000 n 0001037749 00000 n 0001037883 00000 n 0001038017 00000 n 0001038152 00000 n 0001038286 00000 n 0001038421 00000 n 0001038555 00000 n 0001038689 00000 n 0001038823 00000 n 0001038957 00000 n 0001039091 00000 n 0001039223 00000 n 0001039357 00000 n 0001039490 00000 n 0001039624 00000 n 0001039758 00000 n 0001039892 00000 n 0001040027 00000 n 0001040160 00000 n 0001040294 00000 n 0001040428 00000 n 0001040562 00000 n 0001040697 00000 n 0001040832 00000 n 0001040966 00000 n 0001041101 00000 n 0001041235 00000 n 0001041369 00000 n 0001041503 00000 n 0001041637 00000 n 0001041771 00000 n 0001041905 00000 n 0001042039 00000 n 0001042173 00000 n 0001042307 00000 n 0001042437 00000 n 0001042569 00000 n 0001042699 00000 n 0001042833 00000 n 0001042966 00000 n 0001043097 00000 n 0001043226 00000 n 0001043356 00000 n 0001043486 00000 n 0001043617 00000 n 0001043748 00000 n 0001043879 00000 n 0001044010 00000 n 0001044139 00000 n 0001044269 00000 n 0001044399 00000 n 0001044529 00000 n 0001044658 00000 n 0001044788 00000 n 0001044919 00000 n 0001045047 00000 n 0001045177 00000 n 0001045308 00000 n 0001045434 00000 n 0001045564 00000 n 0001045695 00000 n 0001045826 00000 n 0001045956 00000 n 0001046086 00000 n 0001046217 00000 n 0001046342 00000 n 0001046473 00000 n 0001046603 00000 n 0001046734 00000 n 0001046864 00000 n 0001046994 00000 n 0001047124 00000 n 0001047255 00000 n 0001047384 00000 n 0001047513 00000 n 0001047642 00000 n 0001047771 00000 n 0001047900 00000 n 0001048033 00000 n 0001048164 00000 n 0001048293 00000 n 0001048420 00000 n 0001048551 00000 n 0001048682 00000 n 0001048813 00000 n 0001048943 00000 n 0001049072 00000 n 0001049203 00000 n 0001049334 00000 n 0001049465 00000 n 0001049596 00000 n 0001049727 00000 n 0001049858 00000 n 0001049989 00000 n 0001050119 00000 n 0001050248 00000 n 0001057687 00000 n 0001057822 00000 n 0001057955 00000 n 0001058090 00000 n 0001050430 00000 n 0001033182 00000 n 0001026793 00000 n 0001050375 00000 n 0001622987 00000 n 0001058225 00000 n 0001058360 00000 n 0001058495 00000 n 0001058629 00000 n 0001058763 00000 n 0001058895 00000 n 0001059028 00000 n 0001059163 00000 n 0001059298 00000 n 0001059433 00000 n 0001059568 00000 n 0001059703 00000 n 0001059837 00000 n 0001059971 00000 n 0001060105 00000 n 0001060239 00000 n 0001060373 00000 n 0001060507 00000 n 0001060642 00000 n 0001060777 00000 n 0001060910 00000 n 0001061043 00000 n 0001061178 00000 n 0001061313 00000 n 0001061447 00000 n 0001061582 00000 n 0001061717 00000 n 0001061850 00000 n 0001061982 00000 n 0001062115 00000 n 0001062248 00000 n 0001062381 00000 n 0001062514 00000 n 0001062649 00000 n 0001062784 00000 n 0001062916 00000 n 0001063050 00000 n 0001063180 00000 n 0001063314 00000 n 0001063449 00000 n 0001063583 00000 n 0001063717 00000 n 0001063852 00000 n 0001063987 00000 n 0001064122 00000 n 0001064257 00000 n 0001064392 00000 n 0001064527 00000 n 0001064662 00000 n 0001064797 00000 n 0001064931 00000 n 0001065064 00000 n 0001065196 00000 n 0001065328 00000 n 0001065459 00000 n 0001065588 00000 n 0001065718 00000 n 0001065849 00000 n 0001065980 00000 n 0001066111 00000 n 0001066241 00000 n 0001066371 00000 n 0001066499 00000 n 0001066629 00000 n 0001066760 00000 n 0001066895 00000 n 0001067026 00000 n 0001067156 00000 n 0001067287 00000 n 0001067418 00000 n 0001067548 00000 n 0001067679 00000 n 0001067810 00000 n 0001067940 00000 n 0001068070 00000 n 0001068200 00000 n 0001068331 00000 n 0001068461 00000 n 0001068591 00000 n 0001068722 00000 n 0001068852 00000 n 0001068983 00000 n 0001069113 00000 n 0001069243 00000 n 0001069373 00000 n 0001069503 00000 n 0001069633 00000 n 0001069763 00000 n 0001069893 00000 n 0001070023 00000 n 0001070153 00000 n 0001070284 00000 n 0001070413 00000 n 0001070543 00000 n 0001070674 00000 n 0001070805 00000 n 0001070935 00000 n 0001071065 00000 n 0001071196 00000 n 0001071326 00000 n 0001071457 00000 n 0001071591 00000 n 0001071721 00000 n 0001071852 00000 n 0001071983 00000 n 0001072113 00000 n 0001072242 00000 n 0001072371 00000 n 0001072501 00000 n 0001072630 00000 n 0001074906 00000 n 0001075041 00000 n 0001075175 00000 n 0001075309 00000 n 0001072812 00000 n 0001056533 00000 n 0001050564 00000 n 0001072757 00000 n 0001075443 00000 n 0001075577 00000 n 0001075712 00000 n 0001075847 00000 n 0001075981 00000 n 0001076116 00000 n 0001076251 00000 n 0001076384 00000 n 0001076518 00000 n 0001076649 00000 n 0001076783 00000 n 0001076917 00000 n 0001077046 00000 n 0001077177 00000 n 0001077308 00000 n 0001077439 00000 n 0001077569 00000 n 0001077698 00000 n 0001077829 00000 n 0001078015 00000 n 0001074571 00000 n 0001072946 00000 n 0001077960 00000 n 0001080455 00000 n 0001080590 00000 n 0001080725 00000 n 0001080860 00000 n 0001080995 00000 n 0001081130 00000 n 0001081264 00000 n 0001081399 00000 n 0001081534 00000 n 0001081669 00000 n 0001081804 00000 n 0001081939 00000 n 0001082073 00000 n 0001082206 00000 n 0001082340 00000 n 0001082474 00000 n 0001082609 00000 n 0001082743 00000 n 0001082875 00000 n 0001083006 00000 n 0001083137 00000 n 0001083267 00000 n 0001083397 00000 n 0001083527 00000 n 0001083658 00000 n 0001083789 00000 n 0001083924 00000 n 0001084055 00000 n 0001084186 00000 n 0001084317 00000 n 0001084452 00000 n 0001084583 00000 n 0001084714 00000 n 0001084844 00000 n 0001084975 00000 n 0001085105 00000 n 0001085236 00000 n 0001085367 00000 n 0001085495 00000 n 0001092054 00000 n 0001092189 00000 n 0001092323 00000 n 0001092458 00000 n 0001092593 00000 n 0001085733 00000 n 0001079976 00000 n 0001078137 00000 n 0001092728 00000 n 0001092863 00000 n 0001092997 00000 n 0001093132 00000 n 0001093266 00000 n 0001093400 00000 n 0001093533 00000 n 0001093667 00000 n 0001093801 00000 n 0001093935 00000 n 0001094068 00000 n 0001094201 00000 n 0001094335 00000 n 0001094469 00000 n 0001094602 00000 n 0001094736 00000 n 0001094870 00000 n 0001095005 00000 n 0001095139 00000 n 0001095273 00000 n 0001095407 00000 n 0001095541 00000 n 0001095675 00000 n 0001095809 00000 n 0001095943 00000 n 0001096077 00000 n 0001096211 00000 n 0001096345 00000 n 0001096479 00000 n 0001096613 00000 n 0001096747 00000 n 0001096880 00000 n 0001097014 00000 n 0001097148 00000 n 0001097282 00000 n 0001097415 00000 n 0001097549 00000 n 0001097683 00000 n 0001097817 00000 n 0001097951 00000 n 0001098085 00000 n 0001098219 00000 n 0001098353 00000 n 0001098486 00000 n 0001098620 00000 n 0001098753 00000 n 0001098886 00000 n 0001099019 00000 n 0001099151 00000 n 0001099281 00000 n 0001099412 00000 n 0001099546 00000 n 0001099676 00000 n 0001099806 00000 n 0001099936 00000 n 0001100066 00000 n 0001100195 00000 n 0001100325 00000 n 0001100454 00000 n 0001100585 00000 n 0001100715 00000 n 0001100846 00000 n 0001100977 00000 n 0001101108 00000 n 0001101238 00000 n 0001101369 00000 n 0001101499 00000 n 0001101628 00000 n 0001101759 00000 n 0001101893 00000 n 0001102026 00000 n 0001102157 00000 n 0001102288 00000 n 0001102421 00000 n 0001102552 00000 n 0001102683 00000 n 0001102816 00000 n 0001102946 00000 n 0001103075 00000 n 0001103205 00000 n 0001103338 00000 n 0001103469 00000 n 0001103599 00000 n 0001103729 00000 n 0001103859 00000 n 0001103989 00000 n 0001104119 00000 n 0001104249 00000 n 0001104379 00000 n 0001104509 00000 n 0001104639 00000 n 0001104769 00000 n 0001104899 00000 n 0001105029 00000 n 0001105158 00000 n 0001105288 00000 n 0001105421 00000 n 0001105552 00000 n 0001105685 00000 n 0001105819 00000 n 0001105953 00000 n 0001106087 00000 n 0001106221 00000 n 0001106351 00000 n 0001106481 00000 n 0001106615 00000 n 0001106745 00000 n 0001106875 00000 n 0001107009 00000 n 0001107139 00000 n 0001107269 00000 n 0001107403 00000 n 0001107538 00000 n 0001107673 00000 n 0001107808 00000 n 0001107943 00000 n 0001108074 00000 n 0001108203 00000 n 0001108333 00000 n 0001108463 00000 n 0001108593 00000 n 0001108726 00000 n 0001108857 00000 n 0001108988 00000 n 0001109119 00000 n 0001109249 00000 n 0001109380 00000 n 0001109508 00000 n 0001115791 00000 n 0001115926 00000 n 0001116059 00000 n 0001116194 00000 n 0001109692 00000 n 0001090729 00000 n 0001085870 00000 n 0001109637 00000 n 0001116329 00000 n 0001116464 00000 n 0001116599 00000 n 0001116734 00000 n 0001116869 00000 n 0001117003 00000 n 0001117138 00000 n 0001117273 00000 n 0001117408 00000 n 0001117543 00000 n 0001117678 00000 n 0001117813 00000 n 0001117948 00000 n 0001118081 00000 n 0001118214 00000 n 0001118346 00000 n 0001118479 00000 n 0001118613 00000 n 0001118746 00000 n 0001118880 00000 n 0001119013 00000 n 0001119147 00000 n 0001119282 00000 n 0001119417 00000 n 0001119550 00000 n 0001119684 00000 n 0001119818 00000 n 0001119951 00000 n 0001120085 00000 n 0001120219 00000 n 0001120354 00000 n 0001120488 00000 n 0001120622 00000 n 0001120755 00000 n 0001120890 00000 n 0001121025 00000 n 0001121160 00000 n 0001121295 00000 n 0001121430 00000 n 0001121564 00000 n 0001121699 00000 n 0001121834 00000 n 0001121969 00000 n 0001122104 00000 n 0001122239 00000 n 0001122374 00000 n 0001122508 00000 n 0001122643 00000 n 0001122778 00000 n 0001122912 00000 n 0001123047 00000 n 0001123182 00000 n 0001123317 00000 n 0001123451 00000 n 0001123586 00000 n 0001123721 00000 n 0001123855 00000 n 0001123990 00000 n 0001124123 00000 n 0001124256 00000 n 0001124387 00000 n 0001124516 00000 n 0001124647 00000 n 0001124778 00000 n 0001124912 00000 n 0001125042 00000 n 0001125172 00000 n 0001125303 00000 n 0001125434 00000 n 0001125564 00000 n 0001125695 00000 n 0001125826 00000 n 0001125957 00000 n 0001126087 00000 n 0001126222 00000 n 0001126353 00000 n 0001126484 00000 n 0001126614 00000 n 0001126745 00000 n 0001126876 00000 n 0001127009 00000 n 0001127142 00000 n 0001127274 00000 n 0001127404 00000 n 0001127534 00000 n 0001127664 00000 n 0001127794 00000 n 0001127923 00000 n 0001128053 00000 n 0001128183 00000 n 0001128314 00000 n 0001128445 00000 n 0001128575 00000 n 0001128705 00000 n 0001128836 00000 n 0001128966 00000 n 0001129097 00000 n 0001129226 00000 n 0001129357 00000 n 0001129487 00000 n 0001129620 00000 n 0001129751 00000 n 0001129881 00000 n 0001130014 00000 n 0001130145 00000 n 0001130276 00000 n 0001130406 00000 n 0001130536 00000 n 0001130666 00000 n 0001130796 00000 n 0001130925 00000 n 0001131054 00000 n 0001131185 00000 n 0001131315 00000 n 0001131444 00000 n 0001131574 00000 n 0001131704 00000 n 0001131834 00000 n 0001131963 00000 n 0001132094 00000 n 0001132224 00000 n 0001132357 00000 n 0001132489 00000 n 0001132619 00000 n 0001132749 00000 n 0001132881 00000 n 0001133009 00000 n 0001138375 00000 n 0001138509 00000 n 0001138643 00000 n 0001138777 00000 n 0001138910 00000 n 0001139044 00000 n 0001133192 00000 n 0001114484 00000 n 0001109843 00000 n 0001133137 00000 n 0001139178 00000 n 0001139312 00000 n 0001139446 00000 n 0001139580 00000 n 0001139714 00000 n 0001139848 00000 n 0001139982 00000 n 0001140116 00000 n 0001140251 00000 n 0001140384 00000 n 0001140517 00000 n 0001140651 00000 n 0001140785 00000 n 0001140919 00000 n 0001141054 00000 n 0001141187 00000 n 0001141321 00000 n 0001141455 00000 n 0001141589 00000 n 0001141722 00000 n 0001141857 00000 n 0001141990 00000 n 0001142124 00000 n 0001142259 00000 n 0001142392 00000 n 0001142525 00000 n 0001142659 00000 n 0001142793 00000 n 0001142926 00000 n 0001143060 00000 n 0001143194 00000 n 0001143328 00000 n 0001143462 00000 n 0001143596 00000 n 0001143730 00000 n 0001143864 00000 n 0001143997 00000 n 0001144131 00000 n 0001144265 00000 n 0001144398 00000 n 0001144532 00000 n 0001144666 00000 n 0001144800 00000 n 0001144934 00000 n 0001145069 00000 n 0001145203 00000 n 0001145336 00000 n 0001145470 00000 n 0001145604 00000 n 0001145737 00000 n 0001145871 00000 n 0001146004 00000 n 0001146137 00000 n 0001146270 00000 n 0001146405 00000 n 0001146539 00000 n 0001146673 00000 n 0001146808 00000 n 0001146943 00000 n 0001147078 00000 n 0001147211 00000 n 0001147345 00000 n 0001147477 00000 n 0001147608 00000 n 0001147739 00000 n 0001147870 00000 n 0001148000 00000 n 0001148131 00000 n 0001148261 00000 n 0001148392 00000 n 0001148523 00000 n 0001148652 00000 n 0001148783 00000 n 0001148914 00000 n 0001149045 00000 n 0001149176 00000 n 0001149307 00000 n 0001149442 00000 n 0001149573 00000 n 0001149704 00000 n 0001149833 00000 n 0001149963 00000 n 0001150094 00000 n 0001150225 00000 n 0001150356 00000 n 0001150487 00000 n 0001150617 00000 n 0001150748 00000 n 0001150879 00000 n 0001151009 00000 n 0001151143 00000 n 0001151273 00000 n 0001151403 00000 n 0001151534 00000 n 0001151664 00000 n 0001151792 00000 n 0001158340 00000 n 0001158474 00000 n 0001151974 00000 n 0001137329 00000 n 0001133303 00000 n 0001151919 00000 n 0001623112 00000 n 0001158608 00000 n 0001158741 00000 n 0001158874 00000 n 0001159008 00000 n 0001159142 00000 n 0001159277 00000 n 0001159410 00000 n 0001159544 00000 n 0001159678 00000 n 0001159812 00000 n 0001159944 00000 n 0001160077 00000 n 0001160210 00000 n 0001160344 00000 n 0001160478 00000 n 0001160612 00000 n 0001160746 00000 n 0001160880 00000 n 0001161014 00000 n 0001161148 00000 n 0001161281 00000 n 0001161415 00000 n 0001161548 00000 n 0001161682 00000 n 0001161816 00000 n 0001161950 00000 n 0001162084 00000 n 0001162218 00000 n 0001162352 00000 n 0001162486 00000 n 0001162620 00000 n 0001162753 00000 n 0001162887 00000 n 0001163021 00000 n 0001163156 00000 n 0001163289 00000 n 0001163422 00000 n 0001163556 00000 n 0001163690 00000 n 0001163824 00000 n 0001163958 00000 n 0001164092 00000 n 0001164226 00000 n 0001164359 00000 n 0001164492 00000 n 0001164626 00000 n 0001164760 00000 n 0001164895 00000 n 0001165029 00000 n 0001165164 00000 n 0001165299 00000 n 0001165434 00000 n 0001165567 00000 n 0001165701 00000 n 0001165836 00000 n 0001165969 00000 n 0001166104 00000 n 0001166238 00000 n 0001166373 00000 n 0001166508 00000 n 0001166642 00000 n 0001166776 00000 n 0001166910 00000 n 0001167044 00000 n 0001167178 00000 n 0001167313 00000 n 0001167446 00000 n 0001167579 00000 n 0001167713 00000 n 0001167843 00000 n 0001167972 00000 n 0001168106 00000 n 0001168239 00000 n 0001168370 00000 n 0001168504 00000 n 0001168638 00000 n 0001168771 00000 n 0001168905 00000 n 0001169039 00000 n 0001169173 00000 n 0001169307 00000 n 0001169437 00000 n 0001169567 00000 n 0001169697 00000 n 0001169827 00000 n 0001169956 00000 n 0001170086 00000 n 0001170216 00000 n 0001170346 00000 n 0001170480 00000 n 0001170614 00000 n 0001170747 00000 n 0001170881 00000 n 0001171015 00000 n 0001171149 00000 n 0001171283 00000 n 0001171413 00000 n 0001171543 00000 n 0001171672 00000 n 0001171801 00000 n 0001171930 00000 n 0001172060 00000 n 0001172189 00000 n 0001172323 00000 n 0001172456 00000 n 0001172587 00000 n 0001172720 00000 n 0001172851 00000 n 0001172981 00000 n 0001173112 00000 n 0001173240 00000 n 0001173369 00000 n 0001173499 00000 n 0001173633 00000 n 0001173767 00000 n 0001173902 00000 n 0001174033 00000 n 0001174164 00000 n 0001174295 00000 n 0001174425 00000 n 0001174555 00000 n 0001174686 00000 n 0001174817 00000 n 0001174948 00000 n 0001175079 00000 n 0001175210 00000 n 0001175341 00000 n 0001175472 00000 n 0001175603 00000 n 0001175734 00000 n 0001175865 00000 n 0001175996 00000 n 0001176127 00000 n 0001176258 00000 n 0001177130 00000 n 0001177265 00000 n 0001176441 00000 n 0001156988 00000 n 0001152110 00000 n 0001176386 00000 n 0001177399 00000 n 0001177585 00000 n 0001176975 00000 n 0001176563 00000 n 0001177530 00000 n 0001183126 00000 n 0001183260 00000 n 0001183394 00000 n 0001183527 00000 n 0001183660 00000 n 0001183795 00000 n 0001183930 00000 n 0001184065 00000 n 0001184200 00000 n 0001184335 00000 n 0001184470 00000 n 0001184605 00000 n 0001184739 00000 n 0001184874 00000 n 0001185009 00000 n 0001185144 00000 n 0001185279 00000 n 0001185414 00000 n 0001185549 00000 n 0001185683 00000 n 0001185818 00000 n 0001185952 00000 n 0001186086 00000 n 0001186221 00000 n 0001186356 00000 n 0001186491 00000 n 0001186626 00000 n 0001186760 00000 n 0001186895 00000 n 0001187029 00000 n 0001187164 00000 n 0001187299 00000 n 0001187434 00000 n 0001187569 00000 n 0001187703 00000 n 0001187838 00000 n 0001187972 00000 n 0001188107 00000 n 0001188242 00000 n 0001188377 00000 n 0001188511 00000 n 0001188645 00000 n 0001188780 00000 n 0001188914 00000 n 0001189049 00000 n 0001189184 00000 n 0001189318 00000 n 0001189451 00000 n 0001189583 00000 n 0001189714 00000 n 0001189845 00000 n 0001189976 00000 n 0001190106 00000 n 0001190236 00000 n 0001190363 00000 n 0001190494 00000 n 0001190625 00000 n 0001190756 00000 n 0001190887 00000 n 0001191018 00000 n 0001191149 00000 n 0001191280 00000 n 0001191411 00000 n 0001191542 00000 n 0001191673 00000 n 0001191804 00000 n 0001191935 00000 n 0001192066 00000 n 0001192197 00000 n 0001192327 00000 n 0001192457 00000 n 0001192587 00000 n 0001192718 00000 n 0001192849 00000 n 0001192980 00000 n 0001193111 00000 n 0001193242 00000 n 0001193373 00000 n 0001193503 00000 n 0001193634 00000 n 0001193765 00000 n 0001193896 00000 n 0001194026 00000 n 0001194157 00000 n 0001194288 00000 n 0001194419 00000 n 0001194549 00000 n 0001194679 00000 n 0001194809 00000 n 0001194940 00000 n 0001195071 00000 n 0001195202 00000 n 0001195333 00000 n 0001195464 00000 n 0001195595 00000 n 0001195726 00000 n 0001195857 00000 n 0001195988 00000 n 0001196119 00000 n 0001196250 00000 n 0001196381 00000 n 0001196510 00000 n 0001196638 00000 n 0001203352 00000 n 0001203487 00000 n 0001203620 00000 n 0001203754 00000 n 0001203889 00000 n 0001204023 00000 n 0001204157 00000 n 0001204291 00000 n 0001204425 00000 n 0001204559 00000 n 0001204692 00000 n 0001204826 00000 n 0001196874 00000 n 0001182071 00000 n 0001177707 00000 n 0001204960 00000 n 0001205094 00000 n 0001205228 00000 n 0001205362 00000 n 0001205495 00000 n 0001205629 00000 n 0001205764 00000 n 0001205899 00000 n 0001206034 00000 n 0001206169 00000 n 0001206304 00000 n 0001206437 00000 n 0001206570 00000 n 0001206704 00000 n 0001206836 00000 n 0001206970 00000 n 0001207104 00000 n 0001207238 00000 n 0001207372 00000 n 0001207506 00000 n 0001207640 00000 n 0001207773 00000 n 0001207907 00000 n 0001208041 00000 n 0001208175 00000 n 0001208309 00000 n 0001208443 00000 n 0001208577 00000 n 0001208710 00000 n 0001208844 00000 n 0001208978 00000 n 0001209112 00000 n 0001209246 00000 n 0001209380 00000 n 0001209514 00000 n 0001209647 00000 n 0001209781 00000 n 0001209915 00000 n 0001210049 00000 n 0001210182 00000 n 0001210316 00000 n 0001210450 00000 n 0001210582 00000 n 0001210716 00000 n 0001210850 00000 n 0001210984 00000 n 0001211117 00000 n 0001211250 00000 n 0001211381 00000 n 0001211512 00000 n 0001211641 00000 n 0001211770 00000 n 0001211900 00000 n 0001212030 00000 n 0001212160 00000 n 0001212293 00000 n 0001212425 00000 n 0001212555 00000 n 0001212685 00000 n 0001212815 00000 n 0001212945 00000 n 0001213076 00000 n 0001213206 00000 n 0001213334 00000 n 0001213463 00000 n 0001213594 00000 n 0001213725 00000 n 0001213856 00000 n 0001213987 00000 n 0001214117 00000 n 0001214248 00000 n 0001214379 00000 n 0001214510 00000 n 0001214641 00000 n 0001214772 00000 n 0001214902 00000 n 0001215031 00000 n 0001215162 00000 n 0001215292 00000 n 0001215422 00000 n 0001215552 00000 n 0001215681 00000 n 0001215808 00000 n 0001215937 00000 n 0001216067 00000 n 0001216198 00000 n 0001216329 00000 n 0001216460 00000 n 0001216590 00000 n 0001216721 00000 n 0001216851 00000 n 0001216980 00000 n 0001217110 00000 n 0001217240 00000 n 0001217368 00000 n 0001217498 00000 n 0001217629 00000 n 0001217758 00000 n 0001217892 00000 n 0001218022 00000 n 0001218151 00000 n 0001218279 00000 n 0001218410 00000 n 0001218541 00000 n 0001218672 00000 n 0001218802 00000 n 0001218931 00000 n 0001219057 00000 n 0001225783 00000 n 0001225917 00000 n 0001226049 00000 n 0001226183 00000 n 0001226317 00000 n 0001219240 00000 n 0001202144 00000 n 0001196996 00000 n 0001219185 00000 n 0001226451 00000 n 0001226585 00000 n 0001226719 00000 n 0001226854 00000 n 0001226988 00000 n 0001227122 00000 n 0001227256 00000 n 0001227390 00000 n 0001227524 00000 n 0001227658 00000 n 0001227792 00000 n 0001227926 00000 n 0001228060 00000 n 0001228194 00000 n 0001228328 00000 n 0001228462 00000 n 0001228596 00000 n 0001228731 00000 n 0001228865 00000 n 0001228997 00000 n 0001229132 00000 n 0001229266 00000 n 0001229400 00000 n 0001229534 00000 n 0001229668 00000 n 0001229803 00000 n 0001229937 00000 n 0001230072 00000 n 0001230207 00000 n 0001230341 00000 n 0001230475 00000 n 0001230609 00000 n 0001230743 00000 n 0001230877 00000 n 0001231009 00000 n 0001231144 00000 n 0001231278 00000 n 0001231413 00000 n 0001231547 00000 n 0001231681 00000 n 0001231814 00000 n 0001231947 00000 n 0001232080 00000 n 0001232214 00000 n 0001232348 00000 n 0001232482 00000 n 0001232615 00000 n 0001232750 00000 n 0001232883 00000 n 0001233017 00000 n 0001233149 00000 n 0001233283 00000 n 0001233417 00000 n 0001233551 00000 n 0001233684 00000 n 0001233817 00000 n 0001233950 00000 n 0001234081 00000 n 0001234211 00000 n 0001234339 00000 n 0001234469 00000 n 0001234599 00000 n 0001234733 00000 n 0001234863 00000 n 0001234993 00000 n 0001235123 00000 n 0001235253 00000 n 0001235382 00000 n 0001235512 00000 n 0001235642 00000 n 0001235772 00000 n 0001235902 00000 n 0001236032 00000 n 0001236162 00000 n 0001236291 00000 n 0001236421 00000 n 0001236551 00000 n 0001236681 00000 n 0001236811 00000 n 0001236941 00000 n 0001237071 00000 n 0001237199 00000 n 0001237329 00000 n 0001237459 00000 n 0001237589 00000 n 0001237719 00000 n 0001237849 00000 n 0001237979 00000 n 0001238108 00000 n 0001238238 00000 n 0001238368 00000 n 0001238498 00000 n 0001238628 00000 n 0001238758 00000 n 0001238888 00000 n 0001239017 00000 n 0001239147 00000 n 0001239277 00000 n 0001239407 00000 n 0001239541 00000 n 0001239671 00000 n 0001239801 00000 n 0001239931 00000 n 0001240060 00000 n 0001240190 00000 n 0001240323 00000 n 0001240454 00000 n 0001240584 00000 n 0001240713 00000 n 0001240844 00000 n 0001240974 00000 n 0001241102 00000 n 0001241232 00000 n 0001241362 00000 n 0001241492 00000 n 0001241621 00000 n 0001241750 00000 n 0001241878 00000 n 0001242009 00000 n 0001242139 00000 n 0001244192 00000 n 0001244326 00000 n 0001244461 00000 n 0001244595 00000 n 0001244728 00000 n 0001244862 00000 n 0001242322 00000 n 0001224530 00000 n 0001219351 00000 n 0001242267 00000 n 0001244996 00000 n 0001245129 00000 n 0001245262 00000 n 0001245397 00000 n 0001245531 00000 n 0001245664 00000 n 0001245798 00000 n 0001245932 00000 n 0001246066 00000 n 0001246199 00000 n 0001246331 00000 n 0001246464 00000 n 0001246594 00000 n 0001246724 00000 n 0001246852 00000 n 0001246980 00000 n 0001247108 00000 n 0001247293 00000 n 0001243857 00000 n 0001242433 00000 n 0001247238 00000 n 0001623237 00000 n 0001253979 00000 n 0001254114 00000 n 0001254247 00000 n 0001254381 00000 n 0001254513 00000 n 0001254648 00000 n 0001254783 00000 n 0001254918 00000 n 0001255051 00000 n 0001255186 00000 n 0001255321 00000 n 0001255456 00000 n 0001255589 00000 n 0001255724 00000 n 0001255858 00000 n 0001255993 00000 n 0001256128 00000 n 0001256263 00000 n 0001256398 00000 n 0001256533 00000 n 0001256668 00000 n 0001256802 00000 n 0001256937 00000 n 0001257072 00000 n 0001257207 00000 n 0001257342 00000 n 0001257476 00000 n 0001257611 00000 n 0001257746 00000 n 0001257879 00000 n 0001258014 00000 n 0001258149 00000 n 0001258284 00000 n 0001258419 00000 n 0001258554 00000 n 0001258689 00000 n 0001258824 00000 n 0001258959 00000 n 0001259094 00000 n 0001259229 00000 n 0001259364 00000 n 0001259498 00000 n 0001259633 00000 n 0001259768 00000 n 0001259902 00000 n 0001260036 00000 n 0001260171 00000 n 0001260306 00000 n 0001260440 00000 n 0001260572 00000 n 0001260701 00000 n 0001260831 00000 n 0001260962 00000 n 0001261097 00000 n 0001261228 00000 n 0001261359 00000 n 0001261490 00000 n 0001261621 00000 n 0001261751 00000 n 0001261882 00000 n 0001262013 00000 n 0001262148 00000 n 0001262279 00000 n 0001262409 00000 n 0001262540 00000 n 0001262675 00000 n 0001262806 00000 n 0001262940 00000 n 0001263070 00000 n 0001263201 00000 n 0001263332 00000 n 0001263463 00000 n 0001263593 00000 n 0001263726 00000 n 0001263857 00000 n 0001263990 00000 n 0001264121 00000 n 0001264256 00000 n 0001264387 00000 n 0001264517 00000 n 0001264650 00000 n 0001264781 00000 n 0001264914 00000 n 0001265045 00000 n 0001265174 00000 n 0001265305 00000 n 0001265435 00000 n 0001265565 00000 n 0001265699 00000 n 0001265829 00000 n 0001265960 00000 n 0001266091 00000 n 0001266222 00000 n 0001266352 00000 n 0001266482 00000 n 0001266612 00000 n 0001266742 00000 n 0001266871 00000 n 0001267001 00000 n 0001267135 00000 n 0001267269 00000 n 0001267399 00000 n 0001267527 00000 n 0001267657 00000 n 0001267787 00000 n 0001267918 00000 n 0001268048 00000 n 0001268177 00000 n 0001268305 00000 n 0001277132 00000 n 0001277266 00000 n 0001277400 00000 n 0001277535 00000 n 0001277670 00000 n 0001277804 00000 n 0001277939 00000 n 0001278074 00000 n 0001278208 00000 n 0001278342 00000 n 0001278476 00000 n 0001278609 00000 n 0001278742 00000 n 0001278875 00000 n 0001279009 00000 n 0001279143 00000 n 0001279276 00000 n 0001279409 00000 n 0001279542 00000 n 0001279676 00000 n 0001279810 00000 n 0001279943 00000 n 0001280077 00000 n 0001280211 00000 n 0001280346 00000 n 0001280480 00000 n 0001280615 00000 n 0001268542 00000 n 0001252870 00000 n 0001247415 00000 n 0001280749 00000 n 0001280882 00000 n 0001281016 00000 n 0001281151 00000 n 0001281285 00000 n 0001281419 00000 n 0001281554 00000 n 0001281689 00000 n 0001281823 00000 n 0001281957 00000 n 0001282092 00000 n 0001282225 00000 n 0001282360 00000 n 0001282494 00000 n 0001282629 00000 n 0001282764 00000 n 0001282899 00000 n 0001283034 00000 n 0001283169 00000 n 0001283304 00000 n 0001283439 00000 n 0001283574 00000 n 0001283708 00000 n 0001283842 00000 n 0001283977 00000 n 0001284111 00000 n 0001284246 00000 n 0001284381 00000 n 0001284516 00000 n 0001284651 00000 n 0001284786 00000 n 0001284921 00000 n 0001285056 00000 n 0001285191 00000 n 0001285326 00000 n 0001285461 00000 n 0001285595 00000 n 0001285729 00000 n 0001285863 00000 n 0001285998 00000 n 0001286133 00000 n 0001286267 00000 n 0001286401 00000 n 0001286536 00000 n 0001286671 00000 n 0001286806 00000 n 0001286940 00000 n 0001287075 00000 n 0001287210 00000 n 0001287345 00000 n 0001287480 00000 n 0001287614 00000 n 0001287747 00000 n 0001287879 00000 n 0001288011 00000 n 0001288146 00000 n 0001288277 00000 n 0001288408 00000 n 0001288543 00000 n 0001288678 00000 n 0001288809 00000 n 0001288944 00000 n 0001289075 00000 n 0001289209 00000 n 0001289339 00000 n 0001289474 00000 n 0001289605 00000 n 0001289735 00000 n 0001289870 00000 n 0001290001 00000 n 0001290132 00000 n 0001290267 00000 n 0001290398 00000 n 0001290533 00000 n 0001290664 00000 n 0001290799 00000 n 0001290930 00000 n 0001291065 00000 n 0001291196 00000 n 0001291330 00000 n 0001291460 00000 n 0001291595 00000 n 0001291730 00000 n 0001291861 00000 n 0001291995 00000 n 0001292125 00000 n 0001292255 00000 n 0001292385 00000 n 0001292519 00000 n 0001292649 00000 n 0001292780 00000 n 0001292913 00000 n 0001293044 00000 n 0001293177 00000 n 0001293308 00000 n 0001293439 00000 n 0001293568 00000 n 0001293698 00000 n 0001293828 00000 n 0001293959 00000 n 0001294089 00000 n 0001294223 00000 n 0001294353 00000 n 0001294482 00000 n 0001294611 00000 n 0001294741 00000 n 0001294872 00000 n 0001295002 00000 n 0001295135 00000 n 0001295264 00000 n 0001295394 00000 n 0001295527 00000 n 0001295658 00000 n 0001295793 00000 n 0001295924 00000 n 0001296055 00000 n 0001296186 00000 n 0001296321 00000 n 0001296452 00000 n 0001296586 00000 n 0001296716 00000 n 0001296850 00000 n 0001296985 00000 n 0001297116 00000 n 0001297247 00000 n 0001297378 00000 n 0001297509 00000 n 0001297644 00000 n 0001297775 00000 n 0001297905 00000 n 0001298036 00000 n 0001298166 00000 n 0001298301 00000 n 0001298432 00000 n 0001298563 00000 n 0001298698 00000 n 0001298829 00000 n 0001298960 00000 n 0001299090 00000 n 0001299223 00000 n 0001299352 00000 n 0001307669 00000 n 0001307804 00000 n 0001307939 00000 n 0001308074 00000 n 0001308209 00000 n 0001299535 00000 n 0001275492 00000 n 0001268692 00000 n 0001299480 00000 n 0001308344 00000 n 0001308478 00000 n 0001308613 00000 n 0001308748 00000 n 0001308883 00000 n 0001309018 00000 n 0001309153 00000 n 0001309287 00000 n 0001309422 00000 n 0001309556 00000 n 0001309691 00000 n 0001309824 00000 n 0001309958 00000 n 0001310091 00000 n 0001310226 00000 n 0001310361 00000 n 0001310496 00000 n 0001310631 00000 n 0001310766 00000 n 0001310899 00000 n 0001311034 00000 n 0001311169 00000 n 0001311304 00000 n 0001311439 00000 n 0001311574 00000 n 0001311707 00000 n 0001311841 00000 n 0001311975 00000 n 0001312109 00000 n 0001312243 00000 n 0001312377 00000 n 0001312511 00000 n 0001312645 00000 n 0001312779 00000 n 0001312913 00000 n 0001313046 00000 n 0001313180 00000 n 0001313315 00000 n 0001313450 00000 n 0001313584 00000 n 0001313719 00000 n 0001313853 00000 n 0001313988 00000 n 0001314122 00000 n 0001314256 00000 n 0001314391 00000 n 0001314524 00000 n 0001314658 00000 n 0001314793 00000 n 0001314926 00000 n 0001315060 00000 n 0001315195 00000 n 0001315330 00000 n 0001315465 00000 n 0001315600 00000 n 0001315735 00000 n 0001315870 00000 n 0001316001 00000 n 0001316136 00000 n 0001316271 00000 n 0001316406 00000 n 0001316541 00000 n 0001316675 00000 n 0001316806 00000 n 0001316938 00000 n 0001317070 00000 n 0001317201 00000 n 0001317332 00000 n 0001317467 00000 n 0001317598 00000 n 0001317728 00000 n 0001317858 00000 n 0001317991 00000 n 0001318125 00000 n 0001318255 00000 n 0001318385 00000 n 0001318515 00000 n 0001318646 00000 n 0001318781 00000 n 0001318912 00000 n 0001319042 00000 n 0001319173 00000 n 0001319302 00000 n 0001319432 00000 n 0001319562 00000 n 0001319692 00000 n 0001319822 00000 n 0001319952 00000 n 0001320082 00000 n 0001320211 00000 n 0001320345 00000 n 0001320475 00000 n 0001320605 00000 n 0001320735 00000 n 0001320865 00000 n 0001320995 00000 n 0001321125 00000 n 0001321255 00000 n 0001321385 00000 n 0001321514 00000 n 0001321645 00000 n 0001321774 00000 n 0001321903 00000 n 0001322032 00000 n 0001322163 00000 n 0001322296 00000 n 0001322427 00000 n 0001322560 00000 n 0001322695 00000 n 0001322826 00000 n 0001322957 00000 n 0001323089 00000 n 0001323219 00000 n 0001323354 00000 n 0001323485 00000 n 0001323615 00000 n 0001323746 00000 n 0001323880 00000 n 0001324013 00000 n 0001324144 00000 n 0001324274 00000 n 0001324404 00000 n 0001324534 00000 n 0001324664 00000 n 0001324794 00000 n 0001324928 00000 n 0001325063 00000 n 0001325194 00000 n 0001325327 00000 n 0001325456 00000 n 0001325589 00000 n 0001325720 00000 n 0001325850 00000 n 0001325980 00000 n 0001326110 00000 n 0001326239 00000 n 0001326371 00000 n 0001326502 00000 n 0001326634 00000 n 0001326763 00000 n 0001329353 00000 n 0001329488 00000 n 0001329622 00000 n 0001329756 00000 n 0001329890 00000 n 0001330024 00000 n 0001330158 00000 n 0001330293 00000 n 0001326945 00000 n 0001306236 00000 n 0001299646 00000 n 0001326890 00000 n 0001330428 00000 n 0001330562 00000 n 0001330696 00000 n 0001330830 00000 n 0001330964 00000 n 0001331097 00000 n 0001331230 00000 n 0001331363 00000 n 0001331497 00000 n 0001331632 00000 n 0001331767 00000 n 0001331901 00000 n 0001332036 00000 n 0001332171 00000 n 0001332301 00000 n 0001332431 00000 n 0001332561 00000 n 0001332690 00000 n 0001332820 00000 n 0001332950 00000 n 0001333081 00000 n 0001333211 00000 n 0001333342 00000 n 0001333477 00000 n 0001333663 00000 n 0001328937 00000 n 0001327056 00000 n 0001333608 00000 n 0001333785 00000 n 0001333811 00000 n 0001333837 00000 n 0001334479 00000 n 0001335003 00000 n 0001335623 00000 n 0001336275 00000 n 0001336751 00000 n 0001337424 00000 n 0001337504 00000 n 0001337884 00000 n 0001338516 00000 n 0001339217 00000 n 0001339693 00000 n 0001339719 00000 n 0001339745 00000 n 0001339769 00000 n 0001340019 00000 n 0001340652 00000 n 0001341300 00000 n 0001359183 00000 n 0001359577 00000 n 0001381378 00000 n 0001381900 00000 n 0001388872 00000 n 0001389101 00000 n 0001396074 00000 n 0001396303 00000 n 0001403272 00000 n 0001403500 00000 n 0001430060 00000 n 0001430658 00000 n 0001439277 00000 n 0001439545 00000 n 0001446633 00000 n 0001446853 00000 n 0001471005 00000 n 0001471570 00000 n 0001489395 00000 n 0001489747 00000 n 0001498831 00000 n 0001499072 00000 n 0001518651 00000 n 0001519204 00000 n 0001526728 00000 n 0001526990 00000 n 0001548136 00000 n 0001548544 00000 n 0001559917 00000 n 0001560181 00000 n 0001583089 00000 n 0001583742 00000 n 0001590806 00000 n 0001591159 00000 n 0001593341 00000 n 0001593560 00000 n 0001613878 00000 n 0001623353 00000 n 0001623475 00000 n 0001623601 00000 n 0001623727 00000 n 0001623853 00000 n 0001623979 00000 n 0001624105 00000 n 0001624231 00000 n 0001624348 00000 n 0001624475 00000 n 0001624565 00000 n 0001624639 00000 n 0001654949 00000 n 0001655079 00000 n 0001655213 00000 n 0001655353 00000 n 0001655492 00000 n 0001655637 00000 n 0001655776 00000 n 0001655918 00000 n 0001656057 00000 n 0001656197 00000 n 0001656338 00000 n 0001656476 00000 n 0001656618 00000 n 0001656755 00000 n 0001656895 00000 n 0001657036 00000 n 0001657175 00000 n 0001657312 00000 n 0001657455 00000 n 0001657592 00000 n 0001657726 00000 n 0001657864 00000 n 0001658004 00000 n 0001658145 00000 n 0001658284 00000 n 0001658423 00000 n 0001658562 00000 n 0001658702 00000 n 0001658843 00000 n 0001658988 00000 n 0001659131 00000 n 0001659275 00000 n 0001659415 00000 n 0001659557 00000 n 0001659688 00000 n 0001659819 00000 n 0001659952 00000 n 0001660083 00000 n 0001660213 00000 n 0001660347 00000 n 0001660479 00000 n 0001660611 00000 n 0001660742 00000 n 0001660870 00000 n 0001661003 00000 n 0001661133 00000 n 0001661265 00000 n 0001661454 00000 n 0001661746 00000 n 0001661994 00000 n 0001662193 00000 n 0001662427 00000 n 0001662687 00000 n 0001662957 00000 n 0001663224 00000 n 0001663459 00000 n 0001663727 00000 n 0001663991 00000 n 0001664260 00000 n 0001664518 00000 n 0001664779 00000 n 0001665071 00000 n 0001665353 00000 n 0001665616 00000 n 0001665869 00000 n 0001666169 00000 n 0001666398 00000 n 0001666660 00000 n 0001666909 00000 n 0001667187 00000 n 0001667527 00000 n 0001667769 00000 n 0001668019 00000 n 0001668288 00000 n 0001668546 00000 n 0001668756 00000 n 0001669020 00000 n 0001669269 00000 n 0001669506 00000 n 0001669758 00000 n 0001669978 00000 n 0001670238 00000 n 0001670487 00000 n 0001670725 00000 n 0001670987 00000 n 0001671254 00000 n 0001671499 00000 n 0001671751 00000 n 0001671970 00000 n 0001672240 00000 n 0001672519 00000 n 0001672779 00000 n 0001673091 00000 n 0001673381 00000 n 0001673664 00000 n 0001673837 00000 n 0001674037 00000 n 0001674218 00000 n 0001674382 00000 n 0001674635 00000 n 0001674963 00000 n 0001675070 00000 n 0001675178 00000 n 0001675286 00000 n 0001675393 00000 n 0001675501 00000 n 0001675608 00000 n 0001675714 00000 n 0001675847 00000 n 0001675987 00000 n 0001676111 00000 n 0001676252 00000 n 0001676381 00000 n 0001676529 00000 n 0001676669 00000 n 0001676817 00000 n 0001676948 00000 n 0001677068 00000 n 0001677174 00000 n 0001677284 00000 n 0001677432 00000 n 0001677536 00000 n 0001677576 00000 n 0001677689 00000 n trailer << /Size 5597 /Root 5595 0 R /Info 5596 0 R /ID [<6CD30E3E1392ABE212C41847B2D6385C> <6CD30E3E1392ABE212C41847B2D6385C>] >> startxref 1677957 %%EOF org-mode-doc-8.2.4/doc/orgcard_letter.pdf0000644000175000017500000036414212260050771016357 0ustar sebseb%PDF-1.4 % 3 0 obj << /Length 4585 /Filter /FlateDecode >> stream xڽ\ks䶕>w[MûeQjɎIl"ݴd$pEn-9U&8W·țx3rx=IbrL~"k8`oL?&89" ~! z'匿X>ӻwzSrM zta͋g/= mo_ 4_sW"NA"l=QU\$p;-yQkyQd/fm5vi=YQ@;IE櫢k!L ʟ2I:ȅg}gIA>5y/P7כ3+ cQ+ʾ.Ω^}XK;H `2,cL ";Rx˄5h%X\ȓF~fsLZPz)2qHef5?I8n5$B,U%_n(~HQwҊ2,X"&%H j ,NN9;=-cP7ј  @h+7mFX97F0nP bWDz#Aqdj#@?]ʋJeE&Ti޸j jf~4$ɕS,-+a't~ D Te}?vUE긪:*D8L<C[갮N!ED@af:N3/﯍d} ЇUŵ!Rmp[~wx{aV1t6ЄK$H8*J8G@I)49m > 쭡O)GV4^-<k-PZ#B{!i6Ŷ`7s^Zv>_|{3k 4W  CZM:Oƹ;'&7r`ʂTab gT24RZhCl(%22r*!]'4}gme>K~mij*+3[askQmg"&R9˧gJҹH*pv CxNALKJw&T"Voot^!Vl.7ߺ"PYiUa_q)1L(tJMϩtk^0AǻT,I$4+Tg vd4eA1' / q`?[i bfc.o?C翿{~B 8wlĠFp9oD*HFX|KC&6#CQ m("g5\{"/YҎ]s7*A0ܴIc,d<RU*cKy_QuVܠK$SYy"d)pb PҶRY΅BJFJyRȂ*|SkI4s,t3-E 5g=mxu9?7 ]Qߦt@V/$eB15lxӷhd- 8k hOѺx[${8%ngcdضmSQi)J FRxr p mi9|͌?xzT Tk~Soe2KjXi l5o8<0dS% R%(/;}c* ƽݰ=tꊿ3gܔ. Pp!*ʖ|zBcɯoLXTc"ghf3#뼱\W0fZ +H=X{!/ݕ=¤S&JtՁxl8p.Cgܲ$)k 2Ь>MkކLD/* 2 zrVDLC]Znsc$qۜ_Jڛz9TyuUr/ YSbP ׭>7:bɰ2< q:ZDtwD@ P)=g y$YL/JlRӇi3-ŨԡnZp2>Pi{1_Ev[64c5~Ȟ{cKUNeMAS; mS׸YMvvc + 63D4r VyU.1 aMn#8&E)dXbce(/^r DfHmJsq3pzpQ2=anxѐʅ%7~Ld$q&  b(Hj) E2G]<1#dj0ߌ[]) a4]1g& Sbt)y@ 1*pItֻ$b-TaE`sL %|7)u:Ÿs=\y/MOPQ‚hߧ`pLm7&3rE`n{e|pd`),Ļ&bnRRY'\婿Z0b^Wfs;ttPmv*`\ ƴl--2˘s =Y'~ak^DlLחU>ﱰh›ju["]GSwJmC_Lz'{_M DttKNZ8Iţ:6:!-D={մ!{,jmw9D<}^dsys2٧7_z?ͽ04#b U|()N12OŦ["-xEe]h\Η1I,Dڦe?oA6VF;f𑿽7\\\c{2Kn=Ԛf19(!.7UU+ϤOXf܏|r 7XL1N7dǖK?̮vl/;@v2R`lʅ4!͏6qSPQNT-2[DneGz-/8_/^~+1ěK͝i{xIBĵbrnN`&W;Ԛ\4BxO0$%Y#/NؙZw?"oL-oH$MZK|S|z0a-B\sug [!XyjAi2̶ӮL!fb*j|lPnÈ4Ou"bS]V]NZ-62GQ1\,+1M-F1-wB3q XtTZ3 ;*7Wv^]YlF+\V2{4UBuЕÝg s3,1)&xI‘\Ա,gE$͕co[GSׅ+|LѤߑ&X޶)QЫ17(}R=MLyP? lk0'HYhe,ߖ#fgEȌ jn$hnAr(+f$vin<VLG'= A_-k Bz-DHv4ז4h5_u¨F#$ֶKlyoZE%ef%hjr2f}Fn3NjwҌ%8F$ImVP19a-Yl(;yXyN~Yw4w_&i}ӂr i$B&2YhSxw}mϰ bk lH@i߱ğ&>s1;L7-гP|%3YUb~8bHbߣSSƒR1*vwd;Q2]2Z n>UcT܏#$ ~BNFZ|wdm:߶ eu,_)ڱsrX9Ƴ~. 7LNjXepu&N^XdK1d2qåsǶ32لfE/1,vyb #u׬ ضulmv=߫#Yfd/ZC&~,La mt[7(z㏐tf(CFoBk`nËc\.^;j@tt_E֝X;^b* 7O3 cH'Qy8=bfJts_:"!ؒGJ\ ~]u ~=vaHղb =$Egu.hHrYnnPi+%yѤ>S)En5\WO;pk3?DQM@W3FҠRÆ  ag&H~5 ogGp&}u˿6{g R/z,p6ͫ7Wbqra,gŬбYeY$ZWcg`V &Xn]@5gޞ;?'RӈT6[ endstream endobj 2 0 obj << /Type /Page /Contents 3 0 R /Resources 1 0 R /MediaBox [0 0 792 612] /Parent 11 0 R >> endobj 1 0 obj << /Font << /F51 4 0 R /F3 5 0 R /F32 6 0 R /F5 7 0 R /F26 8 0 R /F39 9 0 R /F15 10 0 R >> /ProcSet [ /PDF /Text ] >> endobj 14 0 obj << /Length 4524 /Filter /FlateDecode >> stream x\6޿b=^ [H6mK^fW\=v8|zxE9DÙ<׫7}a{݅͜sǾU|yro˩LbD;P҈_.<3o[鐃}G{17sˆr/c,38pmߛ<\քiOK{R`8Y ꆁlX>%{ .e,DQ1'zK25ZTtɶ3 <+1-?){VU9 d70w(sse9.kKҔ=;]c/(A EgUө~~2?U_1rTLne$7?^_}GNl'lY\L pn0/ie,4ta6tt|dyMѦפ ;D8q ՕuVy✕>z]2)*#Uv#wy@}9ٟnzD@fB C=KA}|k^W>yn>缅1s>f;cXI8-`rE(XH襚bښС8a]ŶOBq{}>^+5L(Q@!h)5TP[EĐc68KM"\={s9 374)FEDH =?ڔY\>,,K A;G^^N3yfAY!Ѩ.Iп(|֜ClnQG/igl- cnFԟ 1L&m"m\ T-KIDHcS) d1e’ p.~]OM 'p!WXymFG& ?}ـIH|p!a2K]nB[*;x$+v M7ӌy0ŻLK,X[Ϯz0(BpuBv6AwVYU-|ZzZGGtn "iX' E1?@<].ɟz"帋Jfah7wKBsw*8v@}N0/.A Ly14TuN-~: YZ+򔗧!)Sh/ kZ+CJXݾlXf? E37٧u\c.ں* I2>\p43$z%)xګWW~Ա²ƣw"F6^BB014cYdPjVX^ p鋸^H4G=R!XI0eͺ] ?b,f* f3c6E07wHlMAb'Chr]nOe33Cc "T`h[sy әDW6`Z")\qFExrT}Z1{(f25H=-N,3d⡞wm S: jQBm.1.Iȝb'L:x83奅ETЅ? ,ZB,SI)^\fYf,;o_6PRe70PAs3%|kYfZXjϡ$>;ǢҦ8zc)F/.õ?bRf2G<>ϟW#pjN-a9&;6ςb3R"Jul,Y:v'*?:$`t$syVm]Rk%otfwrbesLEb9Z 5‚vc=8'/~%=ie7R%qkRX>~u^ƴ.B XHMyUT: HaQ%oLsXo)tFg, 攦-(^"d;R:~Rsi`9e\^&/-D6}">jyxrcXbٻYD>^,,ԡɕ &Kkx ϨI4g^=J\ƨ آ㣬^Sz$^ rr\ Eة8|nO! P9ftgKQUa!y=kELl#1Yjb{2*@xmV KX(} JBTUE[mKncό/Kk/pu|j[Lzq4:ՂԱF`QUu,ҜVӰAff<{]3fɄ稨R>!c!b|> #d$a/.Y8{F='Js[$p ,!GǺI'ΠZR3 4#5q,rtUI7|98boJ5(~Va^!f!cQ U$[|9.^= M}I3jִzi&ֺ4yv̙~q-B|mnx26m@hRryÊ)؀V@$SrpB N2{] u%>d,a}N^Bxj?|CJm"m^je^Tm >君b">d%6`M5Y!# jAFpM5_LP5” d"Y#wXo{CJ@T7-/>mo-fdrBF{aߑ} ,טT5}IDeAsW9t#5zXHhF7:[ܵir \ E'-ܣúpgDfA#TAt4QŴ~R0拙!@dɞO\. "vSvWy2VeDDg&oӈ>΍C`XU&q@y{RmٖAkKӫf9t'x^ZVc}L~uXtᑎst5pΌyBlk>M?%o{(yN8*|k%T9q)j n#`(ApBI5 uieMlE՜ϳX _pLR ' bEY-9;3.H$qP@'`5b6L*g_]/ח endstream endobj 13 0 obj << /Type /Page /Contents 14 0 R /Resources 12 0 R /MediaBox [0 0 792 612] /Parent 11 0 R >> endobj 12 0 obj << /Font << /F51 4 0 R /F3 5 0 R /F32 6 0 R /F5 7 0 R /F15 10 0 R /F26 8 0 R /F39 9 0 R /F17 15 0 R >> /ProcSet [ /PDF /Text ] >> endobj 16 0 obj [1222.2] endobj 17 0 obj [826.4 826.4 826.4 826.4 826.4 826.4 826.4 1062.5 531.3 531.3 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 826.4 1062.5 1062.5 826.4 826.4 1062.5 1062.5 531.3 531.3 1062.5] endobj 18 0 obj [329.2 548.6 548.6 548.6 548.6 548.6 548.6 548.6 548.6 548.6 548.6 548.6 329.2 329.2 329.2 822.9 548.6 548.6 822.9 796.5 754.9 768.1 809.7 727.4 700 830 796.5 412.5 562.8 824 672.6 961.1 796.5 822.9 727.4 822.9 782.3 603.5 768.1 796.5 796.5 1070.8 796.5 796.5 658.3 329.2 550 329.2 548.6 329.2 329.2 548.6 493.8 493.8 548.6 493.8 329.2 493.8 548.6 329.2 329.2 493.8 274.3 877.8 603.5 548.6 548.6 493.8 452.6 438.9 356.6 576 493.8 713.2 494.8] endobj 19 0 obj [714.6 680.6 680.6 1020.8 1020.8 340.3 374.3 612.5 612.5 612.5 612.5 612.5 922.2 544.4 637.8 884.7 952.8 612.5 1107.6 1243.8 952.8 340.3 372.9 636.1 1020.8 612.5 1020.8 952.8 340.3 476.4 476.4 612.5 952.8 340.3 408.3 340.3 612.5 612.5 612.5 612.5 612.5 612.5 612.5 612.5 612.5 612.5 612.5 340.3 340.3 372.9 952.8 578.5 578.5 952.8 922.2 869.5 884.7 937.5 802.8 768.8 962.2 954.9 459 631.3 956.3 734.7 1159 954.9 920.1 835.4 920.1 915.3 680.6 852.1 938.5 922.2 1262.5 922.2 922.2 748.6 340.3 636.1 340.3 612.5 340.3 340.3 595.5 680.6 544.4 680.6 561.1 374.3 612.5 680.6 340.3 374.3 646.5 340.3 1020.8 680.6 612.5 680.6 646.5 506.3 483.2 476.4 680.6 646.5 884.7 646.5 646.5] endobj 20 0 obj [351.8 416.7 351.8 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 351.8 351.8 351.8 935.2 578.7 578.7 935.2 896.3 850.9 870.4 915.7 818.5 786.1 941.7 896.3 442.6 624.1 928.7 753.7 1090.7 896.3 935.2 818.5 935.2 883.3 675.9 870.4 896.3 896.3 1220.4 896.3 896.3 740.7 351.8 611.1 351.8 611.1 351.8 351.8 611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9 643.5 870.4 643.5 643.5] endobj 21 0 obj [531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3] endobj 22 0 obj [619.8 590.3 590.3 885.4 885.4 295.1 324.7 531.3 531.3 531.3 531.3 531.3 795.8 472.2 531.3 767.4 826.4 531.3 958.7 1076.8 826.4 295.1 295.1 531.3 885.4 531.3 885.4 826.4 295.1 413.2 413.2 531.3 826.4 295.1 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 295.1 826.4 501.7 501.7 826.4 795.8 752.1 767.4 811.1 722.6 693.1 833.5 795.8 382.6 545.5 825.4 663.6 972.9 795.8 826.4 722.6 826.4 781.6 590.3 767.4 795.8 795.8 1091 795.8 795.8 649.3 295.1 531.3 295.1 531.3 295.1 295.1 531.3 590.3 472.2 590.3 472.2 324.7 531.3 590.3 295.1 324.7 560.8 295.1 885.4 590.3 531.3 590.3 560.8 414.1 419.1 413.2 590.3 560.8 767.4 560.8 560.8 472.2] endobj 23 0 obj [638.9 638.9 958.3 958.3 319.4 351.4 575 575 575 575 575 869.4 511.1 597.2 830.6 894.4 575 1041.7 1169.4 894.4 319.4 350 602.8 958.3 575 958.3 894.4 319.4 447.2 447.2 575 894.4 319.4 383.3 319.4 575 575 575 575 575 575 575 575 575 575 575 319.4 319.4 350 894.4 543.1 543.1 894.4 869.4 818.1 830.6 881.9 755.6 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 602.8 319.4 575 319.4 319.4 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.4 351.4 606.9 319.4 958.3 638.9 575 638.9 606.9 473.6 453.6 447.2 638.9 606.9 830.6 606.9 606.9] endobj 24 0 obj << /Length1 2114 /Length2 16844 /Length3 0 /Length 18104 /Filter /FlateDecode >> stream xڌP]Ҁ] w'wwwwwzH߫=gANJ/lb(agLbf01201Y8[#%::YBh!3r0ȸXY<̜\\lMUi9=_r2r =daPcpvwٚehddojdamԍ ]_52u5ۚm`Ohqn2L\m-\bLLL\nlW5{J5x{L?z[?z:Ύ.@o*`&΀/@3 [?;Zt>Ə?&-fVQRפwUع<9,Lff6ǃOK,?N5pO!  5#(}3@gؙ?~1^]_Ho=տ F6gݐk BY_džۚY-$,܁&Jtpk [_/=3}윱KW+!mL=9:y~Kjt{ v.vuc8"(b(_d0J!fb0Jr#>"(>"(!j#>i?tFC}b_O&zL_dGfll07x#MGDmہG}bCGhGoG8}dmdqnFg7?<\U?2w x?RgS]?v]F?Y@;viΘ7Ȳ:Rύ~o|O3sɱ :GpP78խ2ѫqS-tHsr˳׋a^ $fDpM'|z5}W/ +&l.D\^Io{p/%Qz9_2I `hP/ܑfofP&މdhaOX Aę׌3SJTL8C]LCu\|]TA}yd:9=g9> "ʹ279#n3T%.-elNK)s}*Ɋ`җXY'AC+ED:߽Lns/qL L6󛶫R.QP&UB!O#^Zx>ۨpHB[TQ*|ȹAkiNE:oB,#r2gIif^!7^Pkv8 '`UB>|<ٱx\W+G n5usX2}fzqIw̸\TMƁK.N)xB0Q %W]wK%𕕲'dϠ UrHZ4+boՃ`IVTC1V)Ο EzB} Gk0`ь;|Љae\S'7=w9;'~zPMF*OQY҄YgBϑ׋=I&d2rvD:Nc_ϕٽ yxunOoz [$hߟDŲ;ub$Z!xb^9=VK' h_\~~Хk49e|Lz6FmA$3.?'**`^%U}ԹHlUR+{l|*^_zqY`cS*+3ho4t/eo=5#lvttM|XA.Oduі-,HOmq2G]1rnQ:R5fK=@AC9KxއfqHe BmR~e]Ϗ+6ܣ̩O!{ź`e}=-9`X< ڧԹhRAWޝ<.8?Yq Ր6K/DA q~NO Z=m `EM qE`)|Llvq*"KrDk>/L;p#j c# Btہh"/l ΧP&~`V!r$}%i1vV4 & fc-S9|5*(gg{KW%mJ_: -$ñټ܃xJcDu3DA|H-}x>(^I]\i&Yk2-DAODT̈́ yC!fѓQ/o5XΥz~!|?x 5ٳqޗ_W?eg~lBO/lXjkA=x^ |׽kBWa0QgAi?^uQnժYwC(` Z_tPj4G=\+"ҾN'G>kVJCVIdk* @ k| N1Ua{Ql 2k !2Kް[_E &'PEl5+(nY4-dtTj7Su'C 5GyHU٬ugSG9j2wL%Lẋ-Q_ -FNn 槆:IJ^9w;'= ~w\^9oq H_j^ q5")I!7q%A/7xF _@ͫXj򓭉J4$Ay+Xl;|$"z9E/yyշxCn^R9G}0;F/ SAPΜV7 Z{$#z]C,Pp3803I|bG!`aq!FKiW~  QG[,]b]'ыxmϭtx$KeVQXa?K,G^Ŀ]~Q>C@&V#Pv\Ev@#4$k:aRo[S7piϦߣ+m0TnK8m X wGw,$%==PGa,3<-1Ala@<4U.J(-ό+OmEܟ˹61b"{%P(F ʲ]6Uy9GxwED>9[{C RA#H=:B Z8wSF1/peӀ8Dl,JfE}F~1X?UXN!K`Ӵ(0ʟu ,/V8;;W@p]G- a̘-u0QJK=J.bsXO9 rO,63d/h!EvFylY\}oDh= Mb鄣Ts! 2'>xrwk B_g>"$,zMt3UB@"Dk4}ڜ/KQˋU-F"@ta1=q?r D*qca[G^4ar&K]mVz&IhMD9a44M> SD_×Kbh!}ֳ$Հ[5u3%|cdoj_6ypPoW$>eu_"gH!y -s^񉯜ou:i>h\0?3 @ih ۽4@ 񼚘E(كՌnNGrN1ZV„tYk̬]o9P2/OT6;| $֡"W)OvQkILWj B d+ aj x̡4ץaYh'lF\ xu~R(:*3)h]s, i"- Ef@!UAA+L"%e# @kAv47Fr-R>>"~+q7K2%/|;L_'+74muDǗ=͐q@4)u؄*:\,s D:BBhUJJIMT".k`B^Ir WE6'I6Ӿfm3'w39yd$$TȈ6T@bvxo^+8/6g;r'B!A rL,.-dyJoG bS AM>=Z\_vg=[o~/6 wU-' T3KUgZ3C@wM)O\_'Je4|u;l xBOc'c'g )eq?HkfkE4$|7-vtw 5v+9+@P"Ԇ%Qso@䈮]A9 ]` +s}keY.P@P=Rǁ xwz0Y)] HCh^k;kb*' 4.Yg3ޢeβ#U<`q﫦l'_ZZ`vpѝw(s[pE2l+^t&"d~%CZ|.!eca o6K 7aQ\"&M"jE[F5|5M]'øRUU3,})E=X0>_RŻ".(h$ӣap,g3sKdW箰qC> :ԫ;;j%21R!_UVof^_† E&ۏD1MxtԎnbhUts& 1 ;HJ _To, ~yy;q?Y*i@րTQR8*HBL ┌YB hl4:#T_~I06 pv}[<o({.6]k@ ?ЬT0!f^ ƙU,k'i.gŲo9&-@&g1f'2*=vUXIm<# nFdK}=!.1v5$]Vy-'^yFF5xgHbbU.Lk`ys/_ކ rhdE⭲AwH'[5U!P<}W!ДF "Q(|kY9<;OaS[SP_97j)uitBhd?y'ӥvzU0 G}t~ f/}w"Kb!s#D*()=KjC_frR6K)%_abq`&-Vz2UU<0Yvhmo֯" b)Pfc^_Dj"R;b>q܁ѧ*dp'>qpڷ>46i‹ހ}x +}>D׍A?Qojך y_65G)7bOO=>m9I9vjg JX_M>gdO Orn>Nu[vulk9҈/6#DuUˆQ/ISIW. п ߠ<°%vWF.#];A bD?mH4 h[s eHOp|&WĜ0>P?Q ~^Dvy>k  >2zrbSe N?!}kB2G[F#ZqeܙFs}lq5AXY&"ꙵ#;stώ?<@s 9UFj҄&E5 #7sd@;.&|C0K.lᡣDح)ax.WQ^0Sx_5ac Am 3kw,m9aƐcI/7-摊W燐lk.c[6tމR2E0 jz0iMϐ۪6'DsBe*_Hx!4q'ϑ="_'Sa .o+͒r\X_(3vb$+ ݛ6okrmӝ~[lE#[A&^|#IHEuJ*IO6#E%?,ggnI;ۨ=,7v8'KQ}TEq+cJO|bnFi.I'b|Wk((؃Kryj3oPU rZ e{ „I$[]*#9Hlz'n`*qCu[u6\fLW۽]ؙ߰d"j'}%S7,9ۖ_u(cOćFyWئHإ^DqhH3O#WFaChS" #:3Jø0i!S E,6Y#N>TS={{!tCq'Ha2ǑaAQX<|_YIỡjφ!ǢLeCRkP8Z-|Id18r}]Zs2Ca8Mnޣd`\QͅNJe+MG1 t+yċ-2PeT8p9|V_h4??t" }x:!}@ 'H6s]jQjIԛZ8kRԯ]ډƁ!Q"ɍFtߴO!&o=oRs\iV͛p!CknCB޷RuxnߏU#'k˜Foigz-b{ 6j'>V`~-]CՉasCfa[$qak2>#?O {N %?F$f6T_xR,} p3-E1lFЅ8L#OEpSu]!1xק6*ؕCp "|;0Z.@LBgH {?ܠ_9Ño?vTc/?9KikJ;:w" J*<U8Mgq$tf!gFS?zdfۤ w釧\~'&0Ց]'|@3Wè\˟=]0 w)RWJ{~VF!I+שLW@oQ2CL9хj6%ge2RVAPs-QfcC7R,r<^^B!Y[b-q,MH :3r3_6ߐ6&-FͰTvY*ZX'o<8Jь3/@oN֕+4B1 JXNr Ds \}7$tU M.HCh:El:/OO?6ZP)l_JvK<7B(^xJa8CHL@nZ [UN},rܖBT2CE^6Pk/}{s&Ƃ:ֈpqBa֏L4k)7#ʻfg6w^ =.35{Jܻ̐ _E7_m`Ɔ^B'?i@U#e"0+uFaqܻ:EKb:`Rk {8#0:vdiiUw6-L, [W HD;_$GסtR8,Pt0͍ގF&֛aFodn^ZtZ>;]h =1M14L`b_80^vax={یCg@ Kdj$K, ɽ7a0+Tq۳,17ODŽ7OUt[~ hNJ d&T%rpCZhLu(%'(rx ?*|rng:(}sП9Ef6^aL);g2',~^*DO "&d?n05F_"pwU Zv E& X"b<}5|r(QbNpdiŮGю2ǛpSJGأ%}>h& QLCi0Frvj.WP~ j)eVy('WеI X7*^^JeBZrPz AHZyQxQuo#e:Xi YI fADXB$,@M[i^{D\eDH%'{_}lCEʳD$Wy*s1+x=Vzc%@a zfVqF[ 2ZK&אMa []R wkrOC~zjj${U7vCx9B V$Ƒa݇%J ,=@,!3)4=SDΚ25^M|w8?fiS+HT7, FhS>BV@ 2H MԭO# {E+1/y( P!Rd~J%EG!c|bƆwr[ UB8^%J#l}CJ1!V^V^2#)f%G|a>J}/r'k8gzD_U~a{J^/z4!ljnz~|9:u`6NQIfdMTSQ$F,`@ߴS4spܷ%p"w^-F/NT?買ۣ(I~<9`k`+GɭxR{Q;3MJ/Dd@E }q-”A-5v[wkŁNus]s@+ӏr/4,?S謉cCI/EZ0]*9|i݃2Q" S-|fTԈH9w-<389 wR!y$om5nK5.<o46zo}鞕 T2j'HQzn}9Ec#pVF Q.N{u򒃭7xm{1׾ۻjqZX1KEgQ|%qOZeĺ3:D[#b !E9 cZ9BZoyI7=-WUbD10dS0>F;uynT; 82Aݑ+tc0ϳgk([M]F1 +lJ8ӪrO L)̹:)6>F}\6fG9Fe_f2i`T1ږ{?7,m0%)b4n)?_0VD?mA|cTS z1; z[F$FQ7ry:Eb CDDI>$t"ZӪe@ vFD`f^Q*<`ZiP{R;2GG5(olSX?vY9`N MSSW lhZC MpO7z8 h|y_̗T@ƠGBʹ*J jY= I|/ܑm ]$=wIxʭP| m:S=)L@$n^uc /8#rTnfZF_:u H &XÊ%\b5jLGǦr/<j.qi6K5g@ZcA[&:e%[ol±(i$;;8,!8mro=/Z$h9"R .h|R'Q}x L\ 撼mѽE۹#{)( |ᪧm =]`^S:2˱ՍRp4S$ɧgJn2ݽ+LN75k+ϋ,H2q:Sj(E72".EV?s VfYd,EI~.4RKKKn9̕J+5{11V(yۍ}zpEdbǮ7W\aprmWq А 6836 B zG y-fhaTeCO I{FZ"ObxۗyHIt2(p{0!,ՒݞH`$ҟ4ҜOk5̗cK;Pm}hݸ΄5.*^=^xNt| R\,%5oM2, j9l<}m =V@9z~HՎsߌqB\y&'[),Rqъ6u^y.d]p*54:@ʌ4|MdzISLgD?aס^B)dFǥD$|]ޯ$-x\*~Li?HDx<sZ -~|}f&?d/v,EuR56z?erFD_""i ;t@ѳ5-485$« =, }]%c{b3@M.iwd  >mEnKZ<0>vmC%U&qٴP*,Eփڙ pSؑ)^rxdSHӎM}@8+!0ioߨ9KnUW# 5r졭)&̀f$ns{> ft=#E!vPQ (*l|&=dX*J xWYp W |n>\~NWf e&`%PCQ$aНK̝pVH13ZԎ?/⣊I &K-Xufihi7jKDXqZH&'6H!G[:킅LTBtR Q=9nH]^CmEk5*R>$C`ɺ=Xߠ_⵺$=O2aPGvŸ'bǠ%UE9S58MD@PDuQArޙ/,!ܫXX4!ơ\!01yWviPA9ͦ~ӟZJS.V!Q6gӚ{^4j!ClnO+UlEU-H1<}EaR UHҶkkց>,lyHpro>R/Z]Cn,-3s6.&0_yr>tLmN0E:IE%ێP`9:{T*K~`N<4X%8,Fh`(,:༊wbUwXɋMԒdsdg| '{}} :RIKU8ś7.S 'd5Q? 6Mz"4vV_qb=YAfz}I}XIۻO7iű$lCh~Aoi* | ti ԯ<[C|%ęf]4/Ϳ$,Dt~敬3鹄(Ib,nO(y1/^H* >@mƷlj0EyCz8?C\̅ra4D͟Yr~ xq)ڞ)R: 3MdF ~$ʠ}݉NgY[V8},J1\Xf%?ފvEKR>fw6fn/~ tP!.z_,[v]t*4`F2I2^rqp; ptB r|(!2-QrRA9T#OZR n}=f7%A!S6==o" z.ǧp`C77L*#<!X Y\!˩ JiIMB7^~ds7+2EbS`1Ak͎у#gӼfa{q!;leP 9Ĭm[rRacMWΖBNpd.hj<Щ+bu휯 9ÕT 'JXDd&2W(T i~0? ۲=EBglx{ZS HWJ7.FXxc텾@;ɿČFΛ ߏEk= #!Qr%VP{?ךtI6'qGIwy{O6{'GˏI ̬yb\/ V}eIm[8reymi2Jp2Cq<;| ?߂H_%' [)a.\Ά0k4MF$x uڨxgZ WFM0vIr] tQQna4> @Z('v]0!XmܳUwq0JCP zBV bAhH[VFLLh4%A"oC~@0v2 0m^W)$϶$`v wa0HiJ(< `*b] q6X nפWQtܩp 5 ۜ/:.|cߤк]"Us֙oi\U|f׀^PWY_xLOfxw<΅Mk̦z+,A8BADWM(|`oro1Z9]Ozx f>F.B̏pBj֎gF\0*R1=U*Q P`[ng>2B>π YT!OQ˱n:ű )SIUB}4ͱ^zM~?͡LI%@U~a endstream endobj 25 0 obj << /Type /FontDescriptor /FontName /AROXUW+CMBX10 /Flags 4 /FontBBox [-56 -250 1164 750] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/I/L/M/N/O/P/R/S/T/V/W/X/a/b/c/d/e/f/fi/g/h/hyphen/i/k/l/m/n/o/one/p/parenleft/parenright/r/s/slash/t/two/u/v/w/x/y) /FontFile 24 0 R >> endobj 26 0 obj << /Length1 1889 /Length2 12413 /Length3 0 /Length 13576 /Filter /FlateDecode >> stream xڍP-k ]C!;I =KCp.[9罪{kfպ"SQc5vNLl̬qE1m^++3++; o1&l*:)r667??++?`~ ہNi509X@' kF @ lb rrNN,,@[Gf0#rp(U3@/ l,M@vv kr@d_{`cf'hbڹ[ڙ,m@e)f'7'FC#U_ y7v$v>x=ƿDZ(:m"F$bRzo +GљUuPڭqא]սZnyNJihTsxpNLgnogof0r'^HDs{nyV;SC_c|;H],+ oʟ+q?ܹ7&+'F]pHF99h\ C:Kg"ORfl:PWtFC;n\rv9ő"2Pa3/*?d0DlרoDf*oYBJU (G0D)(!o3AO]C\R @ |(>7$"4Nsߍ%9N&LSLdW'T &8;tZ!PN[\ ŁN}f^MN9=""n{S't` jdݪ5rE[Cp+>3P/d6cɮjRvfUDHH ls=I'1eFUC_Fv6'Es^[Cųzi9q~2x+b_i* q0A9Ad$d]PwakjR)$m}1lc l+=+2TȿJ7E1HѴ !d [Z+.-'EI:=01Hg';t:4XojlB >BR Z52-7N/ܱ 1 EhJ\2.46㽜zaW NbdY_߹Fn q@Mc.j!2n޲?MF Xۻ`Qҕ/aNOB^p VuTa}>[3c(F⽛U(٢;R T=N3l;+N@D9[P:2HҳZYe>LR =wfdjr ݦ͑ۛyR Vkw0GW zEjACaTWa4y]7B 1%\'^CIBxrɕM] ?#a|aҩNU5ř@që(Zz3dD[{=ze0j^.L4&u]`IPeft+_Z!DԆKuC}?[ISP$O'a:gɈF9F=[52ڎԐc+!#fB\pG"Dw.OSmǼn=t5u80ݣVgLZg߫NaFSt D Z>ثFm'8- 6Q6S^{YoR2K⶗UPOW7ZOcs(k.s H1X.֬akWfwcwZks?O^K,4$+.s:\;/ErYhp3ոTh-Mm|%WElDmn3{A@D+Kt̛B"EFJ}yN5cCT9~Wd+^eJa >u\.DP(GUO_v#&n:>QC3R .vyF{o 7V10⮶ H隮p~?!\t2@k*Bq 1X̽dq[?Tog3X"V~+%IMҀ:^ܗE{^ccW˻_.Kd{qnM"!<1%=J}k Jo'S@5&Dz?aAM7lTFА:~ҫ:v5 y'%g~+"ʐ`&Lf4q2AEV!zCtozZ`%LÜf9;@0-52L/Ixl*AN9w Wfν`ǫлΫew9Ǯ[I4Ub7QMmxK3-f~ntS3^,5JY ~&\jEN|~fwi'eK(J'R> oJS‰Ș6zH򞔲0.G9, miE}=%jQPkSMu#;~VGa+р@jyrrqV'' v*BA. 2rx] Z]јcӷohƋ%y\+$4X})0$zlqSd,YB6BfXBꆪv".QbMJ+]ȺN8sCAu'i{ۖX,o9=نpܡ/<]w6JvT r1R(U>ؖpqveaiuiP؝ T"Ӹ0]!ב(Ο3T՚ϥ%&|"z]q0S'^^y*#^+J6Mv'g7݈ %2T[Aw\-rSVoVĔRd$ 3PCSԱj{.vqg|BBع8JzUK=8\6Mè2㽫G(g9tgJsFz%AAO${cx\5~VMECOKpLJaV&AdIv*xnR)GB()&2 {Y[upT(E7/Q.4N?q|NvLUa7w~&Jķѥ7f_3EDF!Zŭ:,hÆ2.9RbZ| Y\ O)iֶq=s g㶾gY)R'tRGV iSSSK2A׉L2j|Yӆly8 };}o:Fm1xk~p5e [؇b$#]dJ"Lu\?[lūxi|bH#--@#h4P.4}BpS5DUlOwBw8B%k%(N5G@fν8;y -` n,qC\b""7@jFJ qEZ:~%\#<˷DA^" _QVVSQr.~~;I/rX%4-nm(Eb~#iXWjv)^Yw~s4#*!cJѳh@h͙m׋!ḯ1t|HUDAi}4zJ`Ta ԏa—IBiTʷvŕ콕.TƁ7BN"F/O*p;Vq9)otHS~4?^y ҭKڥ&@ 曩w.yiB(,B\>-|Wpɼh b!JtgI7mȗe乧A@3zզs8pXp̅{ B U}ln_̒ :*UzvN>=kJЂ-=dnW?(L*`+rC4͵4|F*!%%v~kAܑaQ8BJ Fq*$+ p@{e$e@=%&Ù:կP+/3u Kbxxc+^ʴ!A)&vr+艎,0f'Iowtzɂ %m_S =|8-rPI)R9lRLnĂyeAp1,Qh&E'h JYd!^8-INK"Ɋbp j`3%ȓ=Dty>q% 6E#6M j>勦ؽFIfTS2ž<dJb/HUH?=W4Zާ Z,)_24>"{߯\rFĦ̮iE8z6Q&dEIk:#OyTiʁ6v"'wE5?=pSf.ɌvxK:"ʗ:ѶvT;M g59\ռpz)O[hVП\3?WQ//2*(+ZJV[sГb&"G3Z4”M1|l(_ȣ"Fh=,niGNdJnr<*\]äv/Os^ !^yG^G7DGq.և%_Qfv*b  { Bc%f9N5uhyy{!'NZfFh^@LR[.t)ዪaD Ym8׾Ʀ)Y ,]w J0l[IV1j};Q|mP|5^yԠ'@v#>i3rܜD%K.Dx[\z4 TuP z;L;w}a'!ViX+X`ʀYQʗhCRJh,| uP&L@.iϸf֘j:!5uԽ ۄ}l8ۊRD)ChC3Iة|D? cb5;LfQv#z)7=n#K<:9ԃUw7ϩN;.唀r׊ku-p=3j0 2rNL c_{ ~DEJxژF 1m^NjᰍY d P3ջpOР ^>u["ss=4MXczmRP0t$|Q*17CUE3&E61ݭRI!F()0!O2} r5X9q<`U&Vt3uBLu^<#e،u0y {2֩MdhO` g>h9Ä"_!)H">H}Wczu݄1#!? {8sPV 7)3BhI yQA igl!/uhy#ڡ{3wY8[mNMv)͹uѐz \UrP"8eLMaUy%ƩT'Xֻv WK} 'зRL}sKQAt5rsCh}ɕ?.q5 BR,˰ )ǭroJ0n(8,Ǽ\S_C!lSL9My9# ʘvR7|:Wh^F~d{ՄQ2^c_˪(]kDЖh+֝X0Ɋe"K mD7uJXHǘ:X݊- U՘}n%NӘV8#ZyȔ"-AL,x-sϳ<5iwe3o=%jݯݕ8 D,eFuTxY!XY7u٢e9١z I@z;z T5aAHv 鳵jݒK_` <9B "HD>zۅoiL 'pklNʞc OuXw76! 7cAf(J3`E+d2IЃ-JU]Ϥ"<釡.ս^,Ke߼USJ<_wHT8yD{62;꒥]89HF,1OR*{2uLp5k")SZk]tBtikeG_"^n>GT`ֻx*:3$)W[pdVxЊIK H;>/xӗ\HH}y)djEre=Ԫ*^^ZJgdi(pǒZkJE n]84E4Eb;nߐQP>I#!̞?{m@@}OгN\"6Zo֝6V~ `۰n~T+"oN Q0$Q;_dF:w8e pOSTMiSU ߓR̢1B&Ks^pNnD,_I0;+wD"?Kjap`0JjM\٨_C<PhJr>B"WQR@}j);Dk28m\*xC; ޝUu B]ڄ2n8{AaicVBNTet@V~W:>rSl8m+xAdBXTF]2ž ]1,}EJ*p-eq~/ّ?o9"ۑŜXz]>Pv_9|(݉U^jL%-|'[wR =:fet!GD=hZF oL<*ծͩ2"P]WБ\alwR !'ϝO[$L?FfxT{}_68\_V˵Ō1`+HgiY ekԆf<| kc (~Ekɛg{k9u,H&lAY}ӛ^66O (^ƢQ[,aͯ/ K$f9dXpJ*UD2j(ؼ }N<%i=6.!CNL.X&Xߓ۝ȇ"F<_rM~HH_ "vBԭJNaMȥ,rRjƧ`qZVp:\n5{A/3v1@>wԒd Xh}c~Eҳ%x^)|*Fn٢3Dq@1T?%{L\s1,Ut4C@#R D*Ý9.*Ǔ}\6&SKR U4$?-JMeF_/;jq%y`}Nhޞ5"8}^MPG E'G3qO :c\ΣB ~i㤆z%e[  Mtg:l^R1YwF4XP,^FLӥ2oCF7DCVŬ|nfnMa `NU"d"!N3(%젔jj *jjSԖW3SA\pvy=TxRG_P+V|ğqc Aτ/һv__D23RVf?1ibR-=$DUodDž5N1icVUa(zym* AnՙWK lwͥ1wl=,7!+9I &hR-yȵyDHM:|hL5U)٩v 3DҸLW1?-uBg|G/IvҼsI5(o8@lh҅{<@oRL^Gu}w{J> 3.SZtTtER:w?ɃyR32f] |K=v͍ڞГ w[/Zbm݅:g(068 v(3xEgU_u_lB\>bmv=!Hjɵ; xjK 7<5muU sVh}i~^\gRIZ\Z\'+WUʩxikħɲӗ6?;bB۰gK3,@= * YXEQ#\W?%=Wl4c-gw}LE߯:BmkW Wnd"&zǾ``MU3vˑSٲk+wz'ݐKڠԂoK?gi0(Ca8=..\y\ՙU vuu &^'|H|lil )fįs!ۖDb{0 wy7~zqs2ߘї Lk׍7;xc%z5 InZN->|쐝a6[PNHlYM G//c^ ~UL5_x]|״Tk&7mقx1)& sypz'Nf?lU/ GlOjb5\53:0gq/\Rie)˅+$!yDyw#yDŻ!oVj6ڹ7Eq`BUFn{}C0?C|D1-߃/gAJݣ4) Cl>>=Ksԙsn'ۥ9#<"CTR2e .xU2~}mlY54(cjWH{b>⤨En@Wlf7j]y9̜45J֒cjg*6y%p`:PN$WU\I`"Jf[QA"C"+lC)sZ3~P<=Tl4Q g)9"((SH3fT:"fRE\߼Ssi1b',/^X/Sbv/JNՃ{OlzPPyrٰ`Вn}F}f|=p"a3i bl+`T8E7J*w9WL-zڗYlY0M]Rf .#9TbtC*(="Lh\KH_P? 29@fd'u Ƈ\5rR(;inדR@->et;ЮZZ θ[ FRMTJì w4%v.ĸ`jZpZM+$ dڨkpej&1>_)ޭi侮Ltд4VkerǬX8<AhG (mx6nOY=hk,4`8ȱ_*Ke'ٰ"bى* M' yjVA>zh;]uƸ/) z*pߘQ,XS?FYiPBѮ!KO2UD Ynb]iTۗ Y<;ưFȆR_!RA |Mz\pAfUe^T/=y9&x9x+m뼒s$Ԧ{d˰q cǴKrݟ>@ɅQy,gԦw+hςBURztM'YAPׁⶼۼw-ȑL2y7GiHlAnzl{\Ju3&v_cJ!xj3M:ModeYJSkߗ Ƿ&U~h;UML:BePa Sd_ 75 ?r endstream endobj 27 0 obj << /Type /FontDescriptor /FontName /ALHMRK+CMBX8 /Flags 4 /FontBBox [-59 -250 1235 750] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 122 /XHeight 444 /CharSet (/C/E/M/O/Q/R/S/T/V/a/b/c/colon/d/e/ff/fi/g/h/hyphen/i/k/l/m/n/o/p/r/s/t/u/v/w/x/y) /FontFile 26 0 R >> endobj 28 0 obj << /Length1 2038 /Length2 13290 /Length3 0 /Length 14531 /Filter /FlateDecode >> stream xڍP\  ڸӸ[и[![p Gιޫckε)HT& 3#@T^ĂHAfb [HrrK/2vyɃ2fV33'`'@ 9#R<,,]^@mJ` lr25X^3TV  Ag393,hV.3 dM`l#"@o* xZ_\@NUi9oc i p/gcSSPctpۛ64u[U1@BX`?M\l3dq{3Qw}bVN ׮{:V{Vf):]Abx!Y\LLL\#aj \~_ol8|_ 02u,DƯ'dezv k zھ~EZҜ_=a_y/W.\_sY^y wuSW'uzـ@ S)ou]pm0;$Ŏf* S= \Muf/ᤑ^mqk'O>*3;KXS jB>O>l޴BvP:r(忿u([]QޭEz,eVP"$kօݙ_sr^e}Y uXb+X{pqup\,]R429.'׎ʭ%5. tdfT]1I,[̦ٚg3bՋ-gt\ɮ  L$Á k $\9OmjZ7UZE>ܩo[)W5rng`Jao8\r. -HR5Lca(C;?V#ZQjB1*u9GZm$ ̼˾zJLS㺷8bQ+@4=|};?ZlŨ' FΕubuKlu^ts&m\: T[ U5QWg>ik-,+Ua] ?> iAqElON0!fJqQ+IhC,bR$x?Zؓ(INͮ)S* [Y'Egitkw"\pb]CY*v3'>'1)kM+μ?nA?,[x[jq*Dja!l" @İXbW\/؞@~vLyBUAYS-0O)q|bmo+;=$&ӣs~Sօ( -?'=}T =l1s 68W&u8Yx|NJ8B˴ n~'{z7e9b3: #ׇS+tIr1 SY57B/ߗ4gW9c%5* rau⌢O>Bq"$Fͅ]2]q'djɃ*xRβg5Vʭ,.R3j/W u囖>n oKeN':}:_1FBe~*l抬6.l`<&1?&ah?!-e?R%}T2+lg8KyVh$``@41 Mfoae^H~;ڠuYCE ct7m~M>4 ֏8zyZ^d&aT6ެ,S[vȸJ% vϗp|07E%g-Bf_ja.G|6?0yUZCWuNKrN#m49WLKKtcBKW9UQgkY|k.F5~}Ca:ˤ_X,]>5~/1loC0n ; |Q)n}F8@vCϝ>/{4w,F!E!0rE@ѐEJ'6rd)ǧ'LDZ++ȽwrcGe)㠛o0E2a{c#K:[vT*H18t.W-s=w,)i^3h7$X%snЊcO$_@˙H=$&Q<]hAģGUdxDg4>҅h*sJL5MgaA|7IMwb&OUXB^4N)juґ *ClEOj}LB$t_z]R9RvBЪ7/%} 46R6;vK4$^#Z*j5|T<`vIy~ԤeUy=^uttfU tL3lC&씒 'ŕ"LѲ>l7LߋGglO4iC15콭?B:]?Шx/c2hZNOq(QRrtǿNs/;zui{>\뭪:McMTz~L탊g# J%jU~@q4!TG D~C2c% A/SҜ0q6(!]~fhL}>g›.ިkoN90GΥ&֙0di ʑJ]_827gQ哟ɞUC3:2gȧs*NC}8Z|wc%c1Sm}\Z`t({5. PfT> wVC}GX|Ac ?hzfc۽_=O"+4벺[/c}f,XFّWM{H w_R<'r{u<&tut9^4sp}(Ǒ4>pB& &Y kޡy@R0vA4sOY@Gb\DGi?y7vT:ŨʀJ]S w ј:@қu-jI8Tu|.(`!Sr|?v!; Q> cijhNCAgk)E㐖/P/יV%XB>Qd}m4ҟ7\sQ8Vqp0'VX- :_7Z`&Vnw5 SЯ3qƫ'L6CSJ .nfmL[,{[Kzc~-Pgmph;v2'T 0dz~q,=_z'{n+H;>Gi.3Ɏpƴ =ftZRM*uusDS.- 3@3qw\_Кe#sD!=?҂~%+2=D"bu^bN䧇 `5EC)d'/eU+gxvAF=Jgvn~ "1f9{)ǁZQXtໆxQ_}[O}C3E23=8Qh[vb|rႣ&2)4 sVkRX^dn4Aȇ|i5P?A0/KprMsZt)?]]luL<nX0=لGp ZNfȘD1$niiRry`]#W58Z)SKzg#T>; o܈,ɢ/]jzW^Ghi۟jHI 9,lc 5,tfN'mX@/q+w y4 >f~"PmdvBH$oVtf9c5osQh(. %QN~`vuQ%әRDRiT`GyX\Easx,O@߮umT6cquc3̥ *^ }63ClW=eZe+9 XG2 DYu\OkwjKȈA/ىkԅ☴=TaAD)F?ݜXc7_:Y1VN c'Ď_ 7,17>ֱ |mNJ] fnECSyI,"ˆ)2]Yޖ>T>3)YAG.Z+fHW!kĕh7)w,w?6uȄc2 29c6yP{i2!WHmT^V$#|йYVrIXH?sRdW`{i}#in4Bj(O$qWJAr2\|,H9O4uTU(6woPɞhv_I6Fa@!Sx*b)~W-wKf ecUu<ڭh@Ki>cNaQZmh1xE7C/`O(h0D ȕ 7?l7ί1ja6#з1#:A'Bfۘ`zSVH$.8yz`k+<۹|BJz``dG5KV-n<06)1EMn܋ ">ci] =nW<@ ^&}{`2ME>;m+C'=%PS NEuȍes! :`J+p~EC%I y;iKא]0p,1_43 @|TC$sG'oizn8$sr:k_c10(P-ޖ`_yZaX6gDOT΀ؚbp٪Ջxb#>4ATIT92NAؒtImGKL{ty ^ls˔j4a*?meN}@1~Y&FRP43_x9R (.{l%žHS֑cg&b7]KfƧh"(@`pq+ciQF/s۵tDGu3ǥ1S9eJֹCfUl>?(⃞]Ƙ^6JNeJ+mzk[M2P N#{LFCX5Nu!`ë9Źzm>b8AYcwTsrxo0K9n$=sW:41I3RضQ˜asvX5 jRU($̒Eyx²Mq&uM;XZLax{ψheQCPFX*:ўb$^1/RrZ^U\&^Ga[pՂD8c8LRxQFQmNk sQրpV[22X6 IԮ!ʠZtZ%! ~z3*(6dI&}+'t t܏V2A|:ɯAXZ84٦̽F:c˟a( 2As6q<Å$ yP@)![*PQa7Dy+;Wdqb޲IQ8.α~!)Q@E!{OߙJ+f/_JukzYc 3((?ڢ=ȍwx眧yM s#_SΥn+zԻR-R='Jle0K̯8nuϼ=TP! +GCbqhq72/]RߒH; y _Jua$oE/ KJGNF> z6;be쁡&/&ñ²ɺ"rDXO{{a~[!8r~ӂGWUߪx$;E TaYUq%@)'0:0JxQ>+6 fF gdK0붗 e즖!B> jz{ la?{&k@xawsd4=Y`hd-UNbjNK?<M_@}\=N䬒49tO{2=゘a.a9/r~SkT6u5l(SJs0wǛ/GʟDϪC KDVDwޘX&&>mDk|Twi{1) I_m0&O+OJZjX6g"aZ5@nUx|nBΑmۿcT&º@<*>>0A6[p Lx_ a vQWvՂmY+(B8r 0 vp±<[f4m[tOcts-r2iK^|.wgtH୍""iupjk$`jI7NsilvbЂ"t;xRӜr _[)KPHht_df9qeקeTS ' V B &y\X،#;~fhgAŤij!~vyM_o%b/u)BH7liLz!JUxAl3!@Bڥ%HlCTLh*nɯϳC -lL,ŪKJ}_N롪jy H $ vs_zyo1F?{X:'ѰPFL2W7,p0?i#v[G͢M{8 u:4}'V)D:(ƙ8g!N3ns) M"2 V_sBV uSP?[ hu@V&1GNFr°,*7cC>vqA75~L@7]:92{n V›u&P~0*(CUKF.@3;~.$ZGp5hjKf'lާۤog'Q+$ 7/ʷF*}†oHSIc,)%a,,҃tdr$8ߙtkk!{!yqĤ ȖAWG\*\IhLС1 qz&Q4PFsO#DUG9{9&3ܸŴmk^6=fnw|#^G9Sb-w"S"$Φh階F@Z.5#l]Ty_uTb1=ҝ} Z+j@f UaV>fpw<%CXm,z#O؋ޭVkRʸ@~PBB2B!X˕5=h_aԝ#CT=fHaFļq|Ch{ 8bƻQ\q:\G0(Zx3NR="jX(nCǣ9;9T[6/okk&._rf6Ih IH7q~&P\-Vn ,A?Y8$(VQnKPڿ}ǎia@oI m=8ۛ"+Duɚ;>>틠v"l3(a$6@Ls=> s^0e5b)K,dx<e[@d%U"70$I aE=TTŷĕOBsc%BS&E Cwumht5C)@7f!::4^<9vG 4t&JT9 |5e-7&(WZD7r|(m޵ kaV4Ф\=f=E%Z=%D Qa@:찎Ѝa>3e5p\ nl)21x7jt lǸLtMxEh;:XzjdPN4v rrgHz'0%ǂT@'J\@K5.~4DyM|Iw`B-ߌ!! \8P"k&&[/գPZ%)B) Y#>e:\K1O'Ƒqg'@|+5=!=%j7} VW?绞}:_x`Ȟ_+'\db/rqۣKě̤$t¹ d[OnOT͐FUWhC:!IbxEs7Wn "Kf)+bό !2׈M@nը^i6:6@vhI -4B(|됇: ];!X94CDGI,.ʯ̓㖈J-sǛZu>YA%c/hs{ |]FXaJ;e`IIiW&/F Gp x`J2#-Bg7"\Xl0if}"X6[>X)idt#XA "ZjҞ)eo{ݍy5+fb ̿Q<zP sd`Džz焦-jMߎ̨"1|7e_A&/juw K9k[S?_fnViPp=Иn8 ʈY]-ׯ.oŦnT(ھ;}ּ_w4L>s*u+2c!|(V[ e7WKid 5znyʼAgHw> endobj 30 0 obj << /Length1 2542 /Length2 18573 /Length3 0 /Length 20036 /Filter /FlateDecode >> stream xڌPܝqw`e!Kp  }N'ޢ 1eL]kAE$jh ttpcbcf)XY9YYԭH4.֎\&n`L qظxYY쬬|5tt[@WD*1G'/kK+7p~hl||<D.f&7+=8@?ܜYX<<kf88oi8L\;bj`[`bbf 1n9*F<ͬ]@vWahޕS|-N%b1sG;;?,- _zg$NDv&`},)0Xi[.<+/'+`ٟ$my}{Glf;M,WSS?~NxY G70rpV/)4+fc{1j6p3pr3 WN-{{^@p޿3y] ?wT _?@' qyLMǎZQ"I9}4:&eN*|2]MևM[䑯k7"+>'amI*폾OF 3ߦqNDH3>;jBBvR9xQ <<WCUj吞gb4JMܘH1/n/xWP@`P?J[)29m{_Q!5?-> 4LTft} Y"gŚ즧OVSWFDW%;zT+˙NWnʩ٩-U~n=2:9p?˛Iqw\z&((<~zO'94v'CjA^J 플hR]%:QrsSVspN*xP *Vu+ǕAz3J`+=tV'y8bL/ Vn_rO)eUEu5 :kޗ`I:;~5{ڈ ($ wХTR]Kxŝ,3Oea9xWL2R:-x/M&P_QDP{`n6`Z!~Y4i"ޔZTj7SީW'9C#9\)e< o*Pv [[Cy)TDC߄)?LI NDS2g3U>|kl1Y;FG\]of3#y3yc %Uhwz8\ֲJ:B \Иڑ]āl\?x [ts VΊъ4B{g셡8&O> wbiO1.H=;xKO{8bb8ڵ>I؏EXAђV 2r&L̕jx=;=-=F\=%spϺ&+e(ƭ)7D\(=>꣍9م8l{aTOFqFy`v$$KEDunT!b-Xp<=*jљFŴAUc'RjMzl]kKֹw^LH--Я;?>D`H׍%. U-+yt<~`"xL%lDҍBlrci|[WTĬ?hAp! $64HܗDQC,w92Dzk:ҡdV3Nʪ?7{GyFsw'kJjF~P }@/hEG= O0GĨ&\z:-L-SpȏDmsm'Vx Gq 7HGPIޑP~#cB3«9DykG|dVY=F<054:cړ2z31 FpM[A(jZ8"V1F ;A`+HFxwͳ  ~.iYEdA֞=3`Brhȉ'/NqYE,taA'2臊-/W_j,cxM4hW5c*OKlIT"-e)IK1Vm pGN%釿ӯhgYۅTPKZdh\_u "۪N_ƫPٮ׈G.FYgQ6i,2^}N9F8R׳'ʽeA2M.fl?HGҡiTsPF$!4 џ3$/wbIusc>nEK9F!J.3R￟G7@/5A&o4Fr* ! 1=nEu)֎+DA|B..ܩlvPz/uN'[{z 26SyQXA$-SZ:% 1' }tI[^>вhzZm>*_`KZ,dS %PkQ4_vpӆ!»nkJSlBTF>C95jfPww&+jI7Z$Axe*}㬞qy: (80ٜn}r(wޮ쉫Q3Xi_+Q򽅛O(yG:P4u8s];]#97X|a7da# ҹٛ,\@~nqNkYTAQbqӬx/5v_yT#pP&O?\Bv܂ R&scqAJm>Cܷ-|)fVl1n2a["RؖtaE!7 UD_৙Ðp>nVvI6܍;z 9xc`R|Bh_#Gn]d-Ł`<w˽P,qS /0="n~_FѲ Aj:bb)Sj0N>\vxGAye]θ3dE@{T2~"_;2IVi‰ 3%H`Zh-d#w "e6$7#@]|AQ4Oą| .8D] mɿ~% 1{7Dz=9թnNMHiY"Ȗ5)$9tA^\\##}BL ޷[e%K%MxuᚁϠ3N1Xؕ4mD-&@aG*i92)[XhV8n =Pj -v@gof5qhS=H-8-o(ooK!۸ i/Epzĉ{g)"z8me/DXՔʧtd Ͻ}`b>5fCÆ>ɝ/'v8tya-9Gl:*16ktbL.ZexK/xɩ ''+1b)/}ϋㄍ:s那}CPzrosP$ Q/lgsbE!g2nc7)3SQfY֝9HCב]]$7/ش9}p6)Bblb#2ئn.a6PfZ]dI9oxߢg46 3:09Dfxrmse}JfcUH:ڧqgTMD"`l<FTlIa=ނ捞`}"n( :,bW'^^V%6dw~p_r=`5wxxCdWoZ$4\5Nhc*ChLJe#4qrC֚ž^(r[C90{Qe}P@R7˧&)SԘ cLn {YpUi^; _tY0GUz UG\B{B!Gls(ڐ˪l_FTn8RkŘ¢ݓ<g^q*B ElꕚkKl4M9UQ~lmvPw|Zޠ=_OS0|ohLpxnu߻sOH|³ۻ-\χm5A l\R>˅O(]X`JzfDY^hn&H+ |1t#01f''!R9J7PB>quF)~UQۖ:{uF.[bc\F%;=_ΓOqq),zQWBΎ;JB=pLt$wŖZv o.w%$g3h^Qg?&an_܏=rkΥw9|*0D~Z J8rT(ߢ"BxcƵ')gg]k} !şZdQM 8:Nz"n[\np53(.Ro-Ļ勷m`7c]WF$X W~J}FwBwXm' 1hSu#h`>g)Ϸ.' p$U~/@8˵؉ް26lp%#KfqE>Dp ]$GV^QgmūPIua,-7˖eiɧ7n΂ 5/CN+2ŔТ…gSo<}Gߍ1!E5 |t؟ #rZ6~Ď0W# f hNi۬{ՖVxU +ˡɠИьu*mdjO_tCn84d n}JK-Fdl8%{DYy?= 8t{Px[6~$'ʧ ])y{$z-ػӥqkioX6M:8o(Ǫ:CML]wXDqR(9ыd ('Y̝Kmf<?g.$@_إVDл r;\Y hQPX$jt ý|c"ϕrv"y-R ѽc(R+]~n+, .w _*( D~[O_9I(9?ҷxpf`x!)K$ei/}bfr Ώ,%6ܴ|lR+xV87fq-]E|D8h>:N:72xzM> &#`pkZ.i}hpyT$%pm|+L]RsiVT({kζ@}Wߝ P׈݋4ߣ&Yp ˊg߃obuP܅Ͻ>*`0Q# '՞R6_ l=ӽ_B` (3V4 (.%ȠxNJ.3FbG>kŖ!2ˌ*c-z(`6K Zr~: h9V9xѫ%2fFf%WAJ &dZف7zB0Ybvr fcnM</pyCzp"BhdVj"M=n<Ù- M#ʴ*V>z}\੧'Id |d?~OnqA% g&(W{ ѸVHq}y ~6t2jh?)op;.vwUcz*TN2ƲI 92oʂ'žE6>?hsEwN06dkb[,B_ȟKY1e@A2B32)&AۗRHdSUp(;b.օ_nϩ^o!PRqU/: DZa9LBʆϛT}Ky?4k$uWR4]K="6ZR;#WG" BT%-rWÚ }M>^[ۮRH2F2-Bga d=F0xd0m - 0V-;IG|77Cz>04?b1'TqP ?$`/а0%H$˫fH,QҺ8bTQG~^oZi#Ȫ,֪6G5O`wqc@( .nWV潼S/W7\! _td- lj(ɿSIdx!bx V-/$CȯTNjBwLdԧʴMN<a!NO!ʪM&˸PT _׎`[}8x6C_;apGx1F`pk ݌ivBڄR%2|fە82sH@e"T} z?kjerN 0uu$CEK~i:?o X{TI\pʝPXtMF%E#z bHh@D]'g Zk# a9fo~> [@d} _-(_N*>k%5,8_J=*ReUl4dꮨ|-6f1["{.(ẛ#SRRntU//9W5zve}x(P䅼NCL. hǓ"h%UOzw⸸1u8ﭐJFřO4̈́&|:33k$F\ HM9)MR-&75.»_ޗM8S%*gpďBi(VףKdR$W_ôO1 f /f1?UVOac ؊ R~Ev#H=tY碓MHlj'7kF]i) _LJoSG *]8pkO:/hsO)X=ĵygh%6)kPF&2Ӱ!]3>!$h:~đ>7Oȵ/C yޞ_>;4CQeҏ#m v7e>>V`zX9=~nŰ8:бsP׏=2R畈#6Zf S޾''87C^ w SVuXP* z?NOǥHBC⮥3wM!VjYnzt%[o6,Be\`xXk?mU}:S i[~ok,]iD>ɯ]%hC}ImD"p.ɮv}݇]EI"d4Lbu1^ \oOiq44-K:a |r_`cadвt?/R ccTs[,>4]^^^XW>v;cT5a= B˅3Б҅s $'-~D-d5գS$YaCPT|E7Y,fgfxqœ2r;h eq $r@d-x8{91>rS[΢mD(JL֎e&NܼKDvd$XqcY H32(JD{ ۿL \Zs^)SܤO9sᩳ˫CZT03HjV7Jq]$9K_7IH]m=g2VMQgr~ɏey>Fy;Eq흛>dw0^HZygK xu8L)n4,35J(G[̪y'b8?+WϨ_ Dz:E4  3܁DyVEG4e8yRu/^!9{Z7yvIQ 2zz(Ѐ%FHFjb~xAW,ܸ7NQEwk΋=o؁EL,Rj밃+C~mTӢ9JZ&(η.}z=#OƮB#{Fx=qA A Oiq'd=o_\XШD|Z?FFOзS7-La7V2͘ ~MT2\8BQmũª,Ᏸƌy@ 3kCoHvr55&.F}d2IM@&Y]oEh~$&}zRƖ> Xbe.Er32W#V.wK/}G#:6΁pG|:}UxU+@ǐhr€ꆪ췠IXX-;/<3C;~@?rS]ْ[$NAsdS=-+՗ccN|Og><>Dx9t@fɉs ;X)ֽbBbP5c+0]DfIxsJa%4[ʭ]Y B\ӗ&v5w42V7N02/]-QP(_c+ 49I<ù\@%.R\əV12}/0\ x&C_ (k(kpe]}4uܧC )fˑ\$鎹"\ks10 U~t%&65qM&܁U0O93xOrLeavz98 ._lnoߞmw^鹝rׇ爾}WÍ;ۆ4O\ğ"{G~s3^k'i]JQ ܻ8m {E 3Z,sD~ f$\(c5GAz7dx[ŀ JnJ@0=b}]2bÞl2ײkF>HXFrcOĕz%1xQc}&!ĸVq ~dϐ8XȆk{o^'8{9Q_B˟1!Dvqm'ѫu0jU~!ESmK=iCk;OU60gioca%I';h ޮ|omŽWyJW ,p ʊYR#7 ?Q;Y4 NLYжg)k::%uҚ+y1ҳrb&R{ۖb'}6cc4yXόFV N]_3|~M< Ac]e4C"VYsM@;GAX,x;×(\:j`0R.|d>@ky{#k޷-N|QSb, u"7t!?D|I˘Q4^k0o.u~Dֻx/eڊAHv*%`VP3CS/957]|l%kRXv'Z6ã߁ .{SWx[QB:H:pQg?Q­<:-`xDu {]@vhF { "u/d IM9Q%/; h{<:CʗH+oA9pLN.$ԱG ?% 8523g[-ig@O8*G˪L^2m:󿹋l!RH8It_N VWPMW^Dn/^>R U}I9vHG5h}͏}(Jd(zM'A]&yl Aз-lJaqL|ɘAezȪ_b> Xk&IV C}FѾhf[e9i7UݜFp:%>i^GXP%E.8:޶0T|H܋[.,M# %hW^C$ B_$VU'ZdanKSL\#=;Xں0;? leBr..h;艰AC- ' hވ( iVa5;bb6J'(IۧE’H<3j*t[4 2.8$%PBWGY6]R ̂Ƃ]u!CaCdMGWR lh\fRdJnGooC5Gs)-HQ հ.Hk18R%~kzOz6Э11UɰOGsbWm 5LiZ62h)&)\!Cj?-_걭yPai֗_̻AP1CAY8Z]yG(pi=CQ0e"ɒUU˔'7?6Dfԙh&1s4?忇 KoFBЬ [2yיV~/e{aYv߼eP2#3V4cIDf*{^\U\JA"q%ɻxwt(^Xf|_XV3QPJz֌ɓ0P}\pBjW,k)PTWFV6u\|]Qb m2?bkW:@0hɛD#4ciKmcFBS@WR=[夊:=)2Â|#`$3:iu鈋9Gl4o uNRm[UtV[=OAl|8[NdlCq`4^;47zYbT&Hǔ1B<#w%mT5$3I6ng| `XJax2~(\ ~SCaG]ʐW%Gm=|F|Wʇ9 :jgo<s sCX=m0 .-pupUҺ!΋Ԡ~gzs)48D0a\y'4 %TC@938an>='Tk_&6-1 c; \.@5ztՌbK*}uޗ.qWaem*/R̳-feO8Js)"U<T!|k"e6_`m)4 Ae֌hb+Mre͑C*n ,/\\[TwCL* CUQZZ '9Wg i z/$9R#Ѻwܸ?耂xwcB4i޲/ЛxyĝWvkz)R&:Jaeo^t *,eWfܲ_k &ծ'Tyu̇GVbO 3 =3I=y#P2lϯGCTvMhCRD.Jo =n ye2 XR{a%Mo|w=NCnMNM P\燒`tlámJ(=2)57QeQ’0^ dˢ\[ځB<4Q^$OUO ZE9()*O)CaݳVQDgAKVC)5e8q.k04d?#}%T[.Opi-taRRǖ})cAow;$AxӈR⎭O vۈe@qε8Ӷ|TI(!Ճ4cyV`6|Y% ۞2 s?M> ;]LˢSj( ;q<~@ޠr yV7PCWD1c֎Okrㄐ,v(1Yzg]^]K>ˮTHzS7 8<4vǏuC17^H.U/PГ4ؐN7 /gSh/Rnsab8 vӥ h-|W 1j=oªziNck+2U&YO{1_԰H9V:=^*=xpޟϠ;;JbO\]Ɩ:Y8%tLOk,t ۻ/FGnaP\i i/3v߮j鹚]k㻃I(;i(oF|(]-8'7eGul鶜4,Vs2krٕ`a w@NYL$@~V}/ \*lkgC]]`E,,X[IZg{vUZWF$$Ve׌:nh+Y> b( ۛRD^e&0w(E዇xQ{ uBYA-28Nk_ WSGmA+^ ni@> endobj 32 0 obj << /Length1 1400 /Length2 5976 /Length3 0 /Length 6935 /Filter /FlateDecode >> stream xڍvT[.ҫ4P^UzRB $t{QJ"*ґ.4M.R|?߽kݻ޵{晙yfq*0p ' HS!pH_f >s;A/; 8?ZL>@WO2pQ$$ǎj 0#GG_@Í0Xį ?tP7 UGC1_'.% C|(@xKI) DcpcNM p"_R?~/p(\t\%<@2`!I戛j_˰ 6ǃ6YgӴrqꝋ*;y=?akd#%sY[H8 X-[yvւ]p9-і\ ^K+fw>F#TbX,Z=zߙ.\4W+/)1KK"u25?KƽcE}ʈKIZOo9)5)&&^e##N?zc0'\0ݲ&fD0k|?- t=H#ؤOM%УGj I|=Z +IuVl/o4L8,gzFWmޕM\ɬyPCZIԱBJ;0O]e3K$@nw>\3u:.CuJJe~uIs􋹵C/Bh/(iOAnڐ$$@v߽5zcm!/aӸTNL\efKaB!Tim#kA_D|+XIEMu]iWzh4ϊ(_q7P\(}MVMnAfV:7PP(ٿw_z.@HMNUSs`l$)}~1k-=f<n(`/|,棲9 zzu($S!f}H&!9%޷&~ \;Twt,ɖ/ؚܻFuO?~/)!]2Cw.v fmɻNV݆8-w5]7g-j?rNQy;]ٔ auӊX/o*ajٹ!\*Wюong+Ośg6~0>=zT)Tm9ngk0hA̲eBq]0N+RAb`8ʜm6*Y W#hO['(ŠLq!BQ{ [@Y!yS$j ~Gx}[zDG>wZ}1RO<.rdj@W]p}?9W䶾cKjq](uo/D#?]f_/%_ʯw {i$=O2#j5vb?|>J uվ9}ql:6-[E;xAU\{X)'ț`IP#oW򉑂~_OtG2 STfߧhџ=M/dU;T`;@˰"d= =Vޘݽ\Ǟ,Y(׸rs!.HRE2u4A7iS .>ȧD۽B]|t)sF9a}m [M5 n)?9ْc|u~VK1+Iֵَ7w 'oR]L k=U6+SG mw;U-1ϱîNl6-`bq)∏֖\mgbY/}ӠgzEդxwV=孳-9.A^( gXH2KUSԆ_h6IwuȔ5Wn]Rj1"Jv40k 6s}OTx#ܴyt:Q\:Y蹐>/Ϳ^W=tbBTV:훴My!7݉72d%\gK m<%dEV=wcYrZ%u@u'՛:K zkhycl|0r?{87s4*~ytgS}C–qY4XSǤ} +$O ES/lILD3DBCBam֓F̧5 Z!PdQWE'Шfҥjs:}H5[$s1GGP'.LX'>5/(.PQ KHD/N L+sJρ͆@ѧwchwg4y\Jgv66UaAs]5cnG MϵPGjl|/+&3wQ2h=}^2j2$Fn{>rI,oY43SbN\Z0@5U2ƔM!atc'ŤԹeOށGo -2+9%` H RG؊9.Ϸv <p#JpE굷ЧP\s͉69JP z"?ЄA4iQ54V8\ZWhTf4RaWS/^{:u7ڧDa}@hnYJS 4exdhMirIsةT$חdg_JY<+9svj9fJDb@#^9FT&AOJ-_{>y/몕oˎe̴~`mI;?Ș1 y /N3zF^8'l7U]_4|IKo0oz73 |y_5&:wf8_)8UX M>_/~[+si&noů2GΗ|wS#ȥ]_nܘy<$5<VesCh㉌x}R\3oSCڗp^&\+n]%z1AwZ#R k#є;gmT9!.-Keud:xt#vOLʍo1|Q vi4AM˔=yqCCe_RGT==H]K@{L8JLDۃʲ 7| ifqѝ63-_ >P*-LxG+sxy~P}~,Iطg+v)~4]ƐJ-Z%QjHCɣ|ov-9|&)Xw 0UϒZo\)=8mQ)/}gȒBgZ0;̲]}Bvy!{).VAV;RrQݝd/UGhģj-45,йYk;'|UHt6;){ؚ"Z!%%vo\ݝ A+fr"H1>MOL78>ΙXtXM)|3Bj[&%cN_kizܙg-K uCF.x]~#zUNZO`Af^c rIܪù dl<:%ːMu+&|1dQH[3@iFY"!p1>㇕ .PDI1͓{[*Nο:O_!$uF焮˒^js.kbƺ?A0 cħV[EO<'횾h`>_\#g8'Tt20bv7X[0!aM3FҁtDOXB?X,}뮤}#(yi;G#)qo'?TL{z$UO_=v\pVQM{8a; gA`=d#'OnPX٨n&ŴؾQ5nlRG$802:woĮ0g+K CK\>*}9oZ+i/?OІ}]׺W&>@ u"ƫYUaji3h%u!b&4>]佧jwoi`Xx)Ն *}%oW=UYt]nw endstream endobj 33 0 obj << /Type /FontDescriptor /FontName /MPRNBI+CMSY6 /Flags 4 /FontBBox [-4 -948 1329 786] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 52 /XHeight 431 /CharSet (/circlecopyrt) /FontFile 32 0 R >> endobj 34 0 obj << /Length1 1419 /Length2 6197 /Length3 0 /Length 7165 /Filter /FlateDecode >> stream xڍuT6-N etnS@BtlFlc ҍ4) "% " >?=}پ iD"B 9=K8HDD eǺ\f04D54 a`,.OpEDDDb""'"r@u'  0 K A1?y!|@QYYi@7#` 7vCB0ϿZ*8a(9aa/// B^p=aP/`7f  C:`h!0W၀@p== 'AEAiWFpb0tC>p# hꁰXA v q`O0lKs0PS6S@@Րnn0?u8uA ~-/P)Q+aX,yC7A~E8~($ # ;p?? Ģ=`~;@TC@{#;9Y. Z' ϓ-N^P$+iod bHoPHVR(**# oQC0͉Q;yx% ޿,Ha@o#")}wMpu?`7_ 8){`qǴTs+àp`8{ qHM7 jBp#`H W%"_1 . waC0=WABOLR F>p* o0J8@$Zť¸*=wo\=0np74mo`0`v s~r\%D˞(I,3?'+YZ7 gJ#Ʀ{t/i?i, u8nAL#TIF7)XY<6:_Z+hì[~)ҘTr۾Zq~ƾF[gx蘎\T[O|3vUKUF0aLcKʹӈV:q˒-r1d*@u(=!u" Vj3b>% V8sAD-E#gݗ`ym~Љ?Wĸ@5%8݃ItL(m%Nк#ànqVs(:7[-9,YWd߫u} 9o8H ]U)CwMf3TDIo|Q;#}#RaRϚ1p~/tLk:$Z~g 7mm<#'w>̣}V*_/#4}! ·v 6UvlI'xFRkVc8t)D۪>)Bi5O:W\R_vP(AG"z"r!'3]Ԉp{*Kc>YlZ@I(W^27ݹ / 䆵mϻ *ArN4ĭ[ZK6nUՁ<3st<"eRY$t?r/\#2J5pQӭ,n@Ѻ4x?׼߃EHWtƝV^֬yfI&TR7hzn|py?ai @BVS<;R]?2m8iYIbp,׷]HVa}DX|0<`ߧ]gӂ/zgCKfFk g*ωJ NNz髋I2 3_EQ/i8v:y3 6>.CVe*Z{˱ MOW,FVWrNxkd<4F`$wu)IUg"EG3c?Rs U+zYE_Үt/wbJ؟iHxY83`N\\B#cF7/yq3RWuiJoSUCD{Hf# xiyx1atNBbkUXT$ D sS:ٶ/W2b2Íz V)Y)DFC#β6^OS==\9ty%3TAԷ8E.K|~Z*]b|f+Mvfv^w=*Ͱs̭wEs<-V&g͔3r3T? EG(9K:x6@ 5?;`c6|(-aC6'MƱn v?C`\^/ðT톥clvC?s*+"4 lg ʓa|8bށoCsAn;q Zt%~A|BaDa(=2Lra-*-9,h?wr8L=9Bмh!F 4\czRB3^ާC5G#<5j.So`QrLmarL])bWIuҐ/=}zT ;Ή@p\VM͆` 3Sib^ݕ3Z6upvz?W|,UnGZJD)}泛-78]cFXȢ~hm_nYϑ5,Q,1M w5g3{(W{^>P*W/ 6=@aD;Ue?|n<8a=yv[)bf] X3T }(C)l~`ϐvp>UU+s*̟{zMTQbH$:؁iז}Fˇ6c56rL_ 5-jҢT@k-I=}NE/{ 9N3 IW([{_l.Ӹ]6_aм]S6Qv#juu=J2yr6/v3XϬ|e57&6q( w^DQRLhn*cJqkVqP!FoZMCˠ{A`oM[UIo y3AC2fvE&S{53<|o.(w:wF1m?? 8K؅ DI9W!.Q]{aMk~ ŀzO;D'c0eלr.3 ԁ !5v}2nϽ e”@w5 > /UdYwzHtcduz]ϻ9MJ.u# X\{nP )O٦ɾ!8]=v_M2Sb+뾑{k%VKQ_.eЂ皻Jxmӹr?H߮涘Z042| PH\P{ݨ 1܈ph2#"=Jj-F'S 91%(`+cIV[>pJpd*k 7|=5mE>gm- KBo>wYpva]cm!Y@ZmZtTP[o<`Kf'ޜL>B1]G?0ߥ*L7'Y9WO"]* 8αTphyƇWSOh?I5{wBvL&:c<B oF<)Z<~,bVsPwK]ᷣb4ɹdB+.t'MY0=ʯ}OХ7\K~Ρ19rE:ԪtC7f0y󂄬6AϪi /9߰ qOz yXיW/n$[卮EVw ۞,Oa)+yl)hfyTW<+((XUolk`Y UH/.ULya;%4ӽMe1lZpuӫ{Sk0V[m݌NoO&LI]{z`wޗiρM%|Yúk{eJBu]x<<4I>TbhbWʪ%ǎ fB|n߮X`zJr+dq=g RH{;0rK֑25-C'<$S83*Q益C%=U`4l`w_Aخ"h3C 4@ؿ\tcެunor>| E%M<߆-z;/Ic{oo^Wik(&˼jʎẂs<>KFEU XiGc׊n5QyzW<֢0̎ W0>T|,ɺà91[*yU8{GMˎwg s?| Z{]_fRhF~NQi»NT9'^\Z֔Z3֠ -yeAߟxu{ѹglMOiQd3/ Ы`,M0\i9 BF<4Bɟ): =r)P3rſyk01YI昶}ِ GN"MP/2wRCnRu OlhX3uي[`\ a' CH?bxyCdLVP!y5w*MlVoXWTy앳</d[H$G~WdيrGf5iPqzqp^faJA{OoNXfıRe=82CVZ~fI Gi] ^1M\$OJ#GO͒,tUZڔڄ:Mr/96o$6Ʊ]MYrQ?;<9Bho,]jMO0Ǡn|5Y6-gVF&'eo.kWcKWbkRXI/^RsH,?>R"c݇&f_<)yzwu7{G(.u6d _x2k7cv߻U_O7yX2؆c-sZצ]yg:w}־?_2+K{r-iDk+A/9A@|[Y}`Lѣ*j ;:a7w`?''y#5j└k8etx7z&}9,޹'b[Hb*v,_%]X\85Nht c T,{5– ҖK(a WWO'Gԋ ?bg3*9 z endstream endobj 35 0 obj << /Type /FontDescriptor /FontName /FYAMQO+CMSY8 /Flags 4 /FontBBox [-30 -955 1185 779] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 46 /XHeight 431 /CharSet (/arrowboth/plusminus) /FontFile 34 0 R >> endobj 36 0 obj << /Length1 1646 /Length2 9383 /Length3 0 /Length 10448 /Filter /FlateDecode >> stream xڍP-$@Nph$8ƃ[C Gf̽_^Q|kY}h(UY͡ (ĉ] sshlAQi@0G0"I&em\^A>Avv';0A  B@4P{w>f >?v P2q=u43C '*A/ld/jb Y20\NV5#2& xkb+* @ ]jj `3)bԁe{`?wCH613ٛ@KPQdursb@:BM\L&O # 0y"=G3ɑl"2OSKB@'G@fOcwgfm PW_ 1MٞMvp y2c9x9y ̊wy w{N'^P{ p9].Rw_iqL`0wԧB<55o+xP_+M$`3>+  / `J >T/T7?iO`O2H99kf0ӣf PfBֵ$,[g(ڛD.۪7\yaŻ~|,~lync&Tts GvQљBW1YmBltk>}WV ~"" >Cp`@ ApȞ<љ)wr\:o93FqTEd۷;j52j {2GA$}H.!t58S_kBK }Jiތa64kШi˖HR$o=޼!Gg̓Qݷ/ؠl1bDҴILR;v mߴo '] v%Yӕ&2lH/#`9KZ'tz|W=p\TJQZd,s)&Y-qMF!9 FDr044d(ahhV(cODe&y8LGʼn v. ̵~JwYKSG#Q|߈;mcrmkTYE-q nvfЌܩQSam7kr߂bdaedNjBrRmgh hF ٕB]5J<dJ ԡ9JЕLc/.!νú8(Uq>6_dM곌y3r5+%M!PN T=6z{JC_(}OFhTLޚ\o.7R?g Dss/΋]ƌKy~f{Lh+p8+acT5kh] ꎉcM KϺ*4`u@Cu htZ O5vJ-6[|$I7RpkDn1?7)̨L/~56.RC[JKi \B-aax:9GT"yo;^U[㽽}XP0':yXnRrn2b z|߅V̑f?n%Kp/s(<H'Y{r>{jg}5ʅI jMdbM.1Y$|դ>̤e{qinYf5R{?d҇0 2D{jlGqyc$Fp3B J:gJo72R XqzOm2d,|7# ݖOna|3PX}x92{3|&"t";ſGϑ& #㯸495G=\eԯUNE==L+>)āzsƴ ɗ|mV>m*J=R=kfLj;vtdj~izTvx O􊨨 kO [oSvl$6؛_vu+IWFz(!|g]n0gq U[hXS9 pJ'2Ɯn,Y_v)dҋ@;I2C$Vpl'iUp+)T9B8 i\6!(TmX ᵜܲW3NhJ[m_\mb<ͨ!1 9Y*XoaɄg|jIe "ʷmIroWպ9힁ndgryl*2jFw\а>6"ՐC'Q5uU~QF^ r/Zȡ $gP(cےd #FB:+-8;g VN8|mZ a<\6،zQyV%n2Kxzu JGH=4YBz+jN%шVKA8z BLAi;*H윁 ٤jV fn>/sr[@i-7+[so4zӳzp}gfq4*@"g\w'ҩgjއkظ!@HI Yٰ~x%%ώSӝ gkm `=q" Ym{O{#(kEECeO_yX/ZzO)ond -tvl*9N)/RkLDkNGwι9h֋K{uwyG-y{ŮU56L(vwxY|wcnѨt ǻ]侷 TGl/ ul^vLd&NR$D4 J?2}u虈&fhbqΛ{;9S!ԋcEXxBEpy l=)ds@3/As롖7r]sT MH)_+fde˚ =C[4Zƈʂu3\6iPX'h)s)*HbrԲ~sJu,lOΊrdJ񮫈* 䝟\ݬE8SdvxgCY_kbb3(teߨ?wY\]$=mwc_ڊov2!7=N%8T(M1# -6*8f؂VOIFfVH뽟^uav+9^@dyK9Pki'T *~ ی[ J(Ύ'6"ҴL^s&R2G`ڀkr2&Ǩaa=?WCNxDQ _۠_wʑ< 0?w+( 99]MGߙgn6bRqrUm$AyEy^ BLY|w Mv0:C[bwrq荹mw]5usf 43ҙT0) F w 31Ny~ۛT<5-T -2Uғ*?KyePW_Fc\eˬfKW궬%&nxТ*VHLrx†:56~3oyژ cgcq*|kV9CU9JOV%b𿼔y)+f0&8B}Ml wen{hy3g Y;q{"~ S~LN[o#/N@n+7; r not[vl0bƎZ‚3b7E\i1] זnƊ5 aiS`)"%?kl*4J Y<:z JP'wCq%vƞxxɥ귖3/Fn+0*WdehH{J{P Z.sDxXųAoHԖ1Yw^ƻڒȗwQX^ Ҷu Ҳqk޷R.]pD2E 2b}Df$&EӝҧR KdJ<ɖ{Gvfh'oae{;g}|J܎Da[!35 OO8qNH|'UT|篩_xWX MCNePY-Yڇ">}<_R lgy2v=k{&S89%7([^+"7"񺗘&GWC%8,k=2[~ЈYcuɒ:IQF,M? *9ks_/J2.bI\KNa_t[9}.X34d.7 d[ltg[ʴ65rgQJ8u_媬Ne8X4PdagO|,<3u>͉viGy3shFf=ZPZߛ_ךdʥrc>lW3ʖ|Yf?2>i(nElO.,7GLOʊuu/|ζ6ArZKϾJE圢bQW-|];m\T{yNɈ_ c .z\^1? TB ϓjQ-N߰)ae&{@Ilpe:Yn7Ut{Qjũ/2en/vSwy$4ֻ۳%CP gVT aq 8t(],~ˉŝv&=#Mc[l론C>n2;% ;Ei]ϵ|5~ѧ튦R#$<{B(lϯzn}[$l)MԊeWFm27)oNO= q6lЦĚE`_X(D--mG.J%U^QN(W=u2=0rjo 'H߯S"Ξ]<<}(gbGk,ܣ%?GG.68o NëޞsoRɺgdI@k8Qf,є_}$$l$(yCik5ōK=wžv "~wW`X EJ'Gc}ɷ5%΅o'RS'dЙ'򽲗l(啨 RWTn}tTpǼľl3g1L O] td[6Kz,`JPJ\vK6Nh~!:ۊE|ͳi4N/i-#L?zb$c_ç ȡ.%aƙsJS+xnZ%o};oqE%5L2ٺS+Ӂ'zyW"vlfsuxkWƼN?;"8w!_v y$+4`', +VsmwCڋGN̡.a3 /ȳ} f% S +kC?:k0 v6V(~J6,_7 Sݼ6*i Ox^69\R @Wg6MpиE|h{L _*$YrAdcR/9l Ӵ'Pb6Jt|V)`Nmj[? xJ4.vY9_uH%/2J^|e0+(*iD6٨13IJf2IťrY/|ojFOEi B pLJ vBihĎ@૖x7jHF3-82u IFt%mwLFuf,p\ɥAJiR=#&u나Kvog/yT;Ѿ=a>rZJ -Z?ѲJ!P9 3„Y>Ca tdAp™/ Mn/8'mOC+s6r|-uv(󦘟dҶKCk&[mjBʟ\2>j->&i-izO\Zxv\ۙX&_Wh*H !Btqg.iGʨ|x~ճ˪캎Oz4MvcO.QQ6lrThy~'7l|/_#aGSaZKbUDv,LR< endstream endobj 37 0 obj << /Type /FontDescriptor /FontName /FIQCWZ+CMTI8 /Flags 4 /FontBBox [-35 -250 1190 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 73 /XHeight 431 /CharSet (/E/F/a/b/d/e/h/i/l/m/n/o/period/r/s/t/u/x) /FontFile 36 0 R >> endobj 38 0 obj << /Length1 2766 /Length2 12877 /Length3 0 /Length 14428 /Filter /FlateDecode >> stream xڍT.L #%)0 ]" HJtwtHHw7w{Z.ւyoy,fag83J dG;ۀ!hv?$AP3TNwqظx@;A;G~+h$=on@gN`aK f rBJV [GsS9_&YYXLmX3Vud0@wf,h4M+t ;Kg7SGJ NP uАS؃  +-66򗲩) yۀ*Ҋ,LSoAS';) *Wi15)4s2w;;8m~ R ;[[ w|`G9wbX!pg} ;$Оho@.  ws+5=A1~x{,I 4O'SW'l 0CОC ˿1`w>:{l?Bb$WYe$_; pȿ'B>ٓXZdP0ldi \@s/Ko[ $bc/mj G:.ХPEA/b\9gSrA[F4d v6k\u0j}il@fn &NVA=JA,~o;7 .v..'t=-@5b U@X9n(7U7o `B<V' `|B|V*ؠO*8OƢ(=!h,OʿzWBPO] A~BPOO_8#^6+.-tRؚo = i4Q'6ԇ=ɇW/9w'9!@! l/Nham\H )MwJ{9w ll'6h)qA@3h lPOF/#VГfԆO? ԯvB{mx;߮|8B }Ahsvo+Hܘ7F91zNQץ\%o8rg&7oVp kuF^)sߚ-֘pn]7Z[L8 oE' N6vdi^Z!gy7L .Y,xdөAMJ ;j|,g .yڮpv7`fC#yS{:3!XR&PUp&, MJdoͲİ/rX2j+~s*hFq8&m*TɌ'%njfͅΈ97Nb_kZ|.M\u| W$u8j.jPF:gM"p>`l!sMNP .`kh/G)6Gt3us"I X)ǺoFtc绒 ApE!c;8Y6Ud>^GS͐"X k`P]ބD q)~BNkKx;uQ0e|b%} i&@fFzU>6LO[$u™Q#=rp:9>˽CIfLV췳/fJ'Ε".)XL<ӄ %C`iG;i;ot1 5^\*z+MWʌ+ 2:|v@!Nu(6PA##n=iv!J<Pu1s|>>3ܻҳ.XFc@]]ٕ8e@%-p왇md(yO5Dm0b GaNV8} ވ3ţtE,8p-qjATy bk`bYLd iw"ʺ `l״=$4^kh#e͵aRxOzRUPgD^ml6jL5tr^o nQcƐ@?l%QIdy[َ0| BUqG+-)arryULѡ~= e7bi6ﻲX䛰TiAO>2?3ôJlB"ar)Fӏ8W.MK*0R%hq,郵aXtOŸjMfkun9 (#RQ[q3|ifZ4H)pXZ;N^a龢h=kg㳷<.E:gr؉;%"QC5#nBK9fF鮅MhE7q7)O,r EYsX_"x8V݂d9A߿N%['H%>i:<0SO3pT݉zlUҨѨ}Y o邜]x#$ =Q1O?I@>LԴ-YNsԜ1m͟T3/)Ե$n3DSOl*.ܘ>^!L”L<#%b6C(U YMwGi}}q ٹKժZэHcnon#㱼MH:&ߜW^^{4Mq^?V}%_w'/;a)@HaD[pMrLX ةEi G\ ~'Mc&SAkTSh;ٚ@S9#5S2 hZL;ޫzy{m@^H`*r?[T|a߱#3AVM6-yos{"e@(6MۨokH*XR㕌JvqN IE Guv.ec+6>G.^h5¨mgzɑ6k_!1}t*C:*"d^;_ h_UICӖw|H2n(?WPDZj ^U~k79'nTA6]&qh]sOu:su&GH&2L0hesƛ8+ Y8F-8-ʌd&F-hn>6ںC&Eiof:T뾩&MԈʹ5M- igU!볉AZڟU u.3N"l?|@@>C9C<(?S7I hvCnBQZ^1p#[À^q9|XYS-JS ;8'=Bh;8m,H+RJM.x;6DXw19EVA@Mb_3*K,IOxM.k ˏ~Լ%q'1DAPg %Z^ =HսP(U@߸*>dZ`Zf*:|[9Ӧ@u#2,/{f0eڣZ6S! (_1M/|yMF0G/>gw*hHm5zb藸1*3iNp#_"hJFc,>{֓YFUSՃCÈZyix/xWhށbT?v{, KFyiXg%~0%uKu\,L~иL~3.āpYl{ݠjC)FtQz9*6o`mYs4ek R/򥴢pOBLp*C@C1N3$\e ƶZuH,h^r6mT_ ۟%oY?IbRRGu/uQG@.wU[H۝UzQok?l6[bhViҲҠ!d0v=ĥP/h>G=wZ8ܽrșKaaC'5BfEvA`V}pd^O4o*ImV_ŃzTUص~)'5>5NVͫYK;{ɹb`s^ƮL9Y@kdݔ@bog;tgHrn7)|2Lsq*64)0tg܂V}/K\6(T((#爒Pc~Lg5RޞSzFuPaqriUNC<ۇ8>3+ MStysE ^ih|.fDOYW+K3U`f^$IP~:hXkr7ħ%3%W8EsoHF@?oa;SYMZ?[ve=V*^R/+Pr.ruW 2 ,áN)q]=;ٳq ɃƑVfĖP[J!yd٢Q`,: Ud9v{a"k/ w\ 0Y,WwhIwGH<=ќFWf|E 6fv˒olMH3vzdw{-\ͧ8,4:['ĹtWp o֡dl/}|̜Ę=WxFjU>,J2ͱ4IhI`|ؓ>)%.*nv%q[˷wcz!]u[5١đ=xܑb4 ќbU  sT~E\pEN|Kpa.+׷Zo+ [i[^ mhXlQЫ,B񧆋>"syڪB@_ɴQ"K/ť,zش1% |CkVhxx}-p"및^5 kb&v"w-õY6N3S>^E´KLK+XI c~geO6sb2Gs.QWFelbŝݍ'- J[1Q?DŽ2\BvP $+otݏ`h u2[&=[IiWY,ǛfV졹ƪ"Sdj ud7vHg9n ߚ71+@vbT5>*!WuqT$I1А~~̡ɇeott 鑷85y&a,dE\$3FØ &Kg# Xp8̔+8zBγ1Gfn-N>tѩzK(qlPӘpқx^_cxUi:dNoBs㕋8!2V_Z s}e':| N6b'?c=ua`yj$v^lZ_`Xp*Y=[UuqE ʷgT w.E*$0y3KIk&&ujO1]-j}#E&à/u]ANkL2ͻ[.L_Dv9gl gzjֲl uT𖻌FF0ojA mjca[#Ϫ>h^P7LNB̍I . ?:eDIw; l_PGp$y7ELUZT}ʜ)u±3ȼI5>e~ ;<'%VʑL1W6g;wBs%M,=a۸h7?#aO.oA9[g.,V? O,^/ &l ,~5Wio86`1`e>h}-(tSv5wۮAC%H!V]VynՃV!{èBmpr>ՍV1 8tǟ bMދ^guw])mh.J.R9}1>KՉ\Q)8|5#^W h)<7Q <Erip2og?b!:ۉ/|Ac.6@RqH_argxFpx?R{pу?ĚC;n&[ѽ3^)EХ"Al lQϧ8⫿;}qJT [z n`d9b Z{lq\5Rs}0"^_mZ++ꑑ .R!׳L8&a\#bÆZ3Ek {F⮂uiG7q$^3<]Y\u{o)}6UV#wy(5u؈c}]= klFŤG!frHFy ,Wt;ngx *Kh{Dyh J+`a B G]r{;$)X,НV5=5g}?o;7VF8-vPMj /đ{B<~u1:vz=&/\-V>;xGK4ABkn6!)s ˕BɈs@5CcUABeu9Rm6$s3ȍ3OU(S̛(5z;E 4_H8% p,o̐ 2(g DS#:3|B_Ew"L;aX;֔,'Fe"I(`}+Xї{;QԊH AZA밟Ppֺ;8M}7(4 S#P&[9dCӁEoԿ)[wlqAG}5;J]|Cz><o (+LOa%Z)VE>nPlߘ.gPY*B\Q4U%a.RqVIH7WϐtRʓޔ3硹d}ӹm$~y՜eҰ0п~! \gRMqm~t1E+Ǹ'a%vw kD1Td0/T.)hr'1%g]L /껽Q;ﬨ,D&mWO-{*/$bTI`!%iWE?PRiQ'6JVҦQ_Deɷn(hZVQc iZpӋeVRI_H|Gɑvs=5ŏU!pϵ,xv[CϓF2u:|*߀OIM/o?M??Y!VBQ^ޫw{gl }>U` 'Ou3Lf9|*f-.kyMYœht3YβqmoB2MVܣdTfhljy,ꃎ-[7Wz֣|7?4+ƈr ih;+ CX_HmէdNEzyCCԪ]iq?pFD[Wlts|x ))]cB,N]Cs5 .yaLQZZٱ߬؀ٺi@.pb ;eP77ı8Pk#&@gFydsq܏k_tW+wqsNi.Ծ{|9 l17'rYFmE7gʹ9`;:0]B,eUdWHa'Q`e.$k.[Ps A~B=/fE&Iν#j3+a2}>;U=,"{e#Z޸ܧyןtY{f+ ^IXfo/;:Pj9uO? .Gy$?)Hp8P5GO:o.GvIL!_ Tc;v<+Ydwf :տ'z]z2Y\F=?_g{X7 1/",8^r)sh!pD GX < 'EcӝMnEg$E t~AMp]?FѦVW8 ,5K^V|a&z=5auvL1 !yBK"yk &ZEp/1;ݧcm?^O]5"tJOvc-\!J>2 ;-xhEGQv+kLUm1V׻&<`jXkc"&bo>+u:ghnԈ2Cv|e(cSi(YigV+ [&Rz:.U`X whlUIɽy?!~QY. = $<0ImLlrگ_k1Ŀ|Fp8'{kE5\{ f뛣FoĦ*P.r|}]ɣu'W随ᐫ Fzb<@H<0Ҍ6W 1uW7\ mɇ\ ۳Ds[Ni7?ޜupxZk(N` {1ek͎PK>3mu1 ;(-k6f~^p_**VDv/6Kb%\+,D.!^+u U ه5Jk2-vESWB|ms|D/H f2 %Gwk12ŲlY,ajZ-\ސ4է9Lgʻ0U|6Ё:R]S~lI&qg3x]ă_# 6&(zFI=ẆzESʹm ,L ?+nc&C?=SYy=̱Hr E5R0u:;j_r,ژ9Çd]5 ۗNE4f4W7es!:1]Rݴg bs޿Y-[W_*(Fdqh?߶@9q:=}IW?ޝt졍1 Q7Bv%JօW;Z_g #\i<0 qgs~٭}9A_kt~qce-hb^খ2 Nzt{K3h[6\|`1s?K ׅyΰ~J"'BTNxx \?L yPeF&Ϫzhu*GVdU0nN ]m!hU71xE㥋9^w/y֕x CY( E]׆ih:vLхRVNzDv./6A[vMKC®do Nu 66hh0%W%xyrZBE>̔iWFkj-;k f9DH8#smK,慄H!cO\MOJnr :.ECge^+{ߣOÞI^˾p;@F̏GM)Sݙi/ձxl;\["M$֚SZ(4هp@w2Ĝ@ƒ$= Ęז%ʄTAF3C,ct/xVjS3GY~&#7h(LLܰwʯCj+GYN%ook W; wBϥ7FI$#^73ǿ F-y61+;g~lzYnST^RNjg@q(jNZ^ʘ0y^;svhrm{RoksR)+,iG|6}/kkQ_&1?d޽)QJ0X{JM5a#.qC^#jkcpQ_ƭ.b_4Lk=YnҰuNYgO G1~yC@98w^`+k!2E C6a!+o6цN=^|ŌEF N߽eãG=M!Q@{f:R`#2#W(`g> endobj 4 0 obj << /Type /Font /Subtype /Type1 /BaseFont /AROXUW+CMBX10 /FontDescriptor 25 0 R /FirstChar 12 /LastChar 121 /Widths 23 0 R >> endobj 8 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ALHMRK+CMBX8 /FontDescriptor 27 0 R /FirstChar 11 /LastChar 121 /Widths 19 0 R >> endobj 7 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GPABIV+CMR6 /FontDescriptor 29 0 R /FirstChar 44 /LastChar 121 /Widths 20 0 R >> endobj 5 0 obj << /Type /Font /Subtype /Type1 /BaseFont /TRYBNS+CMR8 /FontDescriptor 31 0 R /FirstChar 11 /LastChar 122 /Widths 22 0 R >> endobj 15 0 obj << /Type /Font /Subtype /Type1 /BaseFont /MPRNBI+CMSY6 /FontDescriptor 33 0 R /FirstChar 13 /LastChar 13 /Widths 16 0 R >> endobj 10 0 obj << /Type /Font /Subtype /Type1 /BaseFont /FYAMQO+CMSY8 /FontDescriptor 35 0 R /FirstChar 6 /LastChar 36 /Widths 17 0 R >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /BaseFont /FIQCWZ+CMTI8 /FontDescriptor 37 0 R /FirstChar 46 /LastChar 120 /Widths 18 0 R >> endobj 6 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GICFMR+CMTT8 /FontDescriptor 39 0 R /FirstChar 33 /LastChar 126 /Widths 21 0 R >> endobj 11 0 obj << /Type /Pages /Count 2 /Kids [2 0 R 13 0 R] >> endobj 40 0 obj << /Type /Catalog /Pages 11 0 R >> endobj 41 0 obj << /Producer (pdfTeX-1.40.10) /Creator (TeX) /CreationDate (D:20131206050112-06'00') /ModDate (D:20131206050112-06'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0) >> endobj xref 0 42 0000000000 65535 f 0000004784 00000 n 0000004679 00000 n 0000000015 00000 n 0000122536 00000 n 0000122953 00000 n 0000123507 00000 n 0000122815 00000 n 0000122676 00000 n 0000123368 00000 n 0000123230 00000 n 0000123646 00000 n 0000009629 00000 n 0000009521 00000 n 0000004917 00000 n 0000123091 00000 n 0000009775 00000 n 0000009800 00000 n 0000010010 00000 n 0000010469 00000 n 0000011158 00000 n 0000011643 00000 n 0000012225 00000 n 0000012915 00000 n 0000013541 00000 n 0000031765 00000 n 0000032111 00000 n 0000045807 00000 n 0000046104 00000 n 0000060755 00000 n 0000061109 00000 n 0000081265 00000 n 0000081771 00000 n 0000088825 00000 n 0000089054 00000 n 0000096338 00000 n 0000096575 00000 n 0000107142 00000 n 0000107400 00000 n 0000121948 00000 n 0000123711 00000 n 0000123762 00000 n trailer << /Size 42 /Root 40 0 R /Info 41 0 R /ID [<7D5E53D91A11C8F521CB9F169D175994> <7D5E53D91A11C8F521CB9F169D175994>] >> startxref 124028 %%EOF org-mode-doc-8.2.4/doc/org-version.inc0000644000175000017500000000014012260050771015612 0ustar sebseb@c automatically generated, do not edit @set VERSION 8.2.4 (release_8.2.4) @set DATE 2013-12-06 org-mode-doc-8.2.4/lisp/org-compat.el0000644000175000017500000004706412260050771015461 0ustar sebseb;;; org-compat.el --- Compatibility code for Org-mode ;; Copyright (C) 2004-2013 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org ;; ;; This file is part of GNU Emacs. ;; ;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see . ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;; Commentary: ;; This file contains code needed for compatibility with XEmacs and older ;; versions of GNU Emacs. ;;; Code: (eval-when-compile (require 'cl)) (require 'org-macs) (declare-function w32-focus-frame "term/w32-win" (frame)) ;; The following constant is for backward compatibility. We do not use ;; it in org-mode, because the Byte compiler evaluates (featurep 'xemacs) ;; at compilation time and can therefore optimize code better. (defconst org-xemacs-p (featurep 'xemacs)) (defconst org-format-transports-properties-p (let ((x "a")) (add-text-properties 0 1 '(test t) x) (get-text-property 0 'test (format "%s" x))) "Does format transport text properties?") (defun org-compatible-face (inherits specs) "Make a compatible face specification. If INHERITS is an existing face and if the Emacs version supports it, just inherit the face. If INHERITS is set and the Emacs version does not support it, copy the face specification from the inheritance face. If INHERITS is not given and SPECS is, use SPECS to define the face. XEmacs and Emacs 21 do not know about the `min-colors' attribute. For them we convert a (min-colors 8) entry to a `tty' entry and move it to the top of the list. The `min-colors' attribute will be removed from any other entries, and any resulting duplicates will be removed entirely." (when (and inherits (facep inherits) (not specs)) (setq specs (or specs (get inherits 'saved-face) (get inherits 'face-defface-spec)))) (cond ((and inherits (facep inherits) (not (featurep 'xemacs)) (>= emacs-major-version 22) ;; do not inherit outline faces before Emacs 23 (or (>= emacs-major-version 23) (not (string-match "\\`outline-[0-9]+" (symbol-name inherits))))) (list (list t :inherit inherits))) ((or (featurep 'xemacs) (< emacs-major-version 22)) ;; These do not understand the `min-colors' attribute. (let (r e a) (while (setq e (pop specs)) (cond ((memq (car e) '(t default)) (push e r)) ((setq a (member '(min-colors 8) (car e))) (nconc r (list (cons (cons '(type tty) (delq (car a) (car e))) (cdr e))))) ((setq a (assq 'min-colors (car e))) (setq e (cons (delq a (car e)) (cdr e))) (or (assoc (car e) r) (push e r))) (t (or (assoc (car e) r) (push e r))))) (nreverse r))) (t specs))) (put 'org-compatible-face 'lisp-indent-function 1) (defun org-version-check (version feature level) (let* ((v1 (mapcar 'string-to-number (split-string version "[.]"))) (v2 (mapcar 'string-to-number (split-string emacs-version "[.]"))) (rmaj (or (nth 0 v1) 99)) (rmin (or (nth 1 v1) 99)) (rbld (or (nth 2 v1) 99)) (maj (or (nth 0 v2) 0)) (min (or (nth 1 v2) 0)) (bld (or (nth 2 v2) 0))) (if (or (< maj rmaj) (and (= maj rmaj) (< min rmin)) (and (= maj rmaj) (= min rmin) (< bld rbld))) (if (eq level :predicate) ;; just return if we have the version nil (let ((msg (format "Emacs %s or greater is recommended for %s" version feature))) (display-warning 'org msg level) t)) t))) ;;;; Emacs/XEmacs compatibility (eval-and-compile (defun org-defvaralias (new-alias base-variable &optional docstring) "Compatibility function for defvaralias. Don't do the aliasing when `defvaralias' is not bound." (declare (indent 1)) (when (fboundp 'defvaralias) (defvaralias new-alias base-variable docstring))) (when (and (not (boundp 'user-emacs-directory)) (boundp 'user-init-directory)) (org-defvaralias 'user-emacs-directory 'user-init-directory))) (when (featurep 'xemacs) (defadvice custom-handle-keyword (around org-custom-handle-keyword activate preactivate) "Remove custom keywords not recognized to avoid producing an error." (cond ((eq (ad-get-arg 1) :package-version)) (t ad-do-it))) (defadvice define-obsolete-variable-alias (around org-define-obsolete-variable-alias (obsolete-name current-name &optional when docstring) activate preactivate) "Declare arguments defined in later versions of Emacs." ad-do-it) (defadvice define-obsolete-function-alias (around org-define-obsolete-function-alias (obsolete-name current-name &optional when docstring) activate preactivate) "Declare arguments defined in later versions of Emacs." ad-do-it) (defvar customize-package-emacs-version-alist nil) (defvar temporary-file-directory (temp-directory))) ;; Keys (defconst org-xemacs-key-equivalents '(([mouse-1] . [button1]) ([mouse-2] . [button2]) ([mouse-3] . [button3]) ([C-mouse-4] . [(control mouse-4)]) ([C-mouse-5] . [(control mouse-5)])) "Translation alist for a couple of keys.") ;; Overlay compatibility functions (defun org-detach-overlay (ovl) (if (featurep 'xemacs) (detach-extent ovl) (delete-overlay ovl))) (defun org-overlay-display (ovl text &optional face evap) "Make overlay OVL display TEXT with face FACE." (if (featurep 'xemacs) (let ((gl (make-glyph text))) (and face (set-glyph-face gl face)) (set-extent-property ovl 'invisible t) (set-extent-property ovl 'end-glyph gl)) (overlay-put ovl 'display text) (if face (overlay-put ovl 'face face)) (if evap (overlay-put ovl 'evaporate t)))) (defun org-overlay-before-string (ovl text &optional face evap) "Make overlay OVL display TEXT with face FACE." (if (featurep 'xemacs) (let ((gl (make-glyph text))) (and face (set-glyph-face gl face)) (set-extent-property ovl 'begin-glyph gl)) (if face (org-add-props text nil 'face face)) (overlay-put ovl 'before-string text) (if evap (overlay-put ovl 'evaporate t)))) (defun org-find-overlays (prop &optional pos delete) "Find all overlays specifying PROP at POS or point. If DELETE is non-nil, delete all those overlays." (let ((overlays (overlays-at (or pos (point)))) ov found) (while (setq ov (pop overlays)) (if (overlay-get ov prop) (if delete (delete-overlay ov) (push ov found)))) found)) (defun org-get-x-clipboard (value) "Get the value of the x or Windows clipboard, compatible with XEmacs, and GNU Emacs 21." (cond ((eq window-system 'x) (let ((x (org-get-x-clipboard-compat value))) (if x (org-no-properties x)))) ((and (eq window-system 'w32) (fboundp 'w32-get-clipboard-data)) (w32-get-clipboard-data)))) (defsubst org-decompose-region (beg end) "Decompose from BEG to END." (if (featurep 'xemacs) (let ((modified-p (buffer-modified-p)) (buffer-read-only nil)) (remove-text-properties beg end '(composition nil)) (set-buffer-modified-p modified-p)) (decompose-region beg end))) ;; Miscellaneous functions (defun org-add-hook (hook function &optional append local) "Add-hook, compatible with both Emacsen." (if (and local (featurep 'xemacs)) (add-local-hook hook function append) (add-hook hook function append local))) (defun org-add-props (string plist &rest props) "Add text properties to entire string, from beginning to end. PLIST may be a list of properties, PROPS are individual properties and values that will be added to PLIST. Returns the string that was modified." (add-text-properties 0 (length string) (if props (append plist props) plist) string) string) (put 'org-add-props 'lisp-indent-function 2) (defun org-fit-window-to-buffer (&optional window max-height min-height shrink-only) "Fit WINDOW to the buffer, but only if it is not a side-by-side window. WINDOW defaults to the selected window. MAX-HEIGHT and MIN-HEIGHT are passed through to `fit-window-to-buffer'. If SHRINK-ONLY is set, call `shrink-window-if-larger-than-buffer' instead, the height limit is ignored in this case." (cond ((if (fboundp 'window-full-width-p) (not (window-full-width-p window)) ;; do nothing if another window would suffer (> (frame-width) (window-width window)))) ((and (fboundp 'fit-window-to-buffer) (not shrink-only)) (fit-window-to-buffer window max-height min-height)) ((fboundp 'shrink-window-if-larger-than-buffer) (shrink-window-if-larger-than-buffer window))) (or window (selected-window))) (defun org-number-sequence (from &optional to inc) "Call `number-sequence or emulate it." (if (fboundp 'number-sequence) (number-sequence from to inc) (if (or (not to) (= from to)) (list from) (or inc (setq inc 1)) (when (zerop inc) (error "The increment can not be zero")) (let (seq (n 0) (next from)) (if (> inc 0) (while (<= next to) (setq seq (cons next seq) n (1+ n) next (+ from (* n inc)))) (while (>= next to) (setq seq (cons next seq) n (1+ n) next (+ from (* n inc))))) (nreverse seq))))) ;; Region compatibility (defvar org-ignore-region nil "Non-nil means temporarily disable the active region.") (defun org-region-active-p () "Is `transient-mark-mode' on and the region active? Works on both Emacs and XEmacs." (if org-ignore-region nil (if (featurep 'xemacs) (and zmacs-regions (region-active-p)) (if (fboundp 'use-region-p) (use-region-p) (and transient-mark-mode mark-active))))) ; Emacs 22 and before (defun org-cursor-to-region-beginning () (when (and (org-region-active-p) (> (point) (region-beginning))) (exchange-point-and-mark))) ;; Emacs 22 misses `activate-mark' (if (fboundp 'activate-mark) (defalias 'org-activate-mark 'activate-mark) (defun org-activate-mark () (when (mark t) (setq mark-active t) (when (and (boundp 'transient-mark-mode) (not transient-mark-mode)) (setq transient-mark-mode 'lambda)) (when (boundp 'zmacs-regions) (setq zmacs-regions t))))) ;; Invisibility compatibility (defun org-remove-from-invisibility-spec (arg) "Remove elements from `buffer-invisibility-spec'." (if (fboundp 'remove-from-invisibility-spec) (remove-from-invisibility-spec arg) (if (consp buffer-invisibility-spec) (setq buffer-invisibility-spec (delete arg buffer-invisibility-spec))))) (defun org-in-invisibility-spec-p (arg) "Is ARG a member of `buffer-invisibility-spec'?" (if (consp buffer-invisibility-spec) (member arg buffer-invisibility-spec) nil)) (defmacro org-xemacs-without-invisibility (&rest body) "Turn off extents with invisibility while executing BODY." `(let ((ext-inv (extent-list nil (point-at-bol) (point-at-eol) 'all-extents-closed-open 'invisible)) ext-inv-specs) (dolist (ext ext-inv) (when (extent-property ext 'invisible) (add-to-list 'ext-inv-specs (list ext (extent-property ext 'invisible))) (set-extent-property ext 'invisible nil))) ,@body (dolist (ext-inv-spec ext-inv-specs) (set-extent-property (car ext-inv-spec) 'invisible (cadr ext-inv-spec))))) (def-edebug-spec org-xemacs-without-invisibility (body)) (defun org-indent-to-column (column &optional minimum buffer) "Work around a bug with extents with invisibility in XEmacs." (if (featurep 'xemacs) (org-xemacs-without-invisibility (indent-to-column column minimum buffer)) (indent-to-column column minimum))) (defun org-indent-line-to (column) "Work around a bug with extents with invisibility in XEmacs." (if (featurep 'xemacs) (org-xemacs-without-invisibility (indent-line-to column)) (indent-line-to column))) (defun org-move-to-column (column &optional force buffer ignore-invisible) (let ((buffer-invisibility-spec ignore-invisible)) (if (featurep 'xemacs) (org-xemacs-without-invisibility (move-to-column column force buffer)) (move-to-column column force)))) (defun org-get-x-clipboard-compat (value) "Get the clipboard value on XEmacs or Emacs 21." (cond ((featurep 'xemacs) (org-no-warnings (get-selection-no-error value))) ((fboundp 'x-get-selection) (condition-case nil (or (x-get-selection value 'UTF8_STRING) (x-get-selection value 'COMPOUND_TEXT) (x-get-selection value 'STRING) (x-get-selection value 'TEXT)) (error nil))))) (defun org-propertize (string &rest properties) (if (featurep 'xemacs) (progn (add-text-properties 0 (length string) properties string) string) (apply 'propertize string properties))) (defmacro org-find-library-dir (library) `(file-name-directory (or (locate-library ,library) ""))) (defun org-count-lines (s) "How many lines in string S?" (let ((start 0) (n 1)) (while (string-match "\n" s start) (setq start (match-end 0) n (1+ n))) (if (and (> (length s) 0) (= (aref s (1- (length s))) ?\n)) (setq n (1- n))) n)) (defun org-kill-new (string &rest args) (remove-text-properties 0 (length string) '(line-prefix t wrap-prefix t) string) (apply 'kill-new string args)) (defun org-select-frame-set-input-focus (frame) "Select FRAME, raise it, and set input focus, if possible." (cond ((featurep 'xemacs) (if (fboundp 'select-frame-set-input-focus) (select-frame-set-input-focus frame) (raise-frame frame) (select-frame frame) (focus-frame frame))) ;; `select-frame-set-input-focus' defined in Emacs 21 will not ;; set the input focus. ((>= emacs-major-version 22) (select-frame-set-input-focus frame)) (t (raise-frame frame) (select-frame frame) (cond ((memq window-system '(x ns mac)) (x-focus-frame frame)) ((eq window-system 'w32) (w32-focus-frame frame))) (when focus-follows-mouse (set-mouse-position frame (1- (frame-width frame)) 0))))) (defun org-float-time (&optional time) "Convert time value TIME to a floating point number. TIME defaults to the current time." (if (featurep 'xemacs) (time-to-seconds (or time (current-time))) (float-time time))) ;; `user-error' is only available from 24.2.50 on (unless (fboundp 'user-error) (defalias 'user-error 'error)) (defmacro org-no-popups (&rest body) "Suppress popup windows. Let-bind some variables to nil around BODY to achieve the desired effect, which variables to use depends on the Emacs version." (if (org-version-check "24.2.50" "" :predicate) `(let (pop-up-frames display-buffer-alist) ,@body) `(let (pop-up-frames special-display-buffer-names special-display-regexps special-display-function) ,@body))) (if (fboundp 'string-match-p) (defalias 'org-string-match-p 'string-match-p) (defun org-string-match-p (regexp string &optional start) (save-match-data (funcall 'string-match regexp string start)))) (if (fboundp 'looking-at-p) (defalias 'org-looking-at-p 'looking-at-p) (defun org-looking-at-p (&rest args) (save-match-data (apply 'looking-at args)))) ;; XEmacs does not have `looking-back'. (if (fboundp 'looking-back) (defalias 'org-looking-back 'looking-back) (defun org-looking-back (regexp &optional limit greedy) "Return non-nil if text before point matches regular expression REGEXP. Like `looking-at' except matches before point, and is slower. LIMIT if non-nil speeds up the search by specifying a minimum starting position, to avoid checking matches that would start before LIMIT. If GREEDY is non-nil, extend the match backwards as far as possible, stopping when a single additional previous character cannot be part of a match for REGEXP. When the match is extended, its starting position is allowed to occur before LIMIT." (let ((start (point)) (pos (save-excursion (and (re-search-backward (concat "\\(?:" regexp "\\)\\=") limit t) (point))))) (if (and greedy pos) (save-restriction (narrow-to-region (point-min) start) (while (and (> pos (point-min)) (save-excursion (goto-char pos) (backward-char 1) (looking-at (concat "\\(?:" regexp "\\)\\'")))) (setq pos (1- pos))) (save-excursion (goto-char pos) (looking-at (concat "\\(?:" regexp "\\)\\'"))))) (not (null pos))))) (defun org-floor* (x &optional y) "Return a list of the floor of X and the fractional part of X. With two arguments, return floor and remainder of their quotient." (let ((q (floor x y))) (list q (- x (if y (* y q) q))))) ;; `pop-to-buffer-same-window' has been introduced in Emacs 24.1. (defun org-pop-to-buffer-same-window (&optional buffer-or-name norecord label) "Pop to buffer specified by BUFFER-OR-NAME in the selected window." (if (fboundp 'pop-to-buffer-same-window) (funcall 'pop-to-buffer-same-window buffer-or-name norecord) (funcall 'switch-to-buffer buffer-or-name norecord))) ;; RECURSIVE has been introduced with Emacs 23.2. ;; This is copying and adapted from `tramp-compat-delete-directory' (defun org-delete-directory (directory &optional recursive) "Compatibility function for `delete-directory'." (if (null recursive) (delete-directory directory) (condition-case nil (funcall 'delete-directory directory recursive) ;; This Emacs version does not support the RECURSIVE flag. We ;; use the implementation from Emacs 23.2. (wrong-number-of-arguments (setq directory (directory-file-name (expand-file-name directory))) (if (not (file-symlink-p directory)) (mapc (lambda (file) (if (eq t (car (file-attributes file))) (org-delete-directory file recursive) (delete-file file))) (directory-files directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))) (delete-directory directory))))) ;;;###autoload (defmacro org-check-version () "Try very hard to provide sensible version strings." (let* ((org-dir (org-find-library-dir "org")) (org-version.el (concat org-dir "org-version.el")) (org-fixup.el (concat org-dir "../mk/org-fixup.el"))) (if (require 'org-version org-version.el 'noerror) '(progn (autoload 'org-release "org-version.el") (autoload 'org-git-version "org-version.el")) (if (require 'org-fixup org-fixup.el 'noerror) '(org-fixup) ;; provide fallback definitions and complain (warn "Could not define org version correctly. Check installation!") '(progn (defun org-release () "N/A") (defun org-git-version () "N/A !!check installation!!")))))) (defun org-file-equal-p (f1 f2) "Return t if files F1 and F2 are the same. Implements `file-equal-p' for older emacsen and XEmacs." (if (fboundp 'file-equal-p) (file-equal-p f1 f2) (let (f1-attr f2-attr) (and (setq f1-attr (file-attributes (file-truename f1))) (setq f2-attr (file-attributes (file-truename f2))) (equal f1-attr f2-attr))))) ;; `buffer-narrowed-p' is available for Emacs >=24.3 (defun org-buffer-narrowed-p () "Compatibility function for `buffer-narrowed-p'." (if (fboundp 'buffer-narrowed-p) (buffer-narrowed-p) (/= (- (point-max) (point-min)) (buffer-size)))) (defmacro org-with-silent-modifications (&rest body) (if (fboundp 'with-silent-modifications) `(with-silent-modifications ,@body) `(org-unmodified ,@body))) (def-edebug-spec org-with-silent-modifications (body)) (provide 'org-compat) ;;; org-compat.el ends here org-mode-doc-8.2.4/doc/dir0000644000175000017500000000000012260050771017531 1org-mode-doc-8.2.4/doc/dirustar sebseborg-mode-doc-8.2.4/doc/doclicense.texi0000644000175000017500000000000012260050771024335 1org-mode-doc-8.2.4/doc/doclicense.texiustar sebseborg-mode-doc-8.2.4/doc/Documentation_Standards.org0000644000175000017500000000000012260050771031201 1org-mode-doc-8.2.4/doc/Documentation_Standards.orgustar sebseborg-mode-doc-8.2.4/doc/library-of-babel.org0000644000175000017500000000000012260050771025773 1org-mode-doc-8.2.4/doc/library-of-babel.orgustar sebseborg-mode-doc-8.2.4/doc/Makefile0000644000175000017500000000000012260050771021427 1org-mode-doc-8.2.4/doc/Makefileustar sebseborg-mode-doc-8.2.4/doc/org0000644000175000017500000000000012260050771017553 1org-mode-doc-8.2.4/doc/orgustar sebseborg-mode-doc-8.2.4/doc/orgcard_letter.pdf0000644000175000017500000000000012260050771025515 1org-mode-doc-8.2.4/doc/orgcard_letter.pdfustar sebseborg-mode-doc-8.2.4/doc/orgcard.pdf0000644000175000017500000000000012260050771022557 1org-mode-doc-8.2.4/doc/orgcard.pdfustar sebseborg-mode-doc-8.2.4/doc/orgcard.tex0000644000175000017500000000000012260050771022635 1org-mode-doc-8.2.4/doc/orgcard.texustar sebseborg-mode-doc-8.2.4/doc/orgcard.txt0000644000175000017500000000000012260050771022673 1org-mode-doc-8.2.4/doc/orgcard.txtustar sebseborg-mode-doc-8.2.4/doc/org_dual_license.texi0000644000175000017500000000000012260050771026711 1org-mode-doc-8.2.4/doc/org_dual_license.texiustar sebseborg-mode-doc-8.2.4/doc/orgguide.pdf0000644000175000017500000000000012260050771023127 1org-mode-doc-8.2.4/doc/orgguide.pdfustar sebseborg-mode-doc-8.2.4/doc/orgguide.texi0000644000175000017500000000000012260050771023527 1org-mode-doc-8.2.4/doc/orgguide.texiustar sebseborg-mode-doc-8.2.4/doc/org.pdf0000644000175000017500000000000012260050771021073 1org-mode-doc-8.2.4/doc/org.pdfustar sebseborg-mode-doc-8.2.4/doc/org.texi0000644000175000017500000000000012260050771021473 1org-mode-doc-8.2.4/doc/org.texiustar sebseborg-mode-doc-8.2.4/doc/org-version.inc0000644000175000017500000000000012260050771024241 1org-mode-doc-8.2.4/doc/org-version.incustar sebseborg-mode-doc-8.2.4/doc/pdflayout.sty0000644000175000017500000000000012260050771023647 1org-mode-doc-8.2.4/doc/pdflayout.styustar sebseborg-mode-doc-8.2.4/doc/texinfo.tex0000644000175000017500000000000012260050771022723 1org-mode-doc-8.2.4/doc/texinfo.texustar sebseb

Ev N)RnR@-RzzҋV<|tu: ~4gE-4hr I]g,pm9fcJ؝%lػx 4\O2Cb F35ݧn:=dyWofT 5cuں!uN8Ve֏r0 :%~*1ב J̾$LQENUHV[1aI$r(5q#-xX >]%m{EM tK@t&ʢ #%ھn`I{G'/c(e)ߩ[!-G&hU֋Wh3h3_#?teyӑj?5 ڧvO}zY;qOVFIMWpOӞN8#%!T%?G}݈ 2W0Uaij`:[Vm3gihTl VOT?坹CRH)^;̷DOQ*X+MtEkiޓf(AhJgqbnrz ϩp^8}=ܴj P+n׼n;h/cё2fݫŕ͹N.]'ih%Kf’q$ 4)o:9<\Ӵ8S40$_ *e ^XZ"~fi[W+F3Ċt{-J5VbXR W]U/"C(r]j#ѐSoji[sl {dW W{C+l<>BJlf]V! Q$9\pO\5r8 h(4.Ǭ%(z0~WAkRi=y1獄Wm4C9ſ'd܅3*`.:,.|b`E00kk^~^Rg &uxCQɈTMHEgf4@d~Nil$ amC`(jᏠ:?U_/VZb"ڌm/zyV>+'OϹs&CTob>{G?Nœhc2Mڀ%_"v ZGMB&[|$?:-%YGEodA$爦P(ɪN>3k(_Ebj->LeRl͛wi PQO[` mй'a8GN~y^a:evI28ͅ #SUFȍ_b04lhݧptAu[Q8è9 2w?m% x_4H^claCD 7q4l,챫>%'Նhwn{-fKw'JڟZsBe7"x"ΛƋAVŮO/؝1M891Pc+D#qS}'W&ыwV#Ȟ /L4*,h?H%zb[U,|\c\J:;TC`xI*t椸Vlhc|nRfWo"CdArx(s%>kUGP '6,2Pcadᤝ0Q9>Po*V2jvF`Hɶxq5*\֩GoegjGv6MXV#EY#s+軂(χ8ZHҵ IM(`p^!\C5;%>rШ~t+*A\TzlY o|/lV,Qƨ{YŽta+lܙ#mť qyڬwDry 'KM<^5(k`爤omr423㘌c˩Ƀ'S싉'oA5e\[B_'F,s_iƐ.*:g>.5i7LcMf5VEm<ޥs-IVnyZd}c[ PN ð}`:(Q>.&;0̇/hPi}0%h CYi7hַ=q矧těRNs:A0ºk!Uf{ G%Jyڀb'Ds8oNlz)KgyBs3]z4_і232mM>Hw/-RMNfLkmCsr6EBU hWo,Sl\#٥Lc6[fuy?%>@rO|UӵWQ؇#[8< }$)|uFSNLN]C؊WfEзD+:{dnTYl0!OiH#xӈ͖!pwe${bokl/kD_f9e:Z'*ucթd(%T+YTiΛ!]Y*fN:/n5E3&w.L{yFw+!h'DEqz,pbŕQyVLpco+">{xͻX9d 74Bu-½/V٣ Hȅ*.amRKՙF<".y/ #y2cLַ=K}3觞,s%EshV-)q'? gMm*%b#cxt7$f]2VV 2O5ƏU *i_Ρ'~uGL@DѨ2;ХCiVxa}xpUn<*isOs-NDF2j|-n$bvq3U9"ҠyL r\SvR(ѬmIKv25kT ksz('reP?Ðk<Tg 5Q[ZI6?n;g1 ?<d/ПiC,A&awyw~{X>rgDnrS5zoTzIZ4GĵK`"OhчϞF4e^0ga Q ^HG!p29ED671ٷɉ?LFF_#m v<fZH<9Uf*!_p RB!JXpBqQ 1sdN1r$a-bg8lgu!zRr9X/\= %NG4Lȭ4˳ÈXjE3mDTjɕH+Yl[ǜs)a[+U DOۀ\J8hq6B-j6jf͆/w*߾JHsޢC`hvKRgOTPc<zcQ@8N=;'G1"<$6ИЊ9:k;/Eܸ5"r@l}oO"#b̌^*QBhz24j4o] vfdى ЁMC`9`ܸr~.;Ϸ9 Jmc2d`3U4#:asma~1Ğ,a%UÍ6D~ܤ1|O|^PAypqβEb*KV\?m[@mm)s"bN4߯!`=_OO` W5NB_9%Il5L̃9Vb 0 (Z'l SFfQx/8}l]+'zѵsgm8q bJٵFȆo|v1Ajbnr)ѝv 41.dfrN\|qs'"tͺ- d?i@ v[0J24H,sbl)5*ђv͍-h;uFwd HtBHu/l.ݸa |sgas--9k⧫;;#Ia?oz+90US-A&``L^v}g%ku'q|"{"\fǰkh;c4 ?;#N@/1 >HW>3M@e~ҡQ endstream endobj 438 0 obj << /Type /FontDescriptor /FontName /HMPNIL+CMR10 /Flags 4 /FontBBox [-40 -250 1009 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/b/bracketleft/bracketright/c/colon/comma/d/dotaccent/e/eight/emdash/endash/exclam/f/ff/ffl/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/percent/period/q/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/v/w/x/y/z/zero) /FontFile 437 0 R >> endobj 439 0 obj << /Length1 2182 /Length2 16139 /Length3 0 /Length 17431 /Filter /FlateDecode >> stream xڌtZ ilkmFcضmضӸ͛s<\lM)Y=_Ʋ2lLL oYlhllgcohaak0eݝi&Z;}ZX}]!@\H `!-읝,WS5:;U#=uVvn^S [ӿD3Z8Dmg `cddb@wcs«zdkC=Cpvtxs `ba 0Y 4\;@G{Z{1~TվK^t,:f6&''Q?^U4wmJٚ%#]AoyV(t#_oA.oSmhcaoNvq 9ٰ_d9ݕr6![3;D_-[oma Ts112y3xO>-8oJ1[c;掙`h^ll/5z[;<#_7`k_`C?`/q0A1$ AdG>?O}S/q~SCG? `PCGv? G-F_`P/~\ÿG/c#_v.01~(4/~(47xX|Y?Y?Y?AqB}~t??l??jœ5qN`p6w>uvG.rqH㏴WOb8:~,~L_> h hglYP+Fw07Gv+׊c"t UMVPh?*ѫ϶F$g噃E?`T_@{\8 %&Bke^gbԢu͓e/`r#Dz4{7;N$@+Kk9qsR٩G ubK8Ukɫxq"mkr&@^Jl]**z]2q"kźGBŻ5G2ASn14%Fu9FJ[hn9bxK ֦ΈzS+A[YV[Ɇ*wKipד=jkLI'=@\Q8(̆l;6 ~/n<;tawY2ꥹLWz8wi?ʃ5x W^nD^ 7]һYnxmh>k{"7)#Čm<09c>Dy*^l 0E,YB2=^7 i0^f<ҜNl "$}3h>*o)7`?H t+<\>Q>69q|bI\K(,@mJp7CY v#7#bky 9Tp?' K3"L{=@-b<>U9W |->"n;-eY]ȝztx݌H[_GOڶ/bf345zA$f$?*6bO[yFzV9e<+1%E+ޙjEƓ[Lj~;I0+[M?r ]n2v;ɨGZm.ڗ* PQ; a*1ocN'Czz{)İ6挥 qXJB`ʜ` +;)+e"~'=` g֜¾rv=uR'^ jEbE;-P9).7~q=e Ngi%x?{@$b5L%>|߄x+kttL2FRĠ쀮I)dH*laMS^`뮚Z&!dLڋdf $@lY\U|VJTq61h_ěd8I g΀ǭAK1t@)ԩy<g]!̯i2Y3TbFevCUiq(5T٢Yp Qov =*Iѥn~ڮic<XlW 4O& 87ec3:M뽊_Lhfti"E֐$00wx=خ*mRQSEG$ o#1.7#v!ahŌMf`E/kFƎ_ڮ2! }޲(dj` M!SÔ*2cE}r=q}5G̏oՙ G>fQ*Vt,89kDOEF1Qq@<(&g]fqބ1U460%,#? MwG!;"Uȿ`x-TC##n~kbHKb p̖ـ߾޾Wf[U@`62."al?˹o*̀ErV'qW|aQ2=2fpV`d.Z AD!*9tV⦩#NRm @-B 7v$X>vR  4\'Sx 嗣dLjF_6ְ,8\?qc,`N \9Hq!J_x|}JZQL#~CH}D 2kV{s-~̥AiD7HZۂ!ͮ,v7ָ>j߀Ev8Б0[ɧ(ϼ>2ozFs X'Y,ŨdОpLu$VfMo}+avOk1"G!mM_}KNI7DVإ!r45|J 7]O|_Mk77k-9f C #g&Y9~s ^f֕-fV f@EYY~M~U.wE䄒qZ Egs(g뵜,B&ik#ZiQi],2r0"A@񴚷U)Mi JXD|5mkDJ!#.RtP}VYZ=W>tyI~F/]sŞޙ{Rr{5[GիziYltnrHqשL%a¦!y8? K-%IY(C@̆|;a9cNC&(}~ebDbfAɥe+VχxF{QdfGcd$Žc:/%rgMlYKIm8e;j'v' ˨cj{d[cn}mL]KE87FЂCTP&YpطT07*V4p"`Q) jۄ r/Lcp;llY$"/,D "kHK9F4<0Cc2;7S.}P.7XGN#:EX"W yT[6rdx{y=:B=}?&8E* eK 1ޡf*>ڼV*RIԼ(b!՛)8ŵa[v YA.44 OC]A'?*$yZ͈^|"g>O/t87959nn{l>cl _ҙe7Lv{mӮ[F[y Uh|N1ڽ2GG4KK_үHz[#%<8|5/ҙ@k@nt(j^z„^W͝)\vҝSkY9:h2C'3+{MKv];|n/־`h? k8Q " 6B#f90`A5piaByMÝM8MV5EG#*#Mln) ρ6h <)R.ЮHHJbby3le,@Wq9gqJ`f)Df$h[W7K;G4p` 'MPG[]ǠROnG@{MeIF>]WqvDsz9-y@Q<#"slBo" #~(z6J'9~ RM gښDɷ0t/() naLHQ,c+ܪU1) {` /52l=gր$6 `o+nn .#V Ƒ}\̣E(,SWWK~ 7A*P4߱ɑ"tgt{loۯ`1&uZmv7C8r_^RB+I8Fߝ҄E`#Ӣ]Ub9 JPC 8|e$FgN^LuaVX$[izx[u6u_ R;E! ݻovVClfإfBiBHr>ݒm>ߎ܅5XjRӔ0H kCi;|"I,&BebQSqT^`GqnBywJ (UR,܂'@`XKCk82?U9EVy(~Rd+զ 𯁊}9wH;!* \kaт%*mcx70p)2)xki7eۜF x_Œ91[ j? \[hX#.]Os:>T=uٔV8t ~,킌⹘ rܵ櫌6EpCF:j͜[gSзVrmLd[LH_hnH@,ڵk/tta*"l| 1ƒ_ My)'i4pɫ=+& Ɖs]{6[+y~&&tK_M OOGGߍhĂ6uA0 a]opDY´˟E^ؽ)XjXRK۲ַ.kz;>>ApaS .IL,eL/Srn"3\̟?OXBcCᛈ6tehkշ'dLsPZ;/ in/KG`h@X= lu{ͦ:eaBwn)RJW>Z6P(j7K] .3ZH]< g mM vf+v1pt,3JZC H0}+R='_3Y./᦯ڷگE͞ -bfr&G>w|Noun kuNȇ9Z N~>4{]F =~d ]8$GEŁ L^/AP(c8\-zVN:bt?[~Az~I>Ҁ{!IeL/A5/x41c+`߮(B䶓fKcrqmk/Dq.2懾9ns<\4. _ b<mvٝ/ۯP@8V结 P :j 1IU-rrUTQ? U\ 'w@)"$R5WVY8a*$[TI[ ËϺ0#!ĚfFz"\<$S2>YbtD}L?fnf]|ʹj(C/yA b+of<ߞ1rP })T`'IZ\ES8*ZMv{!7^Ry +CPO5hkrkB# duM(M箷K{,7/:V^hr uzq/ CaPy>Q+#,(~yRiw'3s9nػzyXMl Y@gvneRfŒNE\3bkn:INY&JюXnIYGJ d}j:6 /!@8qTC;b$y]O1US(Po=㶵jԵȣ j7C^ n>W50@,tl eMtBOz4(_Y켷^@@&C=/_$P>`"P\ [h%wI1vOrV%rBfɉ/ {,>4}n3nWPnVw>T{g/KrD\ʞzmLN + ՑZ-uVOco508qbj{4Cx?ї̢;#i֢|/14-ALK/.U%׺ 5ܴQdv M@wc&ɲ_t3AΉ84Ђ\ g(4u,S!;P@->AKcJP>`3eQy{UgSǮ%Y:Hy<z6y0G2VK ]u&KJBz'XlQa l[Ǒol+,Aw~8GgRGL>)oNϯ gᥑZ$YΜ®'7]ES`cP >{6m9N"G$̓`ޅm}W/۵\|EJ9 ۻg.`\7}lڽWI^c#lrB܈a΂b$ *T!W)Ngd=vgM)qdh:uЄ4uՙ^!0rɱrN/()iܖ"&?7E<,1g!H`..?%39`{m87Űr('0u!#;}3;;9`$e۩)Wb*VP,bSҞ(_˾ΌX*A?>[9NVE_9:&=KOESƓuC-0hIe3=Zc1 _{3t~ LF>7>DݸsMch'J8ANEWr^52>yѼ^]V1"I86 jDeLPEr}a< y$D<4 iخi Nkr2%T9zMg>mo6ݖs* ڍuY"Qii=Ea|U(S1[%B6mYis|;%m̆vϺ@;9~~ۮ*xXލRgq]>SMKTָ$rF])1Z%GP1_Cfƹ(G;MVT*~J9X}n+?LvBYiE ~Mٴh]\KaK)ԶLý)=޹tdN$7+b1n<څ1DxieC[ڪ_R8q%vV._#YLq{V@?U3L3\v1:\iI 䑠KCiC1:cO7Іˀ$]*TԮs-w-= SyDJ𸷅!^3XoWAA֭1\{)LьUF/69I̠zLN铮ZB\  ?ߛN(:+(uWR Cϡnؠ2d4^مۘBwޏI>Fbq8_vV;Np e N yt; O:^,o(@+vٕ8OeAt7%Dٱ6i wd4Il bݖfuk1j5n{E614 էa/H,mfPďO\R]{cqFҞ<;Kizjk~ݜ6sdaq63]pYY#dRex>=qwRtny?ech:uU{37DawΦa( [1l.LH A/`_0C]UtKQ` W}(Tu2L1TzQuhfR;G ٸ}R Ag_lXzw~ !Y,n{Yy4N٤?=-xV[ӕChk:'ԝ87#?"9npeņ~-F gHqۘ!gywsf2XƾzUDD6_?ַ-M=Ji6,yRK(̠#Ҭ?cj"Ʀƚo]\*Gʊ|Ã"gyoO u}?0Rtdl| ѼAtv|x)EUt!h\BpwoABɔ$e VfGr8Dd\/E+Ӟ.{QxLF߄cA`, Ski/P1šu+|s/z#b`|>[ZLR7sUSD8-Aɳ4^zAIx[$|RnXZ'(]qQ̈TH`]1bwBɯkK4q٥V*BPǾj#繳M]wc4sf3YVf)WJ`ɓ[f^eAOz諆J B\Z7@IZQ!qcQ~se 0mF:w@iJʥ@sbZ Z@YGNEwKq`{8bPCIttA6z 0k%MQ0 n̰6 n;ZNoqϊItXShVCFSOiQc96j ikKq?0vv\c!x(|~*n9<ɪF>I2԰j/ܼ=x\>]|,턍-Z%武sY16goޅ)x}PN$%}>$(\|O_#ֱGpHiyu1+8З{5_xJLS:Y~9ųT ABTQ~ DHUT:bDì^J{4RݛO=_s1uT_s/C)*gq^*4-;{*+'_-q˨ȟMiu])}o)R=XlE_&Xs15/BR/<a%Ta|7ʓ xfF8,j&mc̉ ^Kǃ"}\w]re\W=t?9V-ڕa Dc&~KI KG lB%)jӋ80.zbEȽe( "k-\E)=n೎z׭Ŀ7N|aܹ6ki -٥~ެ$·N3yJXdYp jvc+3ey cc"&g[mYiʻ./tFn&NT3LoopAix^7Y4r0qONd ;_GȮmB˛̓$)՘>L3=:SE4iZ,ZvYQʼiA~I0n[L`TQrȬ0v(hdfJ ?n力U+L9Dwlͫo}oX noTHb=j]6,/UPffy#}(;Ժ|CXCӮAMۧHzWUXD֥w 0Zl]F\F{|q+-Qԗ/玤Y-[0n\(@]rz0L?n!?#LmϭgiKH.c{/H`5L%J$iX\Rt/z?1Ίc>כӷ% ̲$CߙkmPʖ%aUQ8CC r;V)Q氛i11$ࢯ@‰vc ^%Րo؟~΄frzy{zy u\Ï0Qb>IJ ܭFNu+x4 /`yNMBo|p&N-ZMa}Qm밪dJXJ FE&,ZSO?e]osjQ/t1NE2M?D)ŝ'۫x\ Ӣ0 |En.׎ 3ts1켺\8;T`+d Q*wܪ֓QcR,fVO\0mA9xۙO^ԃ蚪MNTteYs'z35k+!m u՚{S# * %5:ࢃ=b25Qq!Zbø3ĪrL7EV4 +d_Eq.p΀d1L0R)WH>n$tNJOC'ZxeoՓԣ8cb*槎9rT>۲dW!| endstream endobj 440 0 obj << /Type /FontDescriptor /FontName /ZOTVUW+CMR12 /Flags 4 /FontBBox [-34 -251 988 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet (/A/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/V/W/a/b/c/d/e/eight/f/fi/five/four/g/h/hyphen/i/k/l/m/n/nine/o/one/p/r/s/seven/six/t/three/two/u/v/w/x/y/zero) /FontFile 439 0 R >> endobj 441 0 obj << /Length1 1413 /Length2 6283 /Length3 0 /Length 7236 /Filter /FlateDecode >> stream xڍvT6%1:I(FݝRc  J" DJBBI)I%yw=ws_swLD D!1"`Q>s8 g CQHa ^ PH,K˃eA 8$# -T]@] SCyn|@~,''#;PhP 0AJ  |EQh7Ea`40/@C(hCmr@0 ^? a?py5@(tFJG@(7G]^0(&# ]~9B|Qx?q;nT1BD Eý1p_~_E @_hAbD ]H_\,p?x @2r  Jn mRzxP+ Ba@ Oÿ% tC1@g ';^ sCO ~}>Bz{b*ZBmRUE"2@q) 7C'''\+<H , M?/V_ AYo v0⿭:~3Tn^_"Ws1c{0c/3@e'ïҿKj (_;'.% ѐ ~xI @1Q$ ]QhyJ/o?1;^-4ƯojK0X GAoxua {ҀߒUvwLC."'r}AyQ_y 5YLcIIȩcR`bʻ*58N s3O7|>~4ƅ]Z5K&/(O+>Q;|t\.56i\;S\S\Z{UעŨL5i ^\W szRTS Ta]{$;ff?jb=G<V?lQx^N]vT 7z;tP20f*1vmggr|ib{If ԔJ鵤w!d_Ӗpn1U0ÖjZFI͂#FÍ,ʮL$y=S0'*9kD 56\I.@ʊa Ejq7#utO8:bԸ}` ıG:{q}0Fs½+OWx2^GU&Q$8R&6C-]s+g[8 Yu`B1@eRϪŲZt˸]]-4+o;Ͳh.Bp7<ҦT`B9^V瓊OCY4y9>v )Tm_D`>اJS>B('PަbX#%q](ܻGv8肣wc c]8vRJYm^*~咼NSBۅHg<t|RB&CWs%3箽~&v\%HX9xŦ 2]M2W"c8":#ȴqUץ&S+L67Lwg bk}_(""#"[ {&HO92}I/Nr$q>6 qE NzI:U% 6'p#p,6[ vCt4a(9DKdpDWAܚ7|^@p1vj;׵%?]fiDiRT+ÌքvR~a[K幄^i qFf!X3U0f!yi! .FmR|9!'DވG  O-=-sEK0/4߷؄fqmu̵O`$lT!Ѹo[}Ћ>w;o*XGYԵŲYc@en~j0#4{֍~ʧ6g۶,e)q{rd$_vwn+G;A+CʹF%l''!!:.Vr@eK]^媐W(d\9ˣpT.qHO)YiQzp_J5ȁ.4JqtD<(gOuTQ;w.9Z73o2~%PrQcOq*]=V9qHCХW!_6TT޶sW{N~j7J$b~rΉYF.aS]lCģvE%KD8kOl*lޕh!|N%H~xa7GxCELlyJƎۘ!TA^|z~ hE~=' g٘&3REv' T5tVv/_'*af6%xٝpT}Z gHr۾bgQ&٣xa&w3S E(r1%/Zn~aoF1~Ē\ݹQyf~F $_ 4s笰:NP}9,m|9;\/MHXJrM=m]N)Yv7~ NU7Z8_ʋ\.o\Dݷ/+ [aǜ6K y3?z߲pkkLhÜgHMObr] *g$r7՜mJy=q`+W齙 c6۸[g\FQSPNr,<3F ]޽Ș/S%:LE28cmC3_\o Hq%ϴk&LfniqI&܌flq?Zάh{g}VWF9c x::&ֈwreq0&YMk-iU:.\=8LIfv-;?t]5N?"ӫSތ4Wc! c <WEO&)?` S^}+~eP S|OUʗCB8ctbys5LJe#)EZhq'C,4ϔWϒd#Kn5 Wr7ݾ^W(+HoK"^!uc?6r8|U^ؿI^ $Qsi&lT[#OJd/r:_EDVe '4gm5\ Qk#~G SsPdޗhእ*C\}ekMaZ+ 5mNϐS/=bvIxcEv\hcyp3TǁxBسEIUvcy536+a!39̥m iS@Nqy9Svit5bFb9S %:k)z3/jPK8o)Vm7~o-ؑO6Çd~2oƿvf3`$RH)\/vz}U2u0=דW<_mì(YK$ )5D nsSq7բ`9Y}؉s }.6'5oMILd_rlM_oU]2ܣx{k<{y7X=^jM]/\} ;:/e\*E&r"FT-0kO0 y놚f{_![tY%zmA }u 7;ގԶ"Qe2qs]:pӗ%n0M$FBHχS6(fg^vjQ~0tKrљNB0y=l^FxaM( 76ra~()Ś`&iKh&Rk2v LE/ ^t SuzDqbwk6/!-U93ejzz|,xM#;mf%**ϏӦiw˽EoݲxC$f/Ol?>6+{9o+}ei+8bl6{ڧTr(Tb+2Ib,]]NU]HQ2".'.#zs;EOg\W+}v*bAI}Sŷ]/oKX_MTɧ <+~khf%62!-ؿ&j? IaQ0^5:v8o^y '!Oxl;F}촬E1J"uG1E G U[cph\4mNw.n8?7Du 0lu 1}x]pW%2ſs|#'hE{ _0~ű pYlzi1#IS2@ u>*P!Cn*L>7@zAaּ,-]cҬ;[$Avɡ\y")􃁷 l*_k5;Uwm"~\0Uq=0*vcb׵s jHY>5 mPLę錗v >> endobj 443 0 obj << /Length1 1377 /Length2 6031 /Length3 0 /Length 6967 /Filter /FlateDecode >> stream xڍTTݛKR{HNtADR$A[@:DIj9gͽos9L` 8 % IrsAPPVRn 0 _65 tPPȉd #j /#@_ܪpN( Bݱ@P)FCNT[# !(  Fx @DHf.fS( Cb0G0 0za j@U rp{`>3  5DPs"|c~P6Dt@@f<',p #C H@#;C`TǚN챓G@0+1,_W6Xn9aPWBKCW7]**p OXB ,.%ɈdW_[@?&OEm ON)~;<w_Uy4Po//!P?XQXEñg=";BFP9CDR;AP.`C!0 bbj c0/͉KI@ȇ;xN Ċk ¦NpyJKDHU@`{؞ ƀH']7T*x *q{/7hFRWd?Z@)~w4~(!Ÿ.dd0CЋ՝l$fJ!n:yF'Β5 i%q!Es&9 Ql4{ã1gCW:Iq/,NΕ#3q1Y2l<ѹ1Wrџ>< n 6p11i.4h%q$J}YhG &C 2Uv#Oi҃skP4^:pr? =SX=K2*E"χI25=K`=gz͋gi, Jg!7jHc0p0{]rXmvY.!>54S`E]iCOưPMsۅ13FuA/{›7@@h͖W,SznG%'ԏcL-ζ,HJCtɗm:oG4/r} X˓$dCG ݗFN lO {7Ň@eLo8?bݱg>(;0!Os?Ʋ5kh(Mw1h2LN! a0wE̍0wGil8F/" 囔i vT 4[&A(02rӦMLϪ]rzmnkߧ}cnˤwI<.Qԭ`̎9F{{C|Cחn5\h:BhƉTl7-}l8k"|EyϾƖ5Ҋۮ-LcƱLCm&ηȫ5=cO i#N)ژJ&;S5Jg(𮗽x"35 ;TPZr`υ{Y]|w4q/ Qdqrq,~T,|+[*ؚDpہ]〚lzÄ4mb&vFey{[q>|ޔ޵ ހPA6[xjnr1> %J頯N}*qq׷`}5Em$)8bKX}GQ=8ЙLzmfH3lF:N?dpC P?>- ^ 5ih722NvXDif&KL(+W*!h-3w37z}eMgo &V0=%Etꑪ!F'Uý ?f1߅vl>[ADŽ9gqeǃJ/:FY]*;-˾m8?x^MBslֱʕQcӢ*m5n)( 'P#ě۹ש,6psk:J Il:VjA#眻qDaa2%ef-caaם40N)Ky sI{ '<֧ݥxޙ0 o@bzjdudX\qʬId #7=wS-s,YdIяbɃXdFڜ@Uޒܩ{K;lGo8I_.޾5 #yAж 楙WZmz"]G{l,A'*&9L[2T.T% fsE^0p?#Lp3;V8Sе;ZWqepAvzXtqϱicu7;'1.u>{O&4`st r7M;Ҿ|3v`wdZ w|b񳇛>i.Q]"e=:͙G9.{uxb =Gආp@ϖlLH 4⇩A*m%+I/R# Vwۡv{ՙI2)5{@yC6~ ؘ f'JmjEC0-+6kI6y1BvɫRe*ڦ8,D pu^z>Z559UȥkEiZ32OS]dj$)|_g|x-/J >&URR ?CM{'2LPb`ryCQ̢J!T릋H N]zb3m;NN)gwFAT7tO-W@m=WzԵk]ٳWQO:<\BP։cnm EVU)\P[{)M툅W'x>xx`.7؉wZ+.?!!hN8ӌ]cD]E$69Z٠Ƈ#(z?*_- :<'BfH̽ oEhNZnyV8rc3xoeu^XAёY9T$PubN 4C/}"?i{HP m xz0vϊ5)qupgrɩr 'XMqOIa쁎5{ڮy5ԷײEN'ZUi'=|Ԅ%OFT{3irQgW<{-Ǩ`E+mOǥ޻GT55]J% Gan$cY zyZP0\?e'{^/eL.0ʭV$4XbJ3mRJ!_=L@ba轾5riP M'ԥotɂ!- *AQ NDwΖ.#bJg2ubxU\.oݔbwtcFKO:ZQČ[U:l)-呛Eެl h i8H|жWj\Bxv_RlpFiolcrԪU)$ր5AuSzPcV`oI ,^+.5UB~.q@tg`^^ESV.FҾyZ_B6 1 /0͎:n NdPu WTI=!'Z'pkaEa|@ɟ|g9cI+Z6 FkUuyU/߄_F-Kr~Ӹb^7\J]@egsB.Brjp_ \ГK9l5!o&:p-nYy^S# GQ|BQ+܎<ˎ69w* ^sd;)tMT|_HPͲ\Q>N_mp-}"m \yZVAW?*ܐ,6|p>w-7x,$k D\W^Goͮ{wRJ7 =ruXF'=YAsᕍ2||Sp>#Sdi*pYfBIw!@$ (OT_*.O_$]d@Wq'+Ȩ_f=hcˎ6WG[q]'x.` |]PSX{jXWFjIمc4+5__VXʾшg>d{܆ 6Ge~_2OuۊfwfZLegZR5٧*X# k /;$B"rxž ڮ+$- _*],Ԫ{4y]ŽtEν~*07V|= t{'[4ݣݰRr ,(=70jz׆1gV@FevVȻjPRtfʯHGo\|&CFQe;ǥc[~bڕr]^Mq~hto H> endobj 445 0 obj << /Length1 2322 /Length2 17887 /Length3 0 /Length 19241 /Filter /FlateDecode >> stream xڌPҀ ݝ. XK$xpww@p}$|_uoQާmzf%* P΅ &`ffcdffET%E:9xsč]266 '/ /33?Nqc7@ cotFwtYXG'ڔEr- djl7vھG45ڛ.゚Łݝ֙BrNn@3_mƈ@ P9Kjon l@@;vf@'{l@h/c #{_@v/665u0YA6@ =/Ccgn cw7H(wuΦN gFg_2vfb@;g9M߻ZٻydgfW fLv GW-Ed@333+zZ2\/{>^> s//gc7 O d0Zx;2 ~ϖ7I[ZFRYx1X9,lSR%cпscQ{2=>.4`>@c`6}eo>66kRhmA6ֿO?vTC,4_oAΒ _=xwo*;f ,G~L߯[|?JR3 0vr2DxwxN3s `bwy_x/`n~rrD8L $L$_b0I!b0}Cl&?OǓC{<{? tX?:wQA`MSy%,z ,yd!'11UT5ָ-we'> `ה4a:)bW~taujt[%ԽHk3׵xre~`d"MltLp&bUS&YVwMTcwp)|\A Lc8 dA޴9G~֎Xؽ8B 2Z7w;*Ȭ.{p]|t1Vȱub Q a.s1aϖnI['H\}¸$bt^ ? Bi2#D$D'cˆ>\3}M+tMPe}vk]vr;*kF6oN1,x88Xp>vfې+bs:={TB]7HG2Hړhcg ')\0 F=DV9ƫ{ٯ.>59~򻢰Si^( 5V8NIt*g,y|YxMܾl\(%4N4.ֶxyWtZE&.&> 7J~@t“y(]ʗ֧{5*fFRC%oa;|3jqoQQZJֱW;JD `{гvH|z{Q4C)-´2;y!rL MJְΔzDWmtmt 6;$ZTPf)'B1Սlhb˷ésNNI+J(:I}tg~k5(!m}ҧUA⨥ `+ABi[GR'tlUtQ{ P-bT &M'AXl G? ^=T;W {H,ڪ|NZLB+͔n-=w7I}jߐ_k^Ĝ(u@Suv\NÖ23z+xFYlK #MTy'يme!J̝+sr) Y0@;EdD ˼xy;W,ܶ`:Mw .r?|x'Qd#yMxET1XK]_yArL1I kb7!\=%4 L]ϯ㬝ҼE#+5LOi߄EqGGvlȾbXWkέ9QkRٳc 7:2ʙNMw>}N3dֲ(xpݰ Lš;V-g؄t$ ؋y/FƎ?a5; Mrz/pV},d $iZH&,5S˜k1miݽ.a"#šuG;@AJ텿X 'caq.qIy[FJ["@fn*Hǟx,ƒ`sY@ÚUɽBAuC!=|~ ;vI*P9x(zݪ{$J! |F.<+'P KWw2pI@/CTtT`ȟCQ1 72kNoB?%J C&S <+x4Gy /:EGc;Vƕ`NYg ?W)>'5y2?ثXkoAq#iq D DDie؅D-8Ѫ`pkе: Uǯ׾봑6}eR+%s}`jV5K7SYv6b˜Ss#5]:nj;#Jg 1Z;\M~Y/1F6iGZ.\cd=?7r^_ܡ5o-]+> }T9Pp&JV4C$=/ 4EjZaXĠAKcS){*d~*yS;)x=j%==y:>xRvO-߸‘$B{_Is}SD q ֣rҨid,BeI4 \͹G Rw6qkEp!m<8e>($Y$Zcigo}?bvJHGAMێkftzzb KmAkoGʜaJtx)^=Nf&KEC WM-W+hw&K!Tx*irqګ4)yT]Dz(E )08&(,a'Hl{x:jK&~rFgD 8O`|bdb}A&&&ySBlCmSc.~|v2"s#t䕺|gدo#KBsURD>rՓHܫ ayoU}J6$FyKSHr֐S rA2wڅG1H_9V_1 7uɞsRgDz%~C}Ǟ7cs茵I놗wK,&QOlog-UްCkC C8O(8 -HcUkׂ0N+!o+$iiPT̎w4lc|ۮD_h< R qrPF2YB QKQ ^̕Ј=LdN]N^-4%tITp!1hq$7']q`Ւ7FFp:@NRSb)ڟ,N} Լv(ѬH9k6sv! 6q8,I&` 4#sBha$ wknFkBVҝI*RPx?_CI&%:SUDF_.>/V.*KPT烲F\zEJ~N3i7uy 8NIKXk?(;di8(9AM,mO@Z=qޣ-2TOO\- !LD1LΫ|)JCGk RG;9=/QG}+Wm舳ߠ+ZHnlG^H)ʬgB?Tȍehh+yYjۤ$L`Y+Jvbh4d jZusƢ;y3jj x yK^hI]uϣ[) r}%ɘ;y<RMfIܧ" 4]?S<-`~Dsoa%#DTɌj`&~7m~v Q4IbB@~GHwUmQN!l L^&N#jĬB8n!%.vd7 ƅ WFjGYA:ؐ@:Vyb )s]m涄r"gX҂" y'Nx3 t2J ~֏3jJF#.]FC~aG1v,Tӫ@/v{X!= (`)oyszTXylo8f ZHQ&,%b-7ba~{#n΂c3EmvqYed!a>"s=g춴p:*,6Ox7gq-m |W/PtB뫭Q/ߔhMILs)K $o[ٿG1Z&S)A_[TT!ag 'd'8**TcEZM[m|J,uG$>N(4kR qڢ΍u|m gD\z`ě|7ôKn4AHCOe%uajirZUn9g,_\@r_=eC;MFwrRĄiGxE &6f{qLtj}OaqZcn/E$= UG劢 ծU"# c{*Ы2|_܋c632ڤ!HʘNb:6Tm3]*oIL?#ұ1?p]6'z#xY2czۥ\] ȣRhp($lԘo9'N)Ut&sk% ',#֟+(>4kXkPkF5[K'H .KᅲZɃko+'4md(O$*Orr\̈́9:،qf`+#ୄ9iـ衸LI03PyG*xȚU88pÄ!gW0hMb%[7v)x IbX\KLNְ_Tey8,&e ?3H&QEy5QV D=[,KÅ>5Cjq 7 uX OGY#."}C$qn7_-o3a<9=3/o{;SÿٖEڣ%3yqeaC0#|"nkiDtYwsTJ^x  8(q< -(L.0+>4D <T&vh5Xt$O=ʂ>Ȫ7w*z .sCJ<^A#2u_N=f&)aC;F5Ms~D!R]˫I㘸 ׹b׹`Юs)#w )% _gŘfJDmtoa. &z.:\i8y֕RHnPŮk8[н"e㱳=FcKNh(×nnIw2acodP/'xi2sXi[栲"jeyكaiDUiѨ|*}dw-[w6ogȡ`)V3=?Q$O^g=?KfP|1 c&V˷f>W)uY%:K;e=2:2bi_0GT~RŮNN}kݿ:Ky $\'秂zDL<ն]Y~~w`8 Fc+!w\ G,/To++w -=oyKr(뚗 b;'b=gJ9ں˶6x5\boA;w~p^hcKԗ8j(, r7*˛O|̈Fkp 7l!r$1p ^۞Apa:U^vxr.cDgϜu:F(2SڬU"]]=rwMl zѸ2oPtG6C>au& *[o[躞p @~ 2d+#>#,7Gn"yb},KDe~P0GJ-ت4}ݐh+.]]mFgt!|{SwS ̴i$rJ;y='ikQfQ[LBfq-b~ k&m/7OR-~H%B_Y!t!O Ҍ AXIh^O:PQr-0 l˱5 %!ۼQ;F64ѣ*k>.ő3"T_2eW!.z'm"Z ?x& 'qNeᗽRʽTc@ M|x>"Q*x\CF!Vcn%WҔ6N1Ǿj_NP:MHhJXy p97oU6;@(D8r_"Xu 7-[Ot|ENF~ ~0WY^3jø1HPbvE\T?WIjQgOKf8̭SNs~4o銮8CRhXvQ||+Gs2Gt@[ alaq =m$X3"JM*0rE)vP6!Ş(K!E#HVauBҚѡBΊI5U]UVϠU,$'iuHtĵszDdE5X\OKQߘwYӐD鏮V=qK"T_gZIeT>vzر=C `ݜa⠧q'P,Hkd7.;ۇhnߦ De&fQ)4K5V0zZ`ֱ 1%f|^;CHB .1ݼjjnfr)OdtE6%;[}k\G= Ǟk#)Y^K:Α+Ҕ^ F3)[H<͏n}j\tx2u=Us|v+zsm=LT{c^>&|"s-O?X8*O}K˩;I낭¦Sϫ,bo"uZILC9tW""ܷ"so+mTOk4|I5 aT)}~![Fsh $*/m2 zoLĸZ __T=*I BND;\ 7ὤr-V\hVϪRTUR蝕rx]q?bZ0ۡG.JѼxϸt( D%mZń;rE%ѸLmS5Jdw0A@|/'3.}ôc(Y?i'I܋PD+J"#s0<0U4wɇ>oΆ ʬg E1t(Qjȕ_g6X]a :;̖ru*SKZm|ڎdH$*:TQ1V3p51[Ǻ!\,y̥iÜdw9 =^"_P Px\q dzP.Lcsqr2J#FRI(5s#![Rnm1#ZQ㏶P <8ڦ|.KeΜZև~Inײtxf z = 紧hl1WxzOHbʠc1 (kĕ¬JlqQ H&[[&#GWt _ogTSk 桻frP^SY3m+"g8S,Kf[]19"NS^*cҙsc ,K0Yh906 95گ7޿ȕw-͂?~ U8k[m[s^+FpDl_@sV}.ijEE+]58^`z5 %>~y]JZ9:1L4a.h۰A;1ؗv(A=uBA1r-РJ&Ӂ /eߺɜ}?; >Ok wosiLsl)31yo]Z(tHpYF.4)| :˼Xu*֩ جigeO@^&F5}VسicEaJXyUwWEy%4ox@ʛ&z~e9^5I80uXon(<|} 2.8$ڎ8\Ƶ*C7nWC4`xi9kTwrRr!Oj*ʳƄ3Zoz*E M^>A}]pX\^hƉ쇽%[\င{0md2k(4gz2E49(jsb,X4!< *9w̩9;ٜrblT5.LK&k$?T0USJ⣍\]~CqjGy% &`kw?h, 3Ҫ~5̪H36&{l^A[ңL~w^[?~˺_nOʔ+ Rԧfב^5FBF$'ͅc3Z[7%{zg5HڑR zQ +c i@]a.t (ʠΩ({L"]njz!wcr_,t8Z;UX`<Ɇs;5Z A,67Ry5ډL m0Z *M~%S_x8w'^|h2e!z|ϙJG ͬwoK%ɏq!ǏTdznsB~U"ʗ[OTCz㽙z~4ŗElլ,jib=w(zXN)t7;,09bPuV7Ct$i<_dK3%i@!A K~[JxǪ*KU6&xF%Rq0"l=`WQpgm3Vl-W>y58umΚHɭy9b_-ͳ)4"'|4lɳƜkxMe3]EF`|4ZʦjfQO Hn>׾js4_cd rH&=;͔Tbg^*C:zg'/l0:hbHU?Z n4UóBE evQS@Hkv|: ի)r+\se,_D9xKXtZ)Q!]R@SFiXZE=+vY! %BR]7FJ7] ^* ̌$djF64e{q:lߛیWP@dfXP^^Ys*K*~zM;xCR T1q݌)e/%:ՆS]ў,(WyS"i`U"BAh޶K kqiߖd7Mn7Wa Uf/*늤~CyD/-[y]z=ЍI9 pV&H=S9I\{RHWZVm+$l˂IL׉~txUK "".jZvDV 1yR{d; Q&CxFP `5QdoZI U=JvDM8O}Lz<?nRŒ`~}@'/HaܗCT9Ό?S7QE~sFkvĄm̐Dbɡ@q4e¡~IٯJɚ;;!ʭGӧ[4$gDD!]β-΁p"4P I2娴Ag10Bk 6͎bPzJ䊔)5V  4F+R1ʆ%ZP2,TلI[!ɌAYެqp"fԲلWΙ>va]\vҳ4:gl)4*=z=va7 Kea4Ir4({f23@ɾ $%ox}qǫ0M_f5u " vacw$Evqkn.qvYdtk\>{K^% ^{!wͷ629!*>vL4|u͖I9/ 9S_3tf h먃Y̵ hdd%Q&p 2ٞ~Ufw% p@qĜ-#k,Ne \ v [M֣S}t\ aTm3^upS+-Tj~O ]3SxGgWC^YOT=[ ):oZN1%YAKǩWnf͡:#72@MloƨP=5IkNS2 PD$}d݌ 8 rO|F}Z 4~*WiOh& 饿4ǬQ;D[rbV >8n>1ۙkjʚFځoɡ mKRV`svA#,|wSh.k~{NkӬ%)-QyQQ"WZLL$eR5W)*ʲD%Ϗh &KeZ 0;>5Q/1;0G,`dUj{Cj g[h'Q౳F-gL#)@wr?M@¼†;6$ewmՇ\ʄ*lӰLLFtx]:M99M7yGgq:|AQZ}*zˏjvCNT1e(dxHXYv\M z@2aI_ !0`KYWWpL`Yys[4Y)E-f3@mMD*٩c/m߸60ΌM8.@!‚ =UT,ll@`i+EE%??R>5zٌ.#EɮdP1? )}U,\`M M|"{zBԓȨMelJD4\.iq[u]hs bF-r Gm٫61m=š_d##;#2"#j%dcc߮Žn>la*} }:&2܋r!um9TjL^ -Z497B ȼXτp-o?{@e<%8;Iχ`ҽ|KRd|!xwnʙ ]qtG r]jaUԥNP3啢Qb2^Jc g\GzϷ"Ũ(jœ-#K"lP6QhC| *}Ǎ{xnDݷ+>D\ {9(!ƱQBW+N3ʓC~*&ZU5C]I^-m+ϲY XCm=nH<$\jbli`$;r@ө.Gn1d-<)b$FCT^"j>._pgGs-{-_&o y3DB*/DpTn]wSg.D1fH DWrK|<uF{CtJWk^ J9fY8qйydZج: G) )MVk4'ӹK(r]GT={9Ɋ&q@WW`߆ɧ OCA^nNN Rz K=j]E1ny_(TaSHH=~ %bJRոivqJǓX"ƌ剢E"ɳ ՇbT3^$V`XvI֘cXlyX WDM U&1ޑbvuB&M.S24x7* wܨ$@pr[¡XeZs "œ<.})HT}@5 oIc 3Y|n Gwh P\L-ӿt#CM<F Oh@`BN G'V+ɏLyI7I*TlA.:xApTy@K5'(Œ|&8NVcm>zж~P-_lN-8$°V8DNdznpŞ[61P:_~kԫ;\j6 s~|xzV 5b'YP'!h endstream endobj 446 0 obj << /Type /FontDescriptor /FontName /YIJFQK+CMR9 /Flags 4 /FontBBox [-39 -250 1036 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 74 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/V/W/a/b/bracketleft/bracketright/c/colon/comma/d/e/f/ff/fi/five/g/h/hyphen/i/j/k/l/m/n/o/one/p/parenleft/parenright/period/q/quoteleft/quoteright/r/s/t/two/u/v/w/x/y/z) /FontFile 445 0 R >> endobj 447 0 obj << /Length1 1600 /Length2 8471 /Length3 0 /Length 9514 /Filter /FlateDecode >> stream xڍP.Bqw+%@iqw^8H Zܝ)nťwwwmiG{ν3Mf-_kkτZMEjB,)eM%v;;+;;':KN 9XHG)P (8\^A>Avv'; 0A PBtRP;W_G9C@;@BʦpkcFsS0@j]+5n'jj Y20ApksZ~ P1+:@Bj w60qxtqXaMy%_̀`wA8CmL! TeX.pf)ⷡ)od =) +0}a ;Ga,!pI`@ǹ}63_݆[(/ͣ?2+ '.lh(9~{t,z,?N@t:d@D-ޱ?ҏ#,\1>-[)) urX8y\ǃ)Qb Ո̠{mAg ?7`a7^?.JH 7]x#q7_S_ 9Vn#Gr%9Ȃ\j _T]< @5``g<>-7G|\N+1Z@N^) fHGpx\U X!P EO%^lE/ -x$f`7YY?(xlEa>FP[qkB0ɏ`.@siJ__$(Y9zClʐ9J _]pJMn]p<x$ U7!Ym0{\8(9rn+pA,O5O00۟mM~U_u!+&pD )??&DZsddKs8JٽN"槠d},;iI& қhzM5h7GΏuqƢq1^A*qm*w(ۄ$n0zzV1\|I^ܰуIc[r: %jʥPi6rD|4=o ^ht٥+%)!C;8D TK+9_6! ylwK;Lkma+&'+\Aau#2M ~WW_1t##44{uC~FP@YѫL%"@P"rG#-KgQ _hF0Az7x>\ܚ6 OoA; 9<"DRʔ\?gˁuͷ?XX!UK<տpwJu/fDp[:*}xqgQ^M>"kfYcZu$'bhMT3==HE= . F |hGVh!`E&K!^`4b'1T@B*"ymDڬk#l{ɟ!8J+x=@.M%`4"ā8rF$K0Y}C;gSW蛹rD)X˪o,Q'tW'!x5b}K dؔVTBolمcHmtdD^ *2= ~p2UG]d_w.p?/Ho.tSU{GƲL*Ϊbj}yIP!FYC$/Τ/p'NYO"d2m ) mˉףЋdZ T{~=YRf^y7ݙ;A^%!n FgNdV uh<ч:)mq^Dyw+؟CQ%(OhNDv'2[r =ۄW*(ɅRFϨ+?wrCZ/ ?u?'FĦ=,$1f^9p:ӈ7@O8K*^9vr=d8vF)JS=OkT-a(+>PAEdF+Y y$8%1E|omn^>HTdYٱRm/NE-Zf$~Vοv'`vgxAT ςEހ^RTQAO%BSBYFjXS)!fW{3 9PM9nabz w]GMa压,ŞO}{N3{M)AX/?U@pNjD2oKWa_(ύ>W]t>C(#^a8uߝl t@qOPYm묋P8F14 svUѵ;)Ι &muU#w皟2WRۆRjO:k7 -3 ک{W9c+It6žn2Y iH4aYC^Hk}_}sS t i*Zz/3Uy7URH}uU)1~Tfbo~OVOIZdK}[6tyՓKMP &|[<޴/Js r-9/@c2οL;<3-:h)N6zOBΈ<1 1]I6ݛPOj]dzOl*ӱv(n8c#.ds&*sϏ$c]g r˜JDe[A3} *O)&ҮtXE֖-MLc}t' iV=Y+3v캃ޗ;ѾUI | 9(@ XT|^sd$M-iw2P*pvHBlPh!Ĝcœ}rI_ئBSo>wN1* *tV x.YU['!NoYwSufi$Y(Z#,1{a_:۬ NQVa}G4 !bx~1,>;R ΛcpLE7},^a*nju,]CʣI$۽-æan9Knw>|̃AhRHuS@9.Km49s2}h{yQ3թ6Y`ӺRWN}"~CoyR60F -}Y㴷lf yDژJ׸LEx.'d3YBY]f`՟ӤI;7_+W2 :g!(sg] 99%C|KIRչy>_Q*sr\\nR]psP%Fy9,&D/75IцW &s,*SL,*w.Y=KNxm6flݩ@<Ѐ E碭PFG{A BKڵ%荣#yZ=d"s{(RJrAsN hR>YL3 Klšb4ci'nJ1#אC&r5g6 O^[rMZAlم?}L`nR'%hl|YT-ur>a6ŴESjl~7}n_-a WW5̈)!Y Ii_:Y5~zH SW>'Ou1V'j>ϵt vCss}VxX>^< <7ozd_%p׺҉W,>^ѡj{GسZzbP|114.lH7r\fWO5]mLeTYrBHͼ {U;N AS3t;mhO ݩi Vy_gB Grt|Wl=>CޒI|w` xbihǘhGO[r0<+wxA }eN _&{iR79dey`ݫzN5tyF{YQ&&c0j (kNS׸oc=1G7awV/ :T} pcp>l7yuHz^i^ja\`G؏غK0(!c܄Mc1o!;~;sÅ-[~/$MLܕ ͣ+נ֞rWJνh㙓3ܾ8ڷ,&$eᦤao9HE)tk9[oXy[r~T(zyQ,lnqXʟ&nwC4] 6UjS:c=ryk_ķqegi4E Mm$}ZPy@bP3xA6 ,`YCjf A5X& 1;24z=#oy ϐ`rE(9ED |9ܫAuS ”#HA % {k ]dz|s*14N`B4U} ' ׇ横g ڦz[hxӎUs?tfK'`KR"7F :^aƄ0oP2zAe)v` !Ijk4">y7 -.Gp`3p"lJkۗR;I]DGϳ[T w[a2ѸxȷMHΔZ/rI|:I Z_y҈umAycM צD?g-wB<\%Bu"c_nReg:uyaDz)>O!!nB w(>s>m*)vcC*y؋1'^ظ0>c{|>jۡ( ]73u7&[3' _iא s" \S∶ "=^N&1obQ4\Jk#*J6G6tWLr<@pCrUhmXfy5]77K{Y 1P;^D[UМJr ț]謺9r0Ν4*3/иYejvJه02:8{|$͞S>HBENC }lxqH"&2 $C+E=`l EF .ڝNKr1jyqe> 'EqNIIF{p^Ogt#7sod$iDɟӃV 8m]GۇЈ娅b!ך|bQXu{B }y_ P҂ˮѰGhcYkt5.noa=H7KDKhN)#_zʲ#zh?fk0%m=Iv֏9Whq؅{!%ME.~=UfW/ޏZ^|T n\/tB_ތw.yw -*t_U\IPFDBs9uHyDx&ϒYKYZWݺItf8Hˈ[m CGT6ݷtauvzߒWH+LC8Xd$"\3>g 3%Kar|z4WQ7f7Z~R:dl&JQ7ԋe*KZ5?P?S~ؒ,u8m M-óW΋Gɵs fhxPPRx1sِ(P*z|ڔHC7\NI~^ZdxM'klvSM6‚Fܓ ’7)T%*#LSތ4^^LR( lxXMogV]ꛄUFoosnS;?{ؒPts.-cXb.'~%8U[0p8wd^ Ez\V3J+9b`[kp͓W qrX2U 4+^#Ȝ*<1Bt3 +Y"5:ôo͐`wgo WR~DL Q+GN-{I'ـς ,A,G&8kƆJ8կRr]ExyCkP\Htr>)7KCZ&Y+hlG"+kuWD:7, - g"A;SE] ΎMsJ8 Ю_J{O?$!s07~ҷU|ir-h-s}AxƈCIsҀcdLeKk^JTb@3AJv~9Q|])}+{=~Omr1S7wnP< du|ș͜J_>)$4$ 8-xVL&I|:霨Tinjgr/6F=VjgH䆞`x^ g #8ȷ <kEU/:V9s \F-ώ9;7ƩDYa8erżDAؑ7D)ٯr뱡4\* EO,HEf]>=}a6.WnWBg.J/L頃oK.dc.s#FO;raBIkb˫b(=U<NHNE'U FB-,w텑n^m.9]%9„ܯ k4]]>2D#pix7PMg[҈ڶ\+h'$z*oK_ƶu Fvg6;Ԉs~uhaYqz_GC #-+Jқ#ʯCy |W;w>{eZa_4/d2#k^L.hWz|E;uƥ' nCgI2QU'4FTJjVqx n3\Qj=̘kU,`S›Ecc0ZOm endstream endobj 448 0 obj << /Type /FontDescriptor /FontName /VEVFVZ+CMSL10 /Flags 4 /FontBBox [-62 -250 1123 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -9 /StemV 79 /XHeight 431 /CharSet (/a/dollar/e/f/g/hyphen/i/l/o/p/r/s/t/u) /FontFile 447 0 R >> endobj 449 0 obj << /Length1 2398 /Length2 15560 /Length3 0 /Length 16960 /Filter /FlateDecode >> stream xڌsXݍ7kelm:Ҳ]2mZ_ܻsu]z۟ QRe67I۹002DUXl̬j.6?D ?dD@@0M ȸX,,\Vff ;ĀnyFB_&4.mAN&@;<d hڛX\<' ^&&wwwF3 =r9L PڂNfao; l,M@v`%W;S*-Pt[Xhe_@{[9PctpL8ۃn@K1X_ 8dldliWLZTdW|bN p=nlfigjW*Lv iHIh 3337 GĂ/'j1Y"vwSZn +E,,SK1u0do 'K.3xYM8? O`upK?_4KTdgr6j^); NझD VrZvQdrpIL.Pp{&@y?рU@N? \w9/׃ ./؛[3Or߾#F@2B(Xp'g)Z|Ӆ r`(pSO S̽xQ89ǢR$TC1?9*UT!(-`=RS慝c MEj~Aj:Xh~O\$K݅1voxEP'\ke9?2r~'.ekOR8ktm0r{IԯlaY)3]3cFd09 BCE4#&͏o>Ž}ߗ70lE~OtBEWѨ8D?#sV5MQgn/`Kr|z$R-͸\tW| f/:nL6ɦ(\FΟ&?y;Ox9+C"AEô< kUc99;G V.$5z A E$Ta> h^Դ2:\í7$jxjҨ+(`yr$[K/`d*aڧuIJZNT38l&^y32)]5ꬤZ{;A`ky7|qX3Y?SYE$u j2fysem$]I8]@ͬ8j0^+d(M.. J' DRE7A~ .,- OhQ "Nӫ~\4ŵLrviF/aZy A@d2{]NۦDLwX>#2ֵb E}$>jΦh89`L힧kfxcb#*&bZ1eEnXW_<'gOZw5QSÃY|v I+9UNjJ5=;nCu=;ZaϮv$!Wu[ +Ǵk1K+^zQj䘘]UFgZf|cH-0n=] ܏xۦ7g5}/Tpdxï͊~|N-C^("_ W*fm7$yhBx쮊@Y/SP\8t5학8FO=ޙs-@)%ȘG~I̛t)L!?ŷi'CeF-e Fir~e5(;M|AQ%=J(G낝`dk߀~.hsYD`6IZh1^K'7D 4[fjsV`}zz?S{#=}UzΥ5]ѸCn2#7-|5we T'zMB}g+D0.bь&)L=X}衉$OivZV<Ց~36pY 0b"m%5ߕt>J}7Őuh6u'*]!xE`8-RPϑʸ+DuI8t8I t2֛@,:v弈u]t& %t;3KZ&.HЂ\l\lPi#%(Wᦳ"I:&'|m ek~I$&\{gEF I6cNuM軩Nf.tS7~~ ӧd 0~5-q!W"A[%t r*@H)^q gfqtRfF7a',[ZUZe"Et#hF$~ 队d:=5wNjPB(4/#y>eis W)C;Gɲ7prR܃'IqQ 3h\ ?.~qOJOڲqY^DKH0t|57CC@X^1!}WP1~t 8j {]曓l@}"/%q \ QuS]-Jz@) O@F3pZfGy_]W] ӻ=:Ta]j | ȥ]ۓ>[5@<΂Nxpv@{'b9^M-1Rwϲ/x([zXtaK=p۠*Q^K]h餠JYۥBk5 @;+ PQf͓ Y-n1A˥T߽6h9%({ܪR@ b`gDžadRˤJ+Ƞ%!TfeC[=Uy?;훔mJ]c2|d{k |Ѷ?/(jH,-|Ka G3Tgy leֱ(f2yƻ#=qS׿A~=| :-9WHd>΅ s`wB7~:6˦(QAςbbNAe9CVW\AĿ7 ޡʚJ,~O q(*.k!)ѧy^p>FK>Nز-lb1擢-i(>lΜ@^c,a{N%ېin]e`1m!,_='/uA `s)C6+՘SS$(Ʉ q49 T Mq\ē緬l ͒flDpa#2 ǹxyN3y203K$-'?jg.!1;N%(Ab-)k kR+mP-`=[ėglbZI7'vRYM (ʌʞ#0Q@ͮ5#TRY5,$rs<}ĸ=7 `"q)x"-GB"w| `Mu;))O)OV0w;WEztDd#2A{udQX{,n~lTP^=X.'W`˭K̴3Nt\*Org{Oz h`.?S3UZb~yf mo0|AM5` eT+nK|yenXrr^3q mO"ϰͫ]F hj!RU1j@Dm`/Z"MW/A);<`*Ǜ["-v%`8m `GQ},"H`?BaGpN#F?nS2NPlS,"句[FҵW4 $S%(ˋ w R"'?HK~bQ'~ZCFh$P-ӛ0 䓎}[jڪ:fPK<٩)Z:ml)l1i;=ktD\[c69w;D!tt,̫T:0)˼, P{SoPGXpRQ(tٽġUNª # &O-$g":E:s%`G]Cٹoi1'KAQ3*߲g2X #TK$ߔj5e5ȀeF` pY~^j`eh-~,[OB5 hUN-&s׻B]90.qwܟ qPk{uk=Dps:zq\sZo ՅKzaD灩G 2ѻʕ)hhU!ʷgߒ? jn~♴k;G پ\h?U7qɂW"d.ɤZyj<)"ejbTN[զ$o)lL>yljAMtw6J]wbUՂjxzqt*fSX4m!5J'zzu-JC9͌_[k0=bZUeT?E:-yAȢT'/ ˒%c6bvQ<f?%#t1Ӫ?MރP}e.&#Vk63޹aq*=| 笩=$P3p^)63ǗwuZCКȦWTUq(]Rۃ͓<[(G·<ϕ5k!/^{% d [nAdK֐T[O{•`:U,x4|Fh s&voE}i*b%dpp9ytp po!W#u\#4Ol7 {(^zBH?MFx2 ?]v(?Oh5|.͚_[KmЋ ?Lt0 ^anfXDb3>uzĭMh)19 >2Ev4mCwQH$~GLtNDLz5:& m"*tJtiopz%&ȏWҊ h8۔yЉn.֨7vKIX a[P~|ǵҸnrr$Fn G.~Y`!`8ُ-Z;{g*(I_>&4[R_ĭV=4 #x ޸k1d}Z*_&(eoAL*FV tW>!V&xs٦m{93z壏C#v)NF@§)0-̻Ԍ{ %t5qm n+Z};NmӾ䝤sQ1U)Lu' y`lнW34lq&J$Ltd6ʕEȮobVm*(VOIM4XrBmyppZīnV=4Ɣ{Œ=zc ̩ Xb*zC0PsyIbLa߷-pW4^Q 8b sOYRhRE<ӑPZhWyf [BF*pJJgJRhKu{0$fܙ=Pu?`}jmyT#Xf-z\+Prt1AlMBo{2}̓G +uOh×naMځ g= ziF|°.wѓ( dvq1.Tz1IKB!l2s0Q+Ą:{6lE+h 눺*bro,$dCkCt'vʬnoq-3*RJEKX~;bxZ:Tk N. cr$eN%h>]bٔl1QN|ELLMG?9#Ez .#JmBM55LbEsKEĻuÕFɁ6E͞y }۔L ,]tUzRG }UB֙"8fO&h޹ں_UaIvVaH$%9Cۙ.WTgoxfYg]fa-ՏHO9/#Ԋ'^&}5߭yP_?֎qVv5C\Y&Doc `v=UҎh/8"O0ܮBH<{ݏӹ-^u:BH/׋w<ؔŏȵ;8,Q}a)ǵ. (l@/5&wx]_ǻQ& fW"V} @c?=(%%;+d_ vgS[aL@8@9]66eirq:hHrYmmo˺WUF.՗@xeB>]Lx@-v4U'ˁK(R~&D,- Ȥ^NDb߭ϳhyaFU"$voPppy:9dw)wJf ?7i^ĜX;A帊SJ=İ0 [Źʁ_]j_TdN1{z`. /|= d^=Yb` 7HB R3~i\9ä_ՏC fH9. ő0,VJܪݫO_iZ!b>Ge(EWun744<4H΍/}#F\G]RPLr=+*guuLߜvUMY榲vg{J~7 FUۜy*n$:PtbuMAj`}+00A>-bJ'eM7fڋgHRA"`O2:7I`hyRy_G$0e]WdŨEy\`z3넀8i&f-MQJfr=Ou$Is"?8TgS Z~y!lIH`g%TkyȲ2fK3o\붉_hꫵ4r:B?[I[ʫ?~fiVeUηw25cf}H, `ztɈ17-ƥ씸1 N^5?P\_~ *=وdUx.ԓic eD;Q xQy\Dc(]v\x~Ib6!~6D"ÑKī0,!1ȁA) Pgvk6lE #%O vN߯Om.~83FJJdxtЩۧ&|*&W6IӛW]kiri_ (ѩ=KyL >$ua/k%Wd|ޥ$OQcگfJخ6oca-s8B,E)hh.w,z+CRyn7wt|"#Njq -/54-L-GH%̡շ*P&6];5VUL/֒ Ò)e_SIӍ =ԙ4&i, M[Sq Ļ>7g9nS ߅ԩp9Mhdʶ9-MOo‘8}y`_e#WFSeZ37}/3eؓ_yVMr`Y㔦=>Wr}.:vyZV!nHܶ_DeqXKCqy1ajR 8K5)H{A3˻hb˧ʪUyqyWb͟OL]ӹ7vJqK|a~5$RW'o_(HȚ*f̨nSU2D zne1)eoω NqO+C`Lqt|tѪTK<-GrTz4]"q^Ҷ{"]?ΦZ~|=PovZY}6p}昉$CsVB1ȍܧĢ`)-…4&aEmu7c7Us4xtw(.-YږmaE}6/;Ydq2Y8˿`۸1"e!jTjQH&ª߸-fk0XfP/,NT?1^ZM5]ϜnˢfٻٻLtm1fx˔^Rƚ}iSX2wgSO;$=EY #|/">V dKr\kBs[R>;rVbƯ-& aIJb~cwR[*UwwR(Gm!0p+,ӟ"TVqe=\+\ܻc(c{9j`V)#ֆ!MXP:3¨ ^2yغ24Wa>Ce?3M@Lu_=3T|>ccg;x!y(j̟q,PP0|7Vmly)[[Q+O&y)Y0=t% ig>kgbO۸A~=v_ :S43r.a_, p'۶;#=Jz['0)k g=6K~3]o7T(jL5VYb1aSMbPQ^qh9=ݧɨb~A9ś^ io=e֝)i:Ҿ8H;~ FTXam^ZzSb~mJ-,e5USۛw4ze}g ggYCX̰I5*]G9Dh'w:wb32 DONcm,hei7sDLf%1O+Eo#j}ֵdYDh4wsJF ,|׸Q<9ϖe$ZAϻ+=bЀnVY~r5`#@IWA4%r:nFa,CsZ]3z|qxE^`ؗ(}kEf3œ<}y56>csoiJ5>HR2j{$eoBKN+h^ޱj;B[:0^߀]@8^hvf]W&6pA=SD{RH -\qfdu.JyDeKצד~<[%O =JR=Ond*XJ~D r$؄{plx9!#MK6!e.kb!NIljnGfRL e@`Goonn-EfHH.mTLhAl DiT4mOD/"֯Sfdt63nFksmeiNR=O 72:(:$ NX+ھ>8{ICxDzL]zR Jv/vrLjϐvHV70)Yp?x7z ~<6ͰCq⨐g.QxcA#Y78d5mq5r`$'#kVoeYoa $:&_y!:-J[Cf]*=˦<]i섣#B/<x_-[Z^.+)Eۚ{b[IQDabcRͳUVcq\mh.R~:QC0}%uVSʥz--/%w>El*BX̂(L\ n׫ K]-pFi$a9H/WʂO&mW@YScRiA^pc8#[U c]RTmV[la0UKc5㫇OirnFyT4{}߶c7 s}$A傈SFH Ò*%OLQ }4N|^RyC͖3Hhg4 6r2& u5lN36[~bnG 1[DrB~=tá{'0Ǖʹ`*jP>(>3!!xQ5Kѥ;5i,G' 7CAS% !.Pnj8671e3 1zḸjL$B FxEpR_!) CGvaM&*q*$kT31Vc#jzZ'OrYYY*3Gh_aO R8`On OdM'_bk+w7-0RcΪ`o~Q/m*:}ݣjtp>Lik265\oЮV{TWZ%78% X{E=T1Լy3eM+3"̷ u 7I4d{nrboluPF:o$X=>#l#ĕbM&dpj6׫Iz+`{?$q=@qI GE\d07ew5XəkdE(9nQyՃ? \gD>v“1C$/'=MFKzy!u0tǸRKTvWaޣd.K? 6% @2;W٣+:?;<}w&AX.Ii7rp *!CX%^E#܁ ,:ELy 0DL ǚF޹M\;x`"UZ.y`ϧOSn[8&>6Waԙ>J4q{ASҺUr5t'/xJRh1XmîsX(:4{uL`)?a?&8u϶nWƖ8M5B(ˮlXW]} $d ۜ+jH?l h\1JfFu4MK9Ί6:$9[w+ɘqikDUM;ϕ0 bl¬?HUy5vueZ{6|dX9eV% W<hzmwDŽu7$M?*D'n(ZTT;o81Wož_^OPI`{Тg^R e7q!n(O?R,SVY/4%M ߨ}5+KzPC^`"V9- *gxaUGыDjkG h<2mjʽٳ3-6Jg{ϟڢʭ 064xabP[%xo-rW΋aè wyԷ%+T,?>ٚD7Tyy5E! pM{SI*hm:C2_RGP]8 c`:Qt.uL6}5i ztgǨ5ң^$|qMYh(uaS,BF,DjkumH7^dh8E&Loq ?WA w_Tbұ~UObq?XeJ[tòCr|XTS Tacd;ߔFLjLnVtAm8b 2GosT`6 #z⭞qQfv5"tOt tmqd!Udtueœv\aZyTإwhF ācXS _aoVjV/o'fy%UT{i,LoFJzTFW _$Ϋc$E&c endstream endobj 450 0 obj << /Type /FontDescriptor /FontName /JPZKFO+CMSLTT10 /Flags 4 /FontBBox [-20 -233 617 696] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle -9 /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/L/M/N/O/P/R/S/T/U/W/X/a/ampersand/b/backslash/bracketleft/bracketright/c/comma/d/e/exclam/f/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/percent/period/q/quoteright/r/s/semicolon/slash/t/three/two/u/v/w/x/y/zero) /FontFile 449 0 R >> endobj 451 0 obj << /Length1 1428 /Length2 6162 /Length3 0 /Length 7136 /Filter /FlateDecode >> stream xڍxT6Ez^H{o"`!:H" H/һ&U); _sZ߷Vgf癝+!l!8_H(P1@ PABܑP\?J mS@Ĥĥ@0(7.PyB:M$`WBCQ:?!IIq; t@(G "!P)8PR^^^ AE9 !H'2@;0Bأ@!p$:nq4z +_ѿAῃA`0P-F@p_@ @ǃTӇ1ۛ-^=HPбSk`8z 8}0gN|m~>y`c N0~ؤ!z̔GE U5ύ4oT~(/9?o*BoL6g{B*\!hyb fT  vIk|DZNu?Ʒ|DSu?ڸpUb*@|v9OI EGy~ĝn4+E=EtMۼaxǐfb3u[ vHMj5V/ڪOmbn?iwo* Q/񓠹;DWޓM+37z(+%d3#*6-wZ~B4S[]mK3]fF,̖i̓)0fGdBTsmx#aDJV=\a 3P^9:ۻu090r^uar В0r8;_ؼ{jH5m&5r1!u3RB1}EAHj) +Xp nPS&]DzhI6\'a1( m'Ob'FXxd_5Ǔ~k[orJ>k56_[$ktn_niE]w֓Y!?kH*[G<]>X rwil#D[[G#+2 XjF#,[0am͚; 1jD*upkt+k hѣL1EUeV~QyiOķ1WO3~De!r-s!+M7B@eYV'_f1wlQ GR(\o#u Fk,] -bEuӾvox3I:Q7'J)έhwr& ì*m}ՔXC!KE^,_kFŞ e"u{#N";]-1q ]i]ë^ѽ-&s <|0\V/zߪ1;-w'o(/Hc~:< )5=IxYʨtNn֜ +"4Yś]_Ҿ9}[1Zg'b*\]︄aĎ|"ݧ5JU?9~ѓ|IBap XI:sUgۨp+uHVĂR7OݽMV5=\|7)5\-3+1j0-{z3Je<]j~#u\]w{Sk#i}?5.Ni> oV*Pe׵1ejd%~TݻUfvL:89SS)//r^t.-_e}6ѻd\_k*"'=ޔ*q1z`2%}֭dAi68qMk-I_QJˁoQOZ2"pJ<钱3ON&ZgNpG/xmjf_jdÔ b7'G&,:Vp!;Bıy<*" qi~VJl?To:LDDbL8ż;Z4Z82pXz#dMA"0|gP4ɻ "JhȊrGqB[+&(C ݆뛳8!</EY&+d U>$յZv9s]on .SH6e/SMc.uڹ);О%3h9W2$G=[ųlՃw"m̄c+ĚG߬זR?6 R.D^gc.jm?ip~5/s=#ߋ%yX9U![ߩBXLi0Dhk\ eHJS)NpMmVbݪn{[<^o %Zf;{u94\s^ʚsIɏnXLԿ^u.@\`|G+{\Xv'Pm۽SI*}@I&FeH9ufsvf]M}oο&mS6K?>!,ݕfP"Kf4j) n6?gȒn \8|t[BGƩs^rP_߂: ˕ r۟T瑩\Z~̾WNOZn#@xo*VVθ?WYٷDM.:i1<3xvZS\ܖJ.xkaG'@.[Q Aw!J:`hm1EKGM}‘)dz 2L[H@b$Yּczfl! %cj)ۛL^z|"4~86.Ib 5]ag1CS\y VVI3ege:GVߥh)<I3pפqnGS jHF4!wL6^&Ls$Z&&=H%#SlĚG^l+N:|>oA;s;4_?C"rICk#)fgҊr.ZSIB!c\k?6 TnC9"'98#lIۦ-"7PWpP8&ybޢ/;w8)%׃JO52; +X} v6t.*(6 }XLCB mi,a=zôIy$x.~]_QKsH;msqTEvtO-0#p-~2{!\)Ned.*;IDr5!Y1yX߂^܉A^Y.;"u6,~⭛<=\ 3ެ< 2|[Y+7=05Uptq* -iؤ;((Zez:!߈P 󞸡3Zm'{tLU7c$eʚoODP7NŽ%_Nf -c0,ȩT+?'=?AV#wsjoD:iy(6q7Åoyш!y<1֘]Φ!ҍ^ׁ`Rlz+a^6*eaVϓ~JkU]Ye~كՐ3J1n?&/qMk^)QJӺVyBWq=+LJ'lj^?u36/gp=a PIo~MGyrmF;919h|ҥ̏ ۼZ?V[ O ()5 L'e%tջ>LϣU|NZ8??N%-Nbq7(|HcE5&U0Gj$&s !IO^V:lK0-=1uYegy'gfΗ2d^Cb%kN߹@jq?xwlԮrd<)ۓ!~wXZ/A=T1>!Xդ5w@afK"'krUGOɢ̹ _iģ%)ZGWij%j Cni,h}$Ƙ)#݈@旔 d1ݶb%6XwC<ëBƒ G3-VOKr5L"%2x~´t;L8CgE CaWsiS1^^Rt,D Gb Oykj:,4ť\ ~;|浙3R$W/z録 ilܫ:f6$,,y`Q Zq%E/*M75ҪSX ̒A> endobj 453 0 obj << /Length1 2172 /Length2 17388 /Length3 0 /Length 18688 /Filter /FlateDecode >> stream xڌPtN=@4݂vH߫oLkι՘DLAvLl̬|1u6V++3++;5 ?r$jMގbN Lf`ouq>qYYychZv 0[|hMl܌DlAN&@;dhP79{OZ~ gg>777f-\flPAN S_@[п1#Q-,Rٛ9@7 bg re@v2#߇`cfo{og`fi(I3;;3vmo@W ҁIM,`K8%LmmAv`t˿kmgfdfigj S ;KGmDHd g+++;X@//{  8;|_04q-Ddc}?6_?2x0S{;?EFUAALߔwx1qpعXll@W2vfx;qd{mAmA?jo:"I2m-mYU1펳s__!hH_rF,t:d/zmc6\N[k53fx8˻agjwڤ:v%)m=F;t#E~?o13pw 뾊ԬCw7BOΗP>Ʋhg+@@q58֌HE@E5͜z{iQJ}bDL0MH@/pE3.WCRP8:+j|rڔ s@cz݄m  :O\<3VR{vk(LXM4)5_z4 -6R"{cS'-QXY)(0bd?TU9rV|L|>u_$=N*gs2w奄̰ķ죺Ӌ:qcZU`E8#5.(!5 'Jk/Q }îxe5_{^4 P4y|Gw6#q+w!\{I/:?Z-n0-6g+)c6F::khhw~$@@>eEs-?$8}g괃٩͑0&NdHANVW,TR.8Wpqˑ>9jk<9Ы2"EUb#I?;\˖6áђ:jE&lKyp(z-#NrD9Rqd>%6^%8%\qE@Y X?R|b~Uw'w9 Huzsϒu{‰oT¡<9eU$ε,z!< $1pe;Q88ĭGq .GrT#Bsp[q@",Cscc2?9ܴ4vǟff*QA]`a(~ȣ/سwCF(3I姇7?o%&ۜрpܶ䦅"?1Co#X漐.;|{M;O L}gdG$,JjwyY UZ.O+[SX-aF#s櫪!kApĘ3֩\h#zݻub$mxD")H+_pu296AآN}]>A;?u&ר١(Fa/J_ng TxnMxn׬L<ή;ҟ>Q'pb>#MDl`I/IwFzz~w!7'}RYn̠GXE~ a~fO|&|Dl=8^]_Xm* (ZnjYPeQ:K^\>:i$UPq"*WOw < űYD8#Ŋy&U>좌B} (XS~a#ẵ3M͠ Y?ǹ<_lO-_dC ,m~ȏfl(4NeY I˔ $FF:g,y8gfa~FX(_6!bx%&{G՝E)5aWܡ^LC oԲsv@AFlp|<+uS~hM v(Z5nFݽ_3[C\hM;)u-$ InoK[FR}ɇ0xx?i}sb/\V &c{D8r`v iKlVdG#㹏|g^>_2W.NQvry857{o ZGOc{B÷ڨ V U2S Wez[=ɅӥߏO pR>T=˱թ?=_ R `uBͩW1DDx5BZ&PB͒ʰ*8y[8QwR lM97.sWLS> !DA86<-RCkG/l /c1J006z6!˲FIAG6w\<_n"-=3Cj E;b%cv"7uW|BNƫܡE۷Y oV'8w$aT A[+]t%#Ϊݏ} ONVGMWɗKp\Xgk'hyi1uƚG)rM#cPw*aX>h E綇3CY`aE~TPhT,˪ͪMVoܫG;~.7iW՚ȯ7*tb5q^Oѯ^ xfi|g[xdҴԺb::U$+TۥlwDB(OƁf1Z*yL*@+K?dji4ڊ(o^m7C?Lɯ(zȖӑt*CBCPkZCT"$DK?!Ӄ 댍Y'cs$;L -EpZkhռLuFX(F,N =ϫ-%٢ۼڗHq02v=DZQ}XvV]cD*%&w&&Ʉ?SMYF:0#RZ.ըgJ%>Șh0C>̧lH&_D2JmjJ SH>&WO*PcD "+\~]A3~@maa_bX'HgU[N%W D6&7$aVf13ʶG 0 ԳcL1 boW םmJ6OINi%>#_98\ Y,%N~NB|{uHMmžY8 D?^]e<8wIq\*$VPl&_x: XN܎p5(Kg)}zdHH' 儙j4|MF ]P5hخ* D<^jS9':%`g+jFbhY=ZRM&z_$aͭАThs␘kaNQ "N)I"?0ے5cRdp2enp-R\J nlEEipj%Bm{wbO'4;byy9><*k$<{~!nF*"^bzC͍1%C\eca~"R͖RfGw"3|18F#~m)pYK$b:ͦG >ң9И?Cdh !{/Ҋ /`&/50V"!sx9U?6"}0 T,++f!#$0)bj7FAΡ89BmQ l,Y?R@PNsss:<Q49p9ϔ*_5v~6Mo(tZ4y#"eϞ@0c1؂(W]U* DEJ:'tųrV7*(DK sDDt0q$rY $j#wWn_Ο0@ @Ep+zwi7no,u{ɴ!= C7gEdY!HY`P?^L<\>lE?݋ *sĀ ׋w4KCRHWK]S\+gV6JH`ߩ3Z 1%ԓVk(Qy6(\ͬ*Y$N1%wCNKLqhpY | .Lbwe2&5ʍ Du[)^ : ᫵鄿t us U 2}.yNlDM1ںb3zcK+U+41n``MZG>S-888L.~ %Z簟"P|fz@/` }u0;7.)2iĚޙޞ;9~hxp T<0[~NUUYNa&<5ˏҙɄuj5_@FYv¹`lWA++ (mjtK,B7XS;m[>t6-.Az$FM6mi=,ޥ=!{HlՖ,^X@!J{KDxtvx? ņU+R9 FsxxyOH0C{̾s0# }(EI|S6StxYlDѵ<1ˤPmDNz~$scm44.%=?`QYl/2`#XtT@z0؀.ٮǯnOw)@Fq0`beƖ~'?q~SD9NCdq;qh]gz<=ke*MofڊoH@îѰDX&mKY )iPHffDw" == &\s8HXk,'*I֣Y> [44Wzt43+Ƿl4 !r:M-"nTX-}G+:&94'tLz~xJeUI/v+W!Z|p6%'r6U̲ >ؐ8~\_?mIJE*"M, ]mԍDJSA-hEYy$*kEc%]teMh.2$Py\-aX畝Ij.Н{! ͆x.-/z$CCp;-BxUNFE$f. iOiX\ @ᓃ^ȉil.sľm7HwAr30^-MĈ]~q,Z3zQ#,Tw=|B^ rB.RdžEjYk= AY~C1y-{i[`$}Yuy܄-RR/ZP2DHDnʉ.o}z{^"$S FsK M9+)PSPt?𼌇hF|O;hT)Rp1NjKZ4UͦȹpsQ =ocC #'y&` [ sER]nٷIK k;.iyJ88 C7y|Պ4M4X ̗! -yвN3`b_AgDdR EwD庪9EWDڊgpqS;`bٙ n \cbv:p(wSBws%aYX?x?Obor ozpߚN$=QX1)-fsr )h KaKDjDs;j4𝗨Ы Jb~]'H OA݃^ u% NC}ˣ͚c]Wtji6&`}:DGgEs "ǹ O}t3Lֹaԗ|2-+ š^5HaHR\hƘ>1<{-[L&,؁Sp3gRqTs&Ι=ׂ WFce~<S*jNch Қ'Ԥ&=r 5ohYQ2Xnީ7d= 4S?*0L pvnVgV`-P268[lwC/P M7rF[Hw߾7i`[e( uSʔB+izbTw6mwKɊ_=,p#Mم2,RZHrf.ldn.u"E@onnhA:b$jKyNz4<뉱zn;EIt-1[ YO$` ٭=뙧ۄv"_̠ 33o4sjPMN.̞d87D40}?EV+io\x{V)tR{o3NAP]~j+sxwcg Cz}5È ą]rLA/@b97C$˃y.É,a)b7TGX)3YQsI ~h7Dr>=`a,;%ˑ+fjtHEڣԼ2&gN =go7p|ݦfg7Ĭ ^s(1WA  2ڠk,d S'Rc~Ӹ@Y}ET/̺_iLR]92Y涉FVns>CB9 :6.HyzQϟ#zEu$-$7hWHs/^&iq˟&=y U{aZq2ӵjYĬ+ gnVez8e6#c,* 88Hiԯ\& S"#9}Кz]:`mP.f}CɇSil U Lfqm@8ý={Cw@=ə&S5ڳ|GDf٬R{^3y.z\ZȆܚ($sfWF}~7#{.ї_UrSb<5xOףlcU~ =#[$@ؕ[к'Z_S"[;9B/ON aU6,!b+.1L~~؏MD9x {(CS xEk\6sz2)0Z}ކ:Tn wq]^(qЋd;/^g YoZf} Y<%!֞~V6竓Ȥ[ j*kBKr|}Q8+{hH-юR=k7-dYWf"^-Lʗ=j} ӏxj u4/HtAw <*OR2 =?~Y$[3-H}άSYeo8`ЫTRLroO?gEѦ{0x{]Oͪv4cd2tKHk1.Ӗp?"l\[H{֑7];#i?ͅ=ګ)؊&x0 p8"bG=3V,-\Q`pr=TYɵFAuQ9˲ vyJv:8Q%]b7`J(7~2=zy*gݛhڮnna>K_[]rhQe%>\ʅSONW jQs?х2/ u聥ip'v(USh# e9aIWꂀcqstkn ]+Èq_d->*Mד~;-Y>ClSmAKs, +Ʉ ,tDJe`hˏ׆4-9; qp12̇_S^Ƽ9@;d/:Xpo=ؕsU[BK[<ː캈G}G`úE8^qd^'OHpu8qOz1ҤMfKӞ0[R vi3--Ο$t\N<XnEcp$+"my= nH>wiPTЍnE>KO@7t$Nd;/^3}kKWVaٝpd|;|b" +<0IVljuIf{ZC\}Ȧ"VYqr վǗ5 6]ŀ{~r#=TB߈׽)aV'Wf3A/>{쥮t0u.n2m .ɚ9F,a$ f# =`+w>doߒ' Xly{1Ic ztg< ~܈c]c ]~v ^1rGߨ ޒ ?[F~ 4qV8f.Ynb[vHJ@§GS0‘ 6xI-&iT*ydOL#w`3Tv{:A3&RL+@1o$&\83xa%*fp 7|fRO4ِ|xx~sSQmSuxvXn'X'J^M_P=HrQ({U/@TϓL}{{G'@r[nW砧i3%1<}J4ܘJ=#I"W lydH)5=& lM}:"F$2&[ 4P0{!ꐶ1,,ᢢ`+径WGF(e]e.!cԶ߂LAC\t#QE ! GZ_>HjtkSƚXnNq5X.mNM (F1z3Gil, 7R 6T vlJI2f;[4D.(H'*x VVe~ﳙ|2%֟^avы=΄/e'NgTP!gH ;OgvGI{$\=fsA8 D 6dp{a3\U%/@:g <ɬT5F}^'k?e zc⭯jTkR3YFINۺ7)E]/2əMz0ݰP@N,@3c@a66gsoQ㮗*ِA:SJK|2wqiGuI"rm4$Jm> Lȳ6ag%8kޕfb|ŗqu׀s=YwYh65| ϾV)P)u/B& kc Sl ^:Rkd͜86JV5eHbPF`> ZFxN32H yd[0;l U ;L uHh?}d+ݺ#-ʍ"5iY T:tq2+@KD vcuMq'}&7h/K#PNy0xK@'OMZ5*:98 k[24Lqi]cեxg&*/_ʐB5pz S+wҕӝViOs]Wr3Gpj:$y o6y6mǚ>r HTy)GfK.9)v{|O>{ztH9ig=60=6T m> vOtaqq,}6b}e>_n+Ef ZMbYG#P6M%':Q9 D8i 愥zze~,& y~-gXha4*D-lݕ1 m3 qz]9x>+Z3]Y61#C57P9H 8^JΪV5_tK{yVVU1ﳲ|;̡ ]˔Ȃ5>餥~Elߠc, .:WB@"ͽ} |֯עX'*kԷ2Ca>nOٹ$a+-ћeu ³I9(`W] ecI~l-P>̞.*HLo tna1\@ DUѐlYp%ݻ g2,[$f%@tPDєڗzL)JjPE.g+mK]l %} ,wo?VB)*kWagUƿUL20'1:mQpMm7cHPOEa] ѝ mzcQ _!>X 7pu=N?!vEzLx˨fa;/ݡʌi^]s|H_5gE~ٜV!IZsМ%9Oϕk0a_Gm!vµc=u^n2M#\U)(;TlFZtGr1 IzA/wk"3"̍7uFnҰ$CdX-C_Pf(EtMd0 yNPi).D*G& diFth.Sh?8 fu9XPiZ;V ֪_V+S.4LFCLgJ;^0[Ԑ&{9v*  LS C8MU!1$fײ~ND̍L_*49I':cؽ"svLd~,m|xmꕦnRgtM82|i۰d.S0$ > RR"tU_hzNVXyx|iAl=F[(a}R{9p(YD5}bz&k yi0vJxxtыtkZhf<*>l#Mްg53AxL>e& y6\k&8?Bʑ&aYqot1 {,X+ᘌ~xhL)Uaab%^1L=}[YE!X endstream endobj 454 0 obj << /Type /FontDescriptor /FontName /IRMMCX+CMTI10 /Flags 4 /FontBBox [-35 -250 1124 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 68 /XHeight 431 /CharSet (/A/B/D/E/G/I/M/O/P/R/S/T/U/X/a/b/bracketleft/bracketright/c/comma/d/e/f/ff/fi/g/h/hyphen/i/j/k/l/m/n/o/one/p/period/q/r/s/slash/t/three/two/u/v/w/y/z/zero) /FontFile 453 0 R >> endobj 455 0 obj << /Length1 1569 /Length2 8427 /Length3 0 /Length 9453 /Filter /FlateDecode >> stream xڍT6,)i 9Cw  0 0CwH %-%  |}}kz|;&-].TGqyErz`//7//Ir-c2!a? ܠԝLSG*N (( xyEepC<`6un E1!\`v4:X@!?gCPP绌'.EyWVq{EӓFIqݍ ?QWSWu// $ Bwx EDpW{,X^6g@27ൾ5G q9ymp7PG-M :Z0 r2ps%!a^P-AW+r8P-ŹY;޽*ȻQA*6$ A5zo7sq"~UD- x~߇x<?0. .(A]JXݽL%( j7? skY%Cm O}c@鱩"'~qʗ3'9sB *mp4"u4_ˈ%mŲZ E6T;:-6vd:gSl䜮fę+g&@O!,G&V!^fjy"=D}7 X_(D}͠!tQ=ڑLRL1w+P\` 9k fBJ1e'NO:6aQ,'MBG_[s!8zV:rK o OWH ʧ 6HhwRTĂ開wq|. k)hn &P`NbU1pp(eT/ſ%M]4EoN+kT`?-LE7 ɪ*̾L 4tm5WZY[$Q СzwKʂ:*U7?ܬOܑ&ۡ=Qu,Τ7nAfPҼdTȒ' i_lᑙ s9He xI8}`l30mxv;&V&;Xk Qnݡ4ߺ@fVI#m-& >8VAu:`l9!i۾ݒrZ _!GۥewJs׉ b|!dDЕҡ::{iD\2-?sQ,5w6HZׁ= SVfJ ;&KCE0P"ض#U0)bo!&6K![WB izBv򽩒Letn۵0վ¸Uj;"zL 4GCt4\9|3&4؉Ũ0KkjV]Z%UPjTpCCŝHd ~5}"˕xێW)FiI hߌk_&oRzXT+~Qf _S'LpĄ)4 Ӆa8֑x+#M+OdGviKR k#Tgg9i+]=(+{/QtSY̡?l|9PbK{A-huB\{(@s *l ,橘aS0pQQݪlNt@%x9>"bqlq~wM$^ζCwċ/kJWmMPJ~J /ogU-Q3xo#HojO,Qԯb8mxLM <%\Y6z›<%_Ӄ˶'zk0k4_XV:j5<s&ٿ1h9$`׸pxT;HM q{ ..9f5u#RqeBgSmYAyAA-&>Lkg K??<`,ӳ*g⣡Π3AoDݲ4ԇ2Gn-,CG5zevKmWi[Syj/Z+Rmb 㲕NUo%ѭ\ؗ4KݙHLG'Klܧ+c? J,&:QȌN8֡.u"17dGF=+YU_Zis\|ENwqhů^:ɼ>Jx뮹)![4+ KQ/~Sp) 5V\Tˇ|d+-?>mhw{P)Y]lT/B!Uş.}7J8gv & ~>"w~Q[ "}vx4|7yYNu譴m.RvuvlJ~vcPTku%5ehP)'!h78&ϼ5=Dr%,kZ"ocqMQu۾Et{vő$?98ӬLP&ߨ' ў MʱZ(&Gp 36R2+s27y΂?zVn=,3@3WI}o*@d2DsfS"[|=ZXm_c+sEwa[ё{1Y ӰPRiC62> !NɌ:M[Y_h6FscxMl`eG(U^ՓCy1h}A"CGf+qǘ[;i`WO'+ekΉQ'c9rmT8R{'o?xڐMZlY4d`x`v K!$O={cTT7I; ưga r˸?zv4)ɺU v/xLI~*vko)f,BM1^ XBR }=s}ڱY EC]8/7(oӤZ(`M⁲,ڊFºLV׾t^; MEόѪ廴Γx-E內:a_{dJNWN%>ֹq4̢WByÿPά~%a1<v1:=MA4 /7>x#nŹoն(7]k>$A1[vU:.[~#l=if0Pm8̘[o ,}xcoBJ,34ʈ [γ80|9^PMIQuL*"uu,VEbK>pr`KSyppf<˓e 2?pwԀ?S,beFHs5]`^u%k{:FL3yȬKgORK`^2C\osKCYx&M+->V*k'vӇ6g \XE_}>aZz<v0q\塋^}OMDž7oegk)ϮaXEbܫ'If5 E_MK0pz<ш=(.;xpSg F ^rTUMJ+˟4 9WM0U ͷ3LTjMR lj}4*&w$ڞ/EZ#0V>ǩQb3izX>0B1t *МҷqWy+qP_\5}o.IJMϋNg1 V!*R#&[\0' /scnOJ. ʭ~H#9+$1LHTȺOhq@3`-v9h95~bf2c[PGjgʼ(;ƴǬwyT- `pVppV%`C=}(kϰO-:1aLO۶UwD=Q*S8}??l¦:őGʖ$ds֗4 \Gi_~m+dUTyiN,O_r\fZʽpWJ X=1tPO 'U|vuT H1?V,gRͦs &L>-!`4+%25@D3gln8b&g8 6{,H?p*d*\Ć٬nhmcØN‚t5QWmbURU=!rT19\hj/DO6O k ~ 4k7V4cc]/ʽ ?]_vMwIJk@t%,ut4o)EblCjH 8?QhNl#d#d/~ TB.t.8Xw8R|"VHy`t3)m@u7z=ZZ q״^gS|D۷4CSmĕeM~v͆cv`S5ߺK]MjKT˴%Bn Fc9OEPU*6a~sG[ aqJyPHBRox WP~u1yAI|Q7!)2 pf)R[Ihe'i8 ŸxEwA×'nx-s0vt.N*oyTw=!& 1sMk\؅;!v{JrLn -Lդw7e/x{Q0>]ʝ]DVT|X;V.XyS$Ӓx3K, lsN#ASPg]vc4)vRk#̟~])Ӽ6}uʔcb0{l'uCNӕIR]Ux'oȍc0_穃 2 aD=u\DvJQ_Yٗb NGfGg{-Yc/)? `[3jηpTǮ;fj0wV ,8z ^k-{^ZOoC]?nV0NdFyɁ`-[LN Y>ҞsCf.Nt XZ~1'o_ϛcj2 )r1Պeo:=oOEq[Qg\_!Ia 1~,:ۃ$yBp-In=+PSnBju Wm}m ZsW}e6uflIд*?{=j7B0?(GNbr&ٵ!i1rTtoo4>3,VAthU a̫) =u"?o˦{5Q/rÍdO+!* MgVI65rãʍO,}aC@r䷒=]es/} #iqvwV s# O4ro~ccU]a2/"SUƇΓ먔 O.4F3S7*|.ڰ˶Jm t찫}3)ZݘXQS0h\ /Ib£(6/K %M pM|ZMbDj`.3V*}g}ز#ƬAr ۴sZPh1F#&HOEORƙs1{a[Wyz+-hZ kUު+itɹ'9:t.HV?0M2u7\^̝z41tNf,־Xy ݖ49e]gjTYI;S0J 1D}/eN5jL;3FK_x:BM8O6-E&D_[pJ{n<Qkr`t.F1g1{ X _֨a  Z[/jTc_EM`ίS":D(b\Hߗfq Ob\DQ|b6crا%+NKkWΙKķJүc DNDqdQSB޵ ikQ`!\ R^Х% L j,F.= }·qJ)쩓ȅSRskp5T`0 c y9S90n̊{6_v}TwF'sugl3]]'jHsR.`#3Oi{EeX7q2Oƾͅ$j0q8e t<֒22FFKIUfU*='Zv@ ,wm.AN~4T.7׋ԡe2g[daE$ـ/a[PB g->NgvfrJ"畆 Gŀ¾{syyz&bI`vw4eTt4+GZqƝVq^KG.KJm'[ڲf h P;|έe޸|a6FRrD m^VBm෾+/d'_~XمZ)-~>xmh {(%8۠䱝bCv{R b~` ~AYhTQY{xz8_>·1DcHjdDž S[hl|>q9Ax䚎Xz(Ge%Vl逹3(M3xFtw1{KoyQ ]ې,(X+ m45't:h\*҇}S?W@J..ӫ-[KniŐN GcP)u8Y:4:L52u }C5D^oЩl=GP!jquLaCvVNuY=br<*Z%ͨkbb%cP1[xXbg4jߡs~o䐛3>,sQmO$$egn7KUN%.)>tƼ c `\+^{>\~GxڽZJ࡜FmV 6BhO0\^JED)wZ;|ZtR'S}66,wms#$Ht\4CRR{> endobj 457 0 obj << /Length1 2799 /Length2 19824 /Length3 0 /Length 21413 /Filter /FlateDecode >> stream xڌPuNpww,`,.{p Nzg{*`t:GM,fh vtpcfgaH(ij8Y85@#Qk\\p2IP n` 8k"zXX W$j G'okK+70Йy>XJ@7+= hp4y :A+77'VVOOO+0= rx PڃIie' @# !Pq9X?L`ga?rda`amH+y1\@k;)Ёi15?X;Z#_ner0p9" \wok_da`nWNZ 9l"2Kr̬X"vdK `NomAuzn. ?fnSo`1?k/xl!xbVe9%-yRW).e0spr9y<<oo*'`O 7 /#xA }uoDvvc[ycfw7f(9J skws7DBZJ[{U̬j}`fgc?:ʙقWpVRf7Fb77 G>gptA<VDA<V߈*X%#~Կ *Xe~#o ` ]7+F`v̮/F`>̧qX5#0of:]7'hސ.m@W3kk3k3w<(ܬAʹ8wr'70ٺ].@31?^#=?s\78D3G;lKqV? w f?{ll-~{[XX{/U`X&-zA+\Xy;YL,.$xUk##|. >8N(pr#ƂVT?LyY;n(Nv$pbu\UgwG7jmY-ag37X ~9Gp W`G˟a{U;Y^7sw|}y̐ކԅ~#dޝIg]rp@OpKXݑ]&{=nmoKRk{2NTmG>;0Yt,VOH̬)d )O·ZγOƫbe,laWmGb9V+]Puy| 87fs/YW2DF$Xb_My*M.*}|ki_TyE߲ 6z~2NrXxlv.K2cTA(ٻ&N uNh2*-%}F{Cሷ.J޾{[K0z ?& |F ,qV$ÝlʩL8zyit TJ!dc)lNb )nzaei狽c| >čvɓ%rܦXd6f?q2xs+Qʯn>W ߿64Ǥd{8j>>|ҜC|%˭Ǻ#_7PtPޟK$5^l0:A+u0{.֢9B٠:WixFGR=C0ra 쾩Jpe=曕]p}ݍ*j ^ڠ/istY%ɧNai9ܰb^Q\M^UGU(qk 1#a_r}޳ӽZt$Z= .d+?JTf)17unpћ㫁HraLCUFTi  U @I@ʇH ་rr?鳁 <7Enwsi=yBUY㿾g$j*:>}M~3IO91 1A:%}6=Mj2xy@u NH]$Sʧ˞gPxl(vK}|.֒Nw>+@ivCf͌_AR^zmCGflqlw-a$x>ݍpgGu{ č@X/_=N=(y, cNB4ХTg< +Т+lϢ bfKm*3 (Fippa>7Ս \9~/l {G{h ([R4^jR]}1匩'vW׾͙dj.hagrI&E01=&VFp=(r M/n{LnvoeNhtB0z{7yZUe'*H&4'ľt ,' ^o<渼I#vڞ2rJͷiMGMלReoX*I|[}2̓_]u[>ΙBC; `Hj> vmDb?wDT8K=#rU!1`4`a]fcA`,=.wz*A>}I ׆b-t4@bM+l SDM*gGz졉tȶ< yW@`o =_X cڄQ2jl=r@Z 0,nrVΉ/ lyΧm_kCq9Ȇ7yUܚ 8bϹ]ؠ: |yN,5wIvҐg2b(ks,7}%JE|EqcqE5N똽olGV9CBO24$_]j}]_*rd>o'r/ o88g . 8DNmOX%ҥ{>$e!c*C#S"^B/<ݡ_%W|4! CM$Ij ։&Jf(pe WUtew8Fet.^hot鞗 Բ Ԟ(jm4Gd*3bf@1oBW.H¾0N 0^ׇCK;7KZG5"XN=˰#NV1߻&>]iAN'S |J{ U~!_zL79{0Ny邼:$&O.io=Zg:hj#Jo*U(,5),c(`D@i/4տI #q(A\Xьᰊ1,BnR"0u }:7xpt7mvyyq}A6w<&5[..IFv4FFX:kqC(mT5nhU|Iy:HifJtc*;91緺"3vm, GFv;&fk.%i&umehF''340aE ym!D%ǽ(A41ګl`eƥkM+ ~X!]H W }QOtlig !:ᔴgM[,K$s:lb)4"'Ί+aUF>^L˾F ]y?75^W&iJ9?zß.e*yWXEn k7Ǜe Ղ(cW~cz.tqASm.!/Aic񬙭)B@w$/=w%>D;r䡨!-TLŤe'yE'A4Rp|OJZ'\iߗ7KL6Z@ c?u {iILJnػ yW9$b4mǜo 4.h8%ȃk R?'-j<:BCC-w Oiѧ=UD 5W- u։&^ԬVQ{2P( {.n+˽M_Cg~uCtRŁgi39\[츀}٪{ @T 5dO ,y+]eS F%肓tg?tst!0FDdƈiv<.*+a pV!^?f8D.-%NՂ*) #ފZ hB&%nDMD|TȴexǦ:0sTuQa_FROfP'|g(IC~mWz>u}`2T >jTtI  i W3_>[9 e5g[>r[b̞A/QvwcXXYʠ6Zk@o{rl(wRh|b |bN^!hփjWWHr0"om*.2F3gsŰI\ yhd%]`zy]~S _ʻ4 UZ5x*luo=}MkIh%M[l; b)vQȏ: _$@ ;Yz&f{?=a$ IA!3ur%Hoq I*9xŦ.55T:(U](Bvi,T.;+W_51zOB#7x8kNu,N(,gDS?Ҁ㇏]br3uTxY1hL&.::H q.,c eR^ǔLeJFD>®J|R@&鈳fYEr&mw@Rhg zd(p*a) n62"}id.m e?,4Q%ׄ9,.3?q:h'CTo򫶾=asv:@Rvqܑ}P9E,]pś MoD*ik^8(= [㸈JWf(\2\&4$>A x<= 3Sr+&+ab1 '˝BSfcdC췌h2chDŽd,Yq0STs0Un71Tws\A\[2cSGx{xS.F^U!ߛf&eV'RCkQD:V>%@ykP&Q*7j'z&e&5VsoP\Nu2u**V gv&()}MB[<-I.9?v%s&<}(G߃xXp[~bhi9k`h|bF%V])QJ#)j"eV JI=헉PY9릵0SIoY^O hjw!Ɨժؚ\Zmy3 Β` $反 oU0F<(Ջ u΅?b?<(G5+9*y_̵m0R`2xaplG`jU8ET :~cEi[SH:TB P'gafNpm :=jf}ၬ(#@cy`<^[BWܮF[f`%,9CabQ??$ :ca/0Ŕ|V##TAEeªH9V0j-'a1U >r.9,̌xk!:Ѵ`@&у̴aCgoի'YR`76io ̊SkuQ4N|?%ҫqm=rar|߰VSCQM l [8D!̰^4r,K\smChRAH[ӉG$h8Q sGp쐰f6,k/ߌ=M 57&&Cy\㺂ѿ#h/pRYyڋE9LF]g1jIqh=Nު \؄JIlhxDnhgPcqY-{#$!LQ5lOvK\8A2e^:kYYlՔlN`Z+ET.7qԥgx#٘ef1__189tZjAYD\NG A Z +Vg@xKCFG<_%~Xm@z[q5!0~b:SiaMMD\45$iޘ`AӚ7-"ŒPݧex27"?%cs̔܂~$}Zr&{XNƇBK*"/"ƭ6ZtTO:MiN.'ט"04r(p!9V!wiHFKoP?=Yzdܠ bwB@?c'~Z1_5Dz O$!'kaUp"m*\`G!jYFށ-3y1r;b>{36r먀@dWQ>-P̦xIIR.tڟ2d$$<75z&KDkW60Ϩego9m4 >#~x 3@-!; QN|+zmsKXi,cv dOQUiD?,`-.T~W)J]JwօP }F^'qY7dB"¹^=o[`T@+i'[%R<+J-~)T0IVPD"mVCHJwK UL 1Sga:z5?`TK+AM%o՝Ƅ9"<19b\jۈk #]( 4c$P/8R1$Aq-ŒUBlBU >sRuCof/K`N-TR.Tᜯ}Bc.*S[&UV.nj:{UuҊVvM u|$49. }Wкl"F7ߣ~?VW<b/,v-m1꺮Rj ZR\U4j7_{ YΔ;It#ˑeMK1eT8t?gB"&ɤh?|. i a>6:)x[/sY[Bv 3@fR߱v ȸ<wWvqt`to'J Rc"r)?l W%jI3[cE$qbj=,٦'LKmTÛ?c\7|aBv4w|NXHuJR  " ;>WnmXEmkG9F9LsKe5!od.8K!X./_69Z/ e5HKC(7ًӅ5v=l~iypށO1\SnQ""x?wi}d6r%/|C~`<`J1Rcs.ڨ8?HGgG(9הb ,jJ=z:;X2reo9&;B; [e ׬ vZ̒K&Z}J MÙNJ~dc~(Vqw:*ϻ. l39Gy[^>5ra=(t gw[=}X})rz NE"1`ļ&kZk!2EӕTVf]2P73Hҙ6Wࢲ GCJՆKFLyt9>ZzZ13Sal= bqsQ6b{~F+6(=ҧ7#p!,ph'W2[[L,ܘFBRւ}4"wHVX;p OI%w'x;PTzt,,HIhNzS\qdby`lܻ1`#{ZϐDHRZeN7qK8ͱs"-+p7B$BEDMՙTj9&YǸ%lbh=lda/2xg"wb$rO5tاyvJo|Ib8ЕX`kT %ת{)T9cuC@2EYQ"H"p(џo/*Pz? Wиs.G {FipI8ѯ \!u`sYׯ~q+KC5bH#u3є[9 gljć6!()X ae);X6Ӭ%FWn A$[6_\[B~@I8/`wH2EL.-|2a.sJPf"[48w'p'd]h{ o|l,mRnf͓ ]jlV}Ɯ`fTMQDrHlW82=k2k r/)c,{#.4[AHwh?W.t$_)S>Ȧwx20mMs_,jqimlC w "}EZ߷J,1wϴ$v+xyB@pwJRkB 1a`O})X%; mh,,LԐQ)$gs5Vg>جi5Aq6w Gv^%]aF^C27nGkmB_yoJLGAb=vT׸QӁ_[Wk2!aAT+YiN ^Euׇ)kT!J'œ"Nv<*^\zB;^BP+|g:K#:7滹~եKI*'\1n"R7T%TK75r|\ͪF:UV;'xx=/2K'wڢ[SH׋b[{ VWl:"`4ys4?Ѧ-M^|]:לlaliT.2 4wEZX5btj]hk.yuOkDz74&/9q+%f,Psw(酦U7O{.EC*2=/YU>w #/jH7R_%Vd*"nV,PܩVmvѽL |ׂ)>g +@fX֙GYɿ\62I(L#(xCA؈k%[)a[` E'h@@kci^nt;׸ Giٷ~-Vr0A)8h,K }LA%4WgS%{v5-IM!g5m _n֫H ol\ދ5Eо'92mopJLthzsk{VWpӴ|s[^ʛi%*%Js|?~R~#qki3JsZ}2w*OK3^S]k8&d Y]<@'{1:lͻIzl191BEkčKmb Pu5XB j.1&ZS0+B+BΞF96*]0'TC#4lԏX?p/KJl  Rm$[uZgSuЎ]`Sa7^BW »lk]iOgJ)y}߭lU1 Cd1Ӡ#Uid}m[Dg.xXʟAa'6~Am{D ugd]ƍjY,ژyB "U"+U,,HH8ig0oJ*e]"sTVާ PJ(t" >7m3w[y{ 7|f;=3FagITI;B:7_c+0^S3UUW5p(_1Bk){#!$ cz]Tf oۮq٘2u%qK^uLlXm0;24 7˛4B1݆#V 7Н+ssxg^: Ę,Hy;/,"|ڮߓL+rv?u]`Akٓu ~& VRȲAk]îQr,|]OIEȰk.cN]t|]ľT0v"!g!rZ3N3" 8̌\*15#dDUl6Y uSWp&>RH8aDyyW 1Mł%X }Y14-42zPa˶o2p HV.ݜߞE|kFF|CM{R=ߝMFboU S$H$ 4ib9X.\o'6:3eq hʡRWazn1騌Af:$t{9@zP!rpJ4GI-G\M/Ea^fo|F.C|'s>osZ-v?ك+1gN#Vۈ\',<4Ӛc| #(owWOIYrSh)[DLRp&3H0J/nz= `]ںV.JĿW8Vl-wXh2z̅ of_րEn0R_xI;1 !KങDm> vRhI.t)< &G@ uA{Ifb?[uTPІgdI7D24x-P[툁њˑ_?֎?8!Q0JZI>*DҖ0W0$H/?IɳMB"+jr]1ZWcN,cs`d lVbZ_GFᄑT˜eWdw}zS%Ixkw O!Zi )6(?C ]VmΘUJõPdVPf+ԛ=gy?D+yC6B$?Nj/hTtE\S7Kxu܋Ϫ}H]ޤ\!]>Xp[Ve?3qOɋAj#T+ Hjyl] Ğp?G8o.m?`@}SS]U2.4fTcbRcFo\zεAtEuV!J7^뺐Gg:{V'2p7̚ Q ѽ6v4b[bpob ץoQku4KH<-E4ěUJ,ٰ  t׏go|'zrVioT<5Fc]AKurYϓ*q:Z)8wakmt*46?W$eb~_RVl>͓\W'G䙋4Oێ:JAO! 2"kKwco֮ Jswv% nAB9j7|g QRr BWrA#d(kDJ;"i A|Օ! iq9' Y,۝#7d$+HEp䫕Jpz7g_*"uѸIԦFGxu^sRIҶY4Xu/X V/s*t7闫Ei\0"ԙqRV c5 ʯ*Xo z!)_܅h'j5*N?Dqnѳ!rh[(t{z0~'1Ubo FAh!Ct,G0|l@ٕu$wzVxׇGB+/8KH0bvIK59Ɉ2JEUf];{|}R&9P")z[;mG=jx,vg;(fį=hELlQwN644t^VӒNc-.+J{i҄@G5м'Hōym= .$L?&brm)`Gq.a!T*8!Tv剝>r㟹?d:Սˆ $鸈݅KeO=;|$֥Sl%Hph4;Ԑ?Om']m9z G|XBHBOZ,0|t=|}A&:S۵(VhWB}lŽW -'2 Kx0ɜ~p+ / ǪYJ.R?,f`>nSZ: P`QQxv [C7I⑍x[ @>~\Q1E5ݦ ?u#I{@Zc C)sǣ껜 Ɇ3,h"!k[1Y{,IEGF%~qX-l:* k46Eח^ӡ ŸRM)7)ST _g߬;S__6y?j8JцBwq}9mʇ<Rж ݶ0S'"U|/rPUs\.iv5&d 3࿑b4k!NNcÜrMgX2d/iv?dL^&h3\3Qz՚n-vZ,4NJ^2y'Ӧj[P5Š*=Nt|H/isYki+.}Lt2A(৿]vW%ɖ1,?CϞۙ_76*~̭qv xmam->zGGTe```TݖLejPxv5OE/A ڍ `צ];<&aDXc 嫉x{ܝJhJ v=C'Ern tmdHfiN=quՋR8 QAv.Z <$|bdD#H 90g"ay2wEcMDyW7l62$=AN ZrjG0g\) 'x_|.jF$ [/9IIwx"(܈Y[ɘ|ꢌՍS8yyhQc}1$ODj"VNB6*iʳ]D邎nf/{d,/,snɺϮ?)Qk,/W(VBtD` dLerąuAK ] t[~"1+~Kvt;뾮?٫Hv"Eǡ8D~^p/"S?1T,)+}rҔ*.B 5Q@|>%o:̘}H7q|DC= y]Tn6x)X]u?5D69+2`>))Z^g ,xhise,WBnnB^ICN %#pӳCpZvH2".mG7'_BoQw/!uJ>eEvb_ڶ\etZ+v}bCԮG,̒^{%\]Wyq[f?P~ߧ0f -T7M[O)> U4x|:TAq+inڥY)ԑA~PoKkT`"+vձ+^&(f\PV/߮x=(ڜf" p5{V²kwgؼ&an9o&/O Qȋ=0jt ՞\>F=;qi<! aꨒ8:-a0ɡUCD'#OԻӶ‡Ke{{4a3=qbhp(NZ?"p b 4eλa񉪘#vRB2Wg0\U4^h8:IFLj ]sg) h2[ɾ#p~K$zڐt?NL"hm 5U1؄+6qlmjsGtz Ȉq\0PW 7o309bSU£8Μ+φ7 9^NąB2{dG8d@#qsUYKدrE ymÑ9u6T VYKu+p]ݯpM|ϔ G_̩Y{>لXihR1#ó|t_&Ǽ͚4sEn3L"s!qb%b2suq?udx glȿ[ .cīSMt~zz\ua]Z0Q5E }4\O]= +G9%/W4=TȸBJS{34'aYcZb<@kSI^țT),81I0Lm?:jr:?$=`W+[]}׹p2nb:뤸C`ҌxL~Z$er:U\4Ov`(/ 7kqЧӸE\W7*\mkn &bo6S!h &_3[,M=9Z`SH9=iEUi!l=9&x/(J<@>ݼhzI3ڊ E.P#<v h +̓s+O̠I5~ +_$~55qѳYYtH3b'Kx*6Xj/A :Z&y>U[ܺ=])uwX]eIu _s07B MD 4@D<`Fƕ̥zƺ߾-*U9W;c^Ѿ_ic hPXc[+8yTϣmM+j@Q(kTMs|m9G2%I}dw/FQֶ!sv|n_5L꾛vrTAFdDJVHr6)@FOg/? ߷Qwf q~7wm3衤r9Ռ4x )4SQEc`a#@Idؒ:iHM[{fn[]:m5g밠`J* QܗҝmH)C I{ʱb5 6/1{Ak+8lLEk~]u}O"WhCzюCl,Ra9j11n~y*rMWy!0vvNM*f\\.VTvhN=b֟``ŵ.3HME+#T11׺Lܸ"HͶJW+ SZ2xH ޟ4(\m} 2Gg܊\1FP$Y EBqqcȒiCss9=?~FWȘnD_V"l!,mȮt4jK\"Xc𪚟}"kGjwL"9&rEd%yZmG ^a&*zLL@п[)MP}4qSRzM$vrsef_ brhEaF@G) ) Ǐņ4GhjӼ'<n 5rۉyvW(m{- b oG4?뻦 Lfdۮ:Ĩl,Lm>&`VdSSTч0,rRDO&|Xo4UcF# iy/Q,f#Yٸ`nF#P?-3ņGCgtH2jO|Rk/J]V9J_G.WWû&q*fĀ2mu9ɒX[dL:OV#_9yt RsHwG (r1ibᩨke qdv?Vib2(wA R:ѫ " TU '7HUK>jx֜(搸O`nZC zq1 7&e^ s8.7[ԲS6or@AuHCR3%N̆uk#_˱F8}ݦ43) %3Δ^H_WhRуz837j v]dɥ͍w/+RڇNFǺÞ+ Cն\~WAW|B@ DՑqCit8_`~{wϱjmw2ާK>:q( "5JojcK*(MFOsN t817})>5#67+lV)onK<$£<ݼ='!0cŅ>K <t$G"ωz⣷)ᳶ,FwL^IeU Z%C9 KO/;ԍJx\գ⃘6U>uv̓:%+1!If=;$> endobj 459 0 obj << /Length1 2958 /Length2 18999 /Length3 0 /Length 20652 /Filter /FlateDecode >> stream xڌTI `5xp r ]k] .ܓykݻX+wWWCJYI(eoWxʎDMbF:90w9 c@`ggeމ a2(0dHN Kp 50 j t],65{S?.h-]\YXݙm, K*4Nhl ;3f$j;K߼&l@@;gW;3&#Prm,#ؘuߎ@vm665u0YA6@< #췡=x1lrc ?9:\A6Sd\eI;3q{[[3o} '),?dgf; 3Wu;+PF0Y]\l#aj;O_ |$ s  s `2u-@vH/4o >|'@{l?n/3{;ΗESBI^^]x3q98\n>^RU6#ş= _n4?CoE{p'/j s_W_˴,ۂl<17 x(aM5 jWe\!jgaoAR 2v!ۀΠ7 |8% xQԱsq=Xf㯾0ٻ흐~(7E77  H >俈",/qXd^'EȽ ֢Z_XҿE ֢Z޽ ֢Z4_X k-_8)d r2ugcgdcO/"𿝸G7yA&Ʀ6ΖM;A37q26]M[]c/6`/K4wqflm_JY|!, @n}?J 9] 6x\,n'RNpY-=,vX97@pԗ}'Gl`P\`_v,v&p?$T,/>NeOGp8NGq S-Ǘ#W_忾9.@3qCG?7 ~vǡ h ogsq\`'IkƓ Eb)vqc؇K=M? XvGE3ؓo:O? "}7 i%vgLcDWt#4ԃ%I{f>5AaN$׉#~RDwov}}4[ ;es]yє=˖GVs!,fVX2Kg5G@D@u>{}33\68[g=~ks!)5~,wiulV:fEs13WL ~&S<;g3gMj{sDZIZSSuD V\XΛa%n3, ǓàW luB1Z-4+9tuiXH_e~A1`wͲzwy!E)T!ßN@o[=@hOE,i(I_Z)wތM`of2Uj/qJI[!^ 4' p@&앝]WEֆQ3 TfLR,/P\c el*L)mǶ]$*t2|Rs$t71:k+[C0 E;g=X|>Dp;rM;On@X|aD 7"y(PԨ{"PGQRBH?{»ԧ/pK8ЯsZDl6]*Uj1F֓*Cu@ϋCZ4hI'bD\$_תHlyٍx扅2\9?<3:,Py!;+|ljuAT,h#]0?cGvHyw23k'֢҉ /(wu2jCWb_O ubN4K1$c?UEa_lw@d 圴!T v}/Bhj8f Q쓅YD}FFnwY&S\* ճO #cnG-Y72j5R#- xH!%PbO&*d-sfDXW?W#˓.R΢" VszH o;:U&zPkeb->IQiu9؀SW!Y9p2=4꤀7n &-Mt <Hꧭp6щDYRL'~.RwrWkiҡF" !~U'q{Z Jr 87CZv0\y†NUnPB81mW<;Ry_5Ԋk}d_{lKٷ~}0' ʼn*'5'2's`iY_u02i^I7nFA–| .=)*yPtgW/GD\;snp6$ҍ!4_Be;@V4sPFsPqUv{%+m>#Lvi<֩ Ԋ_%) wl> n!XV3O"XT0:}ю_MphfT!& +z%oP5`)tsxGWJu#;Di9d8b]l@V?{Mԑ\_!Jʹ@SnPpu$G"&]Ano<=R#g YoS+ZX_EU pߧTKS%"Iss<+)$} eGg[`?:W0/s݉MIk W03FetvdMZd3hO6T4X n¾X&2jiCG~kMIKxUY {ld=r-d+ 3IԲޖ(|_ʦ1nZzWSo>AO-%gJZ5Uz0b״w R^ܧ"]CEH%A:d0n! hWy:Lї2Br1,FݨS/cb+znBĄTTIJM=䵪0wڟð_'e͖qe0ŴC6۠sWWi}z]Yzo@ &TS߀ߚO` 1] b*}՞]5hT8z|l)Y./ۍ ץ9 ~eq AEQB\wyK-ےYo#톖<4\<ȳn 0g6mNt| #6 %AwCC)J=fwm,$|rXPT)Md]8 ]ujLICL5}ŁaM`_Pq W/p>jR!7H; 8*k~mP.7kme7MsʹDUߒh]i/*yˉ/X<F%O];,)ظum7uw GeLb,>9o)T3D'K(w~3_gLŪ܆umP'fI6 7yIud"*S6[GS>J &LR{S$UY[J=U=B0,;i]hrו5FCR*2HqaZ iS-hlZ]z~VB#/qxq2E Y;'}t/@ɉn@=KKW E>}|>a1f,`9#re |2julGP=Ԏ/-6mGgKr+}Qn>7z B3\vXꠠig| ,{XC MM& @|[VKҥ\ ~^Ƈ(@紪ka2BQDb(=n@nj aQU[05!ψ Fzr`u .&oSr|p%'%]Aبq,lP8K~_{|pCdL%Z7r7`pfB tUgOD!<'6)ɿ8}_ƪիi:!) ӧ6)qxZ!F p^1eo@ɠ8,u,*)QdO70[tp\ҧa'N`> 1ڕ5J(5yO1<8 q՟y5(Mׂ$4oLԤ%c~J 2LdO>*y5ᦝ4oV'J},]?2dZ&4t*j(0+AeG@=PL8k^PĤ TmRaZ؇Uk^2[b1}iF D6q+NOo1,pg~c(u@}J~^e訆muS%dv2wEc|b_lIm+Q1KJkۀDh b.U%)JFJE릳W- (Uzr,c UitnYݶ⚮4RU0'4*&>k]} 46ع>·_S*Bɻ0f`vN3͗!Z=26ȻxS":UAQ& tݶ@ KRm:R9#?0;ʉJ!r'Ǣ,95S($}=oW T$=E 1EҶ,(j_T;[`ݬud*/…sɵB)Wl@uNmz!G慝h"'આaA hy`bs}w).\{vӓjGJW[Z> IUd)er4cfk ZaxT4ʾl/>*kȖ1=?{!^c‘»%ayMQD UdodXfM㮰\yrvbNL]m=O@P>ZE Ըv|$+_qkemvW}юos>Ci]Y@aJf2I#eK;=0$Vk!%4cjRJe3uRRJ>ZoA:&u(Bz[ o|oxLEŊܓ}3[ H3+_:yOZ(< w7GHjxs} /f龑<ՎQM$9H錷:-vCzCxaUnkfM^ћ fD||n=̗7(P]yt!1:^^G{1.T0{ɔ>#͹[tqS$yJ%MN3\6 ~4#~Hw E:YAW1-!VzE2eDfXXbUZ!{SMf2d|wSnhRi!oT2Mʵ3F+]%3(BT];5UYkݮ<7̢KW <14mNғ|$SkmE!HozjJи:$VF7ciCZ_,ZJ]VOS ڱ(5?e3+1E2 |6mLaXB<$i~'!tw^E\շǓTS?nA3:Q[DnEs!</j Hׇ|B8^PKDR~6 ྺab13ғRGdخ%9x*UJb.*UeYqT*)6f],4n^6|{oe[+GR䗛뾇TxmBۼeKG4Üĺ]šP&2|=D.cN߬_vyZLv:o GPvqҙX?Dԇ&aв}X %;em(:YJ.ieO>.}oI ȍXM@7+Ψ3p|`:^;Ew/-]O#|/rv 'AgDÓϼ5eӟ4h%5Ho$u?̅I5J ̪ G "͔[ťxW4Ѥq}0V"TT{AZ ԉ9֪RkҭE͎:)¡lcoK-WBΧ_Z}r]@n%tR(TzK*\vy!#cuFx(M kQtЂXU\~:8_ŝ4UƗe+ Oɓ8_^-rcO(/]Eֿc:iSS-rjp=-feh ';=Gi/@Rn"hO ? ,F5 LoΎ˟\K]1o%XA9S<GT0\v'ӿ1Tּmt̐,vt*Q5Uz{cS.WzWdk79]5Oh#gdz)e5Lְb wլEZxƒFak"c' \3;mArs8yEC0Eq&F\nm˴ \C5?=«Oc}Z srZ_/pD# WZ 4CoTj@5+,O 53;\}И5{=ڋcha{zhS$0_C1keƬM:!WEqj9{\S IݨW1_0:ScF9>WoGmsku(/{󗖔؇vz+Q#Udֽʔa5zoMD*MT$A=ō&MAõ2{xyٸ`fb }V-'@ų7JIy֧ $ ?4 2ZzZ͖Ѝ{Ud9[2KT:A:?unɠeE`%*JT۪mEσ]{B9&*Nx]},SzR1jW($g Wz0W\$)(]=i^ZB|R ˮvxh"OdXQWͼ^@2t%* r 8G Y&Tf`(t/)X/WtdSjUPﮊPZr[OG12H5%?PBb<=/v^Kd:Ÿrgmfhrnih`_'am=1Ê[f}.ʈAxKˆנ#د#ZvpCz(J9X2s(7cVH}AAJ+q&aX=& Tt8%K*5h:uQ6"̇T L0*?`1&U*dMSS|{WBA#!Ϧ4R 4tg~CNe|?B :qݰV$=pbw 'Cm/ERD%ah=D5}؅;Ԯ,nzđZ?q#Ed\Y -R@+qKcŨz. D../ y7yŦLE!.86EUuQ7]O@?6 Q++wAG P PSXFzJlXu$C3bRwB0%c>.=o,4Y\K| STeʚSn󷦦|D1͛]k(Q:ULu=1PBxUTGzNSOMiTEthmdtȲlmTw>\=ڶzM.%SJŮ)xs'ɟ,<hr'1F-RYݩ𠣶VHb%/ɗ4GbRj5+ .lͧ5Oч0^Qy .7,cIy16'A/-PdmΕzBN(CW0꽆|]"ñT4,ԟe6ړQ&&JWcAE\^&rpxe!oMk iqb&PxؚnA{^> iU̗ux&d_.Ɂ0Sl嬸FMz8 k ѱ~m{ע#~Lo.nY?D"s/q$}0}{6fpֈLq5zxwmP5b\}ҹ idbw: ^K7zzH`l&@nm@C8 I}wt]H,VWbB(R\[W<Ȝ`Ĩ0^A$IJĆm~K43Wd[DPdsV`1D{Ӑ}utGyo)i*w q"K!x~z|kJ7"Rb<**^LJSpR:ՎqՃCHkcwX/R5T!=D:…$úb/8ղXrݤ፩7 99~V1} R} kBDyء!kZrC@1{C_кǸVL G7{زOZ1@E󵫈{]$g4bwX,liLcJc%߽K)EAa"l2VEvu󠜋I )9)b[KF'WL~klg>IU AD-~tفH{9bצf%l}h529I_o%h0g5_ogEkH@+&GbS&U^48T˱TAdNJA XzF Iƥ):6 ~mXM尽 ܡ,T MHwAK}U@O^rPHuKt;vJa`F۩=L c`]3YôDvB"bzJK@l\ҝ8݈bdGIPcZ#\H:M gg#jW,[~3m-00H}֤ء7Me|~ ZN2J*pf%Ǣ SңvMAF qL"7[`)|qZ\&M!n 8 xo# W=FI^6`|ĠI0YY468 bk}chUͯ%iߤp-;#w1I4'?Uv:.XNuO]% 3xm^j$r? VPꪽ4$~ҹ NL83d UEDou<eOUйi.ӝچ_lx16؂u>*P2#s7MŪvq–K=Lm2v2 ؂7ڷDfEDs㱓 Q bZY{]0ޚ>4]=bA= Kb)zb+qg17(wDԜ>cta S:1E:mC^c !s5qO,=6fo cj)Ur.ЮuI0Cy))~$3zS0#C =eӄp%³ɲ$dv6Mڽy"N:&Q!ac-+xyV=}Y*gvc"t~$pė;-o|PW+>`M%퍠;Տ􊗌tZj u`-]]4Uz:j&X3͢I'U Af(%=Mb2Z3 F\Ȳ8wqHݶ`Qe9!s悅HNl ۃ6& F6O;O20%挄au!3<*FCk)% Γ+]4nS'ĻLDŽ[A 9C$H4uY q 2˒E!Op? 佼+)hF [+H4-vh~sSzu+X'jG 7nTP(c()< zx#&x1qty̥查H-s#$r Q%;1bԩۃq ™^@I$ܨc~oOÃi[xAvbS;@L,bcsiwGOӉ'qrgfo5.3t_8S,C6YSwTr ßHX 'x{KCdp]:>w],^-Th:S𢡊+kv,vrseo|6ZVzGRw[sIzzҨD ew)]7zH1$y7&YO2g;#-1zMi.dcynOJr%nI2-380wˉnŗ(̦TPlJP_:_SNCN\=0f?>@妩u2;N[+l& RSE"G@6, _)[IDN2?4*o93]y,{x*{]&Xa)(qb/c@<~?r.&ry9X}BD8NVn`s%gLpy8Dy g@-)=(3Vgrh Qysl jJP%fq L*|b >E38:\Ng>%wjoa{$(Y SF#<¡vW׀=jpiaRcy +eߗs@㱲;N*Gѭ[08˦Q"DR7f6`}gک,K&}?R#`-oFxG$ a!`",~' 4!<8U6Y,o22w`D >8ghȏFIq!~,sgùH%4pܚhY]h C&}pIuqq[Բkj~3dq@TAs {"d_\t\4<:XfCcR +(U齁HVqK 6oKjQD}vk= -f6TҳB]F]]J–7̏y-ʭ  d@t@ØpV}[IBZrVZ5zވoݛt~]0i) hOi* ޵2(!zOf*Γퟠ(к\#[tX#q}k?:ncX},!+E~)2c(W3$۹enAuϷᕑ ,T8QԺeI. _C $5M{- *tey# t ˿ fșy(mLpPU-`rT%pFHwGJˎ4[:s3;rVgS)vtҢyD-H޴~2ڒ!^xݭѕ}pe7NSkHB|"bۏ\ m:CmZ ']\\_avXljn>Ս&XvQO*Ə({< P;jHZ`qrFG~@XeS>(5WqpZ68b ͔(Rnj /B g"ZB}zRMYIqhN~"M>EԯVEJ\,ǂ'ajRtsx=Qk]vd?9ZNsq,-z9Ԑ>CY]z=Xk> 9ZU3rl)PüSxh!1%ҝf!4 !į]K;zk#.n۠2Xr j ?*z Ii^Z oBdU~' ..ȯܤ Ta?# I 5Qk_HhErU|c-`èS՜v\MS6AJ 'bbuBM?X|tbozx?xπșrw"E]`|d+Ѐ wqLͪqs6v̧ ecmyi`Cyf@`9Њ6YX@=|&"ZA14ǃ6Wi0K-(+K\l/3>*?싢9{8-7m 'gܚUlTo/(` .C}72mi?=^06Fp1SS~c`%WmUש'ec&| bЕ]\]死T! rb0|?J&ӂjyzrgIbF8R;iTMϒ<]>dn F:-W s.]mc7\4س;r&kT=F0SR{a*>t.Y a΄Q,fx^b% Xeϳ6b)0ˮlȮ=L_=3> 㣖L,2TJG\瑾i73,\yd{mO@3%.ZXFB o]xuE$mzDִDN~JTVUzvgMؓ7a^Hx(֋R\܇t`Ou1 o;.E@.VW D 8]/4ғ6W5g7283`XLw8',Ie.޾ĺL'C`\}~RZ)e?!s<ꄛ4~0O{{BlH06LNfwm m͋ۉXE1LCd?8V!b T=~:T>@3.! p[>'xP8?d3o\Uzk|TԖkTi +E+,Cr$zM}l uOP, FҠ_>\\ 1z,Z)m{&Bp=[VTFZdeV>٭ Eu|PWa _gOY8]=C %F'qYd2m]UOz!#Q`ٖgFѹtȹmQڊpokRXib+/sCO͓"_g#pj*`aߢqt % ՔU*TQYay^%mIHCgp,VՋ6x+ն;,jq޽Cbrq{IZB`\[1v? f:MK4Ç֏D%.\I.mw 5 I8Ae~|1/\! 3+r߽?xbdfd!`鰌;suf.IQ@  fpl<[g qv]a,̂cCՌkQg'Dh`^yL%Bbx$["|~#>UĠkpP */]xf`U?X!*$k<(2A=͵'zX9u^̉)*R"&Mzx&,u T$~3>/3Osuel,$cnGpZ22@˜{Q!K^h]eZv.NΐOX逼ZL>EKvtGVN&pUچIfܟɰk> "L"_%XvЧaVzΣ-$: ebK18 {a9֙_AnC1Tx1R? "EUisL-xA:缸9]eDP|>|t_cE5Ttt/a}So L-0[*5/ũю&Vu`Ԧ(bh52s#bSGFvFKäV4M,;Ѭ?l[R26;S] `t%Aq,)J!y]p}vPzqN[t`Ffuq`(\$vT0Is̑fk\y`b= Qz-[ٚd֤ɺO ekGEiw(?p俪XWٸ Z 3 z}IŒ LBIY/`83n E<#1^OOX?ƾgkϷ$E۸jmYTJ՝:e ^IJ]6{J$(H=\2^}E72H?C~Y>m&]L饖9hfFz. )*WC{<ss)j;hj+i(QB h/e$O+xE?** gq-BeeK#\t$h8@\ Q$6~ԁ$HgyEkfR#Pԇ;ߴ8@Cdr;/97*^ar JxhK XH JYgQ +,}IXvQp[u^kUzCϷBTbѴ S-Aa٘&2q#LA(JA35"- 7HZP،:|7-0&6بCP㾗Esfe*K)9 ;wGtGM_![H8Mf-D/`||ΣG endstream endobj 460 0 obj << /Type /FontDescriptor /FontName /WDOLLR+CMTT9 /Flags 4 /FontBBox [-6 -233 542 698] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 74 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/asciicircum/asciitilde/asterisk/at/b/backslash/bar/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/dollar/e/eight/equal/exclam/f/five/four/g/grave/greater/h/hyphen/i/j/k/l/less/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quoteleft/quoteright/quotesingle/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) /FontFile 459 0 R >> endobj 62 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ZNSBUC+CMB10 /FontDescriptor 432 0 R /FirstChar 12 /LastChar 121 /Widths 424 0 R /ToUnicode 1 0 R >> endobj 7 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SOAKWH+CMBX12 /FontDescriptor 434 0 R /FirstChar 11 /LastChar 121 /Widths 430 0 R /ToUnicode 1 0 R >> endobj 35 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GPANTX+CMMI12 /FontDescriptor 436 0 R /FirstChar 58 /LastChar 58 /Widths 426 0 R >> endobj 8 0 obj << /Type /Font /Subtype /Type1 /BaseFont /HMPNIL+CMR10 /FontDescriptor 438 0 R /FirstChar 11 /LastChar 124 /Widths 429 0 R /ToUnicode 1 0 R >> endobj 34 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ZOTVUW+CMR12 /FontDescriptor 440 0 R /FirstChar 12 /LastChar 121 /Widths 427 0 R /ToUnicode 1 0 R >> endobj 74 0 obj << /Type /Font /Subtype /Type1 /BaseFont /AXLZUG+CMR7 /FontDescriptor 442 0 R /FirstChar 49 /LastChar 51 /Widths 421 0 R >> endobj 312 0 obj << /Type /Font /Subtype /Type1 /BaseFont /OUVHFK+CMR8 /FontDescriptor 444 0 R /FirstChar 65 /LastChar 65 /Widths 416 0 R /ToUnicode 1 0 R >> endobj 77 0 obj << /Type /Font /Subtype /Type1 /BaseFont /YIJFQK+CMR9 /FontDescriptor 446 0 R /FirstChar 11 /LastChar 122 /Widths 419 0 R /ToUnicode 1 0 R >> endobj 195 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VEVFVZ+CMSL10 /FontDescriptor 448 0 R /FirstChar 36 /LastChar 117 /Widths 418 0 R /ToUnicode 1 0 R >> endobj 76 0 obj << /Type /Font /Subtype /Type1 /BaseFont /JPZKFO+CMSLTT10 /FontDescriptor 450 0 R /FirstChar 33 /LastChar 121 /Widths 420 0 R /ToUnicode 3 0 R >> endobj 13 0 obj << /Type /Font /Subtype /Type1 /BaseFont /AQTFCU+CMSY10 /FontDescriptor 452 0 R /FirstChar 13 /LastChar 15 /Widths 428 0 R >> endobj 60 0 obj << /Type /Font /Subtype /Type1 /BaseFont /IRMMCX+CMTI10 /FontDescriptor 454 0 R /FirstChar 11 /LastChar 122 /Widths 425 0 R /ToUnicode 2 0 R >> endobj 226 0 obj << /Type /Font /Subtype /Type1 /BaseFont /MEDTMH+CMTI9 /FontDescriptor 456 0 R /FirstChar 97 /LastChar 117 /Widths 417 0 R /ToUnicode 2 0 R >> endobj 63 0 obj << /Type /Font /Subtype /Type1 /BaseFont /NIMOUJ+CMTT10 /FontDescriptor 458 0 R /FirstChar 13 /LastChar 126 /Widths 423 0 R /ToUnicode 3 0 R >> endobj 64 0 obj << /Type /Font /Subtype /Type1 /BaseFont /WDOLLR+CMTT9 /FontDescriptor 460 0 R /FirstChar 13 /LastChar 126 /Widths 422 0 R /ToUnicode 3 0 R >> endobj 9 0 obj << /Type /Pages /Count 6 /Parent 461 0 R /Kids [5 0 R 11 0 R 31 0 R 56 0 R 69 0 R 82 0 R] >> endobj 101 0 obj << /Type /Pages /Count 6 /Parent 461 0 R /Kids [95 0 R 108 0 R 113 0 R 121 0 R 127 0 R 135 0 R] >> endobj 152 0 obj << /Type /Pages /Count 6 /Parent 461 0 R /Kids [146 0 R 158 0 R 167 0 R 177 0 R 181 0 R 191 0 R] >> endobj 203 0 obj << /Type /Pages /Count 6 /Parent 461 0 R /Kids [200 0 R 209 0 R 215 0 R 222 0 R 234 0 R 241 0 R] >> endobj 255 0 obj << /Type /Pages /Count 6 /Parent 461 0 R /Kids [251 0 R 260 0 R 270 0 R 285 0 R 290 0 R 295 0 R] >> endobj 306 0 obj << /Type /Pages /Count 6 /Parent 461 0 R /Kids [302 0 R 309 0 R 320 0 R 330 0 R 336 0 R 347 0 R] >> endobj 359 0 obj << /Type /Pages /Count 6 /Parent 462 0 R /Kids [356 0 R 361 0 R 367 0 R 376 0 R 383 0 R 387 0 R] >> endobj 394 0 obj << /Type /Pages /Count 6 /Parent 462 0 R /Kids [391 0 R 396 0 R 400 0 R 405 0 R 409 0 R 413 0 R] >> endobj 461 0 obj << /Type /Pages /Count 36 /Parent 463 0 R /Kids [9 0 R 101 0 R 152 0 R 203 0 R 255 0 R 306 0 R] >> endobj 462 0 obj << /Type /Pages /Count 12 /Parent 463 0 R /Kids [359 0 R 394 0 R] >> endobj 463 0 obj << /Type /Pages /Count 48 /Kids [461 0 R 462 0 R] >> endobj 464 0 obj << /Names [(-1) 33 0 R (1) 36 0 R (10) 40 0 R (11) 160 0 R (12) 169 0 R (13) 179 0 R] /Limits [(-1) (13)] >> endobj 465 0 obj << /Names [(14) 41 0 R (15) 193 0 R (16) 202 0 R (17) 42 0 R (18) 43 0 R (19) 224 0 R] /Limits [(14) (19)] >> endobj 466 0 obj << /Names [(2) 37 0 R (20) 236 0 R (21) 44 0 R (22) 253 0 R (23) 262 0 R (24) 45 0 R] /Limits [(2) (24)] >> endobj 467 0 obj << /Names [(25) 287 0 R (26) 292 0 R (27) 297 0 R (28) 304 0 R (29) 46 0 R (3) 84 0 R] /Limits [(25) (3)] >> endobj 468 0 obj << /Names [(30) 322 0 R (31) 332 0 R (32) 47 0 R (33) 349 0 R (34) 48 0 R (35) 49 0 R] /Limits [(30) (35)] >> endobj 469 0 obj << /Names [(36) 369 0 R (37) 50 0 R (38) 51 0 R (39) 389 0 R (4) 97 0 R (40) 393 0 R] /Limits [(36) (40)] >> endobj 470 0 obj << /Names [(41) 398 0 R (42) 402 0 R (43) 407 0 R (44) 411 0 R (45) 415 0 R (5) 110 0 R] /Limits [(41) (5)] >> endobj 471 0 obj << /Names [(6) 38 0 R (7) 123 0 R (8) 39 0 R (9) 137 0 R (ASCII/Latin-1/UTF-8 export) 340 0 R (Activation) 65 0 R] /Limits [(6) (Activation)] >> endobj 472 0 obj << /Names [(Agenda Views) 154 0 R (Agenda commands) 153 0 R (Agenda dispatcher) 274 0 R (Agenda files) 273 0 R (Archiving) 254 0 R (Breaking down tasks) 171 0 R] /Limits [(Agenda Views) (Breaking down tasks)] >> endobj 473 0 obj << /Names [(Built-in agenda views) 276 0 R (Capture) 244 0 R (Capture - Refile - Archive) 243 0 R (Capture templates) 248 0 R (Checkboxes) 102 0 R (Clean view) 78 0 R] /Limits [(Built-in agenda views) (Clean view)] >> endobj 474 0 obj << /Names [(Clocking work time) 164 0 R (Closing items) 162 0 R (Comment lines) 324 0 R (Completion) 379 0 R (Creating timestamps) 219 0 R (Custom agenda views) 305 0 R] /Limits [(Clocking work time) (Custom agenda views)] >> endobj 475 0 obj << /Names [(Dates and Times) 217 0 R (Deadlines and scheduling) 225 0 R (Document Structure) 71 0 R (Document title) 314 0 R (Embedded LaTeX{}) 334 0 R (Emphasis and monospace) 323 0 R] /Limits [(Dates and Times) (Emphasis and monospace)] >> endobj 476 0 obj << /Names [(Export options) 338 0 R (Exporting) 103 0 R (External links) 132 0 R (Feedback) 66 0 R (Footnotes) 111 0 R (GNU Free Documentation License) 385 0 R] /Limits [(Export options) (GNU Free Documentation License)] >> endobj 477 0 obj << /Names [(Global TODO list) 155 0 R (HTML export) 140 0 R (Handling links) 138 0 R (Headings and sections) 315 0 R (Headlines) 73 0 R (Hyperlinks) 129 0 R] /Limits [(Global TODO list) (Hyperlinks)] >> endobj 478 0 obj << /Names [(Images and tables) 325 0 R (Include files) 333 0 R (Installation) 61 0 R (Internal links) 131 0 R (Introduction) 58 0 R (LaTeX{} and PDF export) 350 0 R] /Limits [(Images and tables) (LaTeX{} and PDF export)] >> endobj 479 0 obj << /Names [(Link format) 130 0 R (Literal examples) 326 0 R (Markup) 311 0 R (Matching tags and properties) 198 0 R (Miscellaneous) 378 0 R (MobileOrg) 380 0 R] /Limits [(Link format) (MobileOrg)] >> endobj 480 0 obj << /Names [(Motion) 85 0 R (Multi-state workflows) 151 0 R (Outlines) 72 0 R (Paragraphs) 318 0 R (Plain lists) 88 0 R (Preface) 59 0 R] /Limits [(Motion) (Preface)] >> endobj 481 0 obj << /Names [(Priorities) 170 0 R (Progress logging) 161 0 R (Properties) 211 0 R (Publishing) 358 0 R (Refile and copy) 89 0 R (Search view) 293 0 R] /Limits [(Priorities) (Search view)] >> endobj 482 0 obj << /Names [(Setting tags) 185 0 R (Setting up a capture location) 245 0 R (Sparse trees) 98 0 R (Structural markup elements) 313 0 R (Structure editing) 86 0 R (TODO Items) 148 0 R] /Limits [(Setting tags) (TODO Items)] >> endobj 483 0 obj << /Names [(Table of contents) 317 0 R (Tables) 115 0 R (Tag groups) 194 0 R (Tag inheritance) 184 0 R (Tag searches) 196 0 R (Tags) 183 0 R] /Limits [(Table of contents) (Tags)] >> endobj 484 0 obj << /Names [(Targeted links) 139 0 R (The export dispatcher) 339 0 R (Timeline) 237 0 R (Timestamps) 218 0 R (Tracking TODO state changes) 163 0 R (Using TODO states) 149 0 R] /Limits [(Targeted links) (Using TODO states)] >> endobj 485 0 obj << /Names [(Using capture) 246 0 R (Visibility cycling) 75 0 R (Weekly/daily agenda) 220 0 R (Working With Source Code) 363 0 R (iCalendar export) 351 0 R] /Limits [(Using capture) (iCalendar export)] >> endobj 486 0 obj << /Kids [464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R] /Limits [(-1) (40)] >> endobj 487 0 obj << /Kids [470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R] /Limits [(41) (Emphasis and monospace)] >> endobj 488 0 obj << /Kids [476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R] /Limits [(Export options) (Search view)] >> endobj 489 0 obj << /Kids [482 0 R 483 0 R 484 0 R 485 0 R] /Limits [(Setting tags) (iCalendar export)] >> endobj 490 0 obj << /Kids [486 0 R 487 0 R 488 0 R 489 0 R] /Limits [(-1) (iCalendar export)] >> endobj 491 0 obj << /Dests 490 0 R >> endobj 492 0 obj << /Type /Catalog /Pages 463 0 R /Names 491 0 R /PageMode /UseOutlines >> endobj 493 0 obj << /Producer (pdfTeX-1.40.10) /Creator (TeX) /CreationDate (D:20131206050109-06'00') /ModDate (D:20131206050109-06'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0) >> endobj xref 0 494 0000000000 65535 f 0000000015 00000 n 0000000681 00000 n 0000001358 00000 n 0000002403 00000 n 0000002299 00000 n 0000001962 00000 n 0000380759 00000 n 0000381060 00000 n 0000382937 00000 n 0000003382 00000 n 0000003275 00000 n 0000002482 00000 n 0000382156 00000 n 0000004931 00000 n 0000005058 00000 n 0000005185 00000 n 0000005311 00000 n 0000005438 00000 n 0000005566 00000 n 0000005693 00000 n 0000005821 00000 n 0000005948 00000 n 0000006076 00000 n 0000006203 00000 n 0000006330 00000 n 0000006458 00000 n 0000006585 00000 n 0000006713 00000 n 0000006841 00000 n 0000007020 00000 n 0000004700 00000 n 0000003463 00000 n 0000006969 00000 n 0000381218 00000 n 0000380918 00000 n 0000010005 00000 n 0000012914 00000 n 0000025819 00000 n 0000030881 00000 n 0000038019 00000 n 0000050316 00000 n 0000058242 00000 n 0000061070 00000 n 0000072108 00000 n 0000081454 00000 n 0000097588 00000 n 0000106494 00000 n 0000112339 00000 n 0000115095 00000 n 0000122393 00000 n 0000126005 00000 n 0000009538 00000 n 0000009706 00000 n 0000009846 00000 n 0000010327 00000 n 0000009398 00000 n 0000007114 00000 n 0000010056 00000 n 0000010107 00000 n 0000382298 00000 n 0000010162 00000 n 0000380600 00000 n 0000382618 00000 n 0000382778 00000 n 0000010217 00000 n 0000010272 00000 n 0000012775 00000 n 0000013180 00000 n 0000012649 00000 n 0000010455 00000 n 0000012965 00000 n 0000013016 00000 n 0000013071 00000 n 0000381377 00000 n 0000013126 00000 n 0000381994 00000 n 0000381675 00000 n 0000122555 00000 n 0000015459 00000 n 0000015600 00000 n 0000016041 00000 n 0000015319 00000 n 0000013330 00000 n 0000015880 00000 n 0000015931 00000 n 0000015986 00000 n 0000015740 00000 n 0000020315 00000 n 0000075461 00000 n 0000019386 00000 n 0000019656 00000 n 0000019926 00000 n 0000020073 00000 n 0000020370 00000 n 0000019222 00000 n 0000016179 00000 n 0000020213 00000 n 0000020264 00000 n 0000019522 00000 n 0000019791 00000 n 0000383045 00000 n 0000044889 00000 n 0000106546 00000 n 0000022441 00000 n 0000022581 00000 n 0000022776 00000 n 0000023075 00000 n 0000022293 00000 n 0000020544 00000 n 0000022965 00000 n 0000023018 00000 n 0000025924 00000 n 0000025707 00000 n 0000023204 00000 n 0000025871 00000 n 0000027182 00000 n 0000027353 00000 n 0000027528 00000 n 0000027718 00000 n 0000027948 00000 n 0000027026 00000 n 0000026065 00000 n 0000027895 00000 n 0000030742 00000 n 0000033658 00000 n 0000031157 00000 n 0000030610 00000 n 0000028054 00000 n 0000030933 00000 n 0000030986 00000 n 0000031043 00000 n 0000031100 00000 n 0000033795 00000 n 0000034140 00000 n 0000033518 00000 n 0000031285 00000 n 0000033973 00000 n 0000034026 00000 n 0000034083 00000 n 0000106770 00000 n 0000037305 00000 n 0000037451 00000 n 0000037593 00000 n 0000037734 00000 n 0000038238 00000 n 0000037141 00000 n 0000034280 00000 n 0000038071 00000 n 0000038124 00000 n 0000037877 00000 n 0000038181 00000 n 0000383161 00000 n 0000089468 00000 n 0000081506 00000 n 0000086605 00000 n 0000041375 00000 n 0000041743 00000 n 0000041243 00000 n 0000038389 00000 n 0000041519 00000 n 0000041572 00000 n 0000041629 00000 n 0000041686 00000 n 0000068480 00000 n 0000044580 00000 n 0000044945 00000 n 0000044448 00000 n 0000041894 00000 n 0000044722 00000 n 0000044775 00000 n 0000044832 00000 n 0000046191 00000 n 0000046333 00000 n 0000046512 00000 n 0000046696 00000 n 0000046939 00000 n 0000046035 00000 n 0000045074 00000 n 0000046886 00000 n 0000050535 00000 n 0000050204 00000 n 0000047033 00000 n 0000050368 00000 n 0000050421 00000 n 0000050478 00000 n 0000053514 00000 n 0000053822 00000 n 0000054796 00000 n 0000054962 00000 n 0000054141 00000 n 0000053366 00000 n 0000050686 00000 n 0000053974 00000 n 0000054027 00000 n 0000381833 00000 n 0000054084 00000 n 0000053668 00000 n 0000086662 00000 n 0000055229 00000 n 0000054656 00000 n 0000054283 00000 n 0000055176 00000 n 0000383278 00000 n 0000057394 00000 n 0000057537 00000 n 0000057846 00000 n 0000058049 00000 n 0000058347 00000 n 0000057230 00000 n 0000055311 00000 n 0000058294 00000 n 0000057692 00000 n 0000060926 00000 n 0000061289 00000 n 0000060794 00000 n 0000058488 00000 n 0000061122 00000 n 0000061175 00000 n 0000061232 00000 n 0000081729 00000 n 0000064542 00000 n 0000064320 00000 n 0000061418 00000 n 0000064432 00000 n 0000064485 00000 n 0000382458 00000 n 0000067401 00000 n 0000067601 00000 n 0000067740 00000 n 0000067890 00000 n 0000068079 00000 n 0000068261 00000 n 0000068537 00000 n 0000067229 00000 n 0000064718 00000 n 0000068427 00000 n 0000089354 00000 n 0000071819 00000 n 0000071536 00000 n 0000072440 00000 n 0000071380 00000 n 0000068666 00000 n 0000072160 00000 n 0000072213 00000 n 0000072269 00000 n 0000072326 00000 n 0000071678 00000 n 0000072383 00000 n 0000071962 00000 n 0000075574 00000 n 0000075296 00000 n 0000072591 00000 n 0000075408 00000 n 0000075517 00000 n 0000383395 00000 n 0000076711 00000 n 0000076938 00000 n 0000077134 00000 n 0000077319 00000 n 0000076563 00000 n 0000075726 00000 n 0000077266 00000 n 0000080285 00000 n 0000080568 00000 n 0000080711 00000 n 0000080860 00000 n 0000081006 00000 n 0000081315 00000 n 0000081786 00000 n 0000080097 00000 n 0000077425 00000 n 0000080427 00000 n 0000081559 00000 n 0000081616 00000 n 0000081161 00000 n 0000081673 00000 n 0000085444 00000 n 0000085585 00000 n 0000085727 00000 n 0000085862 00000 n 0000086003 00000 n 0000086148 00000 n 0000086405 00000 n 0000086719 00000 n 0000085256 00000 n 0000081903 00000 n 0000086552 00000 n 0000086278 00000 n 0000089525 00000 n 0000089189 00000 n 0000086870 00000 n 0000089301 00000 n 0000089411 00000 n 0000091900 00000 n 0000091735 00000 n 0000089654 00000 n 0000091847 00000 n 0000094127 00000 n 0000094310 00000 n 0000094501 00000 n 0000094808 00000 n 0000093979 00000 n 0000092019 00000 n 0000094698 00000 n 0000094751 00000 n 0000383512 00000 n 0000097301 00000 n 0000097977 00000 n 0000097161 00000 n 0000094937 00000 n 0000097640 00000 n 0000381517 00000 n 0000097693 00000 n 0000097749 00000 n 0000097806 00000 n 0000097445 00000 n 0000097863 00000 n 0000097920 00000 n 0000101153 00000 n 0000100760 00000 n 0000098094 00000 n 0000100872 00000 n 0000100925 00000 n 0000100982 00000 n 0000101039 00000 n 0000101096 00000 n 0000103609 00000 n 0000103803 00000 n 0000104141 00000 n 0000103469 00000 n 0000101306 00000 n 0000103974 00000 n 0000104027 00000 n 0000104084 00000 n 0000106826 00000 n 0000106382 00000 n 0000104282 00000 n 0000106599 00000 n 0000106656 00000 n 0000106713 00000 n 0000108982 00000 n 0000109129 00000 n 0000109305 00000 n 0000109497 00000 n 0000109682 00000 n 0000110042 00000 n 0000108818 00000 n 0000106955 00000 n 0000109875 00000 n 0000109928 00000 n 0000109985 00000 n 0000111787 00000 n 0000111966 00000 n 0000112160 00000 n 0000112444 00000 n 0000111639 00000 n 0000110183 00000 n 0000112391 00000 n 0000383629 00000 n 0000115200 00000 n 0000114983 00000 n 0000112573 00000 n 0000115147 00000 n 0000118059 00000 n 0000118250 00000 n 0000118481 00000 n 0000117919 00000 n 0000115305 00000 n 0000118428 00000 n 0000121538 00000 n 0000121697 00000 n 0000121878 00000 n 0000122062 00000 n 0000122238 00000 n 0000122668 00000 n 0000121374 00000 n 0000118598 00000 n 0000122445 00000 n 0000122498 00000 n 0000122611 00000 n 0000125860 00000 n 0000126110 00000 n 0000125728 00000 n 0000122809 00000 n 0000126057 00000 n 0000129401 00000 n 0000129236 00000 n 0000126228 00000 n 0000129348 00000 n 0000132626 00000 n 0000132461 00000 n 0000129471 00000 n 0000132573 00000 n 0000383746 00000 n 0000135464 00000 n 0000135299 00000 n 0000132696 00000 n 0000135411 00000 n 0000138353 00000 n 0000138188 00000 n 0000135534 00000 n 0000138300 00000 n 0000143959 00000 n 0000141438 00000 n 0000141273 00000 n 0000138423 00000 n 0000141385 00000 n 0000144172 00000 n 0000143827 00000 n 0000141508 00000 n 0000144119 00000 n 0000145836 00000 n 0000145671 00000 n 0000144254 00000 n 0000145783 00000 n 0000145941 00000 n 0000145966 00000 n 0000146111 00000 n 0000146571 00000 n 0000147230 00000 n 0000147605 00000 n 0000147642 00000 n 0000148117 00000 n 0000148592 00000 n 0000149217 00000 n 0000149886 00000 n 0000149909 00000 n 0000150509 00000 n 0000150541 00000 n 0000151173 00000 n 0000151816 00000 n 0000168055 00000 n 0000168421 00000 n 0000187128 00000 n 0000187528 00000 n 0000194500 00000 n 0000194727 00000 n 0000219995 00000 n 0000220554 00000 n 0000238106 00000 n 0000238466 00000 n 0000245822 00000 n 0000246052 00000 n 0000253139 00000 n 0000253357 00000 n 0000272719 00000 n 0000273139 00000 n 0000282773 00000 n 0000283030 00000 n 0000300111 00000 n 0000300554 00000 n 0000307810 00000 n 0000308050 00000 n 0000326859 00000 n 0000327233 00000 n 0000336806 00000 n 0000337051 00000 n 0000358585 00000 n 0000359177 00000 n 0000379950 00000 n 0000383863 00000 n 0000383979 00000 n 0000384065 00000 n 0000384135 00000 n 0000384261 00000 n 0000384388 00000 n 0000384513 00000 n 0000384639 00000 n 0000384766 00000 n 0000384892 00000 n 0000385020 00000 n 0000385182 00000 n 0000385411 00000 n 0000385646 00000 n 0000385889 00000 n 0000386148 00000 n 0000386389 00000 n 0000386609 00000 n 0000386850 00000 n 0000387067 00000 n 0000387253 00000 n 0000387459 00000 n 0000387699 00000 n 0000387898 00000 n 0000388140 00000 n 0000388361 00000 n 0000388460 00000 n 0000388579 00000 n 0000388699 00000 n 0000388806 00000 n 0000388903 00000 n 0000388941 00000 n 0000389032 00000 n trailer << /Size 494 /Root 492 0 R /Info 493 0 R /ID [<0E4C5EC6C48BA6D85B5A346CC512FEE4> <0E4C5EC6C48BA6D85B5A346CC512FEE4>] >> startxref 389299 %%EOF org-mode-doc-8.2.4/doc/Makefile0000644000175000017500000000402612260050771014314 0ustar sebseb.SUFFIXES: # we don't need default suffix rules ifeq ($(MAKELEVEL), 0) $(error This make needs to be started as a sub-make from the toplevel directory.) endif .PHONY: all info html pdf card manual guide install \ clean cleanall clean-install all: $(ORG_MAKE_DOC) info: org html: org.html pdf: org.pdf orgguide.pdf card: orgcard.pdf orgcard_letter.pdf orgguide.pdf ifneq ($(SERVERMK),) manual guide:: -$(RMR) $@ $(MKDIR) $@ manual:: org.texi org-version.inc $(TEXI2HTML) -o $@ $< ../mk/mansplit.pl $@/* guide:: orgguide.texi org-version.inc $(TEXI2HTML) -o $@ $< ../mk/guidesplit.pl $@/* endif org-version.inc: org.texi @echo "org-version: $(ORGVERSION) ($(GITVERSION))" @echo "@c automatically generated, do not edit" > org-version.inc @echo "@set VERSION $(ORGVERSION) ($(GITVERSION))" >> org-version.inc @echo "@set DATE $(DATE)" >> org-version.inc install: org if [ ! -d $(DESTDIR)$(infodir) ]; then $(MKDIR) $(DESTDIR)$(infodir); else true; fi ; $(CP) org $(DESTDIR)$(infodir) $(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) org clean: $(RM) org *.pdf *.html *_letter.tex org-version.inc \ *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.pg *.pgs \ *.toc *.tp *.tps *.vr *.vrs *.log *.html *.ps cleanall: clean $(RMR) guide manual clean-install: $(RM) $(DESTDIR)$(infodir)/org* $(INSTALL_INFO) --infodir=$(DESTDIR)$(infodir) --remove org .SUFFIXES: .texi .tex .txt _letter.tex %: %.texi org-version.inc $(MAKEINFO) --no-split $< -o $@ %.pdf: LC_ALL=C # work around a bug in texi2dvi %.pdf: LANG=C # work around a bug in texi2dvi %.pdf: %.texi org-version.inc $(TEXI2PDF) $< %.pdf: %.tex PDFLATEX=$(PDFTEX) $(TEXI2PDF) $< %.html: %.texi org-version.inc $(TEXI2HTML) --no-split -o $@ $< ifneq ($(SERVERMK),) ../mk/manfull.pl $@ %.txt: %.tex perl ../mk/orgcard2txt.pl $< > $@ endif %_letter.tex: %.tex $(BATCH) \ --eval '(add-to-list '"'"'load-path "../lisp")' \ --eval '(load "org-compat.el")' \ --eval '(load "../mk/org-fixup.el")' \ --eval '(org-make-letterformat "$(. % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without % restriction. (This has been our intent since Texinfo was invented.) % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: % http://www.gnu.org/software/texinfo/ (the Texinfo home page), or % ftp://tug.org/tex/texinfo.tex % (and all CTAN mirrors, see http://www.ctan.org). % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the % problem. Patches are, of course, greatly appreciated. % % To process a Texinfo manual with TeX, it's most reliable to use the % texi2dvi shell script that comes with the distribution. For a simple % manual foo.texi, however, you can get away with this: % tex foo.texi % texindex foo.?? % tex foo.texi % tex foo.texi % dvips foo.dvi -o # or whatever; this makes foo.ps. % The extra TeX runs get the cross-reference information correct. % Sometimes one run after texindex suffices, and sometimes you need more % than two; texi2dvi does it as many times as necessary. % % It is possible to adapt texinfo.tex for other languages, to some % extent. You can get the existing language-specific files from the % full Texinfo distribution. % % The GNU Texinfo home page is http://www.gnu.org/software/texinfo. \message{Loading texinfo [version \texinfoversion]:} % If in a .fmt file, print the version number % and turn on active characters that we couldn't do earlier because % they might have appeared in the input file name. \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. % For @tex, we can use \tabalign. \let\+ = \relax % Save some plain tex macros whose names we will redefine. \let\ptexb=\b \let\ptexbullet=\bullet \let\ptexc=\c \let\ptexcomma=\, \let\ptexdot=\. \let\ptexdots=\dots \let\ptexend=\end \let\ptexequiv=\equiv \let\ptexexclam=\! \let\ptexfootnote=\footnote \let\ptexgtr=> \let\ptexhat=^ \let\ptexi=\i \let\ptexindent=\indent \let\ptexinsert=\insert \let\ptexlbrace=\{ \let\ptexless=< \let\ptexnewwrite\newwrite \let\ptexnoindent=\noindent \let\ptexplus=+ \let\ptexrbrace=\} \let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t \let\ptextop=\top % If this character appears in an error message or help string, it % starts a new line in the output. \newlinechar = `^^J % Use TeX 3.0's \inputlineno to get the line number, for better error % messages, but if we're using an old version of TeX, don't do anything. % \ifx\inputlineno\thisisundefined \let\linenumber = \empty % Pre-3.0. \else \def\linenumber{l.\the\inputlineno:\space} \fi % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi \ifx\putwordin\undefined \gdef\putwordin{in}\fi \ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi \ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi \ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi \ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi \ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi \ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi \ifx\putwordof\undefined \gdef\putwordof{of}\fi \ifx\putwordon\undefined \gdef\putwordon{on}\fi \ifx\putwordpage\undefined \gdef\putwordpage{page}\fi \ifx\putwordsection\undefined \gdef\putwordsection{section}\fi \ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi \ifx\putwordsee\undefined \gdef\putwordsee{see}\fi \ifx\putwordSee\undefined \gdef\putwordSee{See}\fi \ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi \ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi % \ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi \ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi \ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi \ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi \ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi \ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi \ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi \ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi \ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi \ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi \ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi \ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi % \ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi \ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi \ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi % Since the category of space is not known, we have to be careful. \chardef\spacecat = 10 \def\spaceisspace{\catcode`\ =\spacecat} % sometimes characters are active, so we need control sequences. \chardef\colonChar = `\: \chardef\commaChar = `\, \chardef\dashChar = `\- \chardef\dotChar = `\. \chardef\exclamChar= `\! \chardef\lquoteChar= `\` \chardef\questChar = `\? \chardef\rquoteChar= `\' \chardef\semiChar = `\; \chardef\underChar = `\_ % Ignore a token. % \def\gobble#1{} % The following is used inside several \edef's. \def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} % Hyphenation fixes. \hyphenation{ Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script ap-pen-dix bit-map bit-maps data-base data-bases eshell fall-ing half-way long-est man-u-script man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces spell-ing spell-ings stand-alone strong-est time-stamp time-stamps which-ever white-space wide-spread wrap-around } % Margin to add to right of even pages, to left of odd pages. \newdimen\bindingoffset \newdimen\normaloffset \newdimen\pagewidth \newdimen\pageheight % For a final copy, take out the rectangles % that mark overfull boxes (in case you have decided % that the text looks ok even though it passes the margin). % \def\finalout{\overfullrule=0pt} % @| inserts a changebar to the left of the current line. It should % surround any changed text. This approach does *not* work if the % change spans more than two lines of output. To handle that, we would % have adopt a much more difficult approach (putting marks into the main % vertical list for the beginning and end of each change). % \def\|{% % \vadjust can only be used in horizontal mode. \leavevmode % % Append this vertical mode material after the current line in the output. \vadjust{% % We want to insert a rule with the height and depth of the current % leading; that is exactly what \strutbox is supposed to record. \vskip-\baselineskip % % \vadjust-items are inserted at the left edge of the type. So % the \llap here moves out into the left-hand margin. \llap{% % % For a thicker or thinner bar, change the `1pt'. \vrule height\baselineskip width1pt % % This is the space between the bar and the text. \hskip 12pt }% }% } % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, % since that produces some useless output on the terminal. We also make % some effort to order the tracing commands to reduce output in the log % file; cf. trace.sty in LaTeX. % \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% \def\loggingall{% \tracingstats2 \tracingpages1 \tracinglostchars2 % 2 gives us more in etex \tracingparagraphs1 \tracingoutput1 \tracingmacros2 \tracingrestores1 \showboxbreadth\maxdimen \showboxdepth\maxdimen \ifx\eTeXversion\undefined\else % etex gives us more logging \tracingscantokens1 \tracingifs1 \tracinggroups1 \tracingnesting2 \tracingassigns1 \fi \tracingcommands3 % 3 gives us more in etex \errorcontextlines16 }% % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. % \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount \removelastskip\penalty-50\smallskip\fi\fi} \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount \removelastskip\penalty-100\medskip\fi\fi} \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} % For @cropmarks command. % Do @cropmarks to get crop marks. % \newif\ifcropmarks \let\cropmarks = \cropmarkstrue % % Dimensions to add cropmarks at corners. % Added by P. A. MacKay, 12 Nov. 1986 % \newdimen\outerhsize \newdimen\outervsize % set by the paper size routines \newdimen\cornerlong \cornerlong=1pc \newdimen\cornerthick \cornerthick=.3pt \newdimen\topandbottommargin \topandbottommargin=.75in % Output a mark which sets \thischapter, \thissection and \thiscolor. % We dump everything together because we only have one kind of mark. % This works because we only use \botmark / \topmark, not \firstmark. % % A mark contains a subexpression of the \ifcase ... \fi construct. % \get*marks macros below extract the needed part using \ifcase. % % Another complication is to let the user choose whether \thischapter % (\thissection) refers to the chapter (section) in effect at the top % of a page, or that at the bottom of a page. The solution is % described on page 260 of The TeXbook. It involves outputting two % marks for the sectioning macros, one before the section break, and % one after. I won't pretend I can describe this better than DEK... \def\domark{% \toks0=\expandafter{\lastchapterdefs}% \toks2=\expandafter{\lastsectiondefs}% \toks4=\expandafter{\prevchapterdefs}% \toks6=\expandafter{\prevsectiondefs}% \toks8=\expandafter{\lastcolordefs}% \mark{% \the\toks0 \the\toks2 \noexpand\or \the\toks4 \the\toks6 \noexpand\else \the\toks8 }% } % \topmark doesn't work for the very first chapter (after the title % page or the contents), so we use \firstmark there -- this gets us % the mark with the chapter defs, unless the user sneaks in, e.g., % @setcolor (or @url, or @link, etc.) between @contents and the very % first @chapter. \def\gettopheadingmarks{% \ifcase0\topmark\fi \ifx\thischapter\empty \ifcase0\firstmark\fi \fi } \def\getbottomheadingmarks{\ifcase1\botmark\fi} \def\getcolormarks{\ifcase2\topmark\fi} % Avoid "undefined control sequence" errors. \def\lastchapterdefs{} \def\lastsectiondefs{} \def\prevchapterdefs{} \def\prevsectiondefs{} \def\lastcolordefs{} % Main output routine. \chardef\PAGE = 255 \output = {\onepageout{\pagecontents\PAGE}} \newbox\headlinebox \newbox\footlinebox % \onepageout takes a vbox as an argument. Note that \pagecontents % does insertions, but you have to call it yourself. \def\onepageout#1{% \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi % \ifodd\pageno \advance\hoffset by \bindingoffset \else \advance\hoffset by -\bindingoffset\fi % % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% % {% % Have to do this stuff outside the \shipout because we want it to % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % \indexdummies % don't expand commands in the output. \normalturnoffactive % \ in index entries must not stay \, e.g., if % the page break happens to be in the middle of an example. % We don't want .vr (or whatever) entries like this: % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} % "\acronym" won't work when it's read back in; % it needs to be % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi % \ifcropmarks \vbox to \outervsize\bgroup \hsize = \outerhsize \vskip-\topandbottommargin \vtop to0pt{% \line{\ewtop\hfil\ewtop}% \nointerlineskip \line{% \vbox{\moveleft\cornerthick\nstop}% \hfill \vbox{\moveright\cornerthick\nstop}% }% \vss}% \vskip\topandbottommargin \line\bgroup \hfil % center the page within the outer (page) hsize. \ifodd\pageno\hskip\bindingoffset\fi \vbox\bgroup \fi % \unvbox\headlinebox \pagebody{#1}% \ifdim\ht\footlinebox > 0pt % Only leave this space if the footline is nonempty. % (We lessened \vsize for it in \oddfootingyyy.) % The \baselineskip=24pt in plain's \makefootline has no effect. \vskip 24pt \unvbox\footlinebox \fi % \ifcropmarks \egroup % end of \vbox\bgroup \hfil\egroup % end of (centering) \line\bgroup \vskip\topandbottommargin plus1fill minus1fill \boxmaxdepth = \cornerthick \vbox to0pt{\vss \line{% \vbox{\moveleft\cornerthick\nsbot}% \hfill \vbox{\moveright\cornerthick\nsbot}% }% \nointerlineskip \line{\ewbot\hfil\ewbot}% }% \egroup % \vbox from first cropmarks clause \fi }% end of \shipout\vbox }% end of group with \indexdummies \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } \newinsert\margin \dimen\margin=\maxdimen \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} {\catcode`\@ =11 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi % marginal hacks, juha@viisa.uucp (Juha Takala) \ifvoid\margin\else % marginal info is present \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi \dimen@=\dp#1\relax \unvbox#1\relax \ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } % Here are the rules for the cropmarks. Note that they are % offset so that the space between them is truly \outerhsize or \outervsize % (P. A. MacKay, 12 November, 1986) % \def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} \def\nstop{\vbox {\hrule height\cornerthick depth\cornerlong width\cornerthick}} \def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} \def\nsbot{\vbox {\hrule height\cornerlong depth\cornerthick width\cornerthick}} % Parse an argument, then pass it to #1. The argument is the rest of % the input line (except we remove a trailing comment). #1 should be a % macro which expects an ordinary undelimited TeX argument. % \def\parsearg{\parseargusing{}} \def\parseargusing#1#2{% \def\argtorun{#2}% \begingroup \obeylines \spaceisspace #1% \parseargline\empty% Insert the \empty token, see \finishparsearg below. } {\obeylines % \gdef\parseargline#1^^M{% \endgroup % End of the group started in \parsearg. \argremovecomment #1\comment\ArgTerm% }% } % First remove any @comment, then any @c comment. \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} % Each occurrence of `\^^M' or `\^^M' is replaced by a single space. % % \argremovec might leave us with trailing space, e.g., % @end itemize @c foo % This space token undergoes the same procedure and is eventually removed % by \finishparsearg. % \def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} \def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} \def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% \def\temp{#3}% \ifx\temp\empty % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: \let\temp\finishparsearg \else \let\temp\argcheckspaces \fi % Put the space token in: \temp#1 #3\ArgTerm } % If a _delimited_ argument is enclosed in braces, they get stripped; so % to get _exactly_ the rest of the line, we had to prevent such situation. % We prepended an \empty token at the very beginning and we expand it now, % just before passing the control to \argtorun. % (Similarly, we have to think about #3 of \argcheckspacesY above: it is % either the null string, or it ends with \^^M---thus there is no danger % that a pair of braces would be stripped. % % But first, we have to remove the trailing space token. % \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} % \parseargdef\foo{...} % is roughly equivalent to % \def\foo{\parsearg\Xfoo} % \def\Xfoo#1{...} % % Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my % favourite TeX trick. --kasal, 16nov03 \def\parseargdef#1{% \expandafter \doparseargdef \csname\string#1\endcsname #1% } \def\doparseargdef#1#2{% \def#2{\parsearg#1}% \def#1##1% } % Several utility definitions with active space: { \obeyspaces \gdef\obeyedspace{ } % Make each space character in the input produce a normal interword % space in the output. Don't allow a line break at this space, as this % is used only in environments like @example, where each line of input % should produce a line of output anyway. % \gdef\sepspaces{\obeyspaces\let =\tie} % If an index command is used in an @example environment, any spaces % therein should become regular spaces in the raw index file, not the % expansion of \tie (\leavevmode \penalty \@M \ ). \gdef\unsepspaces{\let =\space} } \def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} % Define the framework for environments in texinfo.tex. It's used like this: % % \envdef\foo{...} % \def\Efoo{...} % % It's the responsibility of \envdef to insert \begingroup before the % actual body; @end closes the group after calling \Efoo. \envdef also % defines \thisenv, so the current environment is known; @end checks % whether the environment name matches. The \checkenv macro can also be % used to check whether the current environment is the one expected. % % Non-false conditionals (@iftex, @ifset) don't fit into this, so they % are not treated as environments; they don't open a group. (The % implementation of @end takes care not to call \endgroup in this % special case.) % At run-time, environments start with this: \def\startenvironment#1{\begingroup\def\thisenv{#1}} % initialize \let\thisenv\empty % ... but they get defined via ``\envdef\foo{...}'': \long\def\envdef#1#2{\def#1{\startenvironment#1#2}} \def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} % Check whether we're in the right environment: \def\checkenv#1{% \def\temp{#1}% \ifx\thisenv\temp \else \badenverr \fi } % Environment mismatch, #1 expected: \def\badenverr{% \errhelp = \EMsimple \errmessage{This command can appear only \inenvironment\temp, not \inenvironment\thisenv}% } \def\inenvironment#1{% \ifx#1\empty out of any environment% \else in environment \expandafter\string#1% \fi } % @end foo executes the definition of \Efoo. % But first, it executes a specialized version of \checkenv % \parseargdef\end{% \if 1\csname iscond.#1\endcsname \else % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 \expandafter\checkenv\csname#1\endcsname \csname E#1\endcsname \endgroup \fi } \newhelp\EMsimple{Press RETURN to continue.} %% Simple single-character @ commands % @@ prints an @ % Kludge this until the fonts are right (grr). \def\@{{\tt\char64}} % This is turned off because it was never documented % and you can use @w{...} around a quote to suppress ligatures. %% Define @` and @' to be the same as ` and ' %% but suppressing ligatures. %\def\`{{`}} %\def\'{{'}} % Used to generate quoted braces. \def\mylbrace {{\tt\char123}} \def\myrbrace {{\tt\char125}} \let\{=\mylbrace \let\}=\myrbrace \begingroup % Definitions to produce \{ and \} commands for indices, % and @{ and @} for the aux/toc files. \catcode`\{ = \other \catcode`\} = \other \catcode`\[ = 1 \catcode`\] = 2 \catcode`\! = 0 \catcode`\\ = \other !gdef!lbracecmd[\{]% !gdef!rbracecmd[\}]% !gdef!lbraceatcmd[@{]% !gdef!rbraceatcmd[@}]% !endgroup % @comma{} to avoid , parsing problems. \let\comma = , % Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent % Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. \let\, = \c \let\dotaccent = \. \def\ringaccent#1{{\accent23 #1}} \let\tieaccent = \t \let\ubaraccent = \b \let\udotaccent = \d % Other special characters: @questiondown @exclamdown @ordf @ordm % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. \def\questiondown{?`} \def\exclamdown{!`} \def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} \def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} % Dotless i and dotless j, used for accents. \def\imacro{i} \def\jmacro{j} \def\dotless#1{% \def\temp{#1}% \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi \else \errmessage{@dotless can be used only with i or j}% \fi\fi } % The \TeX{} logo, as in plain, but resetting the spacing so that a % period following counts as ending a sentence. (Idea found in latex.) % \edef\TeX{\TeX \spacefactor=1000 } % @LaTeX{} logo. Not quite the same results as the definition in % latex.ltx, since we use a different font for the raised A; it's most % convenient for us to use an explicitly smaller font, rather than using % the \scriptstyle font (since we don't reset \scriptstyle and % \scriptscriptstyle). % \def\LaTeX{% L\kern-.36em {\setbox0=\hbox{T}% \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% \kern-.15em \TeX } % Be sure we're in horizontal mode when doing a tie, since we make space % equivalent to this in @example-like environments. Otherwise, a space % at the beginning of a line will start with \penalty -- and % since \penalty is valid in vertical mode, we'd end up putting the % penalty on the vertical list instead of in the new paragraph. {\catcode`@ = 11 % Avoid using \@M directly, because that causes trouble % if the definition is written into an index file. \global\let\tiepenalty = \@M \gdef\tie{\leavevmode\penalty\tiepenalty\ } } % @: forces normal size whitespace following. \def\:{\spacefactor=1000 } % @* forces a line break. \def\*{\hfil\break\hbox{}\ignorespaces} % @/ allows a line break. \let\/=\allowbreak % @. is an end-of-sentence period. \def\.{.\spacefactor=\endofsentencespacefactor\space} % @! is an end-of-sentence bang. \def\!{!\spacefactor=\endofsentencespacefactor\space} % @? is an end-of-sentence query. \def\?{?\spacefactor=\endofsentencespacefactor\space} % @frenchspacing on|off says whether to put extra space after punctuation. % \def\onword{on} \def\offword{off} % \parseargdef\frenchspacing{% \def\temp{#1}% \ifx\temp\onword \plainfrenchspacing \else\ifx\temp\offword \plainnonfrenchspacing \else \errhelp = \EMsimple \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% \fi\fi } % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would % produce a whole line of output instead of starting the paragraph. \def\w#1{\leavevmode\hbox{#1}} % @group ... @end group forces ... to be all on one page, by enclosing % it in a TeX vbox. We use \vtop instead of \vbox to construct the box % to keep its height that of a normal line. According to the rules for % \topskip (p.114 of the TeXbook), the glue inserted is % max (\topskip - \ht (first item), 0). If that height is large, % therefore, no glue is inserted, and the space between the headline and % the text is small, which looks bad. % % Another complication is that the group might be very large. This can % cause the glue on the previous page to be unduly stretched, because it % does not have much material. In this case, it's better to add an % explicit \vfill so that the extra space is at the bottom. The % threshold for doing this is if the group is more than \vfilllimit % percent of a page (\vfilllimit can be changed inside of @tex). % \newbox\groupbox \def\vfilllimit{0.7} % \envdef\group{% \ifnum\catcode`\^^M=\active \else \errhelp = \groupinvalidhelp \errmessage{@group invalid in context where filling is enabled}% \fi \startsavinginserts % \setbox\groupbox = \vtop\bgroup % Do @comment since we are called inside an environment such as % @example, where each end-of-line in the input causes an % end-of-line in the output. We don't want the end-of-line after % the `@group' to put extra space in the output. Since @group % should appear on a line by itself (according to the Texinfo % manual), we don't worry about eating any user text. \comment } % % The \vtop produces a box with normal height and large depth; thus, TeX puts % \baselineskip glue before it, and (when the next line of text is done) % \lineskip glue after it. Thus, space below is not quite equal to space % above. But it's pretty close. \def\Egroup{% % To get correct interline space between the last line of the group % and the first line afterwards, we have to propagate \prevdepth. \endgraf % Not \par, as it may have been set to \lisppar. \global\dimen1 = \prevdepth \egroup % End the \vtop. % \dimen0 is the vertical size of the group's box. \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox % \dimen2 is how much space is left on the page (more or less). \dimen2 = \pageheight \advance\dimen2 by -\pagetotal % if the group doesn't fit on the current page, and it's a big big % group, force a page break. \ifdim \dimen0 > \dimen2 \ifdim \pagetotal < \vfilllimit\pageheight \page \fi \fi \box\groupbox \prevdepth = \dimen1 \checkinserts } % % TeX puts in an \escapechar (i.e., `@') at the beginning of the help % message, so this ends up printing `@group can only ...'. % \newhelp\groupinvalidhelp{% group can only be used in environments such as @example,^^J% where each line of input produces a line of output.} % @need space-in-mils % forces a page break if there is not space-in-mils remaining. \newdimen\mil \mil=0.001in % Old definition--didn't work. %\parseargdef\need{\par % %% This method tries to make TeX break the page naturally %% if the depth of the box does not fit. %{\baselineskip=0pt% %\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak %\prevdepth=-1000pt %}} \parseargdef\need{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. \par % % If the @need value is less than one line space, it's useless. \dimen0 = #1\mil \dimen2 = \ht\strutbox \advance\dimen2 by \dp\strutbox \ifdim\dimen0 > \dimen2 % % Do a \strut just to make the height of this box be normal, so the % normal leading is inserted relative to the preceding line. % And a page break here is fine. \vtop to #1\mil{\strut\vfil}% % % TeX does not even consider page breaks if a penalty added to the % main vertical list is 10000 or more. But in order to see if the % empty box we just added fits on the page, we must make it consider % page breaks. On the other hand, we don't want to actually break the % page after the empty box. So we use a penalty of 9999. % % There is an extremely small chance that TeX will actually break the % page at this \penalty, if there are no other feasible breakpoints in % sight. (If the user is using lots of big @group commands, which % almost-but-not-quite fill up a page, TeX will have a hard time doing % good page breaking, for example.) However, I could not construct an % example where a page broke at this \penalty; if it happens in a real % document, then we can reconsider our strategy. \penalty9999 % % Back up by the size of the box, whether we did a page break or not. \kern -#1\mil % % Do not allow a page break right after this kern. \nobreak \fi } % @br forces paragraph break (and is undocumented). \let\br = \par % @page forces the start of a new page. % \def\page{\par\vfill\supereject} % @exdent text.... % outputs text on separate line in roman font, starting at standard page margin % This records the amount of indent in the innermost environment. % That's how much \exdent should take out. \newskip\exdentamount % This defn is used inside fill environments such as @defun. \parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} % This defn is used inside nofill environments such as @example. \parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount \leftline{\hskip\leftskip{\rm#1}}}} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion % class. WHICH is `l' or `r'. % \newskip\inmarginspacing \inmarginspacing=1cm \def\strutdepth{\dp\strutbox} % \def\doinmargin#1#2{\strut\vadjust{% \nobreak \kern-\strutdepth \vtop to \strutdepth{% \baselineskip=\strutdepth \vss % if you have multiple lines of stuff to put here, you'll need to % make the vbox yourself of the appropriate size. \ifx#1l% \llap{\ignorespaces #2\hskip\inmarginspacing}% \else \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% \fi \null }% }} \def\inleftmargin{\doinmargin l} \def\inrightmargin{\doinmargin r} % % @inmargin{TEXT [, RIGHT-TEXT]} % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; % else use TEXT for both). % \def\inmargin#1{\parseinmargin #1,,\finish} \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \def\lefttext{#1}% have both texts \def\righttext{#2}% \else \def\lefttext{#1}% have only one text \def\righttext{#1}% \fi % \ifodd\pageno \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin \else \def\temp{\inleftmargin\lefttext}% \fi \temp } % @include FILE -- \input text of FILE. % \def\include{\parseargusing\filenamecatcodes\includezzz} \def\includezzz#1{% \pushthisfilestack \def\thisfile{#1}% {% \makevalueexpandable % we want to expand any @value in FILE. \turnoffactive % and allow special characters in the expansion \edef\temp{\noexpand\input #1 }% % % This trickery is to read FILE outside of a group, in case it makes % definitions, etc. \expandafter }\temp \popthisfilestack } \def\filenamecatcodes{% \catcode`\\=\other \catcode`~=\other \catcode`^=\other \catcode`_=\other \catcode`|=\other \catcode`<=\other \catcode`>=\other \catcode`+=\other \catcode`-=\other } \def\pushthisfilestack{% \expandafter\pushthisfilestackX\popthisfilestack\StackTerm } \def\pushthisfilestackX{% \expandafter\pushthisfilestackY\thisfile\StackTerm } \def\pushthisfilestackY #1\StackTerm #2\StackTerm {% \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% } \def\popthisfilestack{\errthisfilestackempty} \def\errthisfilestackempty{\errmessage{Internal error: the stack of filenames is empty.}} \def\thisfile{} % @center line % outputs that line, centered. % \parseargdef\center{% \ifhmode \let\next\centerH \else \let\next\centerV \fi \next{\hfil \ignorespaces#1\unskip \hfil}% } \def\centerH#1{% {% \hfil\break \advance\hsize by -\leftskip \advance\hsize by -\rightskip \line{#1}% \break }% } \def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} % @sp n outputs n lines of vertical space \parseargdef\sp{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment \def\comment{\begingroup \catcode`\^^M=\other% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% \commentxxx} {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} \let\c=\comment % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. % NCHARS can also be the word `asis' or `none'. % We cannot feasibly implement @paragraphindent asis, though. % \def\asisword{asis} % no translation, these are keywords \def\noneword{none} % \parseargdef\paragraphindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \defaultparindent = 0pt \else \defaultparindent = #1em \fi \fi \parindent = \defaultparindent } % @exampleindent NCHARS % We'll use ems for NCHARS like @paragraphindent. % It seems @exampleindent asis isn't necessary, but % I preserve it to make it similar to @paragraphindent. \parseargdef\exampleindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \lispnarrowing = 0pt \else \lispnarrowing = #1em \fi \fi } % @firstparagraphindent WORD % If WORD is `none', then suppress indentation of the first paragraph % after a section heading. If WORD is `insert', then do indent at such % paragraphs. % % The paragraph indentation is suppressed or not by calling % \suppressfirstparagraphindent, which the sectioning commands do. % We switch the definition of this back and forth according to WORD. % By default, we suppress indentation. % \def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} \def\insertword{insert} % \parseargdef\firstparagraphindent{% \def\temp{#1}% \ifx\temp\noneword \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent \else\ifx\temp\insertword \let\suppressfirstparagraphindent = \relax \else \errhelp = \EMsimple \errmessage{Unknown @firstparagraphindent option `\temp'}% \fi\fi } % Here is how we actually suppress indentation. Redefine \everypar to % \kern backwards by \parindent, and then reset itself to empty. % % We also make \indent itself not actually do anything until the next % paragraph. % \gdef\dosuppressfirstparagraphindent{% \gdef\indent{% \restorefirstparagraphindent \indent }% \gdef\noindent{% \restorefirstparagraphindent \noindent }% \global\everypar = {% \kern -\parindent \restorefirstparagraphindent }% } \gdef\restorefirstparagraphindent{% \global \let \indent = \ptexindent \global \let \noindent = \ptexnoindent \global \everypar = {}% } % @asis just yields its argument. Used with @table, for example. % \def\asis#1{#1} % @math outputs its argument in math mode. % % One complication: _ usually means subscripts, but it could also mean % an actual _ character, as in @math{@var{some_variable} + 1}. So make % _ active, and distinguish by seeing if the current family is \slfam, % which is what @var uses. { \catcode`\_ = \active \gdef\mathunderscore{% \catcode`\_=\active \def_{\ifnum\fam=\slfam \_\else\sb\fi}% } } % Another complication: we want \\ (and @\) to output a \ character. % FYI, plain.tex uses \\ as a temporary control sequence (why?), but % this is not advertised and we don't care. Texinfo does not % otherwise define @\. % % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} % \def\math{% \tex \mathunderscore \let\\ = \mathbackslash \mathactive % make the texinfo accent commands work in math mode \let\"=\ddot \let\'=\acute \let\==\bar \let\^=\hat \let\`=\grave \let\u=\breve \let\v=\check \let\~=\tilde \let\dotaccent=\dot $\finishmath } \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. % Some active characters (such as <) are spaced differently in math. % We have to reset their definitions in case the @math was an argument % to a command which sets the catcodes (such as @item or @section). % { \catcode`^ = \active \catcode`< = \active \catcode`> = \active \catcode`+ = \active \gdef\mathactive{% \let^ = \ptexhat \let< = \ptexless \let> = \ptexgtr \let+ = \ptexplus } } % Some math mode symbols. \def\bullet{$\ptexbullet$} \def\geq{\ifmmode \ge\else $\ge$\fi} \def\leq{\ifmmode \le\else $\le$\fi} \def\minus{\ifmmode -\else $-$\fi} % @dots{} outputs an ellipsis using the current font. % We do .5em per period so that it has the same spacing in the cm % typewriter fonts as three actual period characters; on the other hand, % in other typewriter fonts three periods are wider than 1.5em. So do % whichever is larger. % \def\dots{% \leavevmode \setbox0=\hbox{...}% get width of three periods \ifdim\wd0 > 1.5em \dimen0 = \wd0 \else \dimen0 = 1.5em \fi \hbox to \dimen0{% \hskip 0pt plus.25fil .\hskip 0pt plus1fil .\hskip 0pt plus1fil .\hskip 0pt plus.5fil }% } % @enddots{} is an end-of-sentence ellipsis. % \def\enddots{% \dots \spacefactor=\endofsentencespacefactor } % @comma{} is so commas can be inserted into text without messing up % Texinfo's parsing. % \let\comma = , % @refill is a no-op. \let\refill=\relax % If working on a large document in chapters, it is convenient to % be able to disable indexing, cross-referencing, and contents, for test runs. % This is done with @novalidate (before @setfilename). % \newif\iflinks \linkstrue % by default we want the aux files. \let\novalidate = \linksfalse % @setfilename is done at the beginning of every texinfo file. % So open here the files we need to have open while reading the input. % This makes it possible to make a .fmt file for texinfo. \def\setfilename{% \fixbackslash % Turn off hack to swallow `\input texinfo'. \iflinks \tryauxfile % Open the new aux file. TeX will close it automatically at exit. \immediate\openout\auxfile=\jobname.aux \fi % \openindices needs to do some work in any case. \openindices \let\setfilename=\comment % Ignore extra @setfilename cmds. % % If texinfo.cnf is present on the system, read it. % Useful for site-wide @afourpaper, etc. \openin 1 texinfo.cnf \ifeof 1 \else \input texinfo.cnf \fi \closein 1 % \comment % Ignore the actual filename. } % Called from \setfilename. % \def\openindices{% \newindex{cp}% \newcodeindex{fn}% \newcodeindex{vr}% \newcodeindex{tp}% \newcodeindex{ky}% \newcodeindex{pg}% } % @bye. \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} \message{pdf,} % adobe `portable' document format \newcount\tempnum \newcount\lnkcount \newtoks\filename \newcount\filenamelength \newcount\pgn \newtoks\toksA \newtoks\toksB \newtoks\toksC \newtoks\toksD \newbox\boxA \newcount\countA \newif\ifpdf \newif\ifpdfmakepagedest % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 % can be set). So we test for \relax and 0 as well as \undefined, % borrowed from ifpdf.sty. \ifx\pdfoutput\undefined \else \ifx\pdfoutput\relax \else \ifcase\pdfoutput \else \pdftrue \fi \fi \fi % PDF uses PostScript string constants for the names of xref targets, % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be % interpreted as a newline (\n), followed by o, d, e. Not good. % http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html % (and related messages, the final outcome is that it is up to the TeX % user to double the backslashes and otherwise make the string valid, so % that's what we do). % double active backslashes. % {\catcode`\@=0 \catcode`\\=\active @gdef@activebackslashdouble{% @catcode`@\=@active @let\=@doublebackslash} } % To handle parens, we must adopt a different approach, since parens are % not active characters. hyperref.dtx (which has the same problem as % us) handles it with this amazing macro to replace tokens, with minor % changes for Texinfo. It is included here under the GPL by permission % from the author, Heiko Oberdiek. % % #1 is the tokens to replace. % #2 is the replacement. % #3 is the control sequence with the string. % \def\HyPsdSubst#1#2#3{% \def\HyPsdReplace##1#1##2\END{% ##1% \ifx\\##2\\% \else #2% \HyReturnAfterFi{% \HyPsdReplace##2\END }% \fi }% \xdef#3{\expandafter\HyPsdReplace#3#1\END}% } \long\def\HyReturnAfterFi#1\fi{\fi#1} % #1 is a control sequence in which to do the replacements. \def\backslashparens#1{% \xdef#1{#1}% redefine it as its expansion; the definition is simply % \lastnode when called from \setref -> \pdfmkdest. \HyPsdSubst{(}{\realbackslash(}{#1}% \HyPsdSubst{)}{\realbackslash)}{#1}% } \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images with PDF output, and none of those formats could be found. (.eps cannot be supported due to the design of the PDF format; use regular TeX (DVI output) for that.)} \ifpdf % % Color manipulation macros based on pdfcolor.tex. \def\cmykDarkRed{0.28 1 1 0.35} \def\cmykBlack{0 0 0 1} % \def\pdfsetcolor#1{\pdfliteral{#1 k}} % Set color, and create a mark which defines \thiscolor accordingly, % so that \makeheadline knows which color to restore. \def\setcolor#1{% \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}% \domark \pdfsetcolor{#1}% } % \def\maincolor{\cmykBlack} \pdfsetcolor{\maincolor} \edef\thiscolor{\maincolor} \def\lastcolordefs{} % \def\makefootline{% \baselineskip24pt \line{\pdfsetcolor{\maincolor}\the\footline}% } % \def\makeheadline{% \vbox to 0pt{% \vskip-22.5pt \line{% \vbox to8.5pt{}% % Extract \thiscolor definition from the marks. \getcolormarks % Typeset the headline with \maincolor, then restore the color. \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% }% \vss }% \nointerlineskip } % % \pdfcatalog{/PageMode /UseOutlines} % % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\dopdfimage#1#2#3{% \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % % pdftex (and the PDF format) support .png, .jpg, .pdf (among % others). Let's try in that order. \let\pdfimgext=\empty \begingroup \openin 1 #1.png \ifeof 1 \openin 1 #1.jpg \ifeof 1 \openin 1 #1.jpeg \ifeof 1 \openin 1 #1.JPG \ifeof 1 \openin 1 #1.pdf \ifeof 1 \openin 1 #1.PDF \ifeof 1 \errhelp = \nopdfimagehelp \errmessage{Could not find image file #1 for pdf}% \else \gdef\pdfimgext{PDF}% \fi \else \gdef\pdfimgext{pdf}% \fi \else \gdef\pdfimgext{JPG}% \fi \else \gdef\pdfimgext{jpeg}% \fi \else \gdef\pdfimgext{jpg}% \fi \else \gdef\pdfimgext{png}% \fi \closein 1 \endgroup % % without \immediate, ancient pdftex seg faults when the same image is % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) \ifnum\pdftexversion < 14 \immediate\pdfimage \else \immediate\pdfximage \fi \ifdim \wd0 >0pt width \imagewidth \fi \ifdim \wd2 >0pt height \imageheight \fi \ifnum\pdftexversion<13 #1.\pdfimgext \else {#1.\pdfimgext}% \fi \ifnum\pdftexversion < 14 \else \pdfrefximage \pdflastximage \fi} % \def\pdfmkdest#1{{% % We have to set dummies so commands such as @code, and characters % such as \, aren't expanded when present in a section title. \indexnofonts \turnoffactive \activebackslashdouble \makevalueexpandable \def\pdfdestname{#1}% \backslashparens\pdfdestname \safewhatsit{\pdfdest name{\pdfdestname} xyz}% }} % % used to mark target names; must be expandable. \def\pdfmkpgn#1{#1} % % by default, use a color that is dark enough to print on paper as % nearly black, but still distinguishable for online viewing. \def\urlcolor{\cmykDarkRed} \def\linkcolor{\cmykDarkRed} \def\endlink{\setcolor{\maincolor}\pdfendlink} % % Adding outlines to PDF; macros for calculating structure of outlines % come from Petr Olsak \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% \else \csname#1\endcsname \fi} \def\advancenumber#1{\tempnum=\expnumber{#1}\relax \advance\tempnum by 1 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} % % #1 is the section text, which is what will be displayed in the % outline by the pdf viewer. #2 is the pdf expression for the number % of subentries (or empty, for subsubsections). #3 is the node text, % which might be empty if this toc entry had no corresponding node. % #4 is the page number % \def\dopdfoutline#1#2#3#4{% % Generate a link to the node text if that exists; else, use the % page number. We could generate a destination for the section % text in the case where a section has no node, but it doesn't % seem worth the trouble, since most documents are normally structured. \def\pdfoutlinedest{#3}% \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}% \else % Doubled backslashes in the name. {\activebackslashdouble \xdef\pdfoutlinedest{#3}% \backslashparens\pdfoutlinedest}% \fi % % Also double the backslashes in the display string. {\activebackslashdouble \xdef\pdfoutlinetext{#1}% \backslashparens\pdfoutlinetext}% % \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% } % \def\pdfmakeoutlines{% \begingroup % Thanh's hack / proper braces in bookmarks \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace % % Read toc silently, to get counts of subentries for \pdfoutline. \def\numchapentry##1##2##3##4{% \def\thischapnum{##2}% \def\thissecnum{0}% \def\thissubsecnum{0}% }% \def\numsecentry##1##2##3##4{% \advancenumber{chap\thischapnum}% \def\thissecnum{##2}% \def\thissubsecnum{0}% }% \def\numsubsecentry##1##2##3##4{% \advancenumber{sec\thissecnum}% \def\thissubsecnum{##2}% }% \def\numsubsubsecentry##1##2##3##4{% \advancenumber{subsec\thissubsecnum}% }% \def\thischapnum{0}% \def\thissecnum{0}% \def\thissubsecnum{0}% % % use \def rather than \let here because we redefine \chapentry et % al. a second time, below. \def\appentry{\numchapentry}% \def\appsecentry{\numsecentry}% \def\appsubsecentry{\numsubsecentry}% \def\appsubsubsecentry{\numsubsubsecentry}% \def\unnchapentry{\numchapentry}% \def\unnsecentry{\numsecentry}% \def\unnsubsecentry{\numsubsecentry}% \def\unnsubsubsecentry{\numsubsubsecentry}% \readdatafile{toc}% % % Read toc second time, this time actually producing the outlines. % The `-' means take the \expnumber as the absolute number of % subentries, which we calculated on our first read of the .toc above. % % We use the node names as the destinations. \def\numchapentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% \def\numsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% \def\numsubsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% \def\numsubsubsecentry##1##2##3##4{% count is always zero \dopdfoutline{##1}{}{##3}{##4}}% % % PDF outlines are displayed using system fonts, instead of % document fonts. Therefore we cannot use special characters, % since the encoding is unknown. For example, the eogonek from % Latin 2 (0xea) gets translated to a | character. Info from % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. % % xx to do this right, we have to translate 8-bit characters to % their "best" equivalent, based on the @documentencoding. Right % now, I guess we'll just let the pdf reader have its way. \indexnofonts \setupdatafile \catcode`\\=\active \otherbackslash \input \tocreadfilename \endgroup } % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces \ifx\p\space\else\addtokens{\filename}{\PP}% \advance\filenamelength by 1 \fi \fi \nextsp} \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} \ifnum\pdftexversion < 14 \let \startlink \pdfannotlink \else \let \startlink \pdfstartlink \fi % make a live url in pdf output. \def\pdfurl#1{% \begingroup % it seems we really need yet another set of dummies; have not % tried to figure out what each command should do in the context % of @url. for now, just make @/ a no-op, that's the only one % people have actually reported a problem with. % \normalturnoffactive \def\@{@}% \let\/=\empty \makevalueexpandable \leavevmode\setcolor{\urlcolor}% \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% \endgroup} \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} \def\maketoks{% \expandafter\poptoks\the\toksA|ENDTOKS|\relax \ifx\first0\adn0 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 \else \ifnum0=\countA\else\makelink\fi \ifx\first.\let\next=\done\else \let\next=\maketoks \addtokens{\toksB}{\the\toksD} \ifx\first,\addtokens{\toksB}{\space}\fi \fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \next} \def\makelink{\addtokens{\toksB}% {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} \def\pdflink#1{% \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} \setcolor{\linkcolor}#1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} \else \let\pdfmkdest = \gobble \let\pdfurl = \gobble \let\endlink = \relax \let\setcolor = \gobble \let\pdfsetcolor = \gobble \let\pdfmakeoutlines = \relax \fi % \ifx\pdfoutput \message{fonts,} % Change the current font style to #1, remembering it in \curfontstyle. % For now, we do not accumulate font styles: @b{@i{foo}} prints foo in % italics, not bold italics. % \def\setfontstyle#1{% \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. \csname ten#1\endcsname % change the current font } % Select #1 fonts with the current style. % \def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} \def\rm{\fam=0 \setfontstyle{rm}} \def\it{\fam=\itfam \setfontstyle{it}} \def\sl{\fam=\slfam \setfontstyle{sl}} \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} \def\tt{\fam=\ttfam \setfontstyle{tt}} % Texinfo sort of supports the sans serif font style, which plain TeX does not. % So we set up a \sf. \newfam\sffam \def\sf{\fam=\sffam \setfontstyle{sf}} \let\li = \sf % Sometimes we call it \li, not \sf. % We don't need math for this font style. \def\ttsl{\setfontstyle{ttsl}} % Default leading. \newdimen\textleading \textleading = 13.2pt % Set the baselineskip to #1, and the lineskip and strut size % correspondingly. There is no deep meaning behind these magic numbers % used as factors; they just match (closely enough) what Knuth defined. % \def\lineskipfactor{.08333} \def\strutheightpercent{.70833} \def\strutdepthpercent {.29167} % % can get a sort of poor man's double spacing by redefining this. \def\baselinefactor{1} % \def\setleading#1{% \dimen0 = #1\relax \normalbaselineskip = \baselinefactor\dimen0 \normallineskip = \lineskipfactor\normalbaselineskip \normalbaselines \setbox\strutbox =\hbox{% \vrule width0pt height\strutheightpercent\baselineskip depth \strutdepthpercent \baselineskip }% } % PDF CMaps. See also LaTeX's t1.cmap. % % do nothing with this by default. \expandafter\let\csname cmapOT1\endcsname\gobble \expandafter\let\csname cmapOT1IT\endcsname\gobble \expandafter\let\csname cmapOT1TT\endcsname\gobble % if we are producing pdf, and we have \pdffontattr, then define cmaps. % (\pdffontattr was introduced many years ago, but people still run % older pdftex's; it's easy to conditionalize, so we do.) \ifpdf \ifx\pdffontattr\undefined \else \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1-0) %%Title: (TeX-OT1-0 TeX OT1 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1) /Supplement 0 >> def /CMapName /TeX-OT1-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <23> <26> <0023> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 40 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1IT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1IT-0) %%Title: (TeX-OT1IT-0 TeX OT1IT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1IT) /Supplement 0 >> def /CMapName /TeX-OT1IT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <25> <26> <0025> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 42 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <23> <0023> <24> <00A3> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1IT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1TT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1TT-0) %%Title: (TeX-OT1TT-0 TeX OT1TT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1TT) /Supplement 0 >> def /CMapName /TeX-OT1TT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 5 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <21> <26> <0021> <28> <5F> <0028> <61> <7E> <0061> endbfrange 32 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <2191> <0C> <2193> <0D> <0027> <0E> <00A1> <0F> <00BF> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <20> <2423> <27> <2019> <60> <2018> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1TT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% \fi\fi % Set the font macro #1 to the font named #2, adding on the % specified font prefix (normally `cm'). % #3 is the font's design size, #4 is a scale factor, #5 is the CMap % encoding (currently only OT1, OT1IT and OT1TT are allowed, pass % empty to omit). \def\setfont#1#2#3#4#5{% \font#1=\fontprefix#2#3 scaled #4 \csname cmap#5\endcsname#1% } % This is what gets called when #5 of \setfont is empty. \let\cmap\gobble % emacs-page end of cmaps % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix % before you read in texinfo.tex. \ifx\fontprefix\undefined \def\fontprefix{cm} \fi % Support font families that don't use the same naming scheme as CM. \def\rmshape{r} \def\rmbshape{bx} %where the normal face is bold \def\bfshape{b} \def\bxshape{bx} \def\ttshape{tt} \def\ttbshape{tt} \def\ttslshape{sltt} \def\itshape{ti} \def\itbshape{bxti} \def\slshape{sl} \def\slbshape{bxsl} \def\sfshape{ss} \def\sfbshape{ss} \def\scshape{csc} \def\scbshape{csc} % Definitions for a main text size of 11pt. This is the default in % Texinfo. % \def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). \def\textnominalsize{11pt} \edef\mainmagstep{\magstephalf} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1095} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstep1}{OT1} \setfont\deftt\ttshape{10}{\magstep1}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\authorrm{\secrm} \def\authortt{\sectt} \def\titleecsize{2074} % Chapter (and unnumbered) fonts (17.28pt). \def\chapnominalsize{17pt} \setfont\chaprm\rmbshape{12}{\magstep2}{OT1} \setfont\chapit\itbshape{10}{\magstep3}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep3}{OT1} \setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT} \setfont\chapsf\sfbshape{17}{1000}{OT1} \let\chapbf=\chaprm \setfont\chapsc\scbshape{10}{\magstep3}{OT1} \font\chapi=cmmi12 scaled \magstep2 \font\chapsy=cmsy10 scaled \magstep3 \def\chapecsize{1728} % Section fonts (14.4pt). \def\secnominalsize{14pt} \setfont\secrm\rmbshape{12}{\magstep1}{OT1} \setfont\secit\itbshape{10}{\magstep2}{OT1IT} \setfont\secsl\slbshape{10}{\magstep2}{OT1} \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\secsf\sfbshape{12}{\magstep1}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep2}{OT1} \font\seci=cmmi12 scaled \magstep1 \font\secsy=cmsy10 scaled \magstep2 \def\sececsize{1440} % Subsection fonts (13.15pt). \def\ssecnominalsize{13pt} \setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1} \setfont\ssecit\itbshape{10}{1315}{OT1IT} \setfont\ssecsl\slbshape{10}{1315}{OT1} \setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1315}{OT1TT} \setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1315}{OT1} \font\sseci=cmmi12 scaled \magstephalf \font\ssecsy=cmsy10 scaled 1315 \def\ssececsize{1200} % Reduced fonts for @acro in text (10pt). \def\reducednominalsize{10pt} \setfont\reducedrm\rmshape{10}{1000}{OT1} \setfont\reducedtt\ttshape{10}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{1000}{OT1} \setfont\reducedit\itshape{10}{1000}{OT1IT} \setfont\reducedsl\slshape{10}{1000}{OT1} \setfont\reducedsf\sfshape{10}{1000}{OT1} \setfont\reducedsc\scshape{10}{1000}{OT1} \setfont\reducedttsl\ttslshape{10}{1000}{OT1TT} \font\reducedi=cmmi10 \font\reducedsy=cmsy10 \def\reducedecsize{1000} % reset the current fonts \textfonts \rm } % end of 11pt text font size definitions % Definitions to make the main text be 10pt Computer Modern, with % section, chapter, etc., sizes following suit. This is for the GNU % Press printing of the Emacs 22 manual. Maybe other manuals in the % future. Used with @smallbook, which sets the leading to 12pt. % \def\definetextfontsizex{% % Text fonts (10pt). \def\textnominalsize{10pt} \edef\mainmagstep{1000} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1000} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstephalf}{OT1} \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\authorrm{\secrm} \def\authortt{\sectt} \def\titleecsize{2074} % Chapter fonts (14.4pt). \def\chapnominalsize{14pt} \setfont\chaprm\rmbshape{12}{\magstep1}{OT1} \setfont\chapit\itbshape{10}{\magstep2}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep2}{OT1} \setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\chapsf\sfbshape{12}{\magstep1}{OT1} \let\chapbf\chaprm \setfont\chapsc\scbshape{10}{\magstep2}{OT1} \font\chapi=cmmi12 scaled \magstep1 \font\chapsy=cmsy10 scaled \magstep2 \def\chapecsize{1440} % Section fonts (12pt). \def\secnominalsize{12pt} \setfont\secrm\rmbshape{12}{1000}{OT1} \setfont\secit\itbshape{10}{\magstep1}{OT1IT} \setfont\secsl\slbshape{10}{\magstep1}{OT1} \setfont\sectt\ttbshape{12}{1000}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT} \setfont\secsf\sfbshape{12}{1000}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep1}{OT1} \font\seci=cmmi12 \font\secsy=cmsy10 scaled \magstep1 \def\sececsize{1200} % Subsection fonts (10pt). \def\ssecnominalsize{10pt} \setfont\ssecrm\rmbshape{10}{1000}{OT1} \setfont\ssecit\itbshape{10}{1000}{OT1IT} \setfont\ssecsl\slbshape{10}{1000}{OT1} \setfont\ssectt\ttbshape{10}{1000}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1000}{OT1TT} \setfont\ssecsf\sfbshape{10}{1000}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1000}{OT1} \font\sseci=cmmi10 \font\ssecsy=cmsy10 \def\ssececsize{1000} % Reduced fonts for @acro in text (9pt). \def\reducednominalsize{9pt} \setfont\reducedrm\rmshape{9}{1000}{OT1} \setfont\reducedtt\ttshape{9}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{900}{OT1} \setfont\reducedit\itshape{9}{1000}{OT1IT} \setfont\reducedsl\slshape{9}{1000}{OT1} \setfont\reducedsf\sfshape{9}{1000}{OT1} \setfont\reducedsc\scshape{10}{900}{OT1} \setfont\reducedttsl\ttslshape{10}{900}{OT1TT} \font\reducedi=cmmi9 \font\reducedsy=cmsy9 \def\reducedecsize{0900} % reduce space between paragraphs \divide\parskip by 2 % reset the current fonts \textfonts \rm } % end of 10pt text font size definitions % We provide the user-level command % @fonttextsize 10 % (or 11) to redefine the text font size. pt is assumed. % \def\xword{10} \def\xiword{11} % \parseargdef\fonttextsize{% \def\textsizearg{#1}% \wlog{doing @fonttextsize \textsizearg}% % % Set \globaldefs so that documents can use this inside @tex, since % makeinfo 4.8 does not support it, but we need it nonetheless. % \begingroup \globaldefs=1 \ifx\textsizearg\xword \definetextfontsizex \else \ifx\textsizearg\xiword \definetextfontsizexi \else \errhelp=\EMsimple \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} \fi\fi \endgroup } % In order for the font changes to affect most math symbols and letters, % we have to define the \textfont of the standard families. Since % texinfo doesn't allow for producing subscripts and superscripts except % in the main text, we don't bother to reset \scriptfont and % \scriptscriptfont (which would also require loading a lot more fonts). % \def\resetmathfonts{% \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf \textfont\ttfam=\tentt \textfont\sffam=\tensf } % The font-changing commands redefine the meanings of \tenSTYLE, instead % of just \STYLE. We do this because \STYLE needs to also set the % current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire % \tenSTYLE to set the current font. % % Each font-changing command also sets the names \lsize (one size lower) % and \lllsize (three sizes lower). These relative commands are used in % the LaTeX logo and acronyms. % % This all needs generalizing, badly. % \def\textfonts{% \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl \def\curfontsize{text}% \def\lsize{reduced}\def\lllsize{smaller}% \resetmathfonts \setleading{\textleading}} \def\titlefonts{% \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tenttsl=\titlettsl \def\curfontsize{title}% \def\lsize{chap}\def\lllsize{subsec}% \resetmathfonts \setleading{25pt}} \def\titlefont#1{{\titlefonts\rm #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl \def\curfontsize{chap}% \def\lsize{sec}\def\lllsize{text}% \resetmathfonts \setleading{19pt}} \def\secfonts{% \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl \def\curfontsize{sec}% \def\lsize{subsec}\def\lllsize{reduced}% \resetmathfonts \setleading{16pt}} \def\subsecfonts{% \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl \def\curfontsize{ssec}% \def\lsize{text}\def\lllsize{small}% \resetmathfonts \setleading{15pt}} \let\subsubsecfonts = \subsecfonts \def\reducedfonts{% \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy \let\tenttsl=\reducedttsl \def\curfontsize{reduced}% \def\lsize{small}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallfonts{% \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy \let\tenttsl=\smallttsl \def\curfontsize{small}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallerfonts{% \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy \let\tenttsl=\smallerttsl \def\curfontsize{smaller}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{9.5pt}} % Set the fonts to use with the @small... environments. \let\smallexamplefonts = \smallfonts % About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample % can fit this many characters: % 8.5x11=86 smallbook=72 a4=90 a5=69 % If we use \scriptfonts (8pt), then we can fit this many characters: % 8.5x11=90+ smallbook=80 a4=90+ a5=77 % For me, subjectively, the few extra characters that fit aren't worth % the additional smallness of 8pt. So I'm making the default 9pt. % % By the way, for comparison, here's what fits with @example (10pt): % 8.5x11=71 smallbook=60 a4=75 a5=58 % % I wish the USA used A4 paper. % --karl, 24jan03. % Set up the default fonts, so we can use them for creating boxes. % \definetextfontsizexi % Define these so they can be easily changed for other fonts. \def\angleleft{$\langle$} \def\angleright{$\rangle$} % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 % Fonts for short table of contents. \setfont\shortcontrm\rmshape{12}{1000}{OT1} \setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 \setfont\shortcontsl\slshape{12}{1000}{OT1} \setfont\shortconttt\ttshape{12}{1000}{OT1TT} %% Add scribe-like font environments, plus @l for inline lisp (usually sans %% serif) and @ii for TeX italic % \smartitalic{ARG} outputs arg in italics, followed by an italic correction % unless the following character is such as not to need one. \def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else \ptexslash\fi\fi\fi} \def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} \def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} % like \smartslanted except unconditionally uses \ttsl. % @var is set to this for defun arguments. \def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} % like \smartslanted except unconditionally use \sl. We never want % ttsl for book titles, do we? \def\cite#1{{\sl #1}\futurelet\next\smartitalicx} \let\i=\smartitalic \let\slanted=\smartslanted \let\var=\smartslanted \let\dfn=\smartslanted \let\emph=\smartitalic % @b, explicit bold. \def\b#1{{\bf #1}} \let\strong=\b % @sansserif, explicit sans. \def\sansserif#1{{\sf #1}} % We can't just use \exhyphenpenalty, because that only has effect at % the end of a paragraph. Restore normal hyphenation at the end of the % group within which \nohyphenation is presumably called. % \def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} \def\restorehyphenation{\hyphenchar\font = `- } % Set sfcode to normal for the chars that usually have another value. % Can't use plain's \frenchspacing because it uses the `\x notation, and % sometimes \x has an active definition that messes things up. % \catcode`@=11 \def\plainfrenchspacing{% \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m \def\endofsentencespacefactor{1000}% for @. and friends } \def\plainnonfrenchspacing{% \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 \def\endofsentencespacefactor{3000}% for @. and friends } \catcode`@=\other \def\endofsentencespacefactor{3000}% default \def\t#1{% {\tt \rawbackslash \plainfrenchspacing #1}% \null } \def\samp#1{`\tclose{#1}'\null} \setfont\keyrm\rmshape{8}{1000}{OT1} \font\keysy=cmsy9 \def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% \vbox{\hrule\kern-0.4pt \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% \kern-0.4pt\hrule}% \kern-.06em\raise0.4pt\hbox{\angleright}}}} \def\key #1{{\nohyphenation \uppercase{#1}}\null} % The old definition, with no lozenge: %\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} \def\ctrl #1{{\tt \rawbackslash \hat}#1} % @file, @option are the same as @samp. \let\file=\samp \let\option=\samp % @code is a modification of @t, % which makes spaces the same size as normal in the surrounding text. \def\tclose#1{% {% % Change normal interword space to be same as for the current font. \spaceskip = \fontdimen2\font % % Switch to typewriter. \tt % % But `\ ' produces the large typewriter interword space. \def\ {{\spaceskip = 0pt{} }}% % % Turn off hyphenation. \nohyphenation % \rawbackslash \plainfrenchspacing #1% }% \null } % We *must* turn on hyphenation at `-' and `_' in @code. % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) % and arrange explicitly to hyphenate at a dash. % -- rms. { \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active \catcode`\`=\active % \global\def\code{\begingroup \catcode\rquoteChar=\active \catcode\lquoteChar=\active \let'\codequoteright \let`\codequoteleft % \catcode\dashChar=\active \catcode\underChar=\active \ifallowcodebreaks \let-\codedash \let_\codeunder \else \let-\realdash \let_\realunder \fi \codex } } \def\realdash{-} \def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) % will therefore expand the active definition of _, which is us % (inside @code that is), therefore an endless loop. \ifusingtt{\ifmmode \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. \else\normalunderscore \fi \discretionary{}{}{}}% {\_}% } \def\codex #1{\tclose{#1}\endgroup} % An additional complication: the above will allow breaks after, e.g., % each of the four underscores in __typeof__. This is undesirable in % some manuals, especially if they don't have long identifiers in % general. @allowcodebreaks provides a way to control this. % \newif\ifallowcodebreaks \allowcodebreakstrue \def\keywordtrue{true} \def\keywordfalse{false} \parseargdef\allowcodebreaks{% \def\txiarg{#1}% \ifx\txiarg\keywordtrue \allowcodebreakstrue \else\ifx\txiarg\keywordfalse \allowcodebreaksfalse \else \errhelp = \EMsimple \errmessage{Unknown @allowcodebreaks option `\txiarg'}% \fi\fi } % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). \parseargdef\kbdinputstyle{% \def\txiarg{#1}% \ifx\txiarg\worddistinct \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% \else\ifx\txiarg\wordexample \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% \else\ifx\txiarg\wordcode \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \else \errhelp = \EMsimple \errmessage{Unknown @kbdinputstyle option `\txiarg'}% \fi\fi\fi } \def\worddistinct{distinct} \def\wordexample{example} \def\wordcode{code} % Default is `distinct.' \kbdinputstyle distinct \def\xkey{\key} \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% \ifx\one\xkey\ifx\threex\three \key{#2}% \else{\tclose{\kbdfont\look}}\fi \else{\tclose{\kbdfont\look}}\fi} % For @indicateurl, @env, @command quotes seem unnecessary, so use \code. \let\indicateurl=\code \let\env=\code \let\command=\code % @clicksequence{File @click{} Open ...} \def\clicksequence#1{\begingroup #1\endgroup} % @clickstyle @arrow (by default) \parseargdef\clickstyle{\def\click{#1}} \def\click{\arrow} % @uref (abbreviation for `urlref') takes an optional (comma-separated) % second argument specifying the text to display and an optional third % arg as text to display instead of (rather than in addition to) the url % itself. First (mandatory) arg is the url. Perhaps eventually put in % a hypertex \special here. % \def\uref#1{\douref #1,,,\finish} \def\douref#1,#2,#3,#4\finish{\begingroup \unsepspaces \pdfurl{#1}% \setbox0 = \hbox{\ignorespaces #3}% \ifdim\wd0 > 0pt \unhbox0 % third arg given, show only that \else \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \ifpdf \unhbox0 % PDF: 2nd arg given, show only it \else \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url \fi \else \code{#1}% only url given, so show it \fi \fi \endlink \endgroup} % @url synonym for @uref, since that's how everyone uses it. % \let\url=\uref % rms does not like angle brackets --karl, 17may97. % So now @email is just like @uref, unless we are pdf. % %\def\email#1{\angleleft{\tt #1}\angleright} \ifpdf \def\email#1{\doemail#1,,\finish} \def\doemail#1,#2,#3\finish{\begingroup \unsepspaces \pdfurl{mailto:#1}% \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi \endlink \endgroup} \else \let\email=\uref \fi % Check if we are currently using a typewriter font. Since all the % Computer Modern typewriter fonts have zero interword stretch (and % shrink), and it is reasonable to expect all typewriter fonts to have % this property, we can check that font parameter. % \def\ifmonospace{\ifdim\fontdimen3\font=0pt } % Typeset a dimension, e.g., `in' or `pt'. The only reason for the % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. % \def\dmn#1{\thinspace #1} \def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} % @l was never documented to mean ``switch to the Lisp font'', % and it is not used as such in any manual I can find. We need it for % Polish suppressed-l. --karl, 22sep96. %\def\l#1{{\li #1}\null} % Explicit font changes: @r, @sc, undocumented @ii. \def\r#1{{\rm #1}} % roman font \def\sc#1{{\smallcaps#1}} % smallcaps font \def\ii#1{{\it #1}} % italic font % @acronym for "FBI", "NATO", and the like. % We print this one point size smaller, since it's intended for % all-uppercase. % \def\acronym#1{\doacronym #1,,\finish} \def\doacronym#1,#2,#3\finish{% {\selectfonts\lsize #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi } % @abbr for "Comput. J." and the like. % No font change, but don't do end-of-sentence spacing. % \def\abbr#1{\doabbr #1,,\finish} \def\doabbr#1,#2,#3\finish{% {\plainfrenchspacing #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi } % @pounds{} is a sterling sign, which Knuth put in the CM italic font. % \def\pounds{{\it\$}} % @euro{} comes from a separate font, depending on the current style. % We use the free feym* fonts from the eurosym package by Henrik % Theiling, which support regular, slanted, bold and bold slanted (and % "outlined" (blackboard board, sort of) versions, which we don't need). % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. % % Although only regular is the truly official Euro symbol, we ignore % that. The Euro is designed to be slightly taller than the regular % font height. % % feymr - regular % feymo - slanted % feybr - bold % feybo - bold slanted % % There is no good (free) typewriter version, to my knowledge. % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. % Hmm. % % Also doesn't work in math. Do we need to do math with euro symbols? % Hope not. % % \def\euro{{\eurofont e}} \def\eurofont{% % We set the font at each command, rather than predefining it in % \textfonts and the other font-switching commands, so that % installations which never need the symbol don't have to have the % font installed. % % There is only one designed size (nominal 10pt), so we always scale % that to the current nominal size. % % By the way, simply using "at 1em" works for cmr10 and the like, but % does not work for cmbx10 and other extended/shrunken fonts. % \def\eurosize{\csname\curfontsize nominalsize\endcsname}% % \ifx\curfontstyle\bfstylename % bold: \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize \else % regular: \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize \fi \thiseurofont } % Hacks for glyphs from the EC fonts similar to \euro. We don't % use \let for the aliases, because sometimes we redefine the original % macro, and the alias should reflect the redefinition. \def\guillemetleft{{\ecfont \char"13}} \def\guillemotleft{\guillemetleft} \def\guillemetright{{\ecfont \char"14}} \def\guillemotright{\guillemetright} \def\guilsinglleft{{\ecfont \char"0E}} \def\guilsinglright{{\ecfont \char"0F}} \def\quotedblbase{{\ecfont \char"12}} \def\quotesinglbase{{\ecfont \char"0D}} % \def\ecfont{% % We can't distinguish serif/sanserif and italic/slanted, but this % is used for crude hacks anyway (like adding French and German % quotes to documents typeset with CM, where we lose kerning), so % hopefully nobody will notice/care. \edef\ecsize{\csname\curfontsize ecsize\endcsname}% \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% \ifx\curfontstyle\bfstylename % bold: \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize \else % regular: \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize \fi \thisecfont } % @registeredsymbol - R in a circle. The font for the R should really % be smaller yet, but lllsize is the best we can do for now. % Adapted from the plain.tex definition of \copyright. % \def\registeredsymbol{% $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% \hfil\crcr\Orb}}% }$% } % @textdegree - the normal degrees sign. % \def\textdegree{$^\circ$} % Laurent Siebenmann reports \Orb undefined with: % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 % so we'll define it if necessary. % \ifx\Orb\undefined \def\Orb{\mathhexbox20D} \fi % Quotes. \chardef\quotedblleft="5C \chardef\quotedblright=`\" \chardef\quoteleft=`\` \chardef\quoteright=`\' \message{page headings,} \newskip\titlepagetopglue \titlepagetopglue = 1.5in \newskip\titlepagebottomglue \titlepagebottomglue = 2pc % First the title page. Must do @settitle before @titlepage. \newif\ifseenauthor \newif\iffinishedtitlepage % Do an implicit @contents or @shortcontents after @end titlepage if the % user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. % \newif\ifsetcontentsaftertitlepage \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue \newif\ifsetshortcontentsaftertitlepage \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue \parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% \endgroup\page\hbox{}\page} \envdef\titlepage{% % Open one extra group, as we want to close it in the middle of \Etitlepage. \begingroup \parindent=0pt \textfonts % Leave some space at the very top of the page. \vglue\titlepagetopglue % No rule at page bottom unless we print one at the top with @title. \finishedtitlepagetrue % % Most title ``pages'' are actually two pages long, with space % at the top of the second. We don't want the ragged left on the second. \let\oldpage = \page \def\page{% \iffinishedtitlepage\else \finishtitlepage \fi \let\page = \oldpage \page \null }% } \def\Etitlepage{% \iffinishedtitlepage\else \finishtitlepage \fi % It is important to do the page break before ending the group, % because the headline and footline are only empty inside the group. % If we use the new definition of \page, we always get a blank page % after the title page, which we certainly don't want. \oldpage \endgroup % % Need this before the \...aftertitlepage checks so that if they are % in effect the toc pages will come out with page numbers. \HEADINGSon % % If they want short, they certainly want long too. \ifsetshortcontentsaftertitlepage \shortcontents \contents \global\let\shortcontents = \relax \global\let\contents = \relax \fi % \ifsetcontentsaftertitlepage \contents \global\let\contents = \relax \global\let\shortcontents = \relax \fi } \def\finishtitlepage{% \vskip4pt \hrule height 2pt width \hsize \vskip\titlepagebottomglue \finishedtitlepagetrue } %%% Macros to be used within @titlepage: \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines \let\tt=\authortt} \parseargdef\title{% \checkenv\titlepage \leftline{\titlefonts\rm #1} % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt } \parseargdef\subtitle{% \checkenv\titlepage {\subtitlefont \rightline{#1}}% } % @author should come last, but may come many times. % It can also be used inside @quotation. % \parseargdef\author{% \def\temp{\quotation}% \ifx\thisenv\temp \def\quotationauthor{#1}% printed in \Equotation. \else \checkenv\titlepage \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi {\authorfont \leftline{#1}}% \fi } %%% Set up page headings and footings. \let\thispage=\folio \newtoks\evenheadline % headline on even pages \newtoks\oddheadline % headline on odd pages \newtoks\evenfootline % footline on even pages \newtoks\oddfootline % footline on odd pages % Now make TeX use those variables \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}} \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}\HEADINGShook} \let\HEADINGShook=\relax % Commands to set those variables. % For example, this is what @headings on does % @evenheading @thistitle|@thispage|@thischapter % @oddheading @thischapter|@thispage|@thistitle % @evenfooting @thisfile|| % @oddfooting ||@thisfile \def\evenheading{\parsearg\evenheadingxxx} \def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} \def\evenheadingyyy #1\|#2\|#3\|#4\finish{% \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddheading{\parsearg\oddheadingxxx} \def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} \def\oddheadingyyy #1\|#2\|#3\|#4\finish{% \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% \def\evenfooting{\parsearg\evenfootingxxx} \def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} \def\evenfootingyyy #1\|#2\|#3\|#4\finish{% \global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddfooting{\parsearg\oddfootingxxx} \def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} \def\oddfootingyyy #1\|#2\|#3\|#4\finish{% \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. \global\advance\pageheight by -12pt \global\advance\vsize by -12pt } \parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} % @evenheadingmarks top \thischapter <- chapter at the top of a page % @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page % % The same set of arguments for: % % @oddheadingmarks % @evenfootingmarks % @oddfootingmarks % @everyheadingmarks % @everyfootingmarks \def\evenheadingmarks{\headingmarks{even}{heading}} \def\oddheadingmarks{\headingmarks{odd}{heading}} \def\evenfootingmarks{\headingmarks{even}{footing}} \def\oddfootingmarks{\headingmarks{odd}{footing}} \def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1} \headingmarks{odd}{heading}{#1} } \def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1} \headingmarks{odd}{footing}{#1} } % #1 = even/odd, #2 = heading/footing, #3 = top/bottom. \def\headingmarks#1#2#3 {% \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname \global\expandafter\let\csname get#1#2marks\endcsname \temp } \everyheadingmarks bottom \everyfootingmarks bottom % @headings double turns headings on for double-sided printing. % @headings single turns headings on for single-sided printing. % @headings off turns them off. % @headings on same as @headings double, retained for compatibility. % @headings after turns on double-sided headings after this page. % @headings doubleafter turns on double-sided headings after this page. % @headings singleafter turns on single-sided headings after this page. % By default, they are off at the start of a document, % and turned `on' after @end titlepage. \def\headings #1 {\csname HEADINGS#1\endcsname} \def\HEADINGSoff{% \global\evenheadline={\hfil} \global\evenfootline={\hfil} \global\oddheadline={\hfil} \global\oddfootline={\hfil}} \HEADINGSoff % When we turn headings on, set the page number to 1. % For double-sided printing, put current file name in lower left corner, % chapter name on inside top of right hand pages, document % title on inside top of left hand pages, and page numbers on outside top % edge of all pages. \def\HEADINGSdouble{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \let\contentsalignmacro = \chappager % For single-sided printing, chapter title goes across top left of page, % page number on top right. \def\HEADINGSsingle{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } \def\HEADINGSon{\HEADINGSdouble} \def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} \let\HEADINGSdoubleafter=\HEADINGSafter \def\HEADINGSdoublex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} \def\HEADINGSsinglex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } % Subroutines used in generating headings % This produces Day Month Year style of output. % Only define if not already defined, in case a txi-??.tex file has set % up a different format (e.g., txi-cs.tex does this). \ifx\today\undefined \def\today{% \number\day\space \ifcase\month \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec \fi \space\number\year} \fi % @settitle line... specifies the title of the document, for headings. % It generates no output of its own. \def\thistitle{\putwordNoTitle} \def\settitle{\parsearg{\gdef\thistitle}} \message{tables,} % Tables -- @table, @ftable, @vtable, @item(x). % default indentation of table text \newdimen\tableindent \tableindent=.8in % default indentation of @itemize and @enumerate text \newdimen\itemindent \itemindent=.3in % margin between end of table item and start of table text. \newdimen\itemmargin \itemmargin=.1in % used internally for \itemindent minus \itemmargin \newdimen\itemmax % Note @table, @ftable, and @vtable define @item, @itemx, etc., with % these defs. % They also define \itemindex % to index the item name in whatever manner is desired (perhaps none). \newif\ifitemxneedsnegativevskip \def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} \def\internalBitem{\smallbreak \parsearg\itemzzz} \def\internalBitemx{\itemxpar \parsearg\itemzzz} \def\itemzzz #1{\begingroup % \advance\hsize by -\rightskip \advance\hsize by -\tableindent \setbox0=\hbox{\itemindicate{#1}}% \itemindex{#1}% \nobreak % This prevents a break before @itemx. % % If the item text does not fit in the space we have, put it on a line % by itself, and do not allow a page break either before or after that % line. We do not start a paragraph here because then if the next % command is, e.g., @kindex, the whatsit would get put into the % horizontal list on a line by itself, resulting in extra blank space. \ifdim \wd0>\itemmax % % Make this a paragraph so we get the \parskip glue and wrapping, % but leave it ragged-right. \begingroup \advance\leftskip by-\tableindent \advance\hsize by\tableindent \advance\rightskip by0pt plus1fil \leavevmode\unhbox0\par \endgroup % % We're going to be starting a paragraph, but we don't want the % \parskip glue -- logically it's part of the @item we just started. \nobreak \vskip-\parskip % % Stop a page break at the \parskip glue coming up. However, if % what follows is an environment such as @example, there will be no % \parskip glue; then the negative vskip we just inserted would % cause the example and the item to crash together. So we use this % bizarre value of 10001 as a signal to \aboveenvbreak to insert % \parskip glue after all. Section titles are handled this way also. % \penalty 10001 \endgroup \itemxneedsnegativevskipfalse \else % The item text fits into the space. Start a paragraph, so that the % following text (if any) will end up on the same line. \noindent % Do this with kerns and \unhbox so that if there is a footnote in % the item text, it can migrate to the main vertical list and % eventually be printed. \nobreak\kern-\tableindent \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 \unhbox0 \nobreak\kern\dimen0 \endgroup \itemxneedsnegativevskiptrue \fi } \def\item{\errmessage{@item while not in a list environment}} \def\itemx{\errmessage{@itemx while not in a list environment}} % @table, @ftable, @vtable. \envdef\table{% \let\itemindex\gobble \tablecheck{table}% } \envdef\ftable{% \def\itemindex ##1{\doind {fn}{\code{##1}}}% \tablecheck{ftable}% } \envdef\vtable{% \def\itemindex ##1{\doind {vr}{\code{##1}}}% \tablecheck{vtable}% } \def\tablecheck#1{% \ifnum \the\catcode`\^^M=\active \endgroup \errmessage{This command won't work in this context; perhaps the problem is that we are \inenvironment\thisenv}% \def\next{\doignore{#1}}% \else \let\next\tablex \fi \next } \def\tablex#1{% \def\itemindicate{#1}% \parsearg\tabley } \def\tabley#1{% {% \makevalueexpandable \edef\temp{\noexpand\tablez #1\space\space\space}% \expandafter }\temp \endtablez } \def\tablez #1 #2 #3 #4\endtablez{% \aboveenvbreak \ifnum 0#1>0 \advance \leftskip by #1\mil \fi \ifnum 0#2>0 \tableindent=#2\mil \fi \ifnum 0#3>0 \advance \rightskip by #3\mil \fi \itemmax=\tableindent \advance \itemmax by -\itemmargin \advance \leftskip by \tableindent \exdentamount=\tableindent \parindent = 0pt \parskip = \smallskipamount \ifdim \parskip=0pt \parskip=2pt \fi \let\item = \internalBitem \let\itemx = \internalBitemx } \def\Etable{\endgraf\afterenvbreak} \let\Eftable\Etable \let\Evtable\Etable \let\Eitemize\Etable \let\Eenumerate\Etable % This is the counter used by @enumerate, which is really @itemize \newcount \itemno \envdef\itemize{\parsearg\doitemize} \def\doitemize#1{% \aboveenvbreak \itemmax=\itemindent \advance\itemmax by -\itemmargin \advance\leftskip by \itemindent \exdentamount=\itemindent \parindent=0pt \parskip=\smallskipamount \ifdim\parskip=0pt \parskip=2pt \fi \def\itemcontents{#1}% % @itemize with no arg is equivalent to @itemize @bullet. \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi \let\item=\itemizeitem } % Definition of @item while inside @itemize and @enumerate. % \def\itemizeitem{% \advance\itemno by 1 % for enumerations {\let\par=\endgraf \smallbreak}% reasonable place to break {% % If the document has an @itemize directly after a section title, a % \nobreak will be last on the list, and \sectionheading will have % done a \vskip-\parskip. In that case, we don't want to zero % parskip, or the item text will crash with the heading. On the % other hand, when there is normal text preceding the item (as there % usually is), we do want to zero parskip, or there would be too much % space. In that case, we won't have a \nobreak before. At least % that's the theory. \ifnum\lastpenalty<10000 \parskip=0in \fi \noindent \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% \vadjust{\penalty 1200}}% not good to break after first line of item. \flushcr } % \splitoff TOKENS\endmark defines \first to be the first token in % TOKENS, and \rest to be the remainder. % \def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% % Allow an optional argument of an uppercase letter, lowercase letter, % or number, to specify the first label in the enumerated list. No % argument is the same as `1'. % \envparseargdef\enumerate{\enumeratey #1 \endenumeratey} \def\enumeratey #1 #2\endenumeratey{% % If we were given no argument, pretend we were given `1'. \def\thearg{#1}% \ifx\thearg\empty \def\thearg{1}\fi % % Detect if the argument is a single token. If so, it might be a % letter. Otherwise, the only valid thing it can be is a number. % (We will always have one token, because of the test we just made. % This is a good thing, since \splitoff doesn't work given nothing at % all -- the first parameter is undelimited.) \expandafter\splitoff\thearg\endmark \ifx\rest\empty % Only one token in the argument. It could still be anything. % A ``lowercase letter'' is one whose \lccode is nonzero. % An ``uppercase letter'' is one whose \lccode is both nonzero, and % not equal to itself. % Otherwise, we assume it's a number. % % We need the \relax at the end of the \ifnum lines to stop TeX from % continuing to look for a . % \ifnum\lccode\expandafter`\thearg=0\relax \numericenumerate % a number (we hope) \else % It's a letter. \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax \lowercaseenumerate % lowercase letter \else \uppercaseenumerate % uppercase letter \fi \fi \else % Multiple tokens in the argument. We hope it's a number. \numericenumerate \fi } % An @enumerate whose labels are integers. The starting integer is % given in \thearg. % \def\numericenumerate{% \itemno = \thearg \startenumeration{\the\itemno}% } % The starting (lowercase) letter is in \thearg. \def\lowercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more lowercase letters in @enumerate; get a bigger alphabet}% \fi \char\lccode\itemno }% } % The starting (uppercase) letter is in \thearg. \def\uppercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more uppercase letters in @enumerate; get a bigger alphabet} \fi \char\uccode\itemno }% } % Call \doitemize, adding a period to the first argument and supplying the % common last two arguments. Also subtract one from the initial value in % \itemno, since @item increments \itemno. % \def\startenumeration#1{% \advance\itemno by -1 \doitemize{#1.}\flushcr } % @alphaenumerate and @capsenumerate are abbreviations for giving an arg % to @enumerate. % \def\alphaenumerate{\enumerate{a}} \def\capsenumerate{\enumerate{A}} \def\Ealphaenumerate{\Eenumerate} \def\Ecapsenumerate{\Eenumerate} % @multitable macros % Amy Hendrickson, 8/18/94, 3/6/96 % % @multitable ... @end multitable will make as many columns as desired. % Contents of each column will wrap at width given in preamble. Width % can be specified either with sample text given in a template line, % or in percent of \hsize, the current width of text on page. % Table can continue over pages but will only break between lines. % To make preamble: % % Either define widths of columns in terms of percent of \hsize: % @multitable @columnfractions .25 .3 .45 % @item ... % % Numbers following @columnfractions are the percent of the total % current hsize to be used for each column. You may use as many % columns as desired. % Or use a template: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item ... % using the widest term desired in each column. % Each new table line starts with @item, each subsequent new column % starts with @tab. Empty columns may be produced by supplying @tab's % with nothing between them for as many times as empty columns are needed, % ie, @tab@tab@tab will produce two empty columns. % @item, @tab do not need to be on their own lines, but it will not hurt % if they are. % Sample multitable: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item first col stuff @tab second col stuff @tab third col % @item % first col stuff % @tab % second col stuff % @tab % third col % @item first col stuff @tab second col stuff % @tab Many paragraphs of text may be used in any column. % % They will wrap at the width determined by the template. % @item@tab@tab This will be in third column. % @end multitable % Default dimensions may be reset by user. % @multitableparskip is vertical space between paragraphs in table. % @multitableparindent is paragraph indent in table. % @multitablecolmargin is horizontal space to be left between columns. % @multitablelinespace is space to leave between table items, baseline % to baseline. % 0pt means it depends on current normal line spacing. % \newskip\multitableparskip \newskip\multitableparindent \newdimen\multitablecolspace \newskip\multitablelinespace \multitableparskip=0pt \multitableparindent=6pt \multitablecolspace=12pt \multitablelinespace=0pt % Macros used to set up halign preamble: % \let\endsetuptable\relax \def\xendsetuptable{\endsetuptable} \let\columnfractions\relax \def\xcolumnfractions{\columnfractions} \newif\ifsetpercent % #1 is the @columnfraction, usually a decimal number like .5, but might % be just 1. We just use it, whatever it is. % \def\pickupwholefraction#1 {% \global\advance\colcount by 1 \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% \setuptable } \newcount\colcount \def\setuptable#1{% \def\firstarg{#1}% \ifx\firstarg\xendsetuptable \let\go = \relax \else \ifx\firstarg\xcolumnfractions \global\setpercenttrue \else \ifsetpercent \let\go\pickupwholefraction \else \global\advance\colcount by 1 \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a % separator; typically that is always in the input, anyway. \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% \fi \fi \ifx\go\pickupwholefraction % Put the argument back for the \pickupwholefraction call, so % we'll always have a period there to be parsed. \def\go{\pickupwholefraction#1}% \else \let\go = \setuptable \fi% \fi \go } % multitable-only commands. % % @headitem starts a heading row, which we typeset in bold. % Assignments have to be global since we are inside the implicit group % of an alignment entry. Note that \everycr resets \everytab. \def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% % % A \tab used to include \hskip1sp. But then the space in a template % line is not enough. That is bad. So let's go back to just `&' until % we encounter the problem it was intended to solve again. % --karl, nathan@acm.org, 20apr99. \def\tab{\checkenv\multitable &\the\everytab}% % @multitable ... @end multitable definitions: % \newtoks\everytab % insert after every tab. % \envdef\multitable{% \vskip\parskip \startsavinginserts % % @item within a multitable starts a normal row. % We use \def instead of \let so that if one of the multitable entries % contains an @itemize, we don't choke on the \item (seen as \crcr aka % \endtemplate) expanding \doitemize. \def\item{\crcr}% % \tolerance=9500 \hbadness=9500 \setmultitablespacing \parskip=\multitableparskip \parindent=\multitableparindent \overfullrule=0pt \global\colcount=0 % \everycr = {% \noalign{% \global\everytab={}% \global\colcount=0 % Reset the column counter. % Check for saved footnotes, etc. \checkinserts % Keeps underfull box messages off when table breaks over pages. %\filbreak % Maybe so, but it also creates really weird page breaks when the % table breaks over pages. Wouldn't \vfil be better? Wait until the % problem manifests itself, so it can be fixed for real --karl. }% }% % \parsearg\domultitable } \def\domultitable#1{% % To parse everything between @multitable and @item: \setuptable#1 \endsetuptable % % This preamble sets up a generic column definition, which will % be used as many times as user calls for columns. % \vtop will set a single line and will also let text wrap and % continue for many paragraphs if desired. \halign\bgroup &% \global\advance\colcount by 1 \multistrut \vtop{% % Use the current \colcount to find the correct column width: \hsize=\expandafter\csname col\the\colcount\endcsname % % In order to keep entries from bumping into each other % we will add a \leftskip of \multitablecolspace to all columns after % the first one. % % If a template has been used, we will add \multitablecolspace % to the width of each template entry. % % If the user has set preamble in terms of percent of \hsize we will % use that dimension as the width of the column, and the \leftskip % will keep entries from bumping into each other. Table will start at % left margin and final column will justify at right margin. % % Make sure we don't inherit \rightskip from the outer environment. \rightskip=0pt \ifnum\colcount=1 % The first column will be indented with the surrounding text. \advance\hsize by\leftskip \else \ifsetpercent \else % If user has not set preamble in terms of percent of \hsize % we will advance \hsize by \multitablecolspace. \advance\hsize by \multitablecolspace \fi % In either case we will make \leftskip=\multitablecolspace: \leftskip=\multitablecolspace \fi % Ignoring space at the beginning and end avoids an occasional spurious % blank line, when TeX decides to break the line at the space before the % box from the multistrut, so the strut ends up on a line by itself. % For example: % @multitable @columnfractions .11 .89 % @item @code{#} % @tab Legal holiday which is valid in major parts of the whole country. % Is automatically provided with highlighting sequences respectively % marking characters. \noindent\ignorespaces##\unskip\multistrut }\cr } \def\Emultitable{% \crcr \egroup % end the \halign \global\setpercentfalse } \def\setmultitablespacing{% \def\multistrut{\strut}% just use the standard line spacing % % Compute \multitablelinespace (if not defined by user) for use in % \multitableparskip calculation. We used define \multistrut based on % this, but (ironically) that caused the spacing to be off. % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. \ifdim\multitablelinespace=0pt \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 \fi %% Test to see if parskip is larger than space between lines of %% table. If not, do nothing. %% If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller %% than skip between lines in the table. \fi% \ifdim\multitableparskip=0pt \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller %% than skip between lines in the table. \fi} \message{conditionals,} % @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, % @ifnotxml always succeed. They currently do nothing; we don't % attempt to check whether the conditionals are properly nested. But we % have to remember that they are conditionals, so that @end doesn't % attempt to close an environment group. % \def\makecond#1{% \expandafter\let\csname #1\endcsname = \relax \expandafter\let\csname iscond.#1\endcsname = 1 } \makecond{iftex} \makecond{ifnotdocbook} \makecond{ifnothtml} \makecond{ifnotinfo} \makecond{ifnotplaintext} \makecond{ifnotxml} % Ignore @ignore, @ifhtml, @ifinfo, and the like. % \def\direntry{\doignore{direntry}} \def\documentdescription{\doignore{documentdescription}} \def\docbook{\doignore{docbook}} \def\html{\doignore{html}} \def\ifdocbook{\doignore{ifdocbook}} \def\ifhtml{\doignore{ifhtml}} \def\ifinfo{\doignore{ifinfo}} \def\ifnottex{\doignore{ifnottex}} \def\ifplaintext{\doignore{ifplaintext}} \def\ifxml{\doignore{ifxml}} \def\ignore{\doignore{ignore}} \def\menu{\doignore{menu}} \def\xml{\doignore{xml}} % Ignore text until a line `@end #1', keeping track of nested conditionals. % % A count to remember the depth of nesting. \newcount\doignorecount \def\doignore#1{\begingroup % Scan in ``verbatim'' mode: \obeylines \catcode`\@ = \other \catcode`\{ = \other \catcode`\} = \other % % Make sure that spaces turn into tokens that match what \doignoretext wants. \spaceisspace % % Count number of #1's that we've seen. \doignorecount = 0 % % Swallow text until we reach the matching `@end #1'. \dodoignore{#1}% } { \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. \obeylines % % \gdef\dodoignore#1{% % #1 contains the command name as a string, e.g., `ifinfo'. % % Define a command to find the next `@end #1'. \long\def\doignoretext##1^^M@end #1{% \doignoretextyyy##1^^M@#1\_STOP_}% % % And this command to find another #1 command, at the beginning of a % line. (Otherwise, we would consider a line `@c @ifset', for % example, to count as an @ifset for nesting.) \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% % % And now expand that command. \doignoretext ^^M% }% } \def\doignoreyyy#1{% \def\temp{#1}% \ifx\temp\empty % Nothing found. \let\next\doignoretextzzz \else % Found a nested condition, ... \advance\doignorecount by 1 \let\next\doignoretextyyy % ..., look for another. % If we're here, #1 ends with ^^M\ifinfo (for example). \fi \next #1% the token \_STOP_ is present just after this macro. } % We have to swallow the remaining "\_STOP_". % \def\doignoretextzzz#1{% \ifnum\doignorecount = 0 % We have just found the outermost @end. \let\next\enddoignore \else % Still inside a nested condition. \advance\doignorecount by -1 \let\next\doignoretext % Look for the next @end. \fi \next } % Finish off ignored text. { \obeylines% % Ignore anything after the last `@end #1'; this matters in verbatim % environments, where otherwise the newline after an ignored conditional % would result in a blank line in the output. \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% } % @set VAR sets the variable VAR to an empty value. % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. % % Since we want to separate VAR from REST-OF-LINE (which might be % empty), we can't just use \parsearg; we have to insert a space of our % own to delimit the rest of the line, and then take it out again if we % didn't need it. % We rely on the fact that \parsearg sets \catcode`\ =10. % \parseargdef\set{\setyyy#1 \endsetyyy} \def\setyyy#1 #2\endsetyyy{% {% \makevalueexpandable \def\temp{#2}% \edef\next{\gdef\makecsname{SET#1}}% \ifx\temp\empty \next{}% \else \setzzz#2\endsetzzz \fi }% } % Remove the trailing space \setxxx inserted. \def\setzzz#1 \endsetzzz{\next{#1}} % @clear VAR clears (i.e., unsets) the variable VAR. % \parseargdef\clear{% {% \makevalueexpandable \global\expandafter\let\csname SET#1\endcsname=\relax }% } % @value{foo} gets the text saved in variable foo. \def\value{\begingroup\makevalueexpandable\valuexxx} \def\valuexxx#1{\expandablevalue{#1}\endgroup} { \catcode`\- = \active \catcode`\_ = \active % \gdef\makevalueexpandable{% \let\value = \expandablevalue % We don't want these characters active, ... \catcode`\-=\other \catcode`\_=\other % ..., but we might end up with active ones in the argument if % we're called from @code, as @code{@value{foo-bar_}}, though. % So \let them to their normal equivalents. \let-\realdash \let_\normalunderscore } } % We have this subroutine so that we can handle at least some @value's % properly in indexes (we call \makevalueexpandable in \indexdummies). % The command has to be fully expandable (if the variable is set), since % the result winds up in the index file. This means that if the % variable's value contains other Texinfo commands, it's almost certain % it will fail (although perhaps we could fix that with sufficient work % to do a one-level expansion on the result, instead of complete). % \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% \message{Variable `#1', used in @value, is not set.}% \else \csname SET#1\endcsname \fi } % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. % % To get special treatment of `@end ifset,' call \makeond and the redefine. % \makecond{ifset} \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} \def\doifset#1#2{% {% \makevalueexpandable \let\next=\empty \expandafter\ifx\csname SET#2\endcsname\relax #1% If not set, redefine \next. \fi \expandafter }\next } \def\ifsetfail{\doignore{ifset}} % @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % % The `\else' inside the `\doifset' parameter is a trick to reuse the % above code: if the variable is not set, do nothing, if it is set, % then redefine \next to \ifclearfail. % \makecond{ifclear} \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} \def\ifclearfail{\doignore{ifclear}} % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. \let\dircategory=\comment % @defininfoenclose. \let\definfoenclose=\comment \message{indexing,} % Index generation facilities % Define \newwrite to be identical to plain tex's \newwrite % except not \outer, so it can be used within macros and \if's. \edef\newwrite{\makecsname{ptexnewwrite}} % \newindex {foo} defines an index named foo. % It automatically defines \fooindex such that % \fooindex ...rest of line... puts an entry in the index foo. % It also defines \fooindfile to be the number of the output channel for % the file that accumulates this index. The file's extension is foo. % The name of an index should be no more than 2 characters long % for the sake of vms. % \def\newindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 % Open the file \fi \expandafter\xdef\csname#1index\endcsname{% % Define @#1index \noexpand\doindex{#1}} } % @defindex foo == \newindex{foo} % \def\defindex{\parsearg\newindex} % Define @defcodeindex, like @defindex except put all entries in @code. % \def\defcodeindex{\parsearg\newcodeindex} % \def\newcodeindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 \fi \expandafter\xdef\csname#1index\endcsname{% \noexpand\docodeindex{#1}}% } % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. % % @syncodeindex foo bar similar, but put all entries made for index foo % inside @code. % \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), % #3 the target index (bar). \def\dosynindex#1#2#3{% % Only do \closeout if we haven't already done it, else we'll end up % closing the target index. \expandafter \ifx\csname donesynindex#2\endcsname \undefined % The \closeout helps reduce unnecessary open files; the limit on the % Acorn RISC OS is a mere 16 files. \expandafter\closeout\csname#2indfile\endcsname \expandafter\let\csname\donesynindex#2\endcsname = 1 \fi % redefine \fooindfile: \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname \expandafter\let\csname#2indfile\endcsname=\temp % redefine \fooindex: \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% } % Define \doindex, the driver for all \fooindex macros. % Argument #1 is generated by the calling \fooindex macro, % and it is "foo", the name of the index. % \doindex just uses \parsearg; it calls \doind for the actual work. % This is because \doind is more useful to call from other macros. % There is also \dosubind {index}{topic}{subtopic} % which makes an entry in a two-level index such as the operation index. \def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer} \def\singleindexer #1{\doind{\indexname}{#1}} % like the previous two, but they put @code around the argument. \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} % Take care of Texinfo commands that can appear in an index entry. % Since there are some commands we want to expand, and others we don't, % we have to laboriously prevent expansion for those that we don't. % \def\indexdummies{% \escapechar = `\\ % use backslash in output files. \def\@{@}% change to @@ when we switch to @ as escape char in index files. \def\ {\realbackslash\space }% % % Need these in case \tex is in effect and \{ is a \delimiter again. % But can't use \lbracecmd and \rbracecmd because texindex assumes % braces and backslashes are used only as delimiters. \let\{ = \mylbrace \let\} = \myrbrace % % I don't entirely understand this, but when an index entry is % generated from a macro call, the \endinput which \scanmacro inserts % causes processing to be prematurely terminated. This is, % apparently, because \indexsorttmp is fully expanded, and \endinput % is an expandable command. The redefinition below makes \endinput % disappear altogether for that purpose -- although logging shows that % processing continues to some further point. On the other hand, it % seems \endinput does not hurt in the printed index arg, since that % is still getting written without apparent harm. % % Sample source (mac-idx3.tex, reported by Graham Percival to % help-texinfo, 22may06): % @macro funindex {WORD} % @findex xyz % @end macro % ... % @funindex commtest % % The above is not enough to reproduce the bug, but it gives the flavor. % % Sample whatsit resulting: % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} % % So: \let\endinput = \empty % % Do the redefinitions. \commondummies } % For the aux and toc files, @ is the escape character. So we want to % redefine everything using @ as the escape character (instead of % \realbackslash, still used for index files). When everything uses @, % this will be simpler. % \def\atdummies{% \def\@{@@}% \def\ {@ }% \let\{ = \lbraceatcmd \let\} = \rbraceatcmd % % Do the redefinitions. \commondummies \otherbackslash } % Called from \indexdummies and \atdummies. % \def\commondummies{% % % \definedummyword defines \#1 as \string\#1\space, thus effectively % preventing its expansion. This is used only for control% words, % not control letters, because the \space would be incorrect for % control characters, but is needed to separate the control word % from whatever follows. % % For control letters, we have \definedummyletter, which omits the % space. % % These can be used both for control words that take an argument and % those that do not. If it is followed by {arg} in the input, then % that will dutifully get written to the index (or wherever). % \def\definedummyword ##1{\def##1{\string##1\space}}% \def\definedummyletter##1{\def##1{\string##1}}% \let\definedummyaccent\definedummyletter % \commondummiesnofonts % \definedummyletter\_% % % Non-English letters. \definedummyword\AA \definedummyword\AE \definedummyword\L \definedummyword\OE \definedummyword\O \definedummyword\aa \definedummyword\ae \definedummyword\l \definedummyword\oe \definedummyword\o \definedummyword\ss \definedummyword\exclamdown \definedummyword\questiondown \definedummyword\ordf \definedummyword\ordm % % Although these internal commands shouldn't show up, sometimes they do. \definedummyword\bf \definedummyword\gtr \definedummyword\hat \definedummyword\less \definedummyword\sf \definedummyword\sl \definedummyword\tclose \definedummyword\tt % \definedummyword\LaTeX \definedummyword\TeX % % Assorted special characters. \definedummyword\bullet \definedummyword\comma \definedummyword\copyright \definedummyword\registeredsymbol \definedummyword\dots \definedummyword\enddots \definedummyword\equiv \definedummyword\error \definedummyword\euro \definedummyword\guillemetleft \definedummyword\guillemetright \definedummyword\guilsinglleft \definedummyword\guilsinglright \definedummyword\expansion \definedummyword\minus \definedummyword\pounds \definedummyword\point \definedummyword\print \definedummyword\quotedblbase \definedummyword\quotedblleft \definedummyword\quotedblright \definedummyword\quoteleft \definedummyword\quoteright \definedummyword\quotesinglbase \definedummyword\result \definedummyword\textdegree % % We want to disable all macros so that they are not expanded by \write. \macrolist % \normalturnoffactive % % Handle some cases of @value -- where it does not contain any % (non-fully-expandable) commands. \makevalueexpandable } % \commondummiesnofonts: common to \commondummies and \indexnofonts. % \def\commondummiesnofonts{% % Control letters and accents. \definedummyletter\!% \definedummyaccent\"% \definedummyaccent\'% \definedummyletter\*% \definedummyaccent\,% \definedummyletter\.% \definedummyletter\/% \definedummyletter\:% \definedummyaccent\=% \definedummyletter\?% \definedummyaccent\^% \definedummyaccent\`% \definedummyaccent\~% \definedummyword\u \definedummyword\v \definedummyword\H \definedummyword\dotaccent \definedummyword\ringaccent \definedummyword\tieaccent \definedummyword\ubaraccent \definedummyword\udotaccent \definedummyword\dotless % % Texinfo font commands. \definedummyword\b \definedummyword\i \definedummyword\r \definedummyword\sc \definedummyword\t % % Commands that take arguments. \definedummyword\acronym \definedummyword\cite \definedummyword\code \definedummyword\command \definedummyword\dfn \definedummyword\emph \definedummyword\env \definedummyword\file \definedummyword\kbd \definedummyword\key \definedummyword\math \definedummyword\option \definedummyword\pxref \definedummyword\ref \definedummyword\samp \definedummyword\strong \definedummyword\tie \definedummyword\uref \definedummyword\url \definedummyword\var \definedummyword\verb \definedummyword\w \definedummyword\xref } % \indexnofonts is used when outputting the strings to sort the index % by, and when constructing control sequence names. It eliminates all % control sequences and just writes whatever the best ASCII sort string % would be for a given command (usually its argument). % \def\indexnofonts{% % Accent commands should become @asis. \def\definedummyaccent##1{\let##1\asis}% % We can just ignore other control letters. \def\definedummyletter##1{\let##1\empty}% % Hopefully, all control words can become @asis. \let\definedummyword\definedummyaccent % \commondummiesnofonts % % Don't no-op \tt, since it isn't a user-level command % and is used in the definitions of the active chars like <, >, |, etc. % Likewise with the other plain tex font commands. %\let\tt=\asis % \def\ { }% \def\@{@}% % how to handle braces? \def\_{\normalunderscore}% % % Non-English letters. \def\AA{AA}% \def\AE{AE}% \def\L{L}% \def\OE{OE}% \def\O{O}% \def\aa{aa}% \def\ae{ae}% \def\l{l}% \def\oe{oe}% \def\o{o}% \def\ss{ss}% \def\exclamdown{!}% \def\questiondown{?}% \def\ordf{a}% \def\ordm{o}% % \def\LaTeX{LaTeX}% \def\TeX{TeX}% % % Assorted special characters. % (The following {} will end up in the sort string, but that's ok.) \def\bullet{bullet}% \def\comma{,}% \def\copyright{copyright}% \def\registeredsymbol{R}% \def\dots{...}% \def\enddots{...}% \def\equiv{==}% \def\error{error}% \def\euro{euro}% \def\guillemetleft{<<}% \def\guillemetright{>>}% \def\guilsinglleft{<}% \def\guilsinglright{>}% \def\expansion{==>}% \def\minus{-}% \def\pounds{pounds}% \def\point{.}% \def\print{-|}% \def\quotedblbase{"}% \def\quotedblleft{"}% \def\quotedblright{"}% \def\quoteleft{`}% \def\quoteright{'}% \def\quotesinglbase{,}% \def\result{=>}% \def\textdegree{degrees}% % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. % makeinfo does not expand macros in the argument to @deffn, which ends up % writing an index entry, and texindex isn't prepared for an index sort entry % that starts with \. % % Since macro invocations are followed by braces, we can just redefine them % to take a single TeX argument. The case of a macro invocation that % goes to end-of-line is not handled. % \macrolist } \let\indexbackslash=0 %overridden during \printindex. \let\SETmarginindex=\relax % put index entries in margin (undocumented)? % Most index entries go through here, but \dosubind is the general case. % #1 is the index name, #2 is the entry text. \def\doind#1#2{\dosubind{#1}{#2}{}} % Workhorse for all \fooindexes. % #1 is name of index, #2 is stuff to put there, #3 is subentry -- % empty if called from \doind, as we usually are (the main exception % is with most defuns, which call us directly). % \def\dosubind#1#2#3{% \iflinks {% % Store the main index entry text (including the third arg). \toks0 = {#2}% % If third arg is present, precede it with a space. \def\thirdarg{#3}% \ifx\thirdarg\empty \else \toks0 = \expandafter{\the\toks0 \space #3}% \fi % \edef\writeto{\csname#1indfile\endcsname}% % \safewhatsit\dosubindwrite }% \fi } % Write the entry in \toks0 to the index file: % \def\dosubindwrite{% % Put the index entry in the margin if desired. \ifx\SETmarginindex\relax\else \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% \fi % % Remember, we are within a group. \indexdummies % Must do this here, since \bf, etc expand at this stage \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now % so it will be output as is; and it will print as backslash. % % Process the index entry with all font commands turned off, to % get the string to sort by. {\indexnofonts \edef\temp{\the\toks0}% need full expansion \xdef\indexsorttmp{\temp}% }% % % Set up the complete index entry, with both the sort key and % the original text, including any font commands. We write % three arguments to \entry to the .?? file (four in the % subentry case), texindex reduces to two when writing the .??s % sorted result. \edef\temp{% \write\writeto{% \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% }% \temp } % Take care of unwanted page breaks/skips around a whatsit: % % If a skip is the last thing on the list now, preserve it % by backing up by \lastskip, doing the \write, then inserting % the skip again. Otherwise, the whatsit generated by the % \write or \pdfdest will make \lastskip zero. The result is that % sequences like this: % @end defun % @tindex whatever % @defun ... % will have extra space inserted, because the \medbreak in the % start of the @defun won't see the skip inserted by the @end of % the previous defun. % % But don't do any of this if we're not in vertical mode. We % don't want to do a \vskip and prematurely end a paragraph. % % Avoid page breaks due to these extra skips, too. % % But wait, there is a catch there: % We'll have to check whether \lastskip is zero skip. \ifdim is not % sufficient for this purpose, as it ignores stretch and shrink parts % of the skip. The only way seems to be to check the textual % representation of the skip. % % The following is almost like \def\zeroskipmacro{0.0pt} except that % the ``p'' and ``t'' characters have catcode \other, not 11 (letter). % \edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} % \newskip\whatsitskip \newcount\whatsitpenalty % % ..., ready, GO: % \def\safewhatsit#1{% \ifhmode #1% \else % \lastskip and \lastpenalty cannot both be nonzero simultaneously. \whatsitskip = \lastskip \edef\lastskipmacro{\the\lastskip}% \whatsitpenalty = \lastpenalty % % If \lastskip is nonzero, that means the last item was a % skip. And since a skip is discardable, that means this % -\whatsitskip glue we're inserting is preceded by a % non-discardable item, therefore it is not a potential % breakpoint, therefore no \nobreak needed. \ifx\lastskipmacro\zeroskipmacro \else \vskip-\whatsitskip \fi % #1% % \ifx\lastskipmacro\zeroskipmacro % If \lastskip was zero, perhaps the last item was a penalty, and % perhaps it was >=10000, e.g., a \nobreak. In that case, we want % to re-insert the same penalty (values >10000 are used for various % signals); since we just inserted a non-discardable item, any % following glue (such as a \parskip) would be a breakpoint. For example: % % @deffn deffn-whatever % @vindex index-whatever % Description. % would allow a break between the index-whatever whatsit % and the "Description." paragraph. \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi \else % On the other hand, if we had a nonzero \lastskip, % this make-up glue would be preceded by a non-discardable item % (the whatsit from the \write), so we must insert a \nobreak. \nobreak\vskip\whatsitskip \fi \fi } % The index entry written in the file actually looks like % \entry {sortstring}{page}{topic} % or % \entry {sortstring}{page}{topic}{subtopic} % The texindex program reads in these files and writes files % containing these kinds of lines: % \initial {c} % before the first topic whose initial is c % \entry {topic}{pagelist} % for a topic that is used without subtopics % \primary {topic} % for the beginning of a topic that is used with subtopics % \secondary {subtopic}{pagelist} % for each subtopic. % Define the user-accessible indexing commands % @findex, @vindex, @kindex, @cindex. \def\findex {\fnindex} \def\kindex {\kyindex} \def\cindex {\cpindex} \def\vindex {\vrindex} \def\tindex {\tpindex} \def\pindex {\pgindex} \def\cindexsub {\begingroup\obeylines\cindexsub} {\obeylines % \gdef\cindexsub "#1" #2^^M{\endgroup % \dosubind{cp}{#2}{#1}}} % Define the macros used in formatting output of the sorted index material. % @printindex causes a particular index (the ??s file) to get printed. % It does not print any chapter heading (usually an @unnumbered). % \parseargdef\printindex{\begingroup \dobreak \chapheadingskip{10000}% % \smallfonts \rm \tolerance = 9500 \plainfrenchspacing \everypar = {}% don't want the \kern\-parindent from indentation suppression. % % See if the index file exists and is nonempty. % Change catcode of @ here so that if the index file contains % \initial {@} % as its first line, TeX doesn't complain about mismatched braces % (because it thinks @} is a control sequence). \catcode`\@ = 11 \openin 1 \jobname.#1s \ifeof 1 % \enddoublecolumns gets confused if there is no text in the index, % and it loses the chapter title and the aux file entries for the % index. The easiest way to prevent this problem is to make sure % there is some text. \putwordIndexNonexistent \else % % If the index file exists but is empty, then \openin leaves \ifeof % false. We have to make TeX try to read something from the file, so % it can discover if there is anything in it. \read 1 to \temp \ifeof 1 \putwordIndexIsEmpty \else % Index files are almost Texinfo source, but we use \ as the escape % character. It would be better to use @, but that's too big a change % to make right now. \def\indexbackslash{\backslashcurfont}% \catcode`\\ = 0 \escapechar = `\\ \begindoublecolumns \input \jobname.#1s \enddoublecolumns \fi \fi \closein 1 \endgroup} % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. \def\initial#1{{% % Some minor font changes for the special characters. \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt % % Remove any glue we may have, we'll be inserting our own. \removelastskip % % We like breaks before the index initials, so insert a bonus. \nobreak \vskip 0pt plus 3\baselineskip \penalty 0 \vskip 0pt plus -3\baselineskip % % Typeset the initial. Making this add up to a whole number of % baselineskips increases the chance of the dots lining up from column % to column. It still won't often be perfect, because of the stretch % we need before each entry, but it's better. % % No shrink because it confuses \balancecolumns. \vskip 1.67\baselineskip plus .5\baselineskip \leftline{\secbf #1}% % Do our best not to break after the initial. \nobreak \vskip .33\baselineskip plus .1\baselineskip }} % \entry typesets a paragraph consisting of the text (#1), dot leaders, and % then page number (#2) flushed to the right margin. It is used for index % and table of contents entries. The paragraph is indented by \leftskip. % % A straightforward implementation would start like this: % \def\entry#1#2{... % But this freezes the catcodes in the argument, and can cause problems to % @code, which sets - active. This problem was fixed by a kludge--- % ``-'' was active throughout whole index, but this isn't really right. % % The right solution is to prevent \entry from swallowing the whole text. % --kasal, 21nov03 \def\entry{% \begingroup % % Start a new paragraph if necessary, so our assignments below can't % affect previous text. \par % % Do not fill out the last line with white space. \parfillskip = 0in % % No extra space above this paragraph. \parskip = 0in % % Do not prefer a separate line ending with a hyphen to fewer lines. \finalhyphendemerits = 0 % % \hangindent is only relevant when the entry text and page number % don't both fit on one line. In that case, bob suggests starting the % dots pretty far over on the line. Unfortunately, a large % indentation looks wrong when the entry text itself is broken across % lines. So we use a small indentation and put up with long leaders. % % \hangafter is reset to 1 (which is the value we want) at the start % of each paragraph, so we need not do anything with that. \hangindent = 2em % % When the entry text needs to be broken, just fill out the first line % with blank space. \rightskip = 0pt plus1fil % % A bit of stretch before each entry for the benefit of balancing % columns. \vskip 0pt plus1pt % % Swallow the left brace of the text (first parameter): \afterassignment\doentry \let\temp = } \def\doentry{% \bgroup % Instead of the swallowed brace. \noindent \aftergroup\finishentry % And now comes the text of the entry. } \def\finishentry#1{% % #1 is the page number. % % The following is kludged to not output a line of dots in the index if % there are no page numbers. The next person who breaks this will be % cursed by a Unix daemon. \setbox\boxA = \hbox{#1}% \ifdim\wd\boxA = 0pt \ % \else % % If we must, put the page number on a line of its own, and fill out % this line with blank space. (The \hfil is overwhelmed with the % fill leaders glue in \indexdotfill if the page number does fit.) \hfil\penalty50 \null\nobreak\indexdotfill % Have leaders before the page number. % % The `\ ' here is removed by the implicit \unskip that TeX does as % part of (the primitive) \par. Without it, a spurious underfull % \hbox ensues. \ifpdf \pdfgettoks#1.% \ \the\toksA \else \ #1% \fi \fi \par \endgroup } % Like plain.tex's \dotfill, except uses up at least 1 em. \def\indexdotfill{\cleaders \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} \def\primary #1{\line{#1\hfil}} \newskip\secondaryindent \secondaryindent=0.5cm \def\secondary#1#2{{% \parfillskip=0in \parskip=0in \hangindent=1in \hangafter=1 \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill \ifpdf \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. \else #2 \fi \par }} % Define two-column mode, which we use to typeset indexes. % Adapted from the TeXbook, page 416, which is to say, % the manmac.tex format used to print the TeXbook itself. \catcode`\@=11 \newbox\partialpage \newdimen\doublecolumnhsize \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns % Grab any single-column material above us. \output = {% % % Here is a possibility not foreseen in manmac: if we accumulate a % whole lot of material, we might end up calling this \output % routine twice in a row (see the doublecol-lose test, which is % essentially a couple of indexes with @setchapternewpage off). In % that case we just ship out what is in \partialpage with the normal % output routine. Generally, \partialpage will be empty when this % runs and this will be a no-op. See the indexspread.tex test case. \ifvoid\partialpage \else \onepageout{\pagecontents\partialpage}% \fi % \global\setbox\partialpage = \vbox{% % Unvbox the main output page. \unvbox\PAGE \kern-\topskip \kern\baselineskip }% }% \eject % run that output routine to set \partialpage % % Use the double-column output routine for subsequent pages. \output = {\doublecolumnout}% % % Change the page size parameters. We could do this once outside this % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 % format, but then we repeat the same computation. Repeating a couple % of assignments once per index is clearly meaningless for the % execution time, so we may as well do it in one place. % % First we halve the line length, less a little for the gutter between % the columns. We compute the gutter based on the line length, so it % changes automatically with the paper format. The magic constant % below is chosen so that the gutter has the same value (well, +-<1pt) % as it did when we hard-coded it. % % We put the result in a separate register, \doublecolumhsize, so we % can restore it in \pagesofar, after \hsize itself has (potentially) % been clobbered. % \doublecolumnhsize = \hsize \advance\doublecolumnhsize by -.04154\hsize \divide\doublecolumnhsize by 2 \hsize = \doublecolumnhsize % % Double the \vsize as well. (We don't need a separate register here, % since nobody clobbers \vsize.) \vsize = 2\vsize } % The double-column output routine for all double-column pages except % the last. % \def\doublecolumnout{% \splittopskip=\topskip \splitmaxdepth=\maxdepth % Get the available space for the double columns -- the normal % (undoubled) page height minus any material left over from the % previous page. \dimen@ = \vsize \divide\dimen@ by 2 \advance\dimen@ by -\ht\partialpage % % box0 will be the left-hand column, box2 the right. \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ \onepageout\pagesofar \unvbox255 \penalty\outputpenalty } % % Re-output the contents of the output page -- any previous material, % followed by the two boxes we just split, in box0 and box2. \def\pagesofar{% \unvbox\partialpage % \hsize = \doublecolumnhsize \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}% } % % All done with double columns. \def\enddoublecolumns{% % The following penalty ensures that the page builder is exercised % _before_ we change the output routine. This is necessary in the % following situation: % % The last section of the index consists only of a single entry. % Before this section, \pagetotal is less than \pagegoal, so no % break occurs before the last section starts. However, the last % section, consisting of \initial and the single \entry, does not % fit on the page and has to be broken off. Without the following % penalty the page builder will not be exercised until \eject % below, and by that time we'll already have changed the output % routine to the \balancecolumns version, so the next-to-last % double-column page will be processed with \balancecolumns, which % is wrong: The two columns will go to the main vertical list, with % the broken-off section in the recent contributions. As soon as % the output routine finishes, TeX starts reconsidering the page % break. The two columns and the broken-off section both fit on the % page, because the two columns now take up only half of the page % goal. When TeX sees \eject from below which follows the final % section, it invokes the new output routine that we've set after % \balancecolumns below; \onepageout will try to fit the two columns % and the final section into the vbox of \pageheight (see % \pagebody), causing an overfull box. % % Note that glue won't work here, because glue does not exercise the % page builder, unlike penalties (see The TeXbook, pp. 280-281). \penalty0 % \output = {% % Split the last of the double-column material. Leave it on the % current page, no automatic page break. \balancecolumns % % If we end up splitting too much material for the current page, % though, there will be another page break right after this \output % invocation ends. Having called \balancecolumns once, we do not % want to call it again. Therefore, reset \output to its normal % definition right away. (We hope \balancecolumns will never be % called on to balance too much material, but if it is, this makes % the output somewhat more palatable.) \global\output = {\onepageout{\pagecontents\PAGE}}% }% \eject \endgroup % started in \begindoublecolumns % % \pagegoal was set to the doubled \vsize above, since we restarted % the current page. We're now back to normal single-column % typesetting, so reset \pagegoal to the normal \vsize (after the % \endgroup where \vsize got restored). \pagegoal = \vsize } % % Called at the end of the double column material. \def\balancecolumns{% \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. \dimen@ = \ht0 \advance\dimen@ by \topskip \advance\dimen@ by-\baselineskip \divide\dimen@ by 2 % target to split to %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}% \splittopskip = \topskip % Loop until we get a decent breakpoint. {% \vbadness = 10000 \loop \global\setbox3 = \copy0 \global\setbox1 = \vsplit3 to \dimen@ \ifdim\ht3>\dimen@ \global\advance\dimen@ by 1pt \repeat }% %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% \setbox0=\vbox to\dimen@{\unvbox1}% \setbox2=\vbox to\dimen@{\unvbox3}% % \pagesofar } \catcode`\@ = \other \message{sectioning,} % Chapters, sections, etc. % \unnumberedno is an oxymoron, of course. But we count the unnumbered % sections so that we can refer to them unambiguously in the pdf % outlines by their "section number". We avoid collisions with chapter % numbers by starting them at 10000. (If a document ever has 10000 % chapters, we're in trouble anyway, I'm sure.) \newcount\unnumberedno \unnumberedno = 10000 \newcount\chapno \newcount\secno \secno=0 \newcount\subsecno \subsecno=0 \newcount\subsubsecno \subsubsecno=0 % This counter is funny since it counts through charcodes of letters A, B, ... \newcount\appendixno \appendixno = `\@ % % \def\appendixletter{\char\the\appendixno} % We do the following ugly conditional instead of the above simple % construct for the sake of pdftex, which needs the actual % letter in the expansion, not just typeset. % \def\appendixletter{% \ifnum\appendixno=`A A% \else\ifnum\appendixno=`B B% \else\ifnum\appendixno=`C C% \else\ifnum\appendixno=`D D% \else\ifnum\appendixno=`E E% \else\ifnum\appendixno=`F F% \else\ifnum\appendixno=`G G% \else\ifnum\appendixno=`H H% \else\ifnum\appendixno=`I I% \else\ifnum\appendixno=`J J% \else\ifnum\appendixno=`K K% \else\ifnum\appendixno=`L L% \else\ifnum\appendixno=`M M% \else\ifnum\appendixno=`N N% \else\ifnum\appendixno=`O O% \else\ifnum\appendixno=`P P% \else\ifnum\appendixno=`Q Q% \else\ifnum\appendixno=`R R% \else\ifnum\appendixno=`S S% \else\ifnum\appendixno=`T T% \else\ifnum\appendixno=`U U% \else\ifnum\appendixno=`V V% \else\ifnum\appendixno=`W W% \else\ifnum\appendixno=`X X% \else\ifnum\appendixno=`Y Y% \else\ifnum\appendixno=`Z Z% % The \the is necessary, despite appearances, because \appendixletter is % expanded while writing the .toc file. \char\appendixno is not % expandable, thus it is written literally, thus all appendixes come out % with the same letter (or @) in the toc without it. \else\char\the\appendixno \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} % Each @chapter defines these (using marks) as the number+name, number % and name of the chapter. Page headings and footings can use % these. @section does likewise. \def\thischapter{} \def\thischapternum{} \def\thischaptername{} \def\thissection{} \def\thissectionnum{} \def\thissectionname{} \newcount\absseclevel % used to calculate proper heading level \newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count % @raisesections: treat @section as chapter, @subsection as section, etc. \def\raisesections{\global\advance\secbase by -1} \let\up=\raisesections % original BFox name % @lowersections: treat @chapter as section, @section as subsection, etc. \def\lowersections{\global\advance\secbase by 1} \let\down=\lowersections % original BFox name % we only have subsub. \chardef\maxseclevel = 3 % % A numbered section within an unnumbered changes to unnumbered too. % To achive this, remember the "biggest" unnum. sec. we are currently in: \chardef\unmlevel = \maxseclevel % % Trace whether the current chapter is an appendix or not: % \chapheadtype is "N" or "A", unnumbered chapters are ignored. \def\chapheadtype{N} % Choose a heading macro % #1 is heading type % #2 is heading level % #3 is text for heading \def\genhead#1#2#3{% % Compute the abs. sec. level: \absseclevel=#2 \advance\absseclevel by \secbase % Make sure \absseclevel doesn't fall outside the range: \ifnum \absseclevel < 0 \absseclevel = 0 \else \ifnum \absseclevel > 3 \absseclevel = 3 \fi \fi % The heading type: \def\headtype{#1}% \if \headtype U% \ifnum \absseclevel < \unmlevel \chardef\unmlevel = \absseclevel \fi \else % Check for appendix sections: \ifnum \absseclevel = 0 \edef\chapheadtype{\headtype}% \else \if \headtype A\if \chapheadtype N% \errmessage{@appendix... within a non-appendix chapter}% \fi\fi \fi % Check for numbered within unnumbered: \ifnum \absseclevel > \unmlevel \def\headtype{U}% \else \chardef\unmlevel = 3 \fi \fi % Now print the heading: \if \headtype U% \ifcase\absseclevel \unnumberedzzz{#3}% \or \unnumberedseczzz{#3}% \or \unnumberedsubseczzz{#3}% \or \unnumberedsubsubseczzz{#3}% \fi \else \if \headtype A% \ifcase\absseclevel \appendixzzz{#3}% \or \appendixsectionzzz{#3}% \or \appendixsubseczzz{#3}% \or \appendixsubsubseczzz{#3}% \fi \else \ifcase\absseclevel \chapterzzz{#3}% \or \seczzz{#3}% \or \numberedsubseczzz{#3}% \or \numberedsubsubseczzz{#3}% \fi \fi \fi \suppressfirstparagraphindent } % an interface: \def\numhead{\genhead N} \def\apphead{\genhead A} \def\unnmhead{\genhead U} % @chapter, @appendix, @unnumbered. Increment top-level counter, reset % all lower-level sectioning counters to zero. % % Also set \chaplevelprefix, which we prepend to @float sequence numbers % (e.g., figures), q.v. By default (before any chapter), that is empty. \let\chaplevelprefix = \empty % \outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz \def\chapterzzz#1{% % section resetting is \global in case the chapter is in a group, such % as an @include file. \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\chapno by 1 % % Used for \float. \gdef\chaplevelprefix{\the\chapno.}% \resetallfloatnos % \message{\putwordChapter\space \the\chapno}% % % Write the actual heading. \chapmacro{#1}{Ynumbered}{\the\chapno}% % % So @section and the like are numbered underneath this chapter. \global\let\section = \numberedsec \global\let\subsection = \numberedsubsec \global\let\subsubsection = \numberedsubsubsec } \outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz \def\appendixzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\appendixno by 1 \gdef\chaplevelprefix{\appendixletter.}% \resetallfloatnos % \def\appendixnum{\putwordAppendix\space \appendixletter}% \message{\appendixnum}% % \chapmacro{#1}{Yappendix}{\appendixletter}% % \global\let\section = \appendixsec \global\let\subsection = \appendixsubsec \global\let\subsubsection = \appendixsubsubsec } \outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz \def\unnumberedzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\unnumberedno by 1 % % Since an unnumbered has no number, no prefix for figures. \global\let\chaplevelprefix = \empty \resetallfloatnos % % This used to be simply \message{#1}, but TeX fully expands the % argument to \message. Therefore, if #1 contained @-commands, TeX % expanded them. For example, in `@unnumbered The @cite{Book}', TeX % expanded @cite (which turns out to cause errors because \cite is meant % to be executed, not expanded). % % Anyway, we don't want the fully-expanded definition of @cite to appear % as a result of the \message, we just want `@cite' itself. We use % \the to achieve this: TeX expands \the only once, % simply yielding the contents of . (We also do this for % the toc entries.) \toks0 = {#1}% \message{(\the\toks0)}% % \chapmacro{#1}{Ynothing}{\the\unnumberedno}% % \global\let\section = \unnumberedsec \global\let\subsection = \unnumberedsubsec \global\let\subsubsection = \unnumberedsubsubsec } % @centerchap is like @unnumbered, but the heading is centered. \outer\parseargdef\centerchap{% % Well, we could do the following in a group, but that would break % an assumption that \chapmacro is called at the outermost level. % Thus we are safer this way: --kasal, 24feb04 \let\centerparametersmaybe = \centerparameters \unnmhead0{#1}% \let\centerparametersmaybe = \relax } % @top is like @unnumbered. \let\top\unnumbered % Sections. \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz \def\seczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% } \outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz \def\appendixsectionzzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% } \let\appendixsec\appendixsection \outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz \def\unnumberedseczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% } % Subsections. \outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz \def\numberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% } \outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz \def\appendixsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno}% } \outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz \def\unnumberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno}% } % Subsubsections. \outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz \def\numberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynumbered}% {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% } \outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz \def\appendixsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% } \outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz \def\unnumberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% } % These macros control what the section commands do, according % to what kind of chapter we are in (ordinary, appendix, or unnumbered). % Define them by default for a numbered chapter. \let\section = \numberedsec \let\subsection = \numberedsubsec \let\subsubsection = \numberedsubsubsec % Define @majorheading, @heading and @subheading % NOTE on use of \vbox for chapter headings, section headings, and such: % 1) We use \vbox rather than the earlier \line to permit % overlong headings to fold. % 2) \hyphenpenalty is set to 10000 because hyphenation in a % heading is obnoxious; this forbids it. % 3) Likewise, headings look best if no \parindent is used, and % if justification is not attempted. Hence \raggedright. \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz } \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\raggedright \rm #1\hfill}}% \bigskip \par\penalty 200\relax \suppressfirstparagraphindent } % @heading, @subheading, @subsubheading. \parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} % These macros generate a chapter, section, etc. heading only % (including whitespace, linebreaking, etc. around it), % given all the information in convenient, parsed form. %%% Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} %%% Define plain chapter starts, and page on/off switching for it % Parameter controlling skip before chapter headings (if needed) \newskip\chapheadingskip \def\chapbreak{\dobreak \chapheadingskip {-4000}} \def\chappager{\par\vfill\supereject} % Because \domark is called before \chapoddpage, the filler page will % get the headings for the next chapter, which is wrong. But we don't % care -- we just disable all headings on the filler page. \def\chapoddpage{% \chappager \ifodd\pageno \else \begingroup \evenheadline={\hfil}\evenfootline={\hfil}% \oddheadline={\hfil}\oddfootline={\hfil}% \hbox to 0pt{}% \chappager \endgroup \fi } \def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} \def\CHAPPAGoff{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chapbreak \global\let\pagealignmacro=\chappager} \def\CHAPPAGon{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chappager \global\let\pagealignmacro=\chappager \global\def\HEADINGSon{\HEADINGSsingle}} \def\CHAPPAGodd{% \global\let\contentsalignmacro = \chapoddpage \global\let\pchapsepmacro=\chapoddpage \global\let\pagealignmacro=\chapoddpage \global\def\HEADINGSon{\HEADINGSdouble}} \CHAPPAGon % Chapter opening. % % #1 is the text, #2 is the section type (Ynumbered, Ynothing, % Yappendix, Yomitfromtoc), #3 the chapter number. % % To test against our argument. \def\Ynothingkeyword{Ynothing} \def\Yomitfromtockeyword{Yomitfromtoc} \def\Yappendixkeyword{Yappendix} % \def\chapmacro#1#2#3{% % Insert the first mark before the heading break (see notes for \domark). \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}% \gdef\thissection{}}% % \def\temptype{#2}% \ifx\temptype\Ynothingkeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{\thischaptername}}% \else\ifx\temptype\Yomitfromtockeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{}}% \else\ifx\temptype\Yappendixkeyword \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\appendixletter}% \gdef\noexpand\thischapter{\putwordAppendix{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \else \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\the\chapno}% \gdef\noexpand\thischapter{\putwordChapter{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \fi\fi\fi % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert the chapter heading break. \pchapsepmacro % % Now the second mark, after the heading break. No break points % between here and the heading. \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \domark % {% \chapfonts \rm % % Have to define \lastsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called % after \pchapsepmacro, or the headline will change too soon. \gdef\lastsection{#1}% % % Only insert the separating space if we have a chapter/appendix % number, and don't print the unnumbered ``number''. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unnchap}% \else\ifx\temptype\Yomitfromtockeyword \setbox0 = \hbox{}% contents like unnumbered, but no toc entry \def\toctype{omit}% \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% \def\toctype{app}% \else \setbox0 = \hbox{#3\enspace}% \def\toctype{numchap}% \fi\fi\fi % % Write the toc entry for this chapter. Must come before the % \donoderef, because we include the current node name in the toc % entry, and \donoderef resets it to empty. \writetocentry{\toctype}{#1}{#3}% % % For pdftex, we have to write out the node definition (aka, make % the pdfdest) after any page break, but before the actual text has % been typeset. If the destination for the pdf outline is after the % text, then jumping from the outline may wind up with the text not % being visible, for instance under high magnification. \donoderef{#2}% % % Typeset the actual heading. \nobreak % Avoid page breaks at the interline glue. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title \nobreak } % @centerchap -- centered and unnumbered. \let\centerparametersmaybe = \relax \def\centerparameters{% \advance\rightskip by 3\rightskip \leftskip = \rightskip \parfillskip = 0pt } % I don't think this chapter style is supported any more, so I'm not % updating it with the new noderef stuff. We'll see. --karl, 11aug03. % \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} % \def\unnchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\raggedright \rm #1\hfill}}\bigskip \par\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } \def\centerchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt \hfill {\rm #1}\hfill}}\bigskip \par\nobreak } \def\CHAPFopen{% \global\let\chapmacro=\chfopen \global\let\centerchapmacro=\centerchfopen} % Section titles. These macros combine the section number parts and % call the generic \sectionheading to do the printing. % \newskip\secheadingskip \def\secheadingbreak{\dobreak \secheadingskip{-1000}} % Subsection titles. \newskip\subsecheadingskip \def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} % Subsubsection titles. \def\subsubsecheadingskip{\subsecheadingskip} \def\subsubsecheadingbreak{\subsecheadingbreak} % Print any size, any type, section title. % % #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is % the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the % section number. % \def\seckeyword{sec} % \def\sectionheading#1#2#3#4{% {% % Switch to the right set of fonts. \csname #2fonts\endcsname \rm % \def\sectionlevel{#2}% \def\temptype{#3}% % % Insert first mark before the heading break (see notes for \domark). \let\prevsectiondefs=\lastsectiondefs \ifx\temptype\Ynothingkeyword \ifx\sectionlevel\seckeyword \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}% \gdef\thissection{\thissectionname}}% \fi \else\ifx\temptype\Yomitfromtockeyword % Don't redefine \thissection. \else\ifx\temptype\Yappendixkeyword \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \else \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \fi\fi\fi % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert space above the heading. \csname #2headingbreak\endcsname % % Now the second mark, after the heading break. No break points % between here and the heading. \let\prevsectiondefs=\lastsectiondefs \domark % % Only insert the space after the number if we have a section number. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unn}% \gdef\lastsection{#1}% \else\ifx\temptype\Yomitfromtockeyword % for @headings -- no section number, don't include in toc, % and don't redefine \lastsection. \setbox0 = \hbox{}% \def\toctype{omit}% \let\sectionlevel=\empty \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{#4\enspace}% \def\toctype{app}% \gdef\lastsection{#1}% \else \setbox0 = \hbox{#4\enspace}% \def\toctype{num}% \gdef\lastsection{#1}% \fi\fi\fi % % Write the toc entry (before \donoderef). See comments in \chapmacro. \writetocentry{\toctype\sectionlevel}{#1}{#4}% % % Write the node reference (= pdf destination for pdftex). % Again, see comments in \chapmacro. \donoderef{#3}% % % Interline glue will be inserted when the vbox is completed. % That glue will be a valid breakpoint for the page, since it'll be % preceded by a whatsit (usually from the \donoderef, or from the % \writetocentry if there was no node). We don't want to allow that % break, since then the whatsits could end up on page n while the % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. \nobreak % % Output the actual section heading. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright \hangindent=\wd0 % zero if no section number \unhbox0 #1}% }% % Add extra space after the heading -- half of whatever came above it. % Don't allow stretch, though. \kern .5 \csname #2headingskip\endcsname % % Do not let the kern be a potential breakpoint, as it would be if it % was followed by glue. \nobreak % % We'll almost certainly start a paragraph next, so don't let that % glue accumulate. (Not a breakpoint because it's preceded by a % discardable item.) \vskip-\parskip % % This is purely so the last item on the list is a known \penalty > % 10000. This is so \startdefun can avoid allowing breakpoints after % section headings. Otherwise, it would insert a valid breakpoint between: % % @section sec-whatever % @deffn def-whatever \penalty 10001 } \message{toc,} % Table of contents. \newwrite\tocfile % Write an entry to the toc file, opening it if necessary. % Called from @chapter, etc. % % Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} % We append the current node name (if any) and page number as additional % arguments for the \{chap,sec,...}entry macros which will eventually % read this. The node name is used in the pdf outlines as the % destination to jump to. % % We open the .toc file for writing here instead of at @setfilename (or % any other fixed time) so that @contents can be anywhere in the document. % But if #1 is `omit', then we don't do anything. This is used for the % table of contents chapter openings themselves. % \newif\iftocfileopened \def\omitkeyword{omit}% % \def\writetocentry#1#2#3{% \edef\writetoctype{#1}% \ifx\writetoctype\omitkeyword \else \iftocfileopened\else \immediate\openout\tocfile = \jobname.toc \global\tocfileopenedtrue \fi % \iflinks {\atdummies \edef\temp{% \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% \temp }% \fi \fi % % Tell \shipout to create a pdf destination on each page, if we're % writing pdf. These are used in the table of contents. We can't % just write one on every page because the title pages are numbered % 1 and 2 (the page numbers aren't printed), and so are the first % two pages of the document. Thus, we'd have two destinations named % `1', and two named `2'. \ifpdf \global\pdfmakepagedesttrue \fi } % These characters do not print properly in the Computer Modern roman % fonts, so we must take special care. This is more or less redundant % with the Texinfo input format setup at the end of this file. % \def\activecatcodes{% \catcode`\"=\active \catcode`\$=\active \catcode`\<=\active \catcode`\>=\active \catcode`\\=\active \catcode`\^=\active \catcode`\_=\active \catcode`\|=\active \catcode`\~=\active } % Read the toc file, which is essentially Texinfo input. \def\readtocfile{% \setupdatafile \activecatcodes \input \tocreadfilename } \newskip\contentsrightmargin \contentsrightmargin=1in \newcount\savepageno \newcount\lastnegativepageno \lastnegativepageno = -1 % Prepare to read what we've written to \tocfile. % \def\startcontents#1{% % If @setchapternewpage on, and @headings double, the contents should % start on an odd page, unlike chapters. Thus, we maintain % \contentsalignmacro in parallel with \pagealignmacro. % From: Torbjorn Granlund \contentsalignmacro \immediate\closeout\tocfile % % Don't need to put `Contents' or `Short Contents' in the headline. % It is abundantly clear what they are. \chapmacro{#1}{Yomitfromtoc}{}% % \savepageno = \pageno \begingroup % Set up to handle contents files properly. \raggedbottom % Worry more about breakpoints than the bottom. \advance\hsize by -\contentsrightmargin % Don't use the full line length. % % Roman numerals for page numbers. \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi } % redefined for the two-volume lispref. We always output on % \jobname.toc even if this is redefined. % \def\tocreadfilename{\jobname.toc} % Normal (long) toc. % \def\contents{% \startcontents{\putwordTOC}% \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \ifeof 1 \else \pdfmakeoutlines \fi \closein 1 \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } % And just the chapters. \def\summarycontents{% \startcontents{\putwordShortTOC}% % \let\numchapentry = \shortchapentry \let\appentry = \shortchapentry \let\unnchapentry = \shortunnchapentry % We want a true roman here for the page numbers. \secfonts \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl \let\tt=\shortconttt \rm \hyphenpenalty = 10000 \advance\baselineskip by 1pt % Open it up a little. \def\numsecentry##1##2##3##4{} \let\appsecentry = \numsecentry \let\unnsecentry = \numsecentry \let\numsubsecentry = \numsecentry \let\appsubsecentry = \numsecentry \let\unnsubsecentry = \numsecentry \let\numsubsubsecentry = \numsecentry \let\appsubsubsecentry = \numsecentry \let\unnsubsubsecentry = \numsecentry \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \closein 1 \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } \let\shortcontents = \summarycontents % Typeset the label for a chapter or appendix for the short contents. % The arg is, e.g., `A' for an appendix, or `3' for a chapter. % \def\shortchaplabel#1{% % This space should be enough, since a single number is .5em, and the % widest letter (M) is 1em, at least in the Computer Modern fonts. % But use \hss just in case. % (This space doesn't include the extra space that gets added after % the label; that gets put in by \shortchapentry above.) % % We'd like to right-justify chapter numbers, but that looks strange % with appendix letters. And right-justifying numbers and % left-justifying letters looks strange when there is less than 10 % chapters. Have to read the whole toc once to know how many chapters % there are before deciding ... \hbox to 1em{#1\hss}% } % These macros generate individual entries in the table of contents. % The first argument is the chapter or section name. % The last argument is the page number. % The arguments in between are the chapter number, section number, ... % Chapters, in the main contents. \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} % % Chapters, in the short toc. % See comments in \dochapentry re vbox and related settings. \def\shortchapentry#1#2#3#4{% \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% } % Appendices, in the main contents. % Need the word Appendix, and a fixed-size box. % \def\appendixbox#1{% % We use M since it's probably the widest letter. \setbox0 = \hbox{\putwordAppendix{} M}% \hbox to \wd0{\putwordAppendix{} #1\hss}} % \def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} % Unnumbered chapters. \def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} \def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} % Sections. \def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} \let\appsecentry=\numsecentry \def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} % Subsections. \def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} \let\appsubsecentry=\numsubsecentry \def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} % And subsubsections. \def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} \let\appsubsubsecentry=\numsubsubsecentry \def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} % This parameter controls the indentation of the various levels. % Same as \defaultparindent. \newdimen\tocindent \tocindent = 15pt % Now for the actual typesetting. In all these, #1 is the text and #2 is the % page number. % % If the toc has to be broken over pages, we want it to be at chapters % if at all possible; hence the \penalty. \def\dochapentry#1#2{% \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip \begingroup \chapentryfonts \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup \nobreak\vskip .25\baselineskip plus.1\baselineskip } \def\dosecentry#1#2{\begingroup \secentryfonts \leftskip=\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsecentry#1#2{\begingroup \subsecentryfonts \leftskip=2\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsubsecentry#1#2{\begingroup \subsubsecentryfonts \leftskip=3\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} % We use the same \entry macro as for the index entries. \let\tocentry = \entry % Space between chapter (or whatever) number and the title. \def\labelspace{\hskip1em \relax} \def\dopageno#1{{\rm #1}} \def\doshortpageno#1{{\rm #1}} \def\chapentryfonts{\secfonts \rm} \def\secentryfonts{\textfonts} \def\subsecentryfonts{\textfonts} \def\subsubsecentryfonts{\textfonts} \message{environments,} % @foo ... @end foo. % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. % % Since these characters are used in examples, they should be an even number of % \tt widths. Each \tt character is 1en, so two makes it 1em. % \def\point{$\star$} \def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}} \def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} \def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}} \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} \def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}} % The @error{} command. % Adapted from the TeXbook's \boxit. % \newbox\errorbox % {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) \setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} % \setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. \advance\hsize by -2\dimen2 % Rules. \vbox{% \hrule height\dimen2 \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. \kern3pt\vrule width\dimen2}% Space to right. \hrule height\dimen2} \hfil} % \def\error{\leavevmode\lower.7ex\copy\errorbox} % @tex ... @end tex escapes into raw Tex temporarily. % One exception: @ is still an escape character, so that @end tex works. % But \@ or @@ will get a plain tex @ character. \envdef\tex{% \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie \catcode `\%=14 \catcode `\+=\other \catcode `\"=\other \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other \escapechar=`\\ % \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc \let\,=\ptexcomma \let\.=\ptexdot \let\dots=\ptexdots \let\equiv=\ptexequiv \let\!=\ptexexclam \let\i=\ptexi \let\indent=\ptexindent \let\noindent=\ptexnoindent \let\{=\ptexlbrace \let\+=\tabalign \let\}=\ptexrbrace \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext \expandafter \let\csname top\endcsname=\ptextop % outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% \def\@{@}% } % There is no need to define \Etex. % Define @lisp ... @end lisp. % @lisp environment forms a group so it can rebind things, % including the definition of @end lisp (which normally is erroneous). % Amount to narrow the margins by for @lisp. \newskip\lispnarrowing \lispnarrowing=0.4in % This is the definition that ^^M gets inside @lisp, @example, and other % such environments. \null is better than a space, since it doesn't % have any width. \def\lisppar{\null\endgraf} % This space is always present above and below environments. \newskip\envskipamount \envskipamount = 0pt % Make spacing and below environment symmetrical. We use \parskip here % to help in doing that, since in @example-like environments \parskip % is reset to zero; thus the \afterenvbreak inserts no space -- but the % start of the next paragraph will insert \parskip. % \def\aboveenvbreak{{% % =10000 instead of <10000 because of a special case in \itemzzz and % \sectionheading, q.v. \ifnum \lastpenalty=10000 \else \advance\envskipamount by \parskip \endgraf \ifdim\lastskip<\envskipamount \removelastskip % it's not a good place to break if the last penalty was \nobreak % or better ... \ifnum\lastpenalty<10000 \penalty-50 \fi \vskip\envskipamount \fi \fi }} \let\afterenvbreak = \aboveenvbreak % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will % also clear it, so that its embedded environments do the narrowing again. \let\nonarrowing=\relax % @cartouche ... @end cartouche: draw rectangle w/rounded corners around % environment contents. \font\circle=lcircle10 \newdimen\circthick \newdimen\cartouter\newdimen\cartinner \newskip\normbskip\newskip\normpskip\newskip\normlskip \circthick=\fontdimen8\circle % \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth \def\ctr{{\hskip 6pt\circle\char'010}} \def\cbl{{\circle\char'012\hskip -6pt}} \def\cbr{{\hskip 6pt\circle\char'011}} \def\carttop{\hbox to \cartouter{\hskip\lskip \ctl\leaders\hrule height\circthick\hfil\ctr \hskip\rskip}} \def\cartbot{\hbox to \cartouter{\hskip\lskip \cbl\leaders\hrule height\circthick\hfil\cbr \hskip\rskip}} % \newskip\lskip\newskip\rskip \envdef\cartouche{% \ifhmode\par\fi % can't be in the midst of a paragraph. \startsavinginserts \lskip=\leftskip \rskip=\rightskip \leftskip=0pt\rightskip=0pt % we want these *outside*. \cartinner=\hsize \advance\cartinner by-\lskip \advance\cartinner by-\rskip \cartouter=\hsize \advance\cartouter by 18.4pt % allow for 3pt kerns on either % side, and for 6pt waste from % each corner char, and rule thickness \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % Flag to tell @lisp, etc., not to narrow margin. \let\nonarrowing = t% \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop \hbox\bgroup \hskip\lskip \vrule\kern3pt \vbox\bgroup \kern3pt \hsize=\cartinner \baselineskip=\normbskip \lineskip=\normlskip \parskip=\normpskip \vskip -\parskip \comment % For explanation, see the end of \def\group. } \def\Ecartouche{% \ifhmode\par\fi \kern3pt \egroup \kern3pt\vrule \hskip\rskip \egroup \cartbot \egroup \checkinserts } % This macro is called at the beginning of all the @example variants, % inside a group. \def\nonfillstart{% \aboveenvbreak \hfuzz = 12pt % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt \parindent = 0pt \emergencystretch = 0pt % don't try to avoid overfull boxes \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing \exdentamount=\lispnarrowing \else \let\nonarrowing = \relax \fi \let\exdent=\nofillexdent } % If you want all examples etc. small: @set dispenvsize small. % If you want even small examples the full size: @set dispenvsize nosmall. % This affects the following displayed environments: % @example, @display, @format, @lisp % \def\smallword{small} \def\nosmallword{nosmall} \let\SETdispenvsize\relax \def\setnormaldispenv{% \ifx\SETdispenvsize\smallword % end paragraph for sake of leading, in case document has no blank % line. This is redundant with what happens in \aboveenvbreak, but % we need to do it before changing the fonts, and it's inconvenient % to change the fonts afterward. \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } \def\setsmalldispenv{% \ifx\SETdispenvsize\nosmallword \else \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } % We often define two environments, @foo and @smallfoo. % Let's do it by one command: \def\makedispenv #1#2{ \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} \expandafter\let\csname E#1\endcsname \afterenvbreak \expandafter\let\csname Esmall#1\endcsname \afterenvbreak } % Define two synonyms: \def\maketwodispenvs #1#2#3{ \makedispenv{#1}{#3} \makedispenv{#2}{#3} } % @lisp: indented, narrowed, typewriter font; @example: same as @lisp. % % @smallexample and @smalllisp: use smaller fonts. % Originally contributed by Pavel@xerox. % \maketwodispenvs {lisp}{example}{% \nonfillstart \tt\quoteexpand \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. \gobble % eat return } % @display/@smalldisplay: same as @lisp except keep current font. % \makedispenv {display}{% \nonfillstart \gobble } % @format/@smallformat: same as @display except don't narrow margins. % \makedispenv{format}{% \let\nonarrowing = t% \nonfillstart \gobble } % @flushleft: same as @format, but doesn't obey \SETdispenvsize. \envdef\flushleft{% \let\nonarrowing = t% \nonfillstart \gobble } \let\Eflushleft = \afterenvbreak % @flushright. % \envdef\flushright{% \let\nonarrowing = t% \nonfillstart \advance\leftskip by 0pt plus 1fill \gobble } \let\Eflushright = \afterenvbreak % @quotation does normal linebreaking (hence we can't use \nonfillstart) % and narrows the margins. We keep \parskip nonzero in general, since % we're doing normal filling. So, when using \aboveenvbreak and % \afterenvbreak, temporarily make \parskip 0. % \envdef\quotation{% {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip \parindent=0pt % % @cartouche defines \nonarrowing to inhibit narrowing at next level down. \ifx\nonarrowing\relax \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing \exdentamount = \lispnarrowing \else \let\nonarrowing = \relax \fi \parsearg\quotationlabel } % We have retained a nonzero parskip for the environment, since we're % doing normal filling. % \def\Equotation{% \par \ifx\quotationauthor\undefined\else % indent a bit. \leftline{\kern 2\leftskip \sl ---\quotationauthor}% \fi {\parskip=0pt \afterenvbreak}% } % If we're given an argument, typeset it in bold with a colon after. \def\quotationlabel#1{% \def\temp{#1}% \ifx\temp\empty \else {\bf #1: }% \fi } % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, % we need the curly braces so that makeinfo sees the @verb command, eg: % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org % % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. % % [Knuth] p.344; only we need to do the other characters Texinfo sets % active too. Otherwise, they get lost as the first character on a % verbatim line. \def\dospecials{% \do\ \do\\\do\{\do\}\do\$\do\&% \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% \do\<\do\>\do\|\do\@\do+\do\"% } % % [Knuth] p. 380 \def\uncatcodespecials{% \def\do##1{\catcode`##1=\other}\dospecials} % % [Knuth] pp. 380,381,391 % Disable Spanish ligatures ?` and !` of \tt font \begingroup \catcode`\`=\active\gdef`{\relax\lq} \endgroup % % Setup for the @verb command. % % Eight spaces for a tab \begingroup \catcode`\^^I=\active \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} \endgroup % \def\setupverb{% \tt % easiest (and conventionally used) font for verbatim \def\par{\leavevmode\endgraf}% \catcode`\`=\active \tabeightspaces % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces } % Setup for the @verbatim environment % % Real tab expansion \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % \def\starttabbox{\setbox0=\hbox\bgroup} % Allow an option to not replace quotes with a regular directed right % quote/apostrophe (char 0x27), but instead use the undirected quote % from cmtt (char 0x0d). The undirected quote is ugly, so don't make it % the default, but it works for pasting with more pdf viewers (at least % evince), the lilypond developers report. xpdf does work with the % regular 0x27. % \def\codequoteright{% \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax '% \else \char'15 \fi \else \char'15 \fi } % % and a similar option for the left quote char vs. a grave accent. % Modern fonts display ASCII 0x60 as a grave accent, so some people like % the code environments to do likewise. % \def\codequoteleft{% \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax `% \else \char'22 \fi \else \char'22 \fi } % \begingroup \catcode`\^^I=\active \gdef\tabexpand{% \catcode`\^^I=\active \def^^I{\leavevmode\egroup \dimen0=\wd0 % the width so far, or since the previous tab \divide\dimen0 by\tabw \multiply\dimen0 by\tabw % compute previous multiple of \tabw \advance\dimen0 by\tabw % advance to next multiple of \tabw \wd0=\dimen0 \box0 \starttabbox }% } \catcode`\'=\active \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}% % \catcode`\`=\active \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}% % \gdef\quoteexpand{\rquoteexpand \lquoteexpand}% \endgroup % start the verbatim environment. \def\setupverbatim{% \let\nonarrowing = t% \nonfillstart % Easiest (and conventionally used) font for verbatim \tt \def\par{\leavevmode\egroup\box0\endgraf}% \catcode`\`=\active \tabexpand \quoteexpand % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces \everypar{\starttabbox}% } % Do the @verb magic: verbatim text is quoted by unique % delimiter characters. Before first delimiter expect a % right brace, after last delimiter expect closing brace: % % \def\doverb'{'#1'}'{#1} % % [Knuth] p. 382; only eat outer {} \begingroup \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] \endgroup % \def\verb{\begingroup\setupverb\doverb} % % % Do the @verbatim magic: define the macro \doverbatim so that % the (first) argument ends when '@end verbatim' is reached, ie: % % \def\doverbatim#1@end verbatim{#1} % % For Texinfo it's a lot easier than for LaTeX, % because texinfo's \verbatim doesn't stop at '\end{verbatim}': % we need not redefine '\', '{' and '}'. % % Inspired by LaTeX's verbatim command set [latex.ltx] % \begingroup \catcode`\ =\active \obeylines % % ignore everything up to the first ^^M, that's the newline at the end % of the @verbatim input line itself. Otherwise we get an extra blank % line in the output. \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% % We really want {...\end verbatim} in the body of the macro, but % without the active space; thus we have to use \xdef and \gobble. \endgroup % \envdef\verbatim{% \setupverbatim\doverbatim } \let\Everbatim = \afterenvbreak % @verbatiminclude FILE - insert text of file in verbatim environment. % \def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} % \def\doverbatiminclude#1{% {% \makevalueexpandable \setupverbatim \input #1 \afterenvbreak }% } % @copying ... @end copying. % Save the text away for @insertcopying later. % % We save the uninterpreted tokens, rather than creating a box. % Saving the text in a box would be much easier, but then all the % typesetting commands (@smallbook, font changes, etc.) have to be done % beforehand -- and a) we want @copying to be done first in the source % file; b) letting users define the frontmatter in as flexible order as % possible is very desirable. % \def\copying{\checkenv{}\begingroup\scanargctxt\docopying} \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} % \def\insertcopying{% \begingroup \parindent = 0pt % paragraph indentation looks wrong on title page \scanexp\copyingtext \endgroup } \message{defuns,} % @defun etc. \newskip\defbodyindent \defbodyindent=.4in \newskip\defargsindent \defargsindent=50pt \newskip\deflastargmargin \deflastargmargin=18pt \newcount\defunpenalty % Start the processing of @deffn: \def\startdefun{% \ifnum\lastpenalty<10000 \medbreak \defunpenalty=10003 % Will keep this @deffn together with the % following @def command, see below. \else % If there are two @def commands in a row, we'll have a \nobreak, % which is there to keep the function description together with its % header. But if there's nothing but headers, we need to allow a % break somewhere. Check specifically for penalty 10002, inserted % by \printdefunline, instead of 10000, since the sectioning % commands also insert a nobreak penalty, and we don't want to allow % a break between a section heading and a defun. % % As a minor refinement, we avoid "club" headers by signalling % with penalty of 10003 after the very first @deffn in the % sequence (see above), and penalty of 10002 after any following % @def command. \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi % % Similarly, after a section heading, do not allow a break. % But do insert the glue. \medskip % preceded by discardable penalty, so not a breakpoint \fi % \parindent=0in \advance\leftskip by \defbodyindent \exdentamount=\defbodyindent } \def\dodefunx#1{% % First, check whether we are in the right environment: \checkenv#1% % % As above, allow line break if we have multiple x headers in a row. % It's not a great place, though. \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi % % And now, it's time to reuse the body of the original defun: \expandafter\gobbledefun#1% } \def\gobbledefun#1\startdefun{} % \printdefunline \deffnheader{text} % \def\printdefunline#1#2{% \begingroup % call \deffnheader: #1#2 \endheader % common ending: \interlinepenalty = 10000 \advance\rightskip by 0pt plus 1fil \endgraf \nobreak\vskip -\parskip \penalty\defunpenalty % signal to \startdefun and \dodefunx % Some of the @defun-type tags do not enable magic parentheses, % rendering the following check redundant. But we don't optimize. \checkparencounts \endgroup } \def\Edefun{\endgraf\medbreak} % \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; % the only thing remaining is to define \deffnheader. % \def\makedefun#1{% \expandafter\let\csname E#1\endcsname = \Edefun \edef\temp{\noexpand\domakedefun \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% \temp } % \domakedefun \deffn \deffnx \deffnheader % % Define \deffn and \deffnx, without parameters. % \deffnheader has to be defined explicitly. % \def\domakedefun#1#2#3{% \envdef#1{% \startdefun \parseargusing\activeparens{\printdefunline#3}% }% \def#2{\dodefunx#1}% \def#3% } %%% Untyped functions: % @deffn category name args \makedefun{deffn}{\deffngeneral{}} % @deffn category class name args \makedefun{defop}#1 {\defopon{#1\ \putwordon}} % \defopon {category on}class name args \def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deffngeneral {subind}category name args % \def\deffngeneral#1#2 #3 #4\endheader{% % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. \dosubind{fn}{\code{#3}}{#1}% \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% } %%% Typed functions: % @deftypefn category type name args \makedefun{deftypefn}{\deftypefngeneral{}} % @deftypeop category class type name args \makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} % \deftypeopon {category on}class type name args \def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deftypefngeneral {subind}category type name args % \def\deftypefngeneral#1#2 #3 #4 #5\endheader{% \dosubind{fn}{\code{#4}}{#1}% \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } %%% Typed variables: % @deftypevr category type var args \makedefun{deftypevr}{\deftypecvgeneral{}} % @deftypecv category class type var args \makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} % \deftypecvof {category of}class type var args \def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } % \deftypecvgeneral {subind}category type var args % \def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% \dosubind{vr}{\code{#4}}{#1}% \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } %%% Untyped variables: % @defvr category var args \makedefun{defvr}#1 {\deftypevrheader{#1} {} } % @defcv category class var args \makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} % \defcvof {category of}class var args \def\defcvof#1#2 {\deftypecvof{#1}#2 {} } %%% Type: % @deftp category name args \makedefun{deftp}#1 #2 #3\endheader{% \doind{tp}{\code{#2}}% \defname{#1}{}{#2}\defunargs{#3\unskip}% } % Remaining @defun-like shortcuts: \makedefun{defun}{\deffnheader{\putwordDeffunc} } \makedefun{defmac}{\deffnheader{\putwordDefmac} } \makedefun{defspec}{\deffnheader{\putwordDefspec} } \makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } \makedefun{defvar}{\defvrheader{\putwordDefvar} } \makedefun{defopt}{\defvrheader{\putwordDefopt} } \makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } \makedefun{defmethod}{\defopon\putwordMethodon} \makedefun{deftypemethod}{\deftypeopon\putwordMethodon} \makedefun{defivar}{\defcvof\putwordInstanceVariableof} \makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} % \defname, which formats the name of the @def (not the args). % #1 is the category, such as "Function". % #2 is the return type, if any. % #3 is the function name. % % We are followed by (but not passed) the arguments, if any. % \def\defname#1#2#3{% % Get the values of \leftskip and \rightskip as they were outside the @def... \advance\leftskip by -\defbodyindent % % How we'll format the type name. Putting it in brackets helps % distinguish it from the body text that may end up on the next line % just below it. \def\temp{#1}% \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} % % Figure out line sizes for the paragraph shape. % The first line needs space for \box0; but if \rightskip is nonzero, % we need only space for the part of \box0 which exceeds it: \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip % The continuations: \dimen2=\hsize \advance\dimen2 by -\defargsindent % (plain.tex says that \dimen1 should be used only as global.) \parshape 2 0in \dimen0 \defargsindent \dimen2 % % Put the type name to the right margin. \noindent \hbox to 0pt{% \hfil\box0 \kern-\hsize % \hsize has to be shortened this way: \kern\leftskip % Intentionally do not respect \rightskip, since we need the space. }% % % Allow all lines to be underfull without complaint: \tolerance=10000 \hbadness=10000 \exdentamount=\defbodyindent {% % defun fonts. We use typewriter by default (used to be bold) because: % . we're printing identifiers, they should be in tt in principle. % . in languages with many accents, such as Czech or French, it's % common to leave accents off identifiers. The result looks ok in % tt, but exceedingly strange in rm. % . we don't want -- and --- to be treated as ligatures. % . this still does not fix the ?` and !` ligatures, but so far no % one has made identifiers using them :). \df \tt \def\temp{#2}% return value type \ifx\temp\empty\else \tclose{\temp} \fi #3% output function name }% {\rm\enskip}% hskip 0.5 em of \tenrm % \boldbrax % arguments will be output next, if any. } % Print arguments in slanted roman (not ttsl), inconsistently with using % tt for the name. This is because literal text is sometimes needed in % the argument list (groff manual), and ttsl and tt are not very % distinguishable. Prevent hyphenation at `-' chars. % \def\defunargs#1{% % use sl by default (not ttsl), % tt for the names. \df \sl \hyphenchar\font=0 % % On the other hand, if an argument has two dashes (for instance), we % want a way to get ttsl. Let's try @var for that. \let\var=\ttslanted #1% \sl\hyphenchar\font=45 } % We want ()&[] to print specially on the defun line. % \def\activeparens{% \catcode`\(=\active \catcode`\)=\active \catcode`\[=\active \catcode`\]=\active \catcode`\&=\active } % Make control sequences which act like normal parenthesis chars. \let\lparen = ( \let\rparen = ) % Be sure that we always have a definition for `(', etc. For example, % if the fn name has parens in it, \boldbrax will not be in effect yet, % so TeX would otherwise complain about undefined control sequence. { \activeparens \global\let(=\lparen \global\let)=\rparen \global\let[=\lbrack \global\let]=\rbrack \global\let& = \& \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} \gdef\magicamp{\let&=\amprm} } \newcount\parencount % If we encounter &foo, then turn on ()-hacking afterwards \newif\ifampseen \def\amprm#1 {\ampseentrue{\bf\ }} \def\parenfont{% \ifampseen % At the first level, print parens in roman, % otherwise use the default font. \ifnum \parencount=1 \rm \fi \else % The \sf parens (in \boldbrax) actually are a little bolder than % the contained text. This is especially needed for [ and ] . \sf \fi } \def\infirstlevel#1{% \ifampseen \ifnum\parencount=1 #1% \fi \fi } \def\bfafterword#1 {#1 \bf} \def\opnr{% \global\advance\parencount by 1 {\parenfont(}% \infirstlevel \bfafterword } \def\clnr{% {\parenfont)}% \infirstlevel \sl \global\advance\parencount by -1 } \newcount\brackcount \def\lbrb{% \global\advance\brackcount by 1 {\bf[}% } \def\rbrb{% {\bf]}% \global\advance\brackcount by -1 } \def\checkparencounts{% \ifnum\parencount=0 \else \badparencount \fi \ifnum\brackcount=0 \else \badbrackcount \fi } % these should not use \errmessage; the glibc manual, at least, actually % has such constructs (when documenting function pointers). \def\badparencount{% \message{Warning: unbalanced parentheses in @def...}% \global\parencount=0 } \def\badbrackcount{% \message{Warning: unbalanced square brackets in @def...}% \global\brackcount=0 } \message{macros,} % @macro. % To do this right we need a feature of e-TeX, \scantokens, % which we arrange to emulate with a temporary file in ordinary TeX. \ifx\eTeXversion\undefined \newwrite\macscribble \def\scantokens#1{% \toks0={#1}% \immediate\openout\macscribble=\jobname.tmp \immediate\write\macscribble{\the\toks0}% \immediate\closeout\macscribble \input \jobname.tmp } \fi \def\scanmacro#1{% \begingroup \newlinechar`\^^M \let\xeatspaces\eatspaces % Undo catcode changes of \startcontents and \doprintindex % When called from @insertcopying or (short)caption, we need active % backslash to get it printed correctly. Previously, we had % \catcode`\\=\other instead. We'll see whether a problem appears % with macro expansion. --kasal, 19aug04 \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ % ... and \example \spaceisspace % % Append \endinput to make sure that TeX does not see the ending newline. % I've verified that it is necessary both for e-TeX and for ordinary TeX % --kasal, 29nov03 \scantokens{#1\endinput}% \endgroup } \def\scanexp#1{% \edef\temp{\noexpand\scanmacro{#1}}% \temp } \newcount\paramno % Count of parameters \newtoks\macname % Macro name \newif\ifrecursive % Is it recursive? % List of all defined macros in the form % \definedummyword\macro1\definedummyword\macro2... % Currently is also contains all @aliases; the list can be split % if there is a need. \def\macrolist{} % Add the macro to \macrolist \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} \def\addtomacrolistxxx#1{% \toks0 = \expandafter{\macrolist\definedummyword#1}% \xdef\macrolist{\the\toks0}% } % Utility routines. % This does \let #1 = #2, with \csnames; that is, % \let \csname#1\endcsname = \csname#2\endcsname % (except of course we have to play expansion games). % \def\cslet#1#2{% \expandafter\let \csname#1\expandafter\endcsname \csname#2\endcsname } % Trim leading and trailing spaces off a string. % Concepts from aro-bend problem 15 (see CTAN). {\catcode`\@=11 \gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} \gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} \gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} \def\unbrace#1{#1} \unbrace{\gdef\trim@@@ #1 } #2@{#1} } % Trim a single trailing ^^M off a string. {\catcode`\^^M=\other \catcode`\Q=3% \gdef\eatcr #1{\eatcra #1Q^^MQ}% \gdef\eatcra#1^^MQ{\eatcrb#1Q}% \gdef\eatcrb#1Q#2Q{#1}% } % Macro bodies are absorbed as an argument in a context where % all characters are catcode 10, 11 or 12, except \ which is active % (as in normal texinfo). It is necessary to change the definition of \. % Non-ASCII encodings make 8-bit characters active, so un-activate % them to avoid their expansion. Must do this non-globally, to % confine the change to the current group. % It's necessary to have hard CRs when the macro is executed. This is % done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. \def\scanctxt{% \catcode`\"=\other \catcode`\+=\other \catcode`\<=\other \catcode`\>=\other \catcode`\@=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\~=\other \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi } \def\scanargctxt{% \scanctxt \catcode`\\=\other \catcode`\^^M=\other } \def\macrobodyctxt{% \scanctxt \catcode`\{=\other \catcode`\}=\other \catcode`\^^M=\other \usembodybackslash } \def\macroargctxt{% \scanctxt \catcode`\\=\other } % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N % where N is the macro parameter number. % We define \csname macarg.\endcsname to be \realbackslash, so % \\ in macro replacement text gets you a backslash. {\catcode`@=0 @catcode`@\=@active @gdef@usembodybackslash{@let\=@mbodybackslash} @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} } \expandafter\def\csname macarg.\endcsname{\realbackslash} \def\macro{\recursivefalse\parsearg\macroxxx} \def\rmacro{\recursivetrue\parsearg\macroxxx} \def\macroxxx#1{% \getargs{#1}% now \macname is the macname and \argl the arglist \ifx\argl\empty % no arguments \paramno=0% \else \expandafter\parsemargdef \argl;% \fi \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% \else \expandafter\ifx\csname \the\macname\endcsname \relax \else \errmessage{Macro name \the\macname\space already defined}\fi \global\cslet{macsave.\the\macname}{\the\macname}% \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% \addtomacrolist{\the\macname}% \fi \begingroup \macrobodyctxt \ifrecursive \expandafter\parsermacbody \else \expandafter\parsemacbody \fi} \parseargdef\unmacro{% \if1\csname ismacro.#1\endcsname \global\cslet{#1}{macsave.#1}% \global\expandafter\let \csname ismacro.#1\endcsname=0% % Remove the macro name from \macrolist: \begingroup \expandafter\let\csname#1\endcsname \relax \let\definedummyword\unmacrodo \xdef\macrolist{\macrolist}% \endgroup \else \errmessage{Macro #1 not defined}% \fi } % Called by \do from \dounmacro on each macro. The idea is to omit any % macro definitions that have been changed to \relax. % \def\unmacrodo#1{% \ifx #1\relax % remove this \else \noexpand\definedummyword \noexpand#1% \fi } % This makes use of the obscure feature that if the last token of a % is #, then the preceding argument is delimited by % an opening brace, and that opening brace is not consumed. \def\getargs#1{\getargsxxx#1{}} \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} \def\getmacname #1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} % Parse the optional {params} list. Set up \paramno and \paramlist % so \defmacro knows what to do. Define \macarg.blah for each blah % in the params list, to be ##N where N is the position in that list. % That gets used by \mbodybackslash (above). % We need to get `macro parameter char #' into several definitions. % The technique used is stolen from LaTeX: let \hash be something % unexpandable, insert that wherever you need a #, and then redefine % it to # just before using the token list produced. % % The same technique is used to protect \eatspaces till just before % the macro is used. \def\parsemargdef#1;{\paramno=0\def\paramlist{}% \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} \def\parsemargdefxxx#1,{% \if#1;\let\next=\relax \else \let\next=\parsemargdefxxx \advance\paramno by 1% \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname {\xeatspaces{\hash\the\paramno}}% \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} % These two commands read recursive and nonrecursive macro bodies. % (They're different since rec and nonrec macros end differently.) \long\def\parsemacbody#1@end macro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% \long\def\parsermacbody#1@end rmacro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% % This defines the macro itself. There are six cases: recursive and % nonrecursive macros of zero, one, and many arguments. % Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file % they're defined in; @include reads the file inside a group. \def\defmacro{% \let\hash=##% convert placeholders to macro parameter chars \ifrecursive \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\scanmacro{\temp}}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup\noexpand\scanmacro{\temp}}% \else % many \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{\egroup\noexpand\scanmacro{\temp}}% \fi \else \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \else % many \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \expandafter\noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \fi \fi} \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} % \braceorline decides whether the next nonwhitespace character is a % {. If so it reads up to the closing }, if not, it reads the whole % line. Whatever was read is then fed to the next control sequence % as an argument (by \parsebrace or \parsearg) \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup\else \expandafter\parsearg \fi \macnamexxx} % @alias. % We need some trickery to remove the optional spaces around the equal % sign. Just make them active and then expand them all to nothing. \def\alias{\parseargusing\obeyspaces\aliasxxx} \def\aliasxxx #1{\aliasyyy#1\relax} \def\aliasyyy #1=#2\relax{% {% \expandafter\let\obeyedspace=\empty \addtomacrolist{#1}% \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% }% \next } \message{cross references,} \newwrite\auxfile \newif\ifhavexrefs % True if xref values are known. \newif\ifwarnedxrefs % True if we warned once that they aren't known. % @inforef is relatively simple. \def\inforef #1{\inforefzzz #1,,,,**} \def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, node \samp{\ignorespaces#1{}}} % @node's only job in TeX is to define \lastnode, which is used in % cross-references. The @node line might or might not have commas, and % might or might not have spaces before the first comma, like: % @node foo , bar , ... % We don't want such trailing spaces in the node name. % \parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} % % also remove a trailing comma, in case of something like this: % @node Help-Cross, , , Cross-refs \def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} \def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} \let\nwnode=\node \let\lastnode=\empty % Write a cross-reference definition for the current node. #1 is the % type (Ynumbered, Yappendix, Ynothing). % \def\donoderef#1{% \ifx\lastnode\empty\else \setref{\lastnode}{#1}% \global\let\lastnode=\empty \fi } % @anchor{NAME} -- define xref target at arbitrary point. % \newcount\savesfregister % \def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} \def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} \def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} % \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an % anchor), which consists of three parts: % 1) NAME-title - the current sectioning name taken from \lastsection, % or the anchor name. % 2) NAME-snt - section number and type, passed as the SNT arg, or % empty for anchors. % 3) NAME-pg - the page number. % % This is called from \donoderef, \anchor, and \dofloat. In the case of % floats, there is an additional part, which is not written here: % 4) NAME-lof - the text as it should appear in a @listoffloats. % \def\setref#1#2{% \pdfmkdest{#1}% \iflinks {% \atdummies % preserve commands, but don't expand them \edef\writexrdef##1##2{% \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef ##1}{##2}}% these are parameters of \writexrdef }% \toks0 = \expandafter{\lastsection}% \immediate \writexrdef{title}{\the\toks0 }% \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout }% \fi } % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed % manual. All but the node name can be omitted. % \def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} \def\ref#1{\xrefX[#1,,,,,,,]} \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces \def\printedmanual{\ignorespaces #5}% \def\printedrefname{\ignorespaces #3}% \setbox1=\hbox{\printedmanual\unskip}% \setbox0=\hbox{\printedrefname\unskip}% \ifdim \wd0 = 0pt % No printed node name was explicitly given. \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax % Use the node name inside the square brackets. \def\printedrefname{\ignorespaces #1}% \else % Use the actual chapter/section title appear inside % the square brackets. Use the real section title if we have it. \ifdim \wd1 > 0pt % It is in another manual, so we don't have it. \def\printedrefname{\ignorespaces #1}% \else \ifhavexrefs % We know the real title if we have the xref values. \def\printedrefname{\refx{#1-title}{}}% \else % Otherwise just copy the Info node name. \def\printedrefname{\ignorespaces #1}% \fi% \fi \fi \fi % % Make link in pdf output. \ifpdf {\indexnofonts \turnoffactive % This expands tokens, so do it after making catcode changes, so _ % etc. don't get their TeX definitions. \getfilename{#4}% % % See comments at \activebackslashdouble. {\activebackslashdouble \xdef\pdfxrefdest{#1}% \backslashparens\pdfxrefdest}% % \leavevmode \startlink attr{/Border [0 0 0]}% \ifnum\filenamelength>0 goto file{\the\filename.pdf} name{\pdfxrefdest}% \else goto name{\pdfmkpgn{\pdfxrefdest}}% \fi }% \setcolor{\linkcolor}% \fi % % Float references are printed completely differently: "Figure 1.2" % instead of "[somenode], p.3". We distinguish them by the % LABEL-title being set to a magic string. {% % Have to otherify everything special to allow the \csname to % include an _ in the xref name, etc. \indexnofonts \turnoffactive \expandafter\global\expandafter\let\expandafter\Xthisreftitle \csname XR#1-title\endcsname }% \iffloat\Xthisreftitle % If the user specified the print name (third arg) to the ref, % print it instead of our usual "Figure 1.2". \ifdim\wd0 = 0pt \refx{#1-snt}{}% \else \printedrefname \fi % % if the user also gave the printed manual name (fifth arg), append % "in MANUALNAME". \ifdim \wd1 > 0pt \space \putwordin{} \cite{\printedmanual}% \fi \else % node/anchor (non-float) references. % % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not % insert empty discretionaries after hyphens, which means that it will % not find a line break at a hyphen in a node names. Since some manuals % are best written with fairly long node names, containing hyphens, this % is a loss. Therefore, we give the text of the node name again, so it % is as if TeX is seeing it for the first time. \ifdim \wd1 > 0pt \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% \else % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand % into the usual \leavevmode...\vrule stuff for purposes of % printing. So we \turnoffactive for the \refx-snt, back on for the % printing, back off for the \refx-pg. {\turnoffactive % Only output a following space if the -snt ref is nonempty; for % @unnumbered and @anchor, it won't be. \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi }% % output the `[mynode]' via a macro so it can be overridden. \xrefprintnodename\printedrefname % % But we always want a comma and a space: ,\space % % output the `page 3'. \turnoffactive \putwordpage\tie\refx{#1-pg}{}% \fi \fi \endlink \endgroup} % This macro is called from \xrefX for the `[nodename]' part of xref % output. It's a separate macro only so it can be changed more easily, % since square brackets don't work well in some documents. Particularly % one that Bob is working on :). % \def\xrefprintnodename#1{[#1]} % Things referred to by \setref. % \def\Ynothing{} \def\Yomitfromtoc{} \def\Ynumbered{% \ifnum\secno=0 \putwordChapter@tie \the\chapno \else \ifnum\subsecno=0 \putwordSection@tie \the\chapno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie \the\chapno.\the\secno.\the\subsecno \else \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } \def\Yappendix{% \ifnum\secno=0 \putwordAppendix@tie @char\the\appendixno{}% \else \ifnum\subsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno \else \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } % Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. % If its value is nonempty, SUFFIX is output afterward. % \def\refx#1#2{% {% \indexnofonts \otherbackslash \expandafter\global\expandafter\let\expandafter\thisrefX \csname XR#1\endcsname }% \ifx\thisrefX\relax % If not defined, say something at least. \angleleft un\-de\-fined\angleright \iflinks \ifhavexrefs \message{\linenumber Undefined cross reference `#1'.}% \else \ifwarnedxrefs\else \global\warnedxrefstrue \message{Cross reference values unknown; you must run TeX again.}% \fi \fi \fi \else % It's defined, so just use it. \thisrefX \fi #2% Output the suffix in any case. } % This is the macro invoked by entries in the aux file. Usually it's % just a \def (we prepend XR to the control sequence name to avoid % collisions). But if this is a float type, we have more work to do. % \def\xrdef#1#2{% {% The node name might contain 8-bit characters, which in our current % implementation are changed to commands like @'e. Don't let these % mess up the control sequence name. \indexnofonts \turnoffactive \xdef\safexrefname{#1}% }% % \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref % % Was that xref control sequence that we just defined for a float? \expandafter\iffloat\csname XR\safexrefname\endcsname % it was a float, and we have the (safe) float type in \iffloattype. \expandafter\let\expandafter\floatlist \csname floatlist\iffloattype\endcsname % % Is this the first time we've seen this float type? \expandafter\ifx\floatlist\relax \toks0 = {\do}% yes, so just \do \else % had it before, so preserve previous elements in list. \toks0 = \expandafter{\floatlist\do}% \fi % % Remember this xref in the control sequence \floatlistFLOATTYPE, % for later use in \listoffloats. \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 {\safexrefname}}% \fi } % Read the last existing aux file, if any. No error if none exists. % \def\tryauxfile{% \openin 1 \jobname.aux \ifeof 1 \else \readdatafile{aux}% \global\havexrefstrue \fi \closein 1 } \def\setupdatafile{% \catcode`\^^@=\other \catcode`\^^A=\other \catcode`\^^B=\other \catcode`\^^C=\other \catcode`\^^D=\other \catcode`\^^E=\other \catcode`\^^F=\other \catcode`\^^G=\other \catcode`\^^H=\other \catcode`\^^K=\other \catcode`\^^L=\other \catcode`\^^N=\other \catcode`\^^P=\other \catcode`\^^Q=\other \catcode`\^^R=\other \catcode`\^^S=\other \catcode`\^^T=\other \catcode`\^^U=\other \catcode`\^^V=\other \catcode`\^^W=\other \catcode`\^^X=\other \catcode`\^^Z=\other \catcode`\^^[=\other \catcode`\^^\=\other \catcode`\^^]=\other \catcode`\^^^=\other \catcode`\^^_=\other % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. % in xref tags, i.e., node names. But since ^^e4 notation isn't % supported in the main text, it doesn't seem desirable. Furthermore, % that is not enough: for node names that actually contain a ^ % character, we would end up writing a line like this: 'xrdef {'hat % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first % argument, and \hat is not an expandable control sequence. It could % all be worked out, but why? Either we support ^^ or we don't. % % The other change necessary for this was to define \auxhat: % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter % and then to call \auxhat in \setq. % \catcode`\^=\other % % Special characters. Should be turned off anyway, but... \catcode`\~=\other \catcode`\[=\other \catcode`\]=\other \catcode`\"=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\$=\other \catcode`\#=\other \catcode`\&=\other \catcode`\%=\other \catcode`+=\other % avoid \+ for paranoia even though we've turned it off % % This is to support \ in node names and titles, since the \ % characters end up in a \csname. It's easier than % leaving it active and making its active definition an actual \ % character. What I don't understand is why it works in the *value* % of the xrdef. Seems like it should be a catcode12 \, and that % should not typeset properly. But it works, so I'm moving on for % now. --karl, 15jan04. \catcode`\\=\other % % Make the characters 128-255 be printing characters. {% \count1=128 \def\loop{% \catcode\count1=\other \advance\count1 by 1 \ifnum \count1<256 \loop \fi }% }% % % @ is our escape character in .aux files, and we need braces. \catcode`\{=1 \catcode`\}=2 \catcode`\@=0 } \def\readdatafile#1{% \begingroup \setupdatafile \input\jobname.#1 \endgroup} \message{insertions,} % including footnotes. \newcount \footnoteno % The trailing space in the following definition for supereject is % vital for proper filling; pages come out unaligned when you do a % pagealignmacro call if that space before the closing brace is % removed. (Generally, numeric constants should always be followed by a % space to prevent strange expansion errors.) \def\supereject{\par\penalty -20000\footnoteno =0 } % @footnotestyle is meaningful for info output only. \let\footnotestyle=\comment {\catcode `\@=11 % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% \let\indent=\ptexindent \let\noindent=\ptexnoindent \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % % In case the footnote comes at the end of a sentence, preserve the % extra spacing after we do the footnote number. \let\@sf\empty \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi % % Remove inadvertent blank space before typesetting the footnote number. \unskip \thisfootno\@sf \dofootnote }% % Don't bother with the trickery in plain.tex to not require the % footnote text as a parameter. Our footnotes don't need to be so general. % % Oh yes, they do; otherwise, @ifset (and anything else that uses % \parseargline) fails inside footnotes because the tokens are fixed when % the footnote is read. --karl, 16nov96. % \gdef\dofootnote{% \insert\footins\bgroup % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. % So reset some parameters. \hsize=\pagewidth \interlinepenalty\interfootnotelinepenalty \splittopskip\ht\strutbox % top baseline for broken footnotes \splitmaxdepth\dp\strutbox \floatingpenalty\@MM \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip \parindent\defaultparindent % \smallfonts \rm % % Because we use hanging indentation in footnotes, a @noindent appears % to exdent this text, so make it be a no-op. makeinfo does not use % hanging indentation so @noindent can still be needed within footnote % text after an @example or the like (not that this is good style). \let\noindent = \relax % % Hang the footnote text off the number. Use \everypar in case the % footnote extends for more than one paragraph. \everypar = {\hang}% \textindent{\thisfootno}% % % Don't crash into the line above the footnote text. Since this % expands into a box, it must come within the paragraph, lest it % provide a place where TeX can split the footnote. \footstrut \futurelet\next\fo@t } }%end \catcode `\@=11 % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. % Similarly, if a @footnote appears inside an alignment, save the footnote % text to a box and make the \insert when a row of the table is finished. % And the same can be done for other insert classes. --kasal, 16nov03. % Replace the \insert primitive by a cheating macro. % Deeper inside, just make sure that the saved insertions are not spilled % out prematurely. % \def\startsavinginserts{% \ifx \insert\ptexinsert \let\insert\saveinsert \else \let\checkinserts\relax \fi } % This \insert replacement works for both \insert\footins{foo} and % \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. % \def\saveinsert#1{% \edef\next{\noexpand\savetobox \makeSAVEname#1}% \afterassignment\next % swallow the left brace \let\temp = } \def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} \def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} \def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} \def\placesaveins#1{% \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname {\box#1}% } % eat @SAVE -- beware, all of them have catcode \other: { \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) \gdef\gobblesave @SAVE{} } % initialization: \def\newsaveins #1{% \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% \next } \def\newsaveinsX #1{% \csname newbox\endcsname #1% \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts \checksaveins #1}% } % initialize: \let\checkinserts\empty \newsaveins\footins \newsaveins\margin % @image. We use the macros from epsf.tex to support this. % If epsf.tex is not installed and @image is used, we complain. % % Check for and read epsf.tex up front. If we read it only at @image % time, we might be inside a group, and then its definitions would get % undone and the next image would fail. \openin 1 = epsf.tex \ifeof 1 \else % Do not bother showing banner with epsf.tex v2.7k (available in % doc/epsf.tex and on ctan). \def\epsfannounce{\toks0 = }% \input epsf.tex \fi \closein 1 % % We will only complain once about lack of epsf.tex. \newif\ifwarnednoepsf \newhelp\noepsfhelp{epsf.tex must be installed for images to work. It is also included in the Texinfo distribution, or you can get it from ftp://tug.org/tex/epsf.tex.} % \def\image#1{% \ifx\epsfbox\undefined \ifwarnednoepsf \else \errhelp = \noepsfhelp \errmessage{epsf.tex not found, images will be ignored}% \global\warnednoepsftrue \fi \else \imagexxx #1,,,,,\finish \fi } % % Arguments to @image: % #1 is (mandatory) image filename; we tack on .eps extension. % #2 is (optional) width, #3 is (optional) height. % #4 is (ignored optional) html alt text. % #5 is (ignored optional) extension. % #6 is just the usual extra ignored arg for parsing this stuff. \newif\ifimagevmode \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup \catcode`\^^M = 5 % in case we're inside an example \normalturnoffactive % allow _ et al. in names % If the image is by itself, center it. \ifvmode \imagevmodetrue \nobreak\medskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space % above and below. \nobreak\vskip\parskip \nobreak \fi % % Leave vertical mode so that indentation from an enclosing % environment such as @quotation is respected. On the other hand, if % it's at the top level, we don't want the normal paragraph indentation. \noindent % % Output the image. \ifpdf \dopdfimage{#1}{#2}{#3}% \else % \epsfbox itself resets \epsf?size at each figure. \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi \epsfbox{#1.eps}% \fi % \ifimagevmode \medskip \fi % space after the standalone image \endgroup} % @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, % etc. We don't actually implement floating yet, we always include the % float "here". But it seemed the best name for the future. % \envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} % There may be a space before second and/or third parameter; delete it. \def\eatcommaspace#1, {#1,} % #1 is the optional FLOATTYPE, the text label for this float, typically % "Figure", "Table", "Example", etc. Can't contain commas. If omitted, % this float will not be numbered and cannot be referred to. % % #2 is the optional xref label. Also must be present for the float to % be referable. % % #3 is the optional positioning argument; for now, it is ignored. It % will somehow specify the positions allowed to float to (here, top, bottom). % % We keep a separate counter for each FLOATTYPE, which we reset at each % chapter-level command. \let\resetallfloatnos=\empty % \def\dofloat#1,#2,#3,#4\finish{% \let\thiscaption=\empty \let\thisshortcaption=\empty % % don't lose footnotes inside @float. % % BEWARE: when the floats start float, we have to issue warning whenever an % insert appears inside a float which could possibly float. --kasal, 26may04 % \startsavinginserts % % We can't be used inside a paragraph. \par % \vtop\bgroup \def\floattype{#1}% \def\floatlabel{#2}% \def\floatloc{#3}% we do nothing with this yet. % \ifx\floattype\empty \let\safefloattype=\empty \else {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% \fi % % If label is given but no type, we handle that as the empty type. \ifx\floatlabel\empty \else % We want each FLOATTYPE to be numbered separately (Figure 1, % Table 1, Figure 2, ...). (And if no label, no number.) % \expandafter\getfloatno\csname\safefloattype floatno\endcsname \global\advance\floatno by 1 % {% % This magic value for \lastsection is output by \setref as the % XREFLABEL-title value. \xrefX uses it to distinguish float % labels (which have a completely different output format) from % node and anchor labels. And \xrdef uses it to construct the % lists of floats. % \edef\lastsection{\floatmagic=\safefloattype}% \setref{\floatlabel}{Yfloat}% }% \fi % % start with \parskip glue, I guess. \vskip\parskip % % Don't suppress indentation if a float happens to start a section. \restorefirstparagraphindent } % we have these possibilities: % @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap % @float Foo,lbl & no caption: Foo 1.1 % @float Foo & @caption{Cap}: Foo: Cap % @float Foo & no caption: Foo % @float ,lbl & Caption{Cap}: 1.1: Cap % @float ,lbl & no caption: 1.1 % @float & @caption{Cap}: Cap % @float & no caption: % \def\Efloat{% \let\floatident = \empty % % In all cases, if we have a float type, it comes first. \ifx\floattype\empty \else \def\floatident{\floattype}\fi % % If we have an xref label, the number comes next. \ifx\floatlabel\empty \else \ifx\floattype\empty \else % if also had float type, need tie first. \appendtomacro\floatident{\tie}% \fi % the number. \appendtomacro\floatident{\chaplevelprefix\the\floatno}% \fi % % Start the printed caption with what we've constructed in % \floatident, but keep it separate; we need \floatident again. \let\captionline = \floatident % \ifx\thiscaption\empty \else \ifx\floatident\empty \else \appendtomacro\captionline{: }% had ident, so need a colon between \fi % % caption text. \appendtomacro\captionline{\scanexp\thiscaption}% \fi % % If we have anything to print, print it, with space before. % Eventually this needs to become an \insert. \ifx\captionline\empty \else \vskip.5\parskip \captionline % % Space below caption. \vskip\parskip \fi % % If have an xref label, write the list of floats info. Do this % after the caption, to avoid chance of it being a breakpoint. \ifx\floatlabel\empty \else % Write the text that goes in the lof to the aux file as % \floatlabel-lof. Besides \floatident, we include the short % caption if specified, else the full caption if specified, else nothing. {% \atdummies % % since we read the caption text in the macro world, where ^^M % is turned into a normal character, we have to scan it back, so % we don't write the literal three characters "^^M" into the aux file. \scanexp{% \xdef\noexpand\gtemp{% \ifx\thisshortcaption\empty \thiscaption \else \thisshortcaption \fi }% }% \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident \ifx\gtemp\empty \else : \gtemp \fi}}% }% \fi \egroup % end of \vtop % % place the captured inserts % % BEWARE: when the floats start floating, we have to issue warning % whenever an insert appears inside a float which could possibly % float. --kasal, 26may04 % \checkinserts } % Append the tokens #2 to the definition of macro #1, not expanding either. % \def\appendtomacro#1#2{% \expandafter\def\expandafter#1\expandafter{#1#2}% } % @caption, @shortcaption % \def\caption{\docaption\thiscaption} \def\shortcaption{\docaption\thisshortcaption} \def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} \def\defcaption#1#2{\egroup \def#1{#2}} % The parameter is the control sequence identifying the counter we are % going to use. Create it if it doesn't exist and assign it to \floatno. \def\getfloatno#1{% \ifx#1\relax % Haven't seen this figure type before. \csname newcount\endcsname #1% % % Remember to reset this floatno at the next chap. \expandafter\gdef\expandafter\resetallfloatnos \expandafter{\resetallfloatnos #1=0 }% \fi \let\floatno#1% } % \setref calls this to get the XREFLABEL-snt value. We want an @xref % to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we % first read the @float command. % \def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% % Magic string used for the XREFLABEL-title value, so \xrefX can % distinguish floats from other xref types. \def\floatmagic{!!float!!} % #1 is the control sequence we are passed; we expand into a conditional % which is true if #1 represents a float ref. That is, the magic % \lastsection value which we \setref above. % \def\iffloat#1{\expandafter\doiffloat#1==\finish} % % #1 is (maybe) the \floatmagic string. If so, #2 will be the % (safe) float type for this float. We set \iffloattype to #2. % \def\doiffloat#1=#2=#3\finish{% \def\temp{#1}% \def\iffloattype{#2}% \ifx\temp\floatmagic } % @listoffloats FLOATTYPE - print a list of floats like a table of contents. % \parseargdef\listoffloats{% \def\floattype{#1}% floattype {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% % % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax \ifhavexrefs % if the user said @listoffloats foo but never @float foo. \message{\linenumber No `\safefloattype' floats to list.}% \fi \else \begingroup \leftskip=\tocindent % indent these entries like a toc \let\do=\listoffloatsdo \csname floatlist\safefloattype\endcsname \endgroup \fi } % This is called on each entry in a list of floats. We're passed the % xref label, in the form LABEL-title, which is how we save it in the % aux file. We strip off the -title and look up \XRLABEL-lof, which % has the text we're supposed to typeset here. % % Figures without xref labels will not be included in the list (since % they won't appear in the aux file). % \def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} \def\listoffloatsdoentry#1-title\finish{{% % Can't fully expand XR#1-lof because it can contain anything. Just % pass the control sequence. On the other hand, XR#1-pg is just the % page number, and we want to fully expand that so we can get a link % in pdf output. \toksA = \expandafter{\csname XR#1-lof\endcsname}% % % use the same \entry macro we use to generate the TOC and index. \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% \writeentry }} \message{localization,} % @documentlanguage is usually given very early, just after % @setfilename. If done too late, it may not override everything % properly. Single argument is the language (de) or locale (de_DE) % abbreviation. It would be nice if we could set up a hyphenation file. % { \catcode`\_ = \active \globaldefs=1 \parseargdef\documentlanguage{\begingroup \let_=\normalunderscore % normal _ character for filenames \tex % read txi-??.tex file in plain TeX. % Read the file by the name they passed if it exists. \openin 1 txi-#1.tex \ifeof 1 \documentlanguagetrywithoutunderscore{#1_\finish}% \else \input txi-#1.tex \fi \closein 1 \endgroup \endgroup} } % % If they passed de_DE, and txi-de_DE.tex doesn't exist, % try txi-de.tex. % \def\documentlanguagetrywithoutunderscore#1_#2\finish{% \openin 1 txi-#1.tex \ifeof 1 \errhelp = \nolanghelp \errmessage{Cannot read language file txi-#1.tex}% \else \input txi-#1.tex \fi \closein 1 } % \newhelp\nolanghelp{The given language definition file cannot be found or is empty. Maybe you need to install it? In the current directory should work if nowhere else does.} % Set the catcode of characters 128 through 255 to the specified number. % \def\setnonasciicharscatcode#1{% \count255=128 \loop\ifnum\count255<256 \global\catcode\count255=#1\relax \advance\count255 by 1 \repeat } \def\setnonasciicharscatcodenonglobal#1{% \count255=128 \loop\ifnum\count255<256 \catcode\count255=#1\relax \advance\count255 by 1 \repeat } % @documentencoding sets the definition of non-ASCII characters % according to the specified encoding. % \parseargdef\documentencoding{% % Encoding being declared for the document. \def\declaredencoding{\csname #1.enc\endcsname}% % % Supported encodings: names converted to tokens in order to be able % to compare them with \ifx. \def\ascii{\csname US-ASCII.enc\endcsname}% \def\latnine{\csname ISO-8859-15.enc\endcsname}% \def\latone{\csname ISO-8859-1.enc\endcsname}% \def\lattwo{\csname ISO-8859-2.enc\endcsname}% \def\utfeight{\csname UTF-8.enc\endcsname}% % \ifx \declaredencoding \ascii \asciichardefs % \else \ifx \declaredencoding \lattwo \setnonasciicharscatcode\active \lattwochardefs % \else \ifx \declaredencoding \latone \setnonasciicharscatcode\active \latonechardefs % \else \ifx \declaredencoding \latnine \setnonasciicharscatcode\active \latninechardefs % \else \ifx \declaredencoding \utfeight \setnonasciicharscatcode\active \utfeightchardefs % \else \message{Unknown document encoding #1, ignoring.}% % \fi % utfeight \fi % latnine \fi % latone \fi % lattwo \fi % ascii } % A message to be logged when using a character that isn't available % the default font encoding (OT1). % \def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} % Take account of \c (plain) vs. \, (Texinfo) difference. \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} % First, make active non-ASCII characters in order for them to be % correctly categorized when TeX reads the replacement text of % macros containing the character definitions. \setnonasciicharscatcode\active % % Latin1 (ISO-8859-1) character definitions. \def\latonechardefs{% \gdef^^a0{~} \gdef^^a1{\exclamdown} \gdef^^a2{\missingcharmsg{CENT SIGN}} \gdef^^a3{{\pounds}} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\missingcharmsg{YEN SIGN}} \gdef^^a6{\missingcharmsg{BROKEN BAR}} \gdef^^a7{\S} \gdef^^a8{\"{}} \gdef^^a9{\copyright} \gdef^^aa{\ordf} \gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}} \gdef^^ac{$\lnot$} \gdef^^ad{\-} \gdef^^ae{\registeredsymbol} \gdef^^af{\={}} % \gdef^^b0{\textdegree} \gdef^^b1{$\pm$} \gdef^^b2{$^2$} \gdef^^b3{$^3$} \gdef^^b4{\'{}} \gdef^^b5{$\mu$} \gdef^^b6{\P} % \gdef^^b7{$^.$} \gdef^^b8{\cedilla\ } \gdef^^b9{$^1$} \gdef^^ba{\ordm} % \gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}} \gdef^^bc{$1\over4$} \gdef^^bd{$1\over2$} \gdef^^be{$3\over4$} \gdef^^bf{\questiondown} % \gdef^^c0{\`A} \gdef^^c1{\'A} \gdef^^c2{\^A} \gdef^^c3{\~A} \gdef^^c4{\"A} \gdef^^c5{\ringaccent A} \gdef^^c6{\AE} \gdef^^c7{\cedilla C} \gdef^^c8{\`E} \gdef^^c9{\'E} \gdef^^ca{\^E} \gdef^^cb{\"E} \gdef^^cc{\`I} \gdef^^cd{\'I} \gdef^^ce{\^I} \gdef^^cf{\"I} % \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}} \gdef^^d1{\~N} \gdef^^d2{\`O} \gdef^^d3{\'O} \gdef^^d4{\^O} \gdef^^d5{\~O} \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\O} \gdef^^d9{\`U} \gdef^^da{\'U} \gdef^^db{\^U} \gdef^^dc{\"U} \gdef^^dd{\'Y} \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}} \gdef^^df{\ss} % \gdef^^e0{\`a} \gdef^^e1{\'a} \gdef^^e2{\^a} \gdef^^e3{\~a} \gdef^^e4{\"a} \gdef^^e5{\ringaccent a} \gdef^^e6{\ae} \gdef^^e7{\cedilla c} \gdef^^e8{\`e} \gdef^^e9{\'e} \gdef^^ea{\^e} \gdef^^eb{\"e} \gdef^^ec{\`{\dotless i}} \gdef^^ed{\'{\dotless i}} \gdef^^ee{\^{\dotless i}} \gdef^^ef{\"{\dotless i}} % \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}} \gdef^^f1{\~n} \gdef^^f2{\`o} \gdef^^f3{\'o} \gdef^^f4{\^o} \gdef^^f5{\~o} \gdef^^f6{\"o} \gdef^^f7{$\div$} \gdef^^f8{\o} \gdef^^f9{\`u} \gdef^^fa{\'u} \gdef^^fb{\^u} \gdef^^fc{\"u} \gdef^^fd{\'y} \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}} \gdef^^ff{\"y} } % Latin9 (ISO-8859-15) encoding character definitions. \def\latninechardefs{% % Encoding is almost identical to Latin1. \latonechardefs % \gdef^^a4{\euro} \gdef^^a6{\v S} \gdef^^a8{\v s} \gdef^^b4{\v Z} \gdef^^b8{\v z} \gdef^^bc{\OE} \gdef^^bd{\oe} \gdef^^be{\"Y} } % Latin2 (ISO-8859-2) character definitions. \def\lattwochardefs{% \gdef^^a0{~} \gdef^^a1{\missingcharmsg{LATIN CAPITAL LETTER A WITH OGONEK}} \gdef^^a2{\u{}} \gdef^^a3{\L} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\v L} \gdef^^a6{\'S} \gdef^^a7{\S} \gdef^^a8{\"{}} \gdef^^a9{\v S} \gdef^^aa{\cedilla S} \gdef^^ab{\v T} \gdef^^ac{\'Z} \gdef^^ad{\-} \gdef^^ae{\v Z} \gdef^^af{\dotaccent Z} % \gdef^^b0{\textdegree} \gdef^^b1{\missingcharmsg{LATIN SMALL LETTER A WITH OGONEK}} \gdef^^b2{\missingcharmsg{OGONEK}} \gdef^^b3{\l} \gdef^^b4{\'{}} \gdef^^b5{\v l} \gdef^^b6{\'s} \gdef^^b7{\v{}} \gdef^^b8{\cedilla\ } \gdef^^b9{\v s} \gdef^^ba{\cedilla s} \gdef^^bb{\v t} \gdef^^bc{\'z} \gdef^^bd{\H{}} \gdef^^be{\v z} \gdef^^bf{\dotaccent z} % \gdef^^c0{\'R} \gdef^^c1{\'A} \gdef^^c2{\^A} \gdef^^c3{\u A} \gdef^^c4{\"A} \gdef^^c5{\'L} \gdef^^c6{\'C} \gdef^^c7{\cedilla C} \gdef^^c8{\v C} \gdef^^c9{\'E} \gdef^^ca{\missingcharmsg{LATIN CAPITAL LETTER E WITH OGONEK}} \gdef^^cb{\"E} \gdef^^cc{\v E} \gdef^^cd{\'I} \gdef^^ce{\^I} \gdef^^cf{\v D} % \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}} \gdef^^d1{\'N} \gdef^^d2{\v N} \gdef^^d3{\'O} \gdef^^d4{\^O} \gdef^^d5{\H O} \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\v R} \gdef^^d9{\ringaccent U} \gdef^^da{\'U} \gdef^^db{\H U} \gdef^^dc{\"U} \gdef^^dd{\'Y} \gdef^^de{\cedilla T} \gdef^^df{\ss} % \gdef^^e0{\'r} \gdef^^e1{\'a} \gdef^^e2{\^a} \gdef^^e3{\u a} \gdef^^e4{\"a} \gdef^^e5{\'l} \gdef^^e6{\'c} \gdef^^e7{\cedilla c} \gdef^^e8{\v c} \gdef^^e9{\'e} \gdef^^ea{\missingcharmsg{LATIN SMALL LETTER E WITH OGONEK}} \gdef^^eb{\"e} \gdef^^ec{\v e} \gdef^^ed{\'\i} \gdef^^ee{\^\i} \gdef^^ef{\v d} % \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}} \gdef^^f1{\'n} \gdef^^f2{\v n} \gdef^^f3{\'o} \gdef^^f4{\^o} \gdef^^f5{\H o} \gdef^^f6{\"o} \gdef^^f7{$\div$} \gdef^^f8{\v r} \gdef^^f9{\ringaccent u} \gdef^^fa{\'u} \gdef^^fb{\H u} \gdef^^fc{\"u} \gdef^^fd{\'y} \gdef^^fe{\cedilla t} \gdef^^ff{\dotaccent{}} } % UTF-8 character definitions. % % This code to support UTF-8 is based on LaTeX's utf8.def, with some % changes for Texinfo conventions. It is included here under the GPL by % permission from Frank Mittelbach and the LaTeX team. % \newcount\countUTFx \newcount\countUTFy \newcount\countUTFz \gdef\UTFviiiTwoOctets#1#2{\expandafter \UTFviiiDefined\csname u8:#1\string #2\endcsname} % \gdef\UTFviiiThreeOctets#1#2#3{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} % \gdef\UTFviiiFourOctets#1#2#3#4{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} \gdef\UTFviiiDefined#1{% \ifx #1\relax \message{\linenumber Unicode char \string #1 not defined for Texinfo}% \else \expandafter #1% \fi } \begingroup \catcode`\~13 \catcode`\"12 \def\UTFviiiLoop{% \global\catcode\countUTFx\active \uccode`\~\countUTFx \uppercase\expandafter{\UTFviiiTmp}% \advance\countUTFx by 1 \ifnum\countUTFx < \countUTFy \expandafter\UTFviiiLoop \fi} \countUTFx = "C2 \countUTFy = "E0 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiTwoOctets\string~}} \UTFviiiLoop \countUTFx = "E0 \countUTFy = "F0 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiThreeOctets\string~}} \UTFviiiLoop \countUTFx = "F0 \countUTFy = "F4 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiFourOctets\string~}} \UTFviiiLoop \endgroup \begingroup \catcode`\"=12 \catcode`\<=12 \catcode`\.=12 \catcode`\,=12 \catcode`\;=12 \catcode`\!=12 \catcode`\~=13 \gdef\DeclareUnicodeCharacter#1#2{% \countUTFz = "#1\relax \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% \begingroup \parseXMLCharref \def\UTFviiiTwoOctets##1##2{% \csname u8:##1\string ##2\endcsname}% \def\UTFviiiThreeOctets##1##2##3{% \csname u8:##1\string ##2\string ##3\endcsname}% \def\UTFviiiFourOctets##1##2##3##4{% \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter \gdef\UTFviiiTmp{#2}% \endgroup} \gdef\parseXMLCharref{% \ifnum\countUTFz < "A0\relax \errhelp = \EMsimple \errmessage{Cannot define Unicode char value < 00A0}% \else\ifnum\countUTFz < "800\relax \parseUTFviiiA,% \parseUTFviiiB C\UTFviiiTwoOctets.,% \else\ifnum\countUTFz < "10000\relax \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% \else \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiA!% \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% \fi\fi\fi } \gdef\parseUTFviiiA#1{% \countUTFx = \countUTFz \divide\countUTFz by 64 \countUTFy = \countUTFz \multiply\countUTFz by 64 \advance\countUTFx by -\countUTFz \advance\countUTFx by 128 \uccode `#1\countUTFx \countUTFz = \countUTFy} \gdef\parseUTFviiiB#1#2#3#4{% \advance\countUTFz by "#10\relax \uccode `#3\countUTFz \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} \endgroup \def\utfeightchardefs{% \DeclareUnicodeCharacter{00A0}{\tie} \DeclareUnicodeCharacter{00A1}{\exclamdown} \DeclareUnicodeCharacter{00A3}{\pounds} \DeclareUnicodeCharacter{00A8}{\"{ }} \DeclareUnicodeCharacter{00A9}{\copyright} \DeclareUnicodeCharacter{00AA}{\ordf} \DeclareUnicodeCharacter{00AB}{\guillemetleft} \DeclareUnicodeCharacter{00AD}{\-} \DeclareUnicodeCharacter{00AE}{\registeredsymbol} \DeclareUnicodeCharacter{00AF}{\={ }} \DeclareUnicodeCharacter{00B0}{\ringaccent{ }} \DeclareUnicodeCharacter{00B4}{\'{ }} \DeclareUnicodeCharacter{00B8}{\cedilla{ }} \DeclareUnicodeCharacter{00BA}{\ordm} \DeclareUnicodeCharacter{00BB}{\guillemetright} \DeclareUnicodeCharacter{00BF}{\questiondown} \DeclareUnicodeCharacter{00C0}{\`A} \DeclareUnicodeCharacter{00C1}{\'A} \DeclareUnicodeCharacter{00C2}{\^A} \DeclareUnicodeCharacter{00C3}{\~A} \DeclareUnicodeCharacter{00C4}{\"A} \DeclareUnicodeCharacter{00C5}{\AA} \DeclareUnicodeCharacter{00C6}{\AE} \DeclareUnicodeCharacter{00C7}{\cedilla{C}} \DeclareUnicodeCharacter{00C8}{\`E} \DeclareUnicodeCharacter{00C9}{\'E} \DeclareUnicodeCharacter{00CA}{\^E} \DeclareUnicodeCharacter{00CB}{\"E} \DeclareUnicodeCharacter{00CC}{\`I} \DeclareUnicodeCharacter{00CD}{\'I} \DeclareUnicodeCharacter{00CE}{\^I} \DeclareUnicodeCharacter{00CF}{\"I} \DeclareUnicodeCharacter{00D1}{\~N} \DeclareUnicodeCharacter{00D2}{\`O} \DeclareUnicodeCharacter{00D3}{\'O} \DeclareUnicodeCharacter{00D4}{\^O} \DeclareUnicodeCharacter{00D5}{\~O} \DeclareUnicodeCharacter{00D6}{\"O} \DeclareUnicodeCharacter{00D8}{\O} \DeclareUnicodeCharacter{00D9}{\`U} \DeclareUnicodeCharacter{00DA}{\'U} \DeclareUnicodeCharacter{00DB}{\^U} \DeclareUnicodeCharacter{00DC}{\"U} \DeclareUnicodeCharacter{00DD}{\'Y} \DeclareUnicodeCharacter{00DF}{\ss} \DeclareUnicodeCharacter{00E0}{\`a} \DeclareUnicodeCharacter{00E1}{\'a} \DeclareUnicodeCharacter{00E2}{\^a} \DeclareUnicodeCharacter{00E3}{\~a} \DeclareUnicodeCharacter{00E4}{\"a} \DeclareUnicodeCharacter{00E5}{\aa} \DeclareUnicodeCharacter{00E6}{\ae} \DeclareUnicodeCharacter{00E7}{\cedilla{c}} \DeclareUnicodeCharacter{00E8}{\`e} \DeclareUnicodeCharacter{00E9}{\'e} \DeclareUnicodeCharacter{00EA}{\^e} \DeclareUnicodeCharacter{00EB}{\"e} \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}} \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}} \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} \DeclareUnicodeCharacter{00F1}{\~n} \DeclareUnicodeCharacter{00F2}{\`o} \DeclareUnicodeCharacter{00F3}{\'o} \DeclareUnicodeCharacter{00F4}{\^o} \DeclareUnicodeCharacter{00F5}{\~o} \DeclareUnicodeCharacter{00F6}{\"o} \DeclareUnicodeCharacter{00F8}{\o} \DeclareUnicodeCharacter{00F9}{\`u} \DeclareUnicodeCharacter{00FA}{\'u} \DeclareUnicodeCharacter{00FB}{\^u} \DeclareUnicodeCharacter{00FC}{\"u} \DeclareUnicodeCharacter{00FD}{\'y} \DeclareUnicodeCharacter{00FF}{\"y} \DeclareUnicodeCharacter{0100}{\=A} \DeclareUnicodeCharacter{0101}{\=a} \DeclareUnicodeCharacter{0102}{\u{A}} \DeclareUnicodeCharacter{0103}{\u{a}} \DeclareUnicodeCharacter{0106}{\'C} \DeclareUnicodeCharacter{0107}{\'c} \DeclareUnicodeCharacter{0108}{\^C} \DeclareUnicodeCharacter{0109}{\^c} \DeclareUnicodeCharacter{010A}{\dotaccent{C}} \DeclareUnicodeCharacter{010B}{\dotaccent{c}} \DeclareUnicodeCharacter{010C}{\v{C}} \DeclareUnicodeCharacter{010D}{\v{c}} \DeclareUnicodeCharacter{010E}{\v{D}} \DeclareUnicodeCharacter{0112}{\=E} \DeclareUnicodeCharacter{0113}{\=e} \DeclareUnicodeCharacter{0114}{\u{E}} \DeclareUnicodeCharacter{0115}{\u{e}} \DeclareUnicodeCharacter{0116}{\dotaccent{E}} \DeclareUnicodeCharacter{0117}{\dotaccent{e}} \DeclareUnicodeCharacter{011A}{\v{E}} \DeclareUnicodeCharacter{011B}{\v{e}} \DeclareUnicodeCharacter{011C}{\^G} \DeclareUnicodeCharacter{011D}{\^g} \DeclareUnicodeCharacter{011E}{\u{G}} \DeclareUnicodeCharacter{011F}{\u{g}} \DeclareUnicodeCharacter{0120}{\dotaccent{G}} \DeclareUnicodeCharacter{0121}{\dotaccent{g}} \DeclareUnicodeCharacter{0124}{\^H} \DeclareUnicodeCharacter{0125}{\^h} \DeclareUnicodeCharacter{0128}{\~I} \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}} \DeclareUnicodeCharacter{012A}{\=I} \DeclareUnicodeCharacter{012B}{\={\dotless{i}}} \DeclareUnicodeCharacter{012C}{\u{I}} \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}} \DeclareUnicodeCharacter{0130}{\dotaccent{I}} \DeclareUnicodeCharacter{0131}{\dotless{i}} \DeclareUnicodeCharacter{0132}{IJ} \DeclareUnicodeCharacter{0133}{ij} \DeclareUnicodeCharacter{0134}{\^J} \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}} \DeclareUnicodeCharacter{0139}{\'L} \DeclareUnicodeCharacter{013A}{\'l} \DeclareUnicodeCharacter{0141}{\L} \DeclareUnicodeCharacter{0142}{\l} \DeclareUnicodeCharacter{0143}{\'N} \DeclareUnicodeCharacter{0144}{\'n} \DeclareUnicodeCharacter{0147}{\v{N}} \DeclareUnicodeCharacter{0148}{\v{n}} \DeclareUnicodeCharacter{014C}{\=O} \DeclareUnicodeCharacter{014D}{\=o} \DeclareUnicodeCharacter{014E}{\u{O}} \DeclareUnicodeCharacter{014F}{\u{o}} \DeclareUnicodeCharacter{0150}{\H{O}} \DeclareUnicodeCharacter{0151}{\H{o}} \DeclareUnicodeCharacter{0152}{\OE} \DeclareUnicodeCharacter{0153}{\oe} \DeclareUnicodeCharacter{0154}{\'R} \DeclareUnicodeCharacter{0155}{\'r} \DeclareUnicodeCharacter{0158}{\v{R}} \DeclareUnicodeCharacter{0159}{\v{r}} \DeclareUnicodeCharacter{015A}{\'S} \DeclareUnicodeCharacter{015B}{\'s} \DeclareUnicodeCharacter{015C}{\^S} \DeclareUnicodeCharacter{015D}{\^s} \DeclareUnicodeCharacter{015E}{\cedilla{S}} \DeclareUnicodeCharacter{015F}{\cedilla{s}} \DeclareUnicodeCharacter{0160}{\v{S}} \DeclareUnicodeCharacter{0161}{\v{s}} \DeclareUnicodeCharacter{0162}{\cedilla{t}} \DeclareUnicodeCharacter{0163}{\cedilla{T}} \DeclareUnicodeCharacter{0164}{\v{T}} \DeclareUnicodeCharacter{0168}{\~U} \DeclareUnicodeCharacter{0169}{\~u} \DeclareUnicodeCharacter{016A}{\=U} \DeclareUnicodeCharacter{016B}{\=u} \DeclareUnicodeCharacter{016C}{\u{U}} \DeclareUnicodeCharacter{016D}{\u{u}} \DeclareUnicodeCharacter{016E}{\ringaccent{U}} \DeclareUnicodeCharacter{016F}{\ringaccent{u}} \DeclareUnicodeCharacter{0170}{\H{U}} \DeclareUnicodeCharacter{0171}{\H{u}} \DeclareUnicodeCharacter{0174}{\^W} \DeclareUnicodeCharacter{0175}{\^w} \DeclareUnicodeCharacter{0176}{\^Y} \DeclareUnicodeCharacter{0177}{\^y} \DeclareUnicodeCharacter{0178}{\"Y} \DeclareUnicodeCharacter{0179}{\'Z} \DeclareUnicodeCharacter{017A}{\'z} \DeclareUnicodeCharacter{017B}{\dotaccent{Z}} \DeclareUnicodeCharacter{017C}{\dotaccent{z}} \DeclareUnicodeCharacter{017D}{\v{Z}} \DeclareUnicodeCharacter{017E}{\v{z}} \DeclareUnicodeCharacter{01C4}{D\v{Z}} \DeclareUnicodeCharacter{01C5}{D\v{z}} \DeclareUnicodeCharacter{01C6}{d\v{z}} \DeclareUnicodeCharacter{01C7}{LJ} \DeclareUnicodeCharacter{01C8}{Lj} \DeclareUnicodeCharacter{01C9}{lj} \DeclareUnicodeCharacter{01CA}{NJ} \DeclareUnicodeCharacter{01CB}{Nj} \DeclareUnicodeCharacter{01CC}{nj} \DeclareUnicodeCharacter{01CD}{\v{A}} \DeclareUnicodeCharacter{01CE}{\v{a}} \DeclareUnicodeCharacter{01CF}{\v{I}} \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}} \DeclareUnicodeCharacter{01D1}{\v{O}} \DeclareUnicodeCharacter{01D2}{\v{o}} \DeclareUnicodeCharacter{01D3}{\v{U}} \DeclareUnicodeCharacter{01D4}{\v{u}} \DeclareUnicodeCharacter{01E2}{\={\AE}} \DeclareUnicodeCharacter{01E3}{\={\ae}} \DeclareUnicodeCharacter{01E6}{\v{G}} \DeclareUnicodeCharacter{01E7}{\v{g}} \DeclareUnicodeCharacter{01E8}{\v{K}} \DeclareUnicodeCharacter{01E9}{\v{k}} \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}} \DeclareUnicodeCharacter{01F1}{DZ} \DeclareUnicodeCharacter{01F2}{Dz} \DeclareUnicodeCharacter{01F3}{dz} \DeclareUnicodeCharacter{01F4}{\'G} \DeclareUnicodeCharacter{01F5}{\'g} \DeclareUnicodeCharacter{01F8}{\`N} \DeclareUnicodeCharacter{01F9}{\`n} \DeclareUnicodeCharacter{01FC}{\'{\AE}} \DeclareUnicodeCharacter{01FD}{\'{\ae}} \DeclareUnicodeCharacter{01FE}{\'{\O}} \DeclareUnicodeCharacter{01FF}{\'{\o}} \DeclareUnicodeCharacter{021E}{\v{H}} \DeclareUnicodeCharacter{021F}{\v{h}} \DeclareUnicodeCharacter{0226}{\dotaccent{A}} \DeclareUnicodeCharacter{0227}{\dotaccent{a}} \DeclareUnicodeCharacter{0228}{\cedilla{E}} \DeclareUnicodeCharacter{0229}{\cedilla{e}} \DeclareUnicodeCharacter{022E}{\dotaccent{O}} \DeclareUnicodeCharacter{022F}{\dotaccent{o}} \DeclareUnicodeCharacter{0232}{\=Y} \DeclareUnicodeCharacter{0233}{\=y} \DeclareUnicodeCharacter{0237}{\dotless{j}} \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} \DeclareUnicodeCharacter{1E05}{\udotaccent{b}} \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}} \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}} \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}} \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}} \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}} \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}} \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}} \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}} \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}} \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}} \DeclareUnicodeCharacter{1E20}{\=G} \DeclareUnicodeCharacter{1E21}{\=g} \DeclareUnicodeCharacter{1E22}{\dotaccent{H}} \DeclareUnicodeCharacter{1E23}{\dotaccent{h}} \DeclareUnicodeCharacter{1E24}{\udotaccent{H}} \DeclareUnicodeCharacter{1E25}{\udotaccent{h}} \DeclareUnicodeCharacter{1E26}{\"H} \DeclareUnicodeCharacter{1E27}{\"h} \DeclareUnicodeCharacter{1E30}{\'K} \DeclareUnicodeCharacter{1E31}{\'k} \DeclareUnicodeCharacter{1E32}{\udotaccent{K}} \DeclareUnicodeCharacter{1E33}{\udotaccent{k}} \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}} \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}} \DeclareUnicodeCharacter{1E36}{\udotaccent{L}} \DeclareUnicodeCharacter{1E37}{\udotaccent{l}} \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}} \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}} \DeclareUnicodeCharacter{1E3E}{\'M} \DeclareUnicodeCharacter{1E3F}{\'m} \DeclareUnicodeCharacter{1E40}{\dotaccent{M}} \DeclareUnicodeCharacter{1E41}{\dotaccent{m}} \DeclareUnicodeCharacter{1E42}{\udotaccent{M}} \DeclareUnicodeCharacter{1E43}{\udotaccent{m}} \DeclareUnicodeCharacter{1E44}{\dotaccent{N}} \DeclareUnicodeCharacter{1E45}{\dotaccent{n}} \DeclareUnicodeCharacter{1E46}{\udotaccent{N}} \DeclareUnicodeCharacter{1E47}{\udotaccent{n}} \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}} \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}} \DeclareUnicodeCharacter{1E54}{\'P} \DeclareUnicodeCharacter{1E55}{\'p} \DeclareUnicodeCharacter{1E56}{\dotaccent{P}} \DeclareUnicodeCharacter{1E57}{\dotaccent{p}} \DeclareUnicodeCharacter{1E58}{\dotaccent{R}} \DeclareUnicodeCharacter{1E59}{\dotaccent{r}} \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}} \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}} \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}} \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}} \DeclareUnicodeCharacter{1E60}{\dotaccent{S}} \DeclareUnicodeCharacter{1E61}{\dotaccent{s}} \DeclareUnicodeCharacter{1E62}{\udotaccent{S}} \DeclareUnicodeCharacter{1E63}{\udotaccent{s}} \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}} \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}} \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}} \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}} \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}} \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}} \DeclareUnicodeCharacter{1E7C}{\~V} \DeclareUnicodeCharacter{1E7D}{\~v} \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}} \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}} \DeclareUnicodeCharacter{1E80}{\`W} \DeclareUnicodeCharacter{1E81}{\`w} \DeclareUnicodeCharacter{1E82}{\'W} \DeclareUnicodeCharacter{1E83}{\'w} \DeclareUnicodeCharacter{1E84}{\"W} \DeclareUnicodeCharacter{1E85}{\"w} \DeclareUnicodeCharacter{1E86}{\dotaccent{W}} \DeclareUnicodeCharacter{1E87}{\dotaccent{w}} \DeclareUnicodeCharacter{1E88}{\udotaccent{W}} \DeclareUnicodeCharacter{1E89}{\udotaccent{w}} \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}} \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}} \DeclareUnicodeCharacter{1E8C}{\"X} \DeclareUnicodeCharacter{1E8D}{\"x} \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}} \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}} \DeclareUnicodeCharacter{1E90}{\^Z} \DeclareUnicodeCharacter{1E91}{\^z} \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}} \DeclareUnicodeCharacter{1E93}{\udotaccent{z}} \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}} \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}} \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}} \DeclareUnicodeCharacter{1E97}{\"t} \DeclareUnicodeCharacter{1E98}{\ringaccent{w}} \DeclareUnicodeCharacter{1E99}{\ringaccent{y}} \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}} \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}} \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}} \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}} \DeclareUnicodeCharacter{1EBC}{\~E} \DeclareUnicodeCharacter{1EBD}{\~e} \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}} \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}} \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}} \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}} \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}} \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}} \DeclareUnicodeCharacter{1EF2}{\`Y} \DeclareUnicodeCharacter{1EF3}{\`y} \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}} \DeclareUnicodeCharacter{1EF8}{\~Y} \DeclareUnicodeCharacter{1EF9}{\~y} \DeclareUnicodeCharacter{2013}{--} \DeclareUnicodeCharacter{2014}{---} \DeclareUnicodeCharacter{2018}{\quoteleft} \DeclareUnicodeCharacter{2019}{\quoteright} \DeclareUnicodeCharacter{201A}{\quotesinglbase} \DeclareUnicodeCharacter{201C}{\quotedblleft} \DeclareUnicodeCharacter{201D}{\quotedblright} \DeclareUnicodeCharacter{201E}{\quotedblbase} \DeclareUnicodeCharacter{2022}{\bullet} \DeclareUnicodeCharacter{2026}{\dots} \DeclareUnicodeCharacter{2039}{\guilsinglleft} \DeclareUnicodeCharacter{203A}{\guilsinglright} \DeclareUnicodeCharacter{20AC}{\euro} \DeclareUnicodeCharacter{2192}{\expansion} \DeclareUnicodeCharacter{21D2}{\result} \DeclareUnicodeCharacter{2212}{\minus} \DeclareUnicodeCharacter{2217}{\point} \DeclareUnicodeCharacter{2261}{\equiv} }% end of \utfeightchardefs % US-ASCII character definitions. \def\asciichardefs{% nothing need be done \relax } % Make non-ASCII characters printable again for compatibility with % existing Texinfo documents that may use them, even without declaring a % document encoding. % \setnonasciicharscatcode \other \message{formatting,} \newdimen\defaultparindent \defaultparindent = 15pt \chapheadingskip = 15pt plus 4pt minus 2pt \secheadingskip = 12pt plus 3pt minus 2pt \subsecheadingskip = 9pt plus 2pt minus 2pt % Prevent underfull vbox error messages. \vbadness = 10000 % Don't be so finicky about underfull hboxes, either. \hbadness = 2000 % Following George Bush, get rid of widows and orphans. \widowpenalty=10000 \clubpenalty=10000 % Use TeX 3.0's \emergencystretch to help line breaking, but if we're % using an old version of TeX, don't do anything. We want the amount of % stretch added to depend on the line length, hence the dependence on % \hsize. We call this whenever the paper size is set. % \def\setemergencystretch{% \ifx\emergencystretch\thisisundefined % Allow us to assign to \emergencystretch anyway. \def\emergencystretch{\dimen0}% \else \emergencystretch = .15\hsize \fi } % Parameters in order: 1) textheight; 2) textwidth; % 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; % 7) physical page height; 8) physical page width. % % We also call \setleading{\textleading}, so the caller should define % \textleading. The caller should also set \parskip. % \def\internalpagesizes#1#2#3#4#5#6#7#8{% \voffset = #3\relax \topskip = #6\relax \splittopskip = \topskip % \vsize = #1\relax \advance\vsize by \topskip \outervsize = \vsize \advance\outervsize by 2\topandbottommargin \pageheight = \vsize % \hsize = #2\relax \outerhsize = \hsize \advance\outerhsize by 0.5in \pagewidth = \hsize % \normaloffset = #4\relax \bindingoffset = #5\relax % \ifpdf \pdfpageheight #7\relax \pdfpagewidth #8\relax % if we don't reset these, they will remain at "1 true in" of % whatever layout pdftex was dumped with. \pdfhorigin = 1 true in \pdfvorigin = 1 true in \fi % \setleading{\textleading} % \parindent = \defaultparindent \setemergencystretch } % @letterpaper (the default). \def\letterpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % If page is nothing but text, make it come out even. \internalpagesizes{607.2pt}{6in}% that's 46 lines {\voffset}{.25in}% {\bindingoffset}{36pt}% {11in}{8.5in}% }} % Use @smallbook to reset parameters for 7x9.25 trim size. \def\smallbook{{\globaldefs = 1 \parskip = 2pt plus 1pt \textleading = 12pt % \internalpagesizes{7.5in}{5in}% {-.2in}{0in}% {\bindingoffset}{16pt}% {9.25in}{7in}% % \lispnarrowing = 0.3in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = .5cm }} % Use @smallerbook to reset parameters for 6x9 trim size. % (Just testing, parameters still in flux.) \def\smallerbook{{\globaldefs = 1 \parskip = 1.5pt plus 1pt \textleading = 12pt % \internalpagesizes{7.4in}{4.8in}% {-.2in}{-.4in}% {0pt}{14pt}% {9in}{6in}% % \lispnarrowing = 0.25in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = .4cm }} % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % Double-side printing via postscript on Laserjet 4050 % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. % To change the settings for a different printer or situation, adjust % \normaloffset until the front-side and back-side texts align. Then % do the same for \bindingoffset. You can set these for testing in % your texinfo source file like this: % @tex % \global\normaloffset = -6mm % \global\bindingoffset = 10mm % @end tex \internalpagesizes{673.2pt}{160mm}% that's 51 lines {\voffset}{\hoffset}% {\bindingoffset}{44pt}% {297mm}{210mm}% % \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = 5mm }} % Use @afivepaper to print on European A5 paper. % From romildo@urano.iceb.ufop.br, 2 July 2000. % He also recommends making @example and @lisp be small. \def\afivepaper{{\globaldefs = 1 \parskip = 2pt plus 1pt minus 0.1pt \textleading = 12.5pt % \internalpagesizes{160mm}{120mm}% {\voffset}{\hoffset}% {\bindingoffset}{8pt}% {210mm}{148mm}% % \lispnarrowing = 0.2in \tolerance = 800 \hfuzz = 1.2pt \contentsrightmargin = 0pt \defbodyindent = 2mm \tableindent = 12mm }} % A specific text layout, 24x15cm overall, intended for A4 paper. \def\afourlatex{{\globaldefs = 1 \afourpaper \internalpagesizes{237mm}{150mm}% {\voffset}{4.6mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% % % Must explicitly reset to 0 because we call \afourpaper. \globaldefs = 0 }} % Use @afourwide to print on A4 paper in landscape format. \def\afourwide{{\globaldefs = 1 \afourpaper \internalpagesizes{241mm}{165mm}% {\voffset}{-2.95mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% \globaldefs = 0 }} % @pagesizes TEXTHEIGHT[,TEXTWIDTH] % Perhaps we should allow setting the margins, \topskip, \parskip, % and/or leading, also. Or perhaps we should compute them somehow. % \parseargdef\pagesizes{\pagesizesyyy #1,,\finish} \def\pagesizesyyy#1,#2,#3\finish{{% \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi \globaldefs = 1 % \parskip = 3pt plus 2pt minus 1pt \setleading{\textleading}% % \dimen0 = #1\relax \advance\dimen0 by \voffset % \dimen2 = \hsize \advance\dimen2 by \normaloffset % \internalpagesizes{#1}{\hsize}% {\voffset}{\normaloffset}% {\bindingoffset}{44pt}% {\dimen0}{\dimen2}% }} % Set default to letter. % \letterpaper \message{and turning on texinfo input format.} % Define macros to output various characters with catcode for normal text. \catcode`\"=\other \catcode`\~=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\+=\other \catcode`\$=\other \def\normaldoublequote{"} \def\normaltilde{~} \def\normalcaret{^} \def\normalunderscore{_} \def\normalverticalbar{|} \def\normalless{<} \def\normalgreater{>} \def\normalplus{+} \def\normaldollar{$}%$ font-lock fix % This macro is used to make a character print one way in \tt % (where it can probably be output as-is), and another way in other fonts, % where something hairier probably needs to be done. % % #1 is what to print if we are indeed using \tt; #2 is what to print % otherwise. Since all the Computer Modern typewriter fonts have zero % interword stretch (and shrink), and it is reasonable to expect all % typewriter fonts to have this, we can check that font parameter. % \def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} % Same as above, but check for italic font. Actually this also catches % non-italic slanted fonts since it is impossible to distinguish them from % italic fonts. But since this is only used by $ and it uses \sl anyway % this is not a problem. \def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} % Turn off all special characters except @ % (and those which the user can use as if they were ordinary). % Most of these we simply print from the \tt font, but for some, we can % use math or other variants that look better in normal text. \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote \catcode`\~=\active \def~{{\tt\char126}} \chardef\hat=`\^ \catcode`\^=\active \def^{{\tt \hat}} \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} \let\realunder=_ % Subroutine for the previous macro. \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } \catcode`\|=\active \def|{{\tt\char124}} \chardef \less=`\< \catcode`\<=\active \def<{{\tt \less}} \chardef \gtr=`\> \catcode`\>=\active \def>{{\tt \gtr}} \catcode`\+=\active \def+{{\tt \char 43}} \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. % So turn them off again, and have \everyjob (or @setfilename) turn them on. % \otherifyactive is called near the end of this file. \def\otherifyactive{\catcode`+=\other \catcode`\_=\other} % Used sometimes to turn off (effectively) the active characters even after % parsing them. \def\turnoffactive{% \normalturnoffactive \otherbackslash } \catcode`\@=0 % \backslashcurfont outputs one backslash character in current font, % as in \char`\\. \global\chardef\backslashcurfont=`\\ \global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work % \realbackslash is an actual character `\' with catcode other, and % \doublebackslash is two of them (for the pdf outlines). {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} % In texinfo, backslash is an active character; it prints the backslash % in fixed width font. \catcode`\\=\active @def@normalbackslash{{@tt@backslashcurfont}} % On startup, @fixbackslash assigns: % @let \ = @normalbackslash % \rawbackslash defines an active \ to do \backslashcurfont. % \otherbackslash defines an active \ to be a literal `\' character with % catcode other. @gdef@rawbackslash{@let\=@backslashcurfont} @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of % the literal character `\'. % @def@normalturnoffactive{% @let\=@normalbackslash @let"=@normaldoublequote @let~=@normaltilde @let^=@normalcaret @let_=@normalunderscore @let|=@normalverticalbar @let<=@normalless @let>=@normalgreater @let+=@normalplus @let$=@normaldollar %$ font-lock fix @unsepspaces } % Make _ and + \other characters, temporarily. % This is canceled by @fixbackslash. @otherifyactive % If a .fmt file is being used, we don't want the `\input texinfo' to show up. % That is what \eatinput is for; after that, the `\' should revert to printing % a backslash. % @gdef@eatinput input texinfo{@fixbackslash} @global@let\ = @eatinput % On the other hand, perhaps the file did not have a `\input texinfo'. Then % the first `\' in the file would cause an error. This macro tries to fix % that, assuming it is called before the first `\' could plausibly occur. % Also turn back on active characters that might appear in the input % file name, in case not using a pre-dumped format. % @gdef@fixbackslash{% @ifx\@eatinput @let\ = @normalbackslash @fi @catcode`+=@active @catcode`@_=@active } % Say @foo, not \foo, in error messages. @escapechar = `@@ % These look ok in all fonts, so just make them not special. @catcode`@& = @other @catcode`@# = @other @catcode`@% = @other @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) @c page-delimiter: "^\\\\message" @c time-stamp-start: "def\\\\texinfoversion{" @c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" @c End: @c vim:sw=2: org-mode-doc-8.2.4/doc/orgcard.txt0000644000175000017500000005326212260050771015044 0ustar sebseb================================================================================ Org-Mode Reference Card (for version 7.8.11) ================================================================================ ================================================================================ Getting Started ================================================================================ To read the on-line documentation try M-x org-info ================================================================================ Visibility Cycling ================================================================================ rotate current subtree between states TAB rotate entire buffer between states S-TAB restore property-dependent startup visibility C-u C-u TAB show the whole file, including drawers C-u C-u C-u TAB reveal context around point C-c C-r ================================================================================ Motion ================================================================================ next/previous heading C-c C-n/p next/previous heading, same level C-c C-f/b backward to higher level heading C-c C-u jump to another place in document C-c C-j previous/next plain list item S-UP/DOWN\notetwo ================================================================================ Structure Editing ================================================================================ insert new heading/item at current level M-RET insert new heading after subtree C-RET insert new TODO entry/checkbox item M-S-RET insert TODO entry/ckbx after subtree C-S-RET turn (head)line into item, cycle item type C-c - turn item/line into headline C-c * promote/demote heading M-LEFT/RIGHT promote/demote current subtree M-S-LEFT/RIGHT move subtree/list item up/down M-S-UP/DOWN sort subtree/region/plain-list C-c ^ clone a subtree C-c C-x c copy visible text C-c C-x v kill/copy subtree C-c C-x C-w/M-w yank subtree C-c C-x C-y or C-y narrow buffer to subtree / widen C-x n s/w ================================================================================ Capture - Refile - Archiving ================================================================================ capture a new item (C-u C-u = goto last) C-c c \noteone refile subtree (C-u C-u = goto last) C-c C-w archive subtree using the default command C-c C-x C-a move subtree to archive file C-c C-x C-s toggle ARCHIVE tag / to ARCHIVE sibling C-c C-x a/A force cycling of an ARCHIVEd tree C-TAB ================================================================================ Filtering and Sparse Trees ================================================================================ construct a sparse tree by various criteria C-c / view TODO's in sparse tree C-c / t/T global TODO list in agenda mode C-c a t \noteone time sorted view of current org file C-c a L ================================================================================ Tables ================================================================================ -------------------------------------------------------------------------------- Creating a table -------------------------------------------------------------------------------- just start typing, e.g. |Name|Phone|Age RET |- TAB convert region to table C-c | ... separator at least 3 spaces C-3 C-c | -------------------------------------------------------------------------------- Commands available inside tables -------------------------------------------------------------------------------- The following commands work when the cursor is inside a table. Outside of tables, the same keys may have other functionality. -------------------------------------------------------------------------------- Re-aligning and field motion -------------------------------------------------------------------------------- re-align the table without moving the cursor C-c C-c re-align the table, move to next field TAB move to previous field S-TAB re-align the table, move to next row RET move to beginning/end of field M-a/e -------------------------------------------------------------------------------- Row and column editing -------------------------------------------------------------------------------- move the current column left M-LEFT/RIGHT kill the current column M-S-LEFT insert new column to left of cursor position M-S-RIGHT move the current row up/down M-UP/DOWN kill the current row or horizontal line M-S-UP insert new row above the current row M-S-DOWN insert hline below (C-u : above) current row C-c - insert hline and move to line below it C-c RET sort lines in region C-c ^ -------------------------------------------------------------------------------- Regions -------------------------------------------------------------------------------- cut/copy/paste rectangular region C-c C-x C-w/M-w/C-y fill paragraph across selected cells C-c C-q -------------------------------------------------------------------------------- Miscellaneous -------------------------------------------------------------------------------- to limit column width to N characters, use ...| |... edit the current field in a separate window C-c ` make current field fully visible C-u TAB export as tab-separated file M-x org-table-export import tab-separated file M-x org-table-import sum numbers in current column/rectangle C-c + -------------------------------------------------------------------------------- Tables created with the table.el package -------------------------------------------------------------------------------- insert a new table.el table C-c ~ recognize existing table.el table C-c C-c convert table (Org-mode <-> table.el) C-c ~ -------------------------------------------------------------------------------- Spreadsheet -------------------------------------------------------------------------------- Formulas typed in field are executed by TAB, RET and C-c C-c. = introduces a column formula, := a field formula. Example: Add Col1 and Col2 |=$1+$2 | ... with printf format specification |=$1+$2;%.2f| ... with constants from constants.el |=$1/$c/$cm | sum from 2nd to 3rd hline |:=vsum(@II..@III)| apply current column formula | = | set and eval column formula C-c = set and eval field formula C-u C-c = re-apply all stored equations to current line C-c * re-apply all stored equations to entire table C-u C-c * iterate table to stability C-u C-u C-c * rotate calculation mark through # * ! ^ _ $ C-# show line, column, formula reference C-c ? toggle grid / debugger C-c }/{ -------------------------------------------------------------------------------- Formula Editor -------------------------------------------------------------------------------- edit formulas in separate buffer C-c ' exit and install new formulas C-c C-c exit, install, and apply new formulas C-u C-c C-c abort C-c C-q toggle reference style C-c C-r pretty-print Lisp formula TAB complete Lisp symbol M-TAB shift reference point S-cursor shift test line for column references M-up/down scroll the window showing the table M-S-up/down toggle table coordinate grid C-c } ================================================================================ Links ================================================================================ globally store link to the current location C-c l \noteone insert a link (TAB completes stored links) C-c C-l insert file link with file name completion C-u C-c C-l edit (also hidden part of) link at point C-c C-l open file links in emacs C-c C-o ...force open in emacs/other window C-u C-c C-o open link at point mouse-1/2 ...force open in emacs/other window mouse-3 record a position in mark ring C-c % jump back to last followed link(s) C-c & find next link C-c C-x C-n find previous link C-c C-x C-p edit code snippet of file at point C-c ' toggle inline display of linked images C-c C-x C-v ================================================================================ Working with Code (Babel) ================================================================================ execute code block at point C-c C-c open results of code block at point C-c C-o check code block at point for errors C-c C-v c insert a header argument with completion C-c C-v j view expanded body of code block at point C-c C-v v view information about code block at point C-c C-v I go to named code block C-c C-v g go to named result C-c C-v r go to the head of the current code block C-c C-v u go to the next code block C-c C-v n go to the previous code block C-c C-v p demarcate a code block C-c C-v d execute the next key sequence in the code edit bu C-c C-v x execute all code blocks in current buffer C-c C-v b execute all code blocks in current subtree C-c C-v s tangle code blocks in current file C-c C-v t tangle code blocks in supplied file C-c C-v f ingest all code blocks in supplied file into the C-c C-v i switch to the session of the current code block C-c C-v z load the current code block into a session C-c C-v l view sha1 hash of the current code block C-c C-v a ================================================================================ Completion ================================================================================ In-buffer completion completes TODO keywords at headline start, TeX macros after `\', option keywords after `#-', TAGS after `:', and dictionary words elsewhere. complete word at point M-TAB ================================================================================ TODO Items and Checkboxes ================================================================================ rotate the state of the current item C-c C-t select next/previous state S-LEFT/RIGHT select next/previous set C-S-LEFT/RIGHT toggle ORDERED property C-c C-x o view TODO items in a sparse tree C-c C-v view 3rd TODO keyword's sparse tree C-3 C-c C-v set the priority of the current item C-c , [ABC] remove priority cookie from current item C-c , SPC raise/lower priority of current item S-UP/DOWN\notetwo insert new checkbox item in plain list M-S-RET toggle checkbox(es) in region/entry/at point C-c C-x C-b toggle checkbox at point C-c C-c update checkbox statistics (C-u : whole file) C-c # ================================================================================ Tags ================================================================================ set tags for current heading C-c C-q realign tags in all headings C-u C-c C-q create sparse tree with matching tags C-c \\ globally (agenda) match tags at cursor C-c C-o ================================================================================ Properties and Column View ================================================================================ set property/effort C-c C-x p/e special commands in property lines C-c C-c next/previous allowed value S-left/right turn on column view C-c C-x C-c capture columns view in dynamic block C-c C-x i quit column view q show full value v edit value e next/previous allowed value n/p or S-left/right edit allowed values list a make column wider/narrower > / < move column left/right M-left/right add new column M-S-right Delete current column M-S-left ================================================================================ Timestamps ================================================================================ prompt for date and insert timestamp C-c . like C-c . but insert date and time format C-u C-c . like C-c . but make stamp inactive C-c ! insert DEADLINE timestamp C-c C-d insert SCHEDULED timestamp C-c C-s create sparse tree with all deadlines due C-c / d the time between 2 dates in a time range C-c C-y change timestamp at cursor ±1 day S-RIGHT/LEFT\notetwo change year/month/day at cursor by ±1 S-UP/DOWN\notetwo access the calendar for the current date C-c > insert timestamp matching date in calendar C-c < access agenda for current date C-c C-o select date while prompted mouse-1/RET toggle custom format display for dates/times C-c C-x C-t -------------------------------------------------------------------------------- Clocking time -------------------------------------------------------------------------------- start clock on current item C-c C-x C-i stop/cancel clock on current item C-c C-x C-o/x display total subtree times C-c C-x C-d remove displayed times C-c C-c insert/update table with clock report C-c C-x C-r ================================================================================ Agenda Views ================================================================================ add/move current file to front of agenda C-c [ remove current file from your agenda C-c ] cycle through agenda file list C-' set/remove restriction lock C-c C-x compile agenda for the current week C-c a a \noteone compile global TODO list C-c a t \noteone compile TODO list for specific keyword C-c a T \noteone match tags, TODO kwds, properties C-c a m \noteone match only in TODO entries C-c a M \noteone find stuck projects C-c a # \noteone show timeline of current org file C-c a L \noteone configure custom commands C-c a C \noteone agenda for date at cursor C-c C-o -------------------------------------------------------------------------------- Commands available in an agenda buffer -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- View Org file -------------------------------------------------------------------------------- show original location of item SPC/mouse-3 show and recenter window L goto original location in other window TAB/mouse-2 goto original location, delete other windows RET show subtree in indirect buffer, ded.\ frame C-c C-x b toggle follow-mode F -------------------------------------------------------------------------------- Change display -------------------------------------------------------------------------------- delete other windows o view mode dispatcher v switch to day/week/month/year/def view d w vm vy vSP toggle diary entries / time grid / habits D / G / K toggle entry text / clock report E / R toggle display of logbook entries l / v l/L/c toggle inclusion of archived trees/files v a/A refresh agenda buffer with any changes r / g filter with respect to a tag / save all org-mode buffers s display next/previous day,week,... f / b goto today / some date (prompt) . / j -------------------------------------------------------------------------------- Remote editing -------------------------------------------------------------------------------- digit argument 0-9 change state of current TODO item t kill item and source C-k archive default $ / a refile the subtree C-c C-w set/show tags of current headline : / T set effort property (prefix=nth) e set / compute priority of current item , / P raise/lower priority of current item S-UP/DOWN\notetwo run an attachment command C-c C-a schedule/set deadline for this item C-c C-s/d change timestamp one day earlier/later S-LEFT/RIGHT\notetwo change timestamp to today > insert new entry into diary i start/stop/cancel the clock on current item I / O / X jump to running clock entry J mark / unmark / execute bulk action m / u / B -------------------------------------------------------------------------------- Misc -------------------------------------------------------------------------------- follow one or offer all links in current entry C-c C-o -------------------------------------------------------------------------------- Calendar commands -------------------------------------------------------------------------------- find agenda cursor date in calendar c compute agenda for calendar cursor date c show phases of the moon M show sunrise/sunset times S show holidays H convert date to other calendars C -------------------------------------------------------------------------------- Quit and Exit -------------------------------------------------------------------------------- quit agenda, remove agenda buffer q exit agenda, remove all agenda buffers x ================================================================================ LaTeX and cdlatex-mode ================================================================================ preview LaTeX fragment C-c C-x C-l expand abbreviation (cdlatex-mode) TAB insert/modify math symbol (cdlatex-mode) ` / ' insert citation using RefTeX C-c C-x [ ================================================================================ Exporting and Publishing ================================================================================ Exporting creates files with extensions .txt and .html in the current directory. Publishing puts the resulting file into some other place. export/publish dispatcher C-c C-e export visible part only C-c C-e v insert template of export options C-c C-e t toggle fixed width for entry or region C-c : toggle pretty display of scripts, entities C-c C-x {\tt\char`\} -------------------------------------------------------------------------------- Comments: Text not being exported -------------------------------------------------------------------------------- Lines starting with # and subtrees starting with COMMENT are never exported. toggle COMMENT keyword on entry C-c ; ================================================================================ Dynamic Blocks ================================================================================ update dynamic block at point C-c C-x C-u update all dynamic blocks C-u C-c C-x C-u ================================================================================ Notes ================================================================================ [1] This is only a suggestion for a binding of this command. Choose your own key as shown under ACTIVATION. [2] Keybinding affected by org-support-shift-select and also org-replace-disputed-keys. org-mode-doc-8.2.4/doc/org.texi0000644000175000017500000267245012260050771014354 0ustar sebseb\input texinfo @c %**start of header @setfilename ../../info/org @settitle The Org Manual @include org-version.inc @c Use proper quote and backtick for code sections in PDF output @c Cf. Texinfo manual 14.2 @set txicodequoteundirected @set txicodequotebacktick @c Version and Contact Info @set MAINTAINERSITE @uref{http://orgmode.org,maintainers web page} @set AUTHOR Carsten Dominik @set MAINTAINER Carsten Dominik @set MAINTAINEREMAIL @email{carsten at orgmode dot org} @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the maintainer} @c %**end of header @finalout @c ----------------------------------------------------------------------------- @c Macro definitions for commands and keys @c ======================================= @c The behavior of the key/command macros will depend on the flag cmdnames @c When set, commands names are shown. When clear, they are not shown. @set cmdnames @c Below we define the following macros for Org key tables: @c orgkey{key} A key item @c orgcmd{key,cmd} Key with command name @c xorgcmd{key,cmd} Key with command name as @itemx @c orgcmdnki{key,cmd} Like orgcmd, but do not index the key @c orgcmdtkc{text,key,cmd} Like orgcmd,special text instead of key @c orgcmdkkc{key1,key2,cmd} Two keys with one command name, use "or" @c orgcmdkxkc{key1,key2,cmd} Two keys with one command name, but @c different functions, so format as @itemx @c orgcmdkskc{key1,key2,cmd} Same as orgcmdkkc, but use "or short" @c xorgcmdkskc{key1,key2,cmd} Same as previous, but use @itemx @c orgcmdkkcc{key1,key2,cmd1,cmd2} Two keys and two commands @c a key but no command @c Inserts: @item key @macro orgkey{key} @kindex \key\ @item @kbd{\key\} @end macro @macro xorgkey{key} @kindex \key\ @itemx @kbd{\key\} @end macro @c one key with a command @c Inserts: @item KEY COMMAND @macro orgcmd{key,command} @ifset cmdnames @kindex \key\ @findex \command\ @iftex @item @kbd{\key\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\key\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key\ @item @kbd{\key\} @end ifclear @end macro @c One key with one command, formatted using @itemx @c Inserts: @itemx KEY COMMAND @macro xorgcmd{key,command} @ifset cmdnames @kindex \key\ @findex \command\ @iftex @itemx @kbd{\key\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @itemx @kbd{\key\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key\ @itemx @kbd{\key\} @end ifclear @end macro @c one key with a command, bit do not index the key @c Inserts: @item KEY COMMAND @macro orgcmdnki{key,command} @ifset cmdnames @findex \command\ @iftex @item @kbd{\key\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\key\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @item @kbd{\key\} @end ifclear @end macro @c one key with a command, and special text to replace key in item @c Inserts: @item TEXT COMMAND @macro orgcmdtkc{text,key,command} @ifset cmdnames @kindex \key\ @findex \command\ @iftex @item @kbd{\text\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\text\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key\ @item @kbd{\text\} @end ifclear @end macro @c two keys with one command @c Inserts: @item KEY1 or KEY2 COMMAND @macro orgcmdkkc{key1,key2,command} @ifset cmdnames @kindex \key1\ @kindex \key2\ @findex \command\ @iftex @item @kbd{\key1\} @ @r{or} @ @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\key1\} @ @r{or} @ @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key1\ @kindex \key2\ @item @kbd{\key1\} @ @r{or} @ @kbd{\key2\} @end ifclear @end macro @c Two keys with one command name, but different functions, so format as @c @itemx @c Inserts: @item KEY1 @c @itemx KEY2 COMMAND @macro orgcmdkxkc{key1,key2,command} @ifset cmdnames @kindex \key1\ @kindex \key2\ @findex \command\ @iftex @item @kbd{\key1\} @itemx @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\key1\} @itemx @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key1\ @kindex \key2\ @item @kbd{\key1\} @itemx @kbd{\key2\} @end ifclear @end macro @c Same as previous, but use "or short" @c Inserts: @item KEY1 or short KEY2 COMMAND @macro orgcmdkskc{key1,key2,command} @ifset cmdnames @kindex \key1\ @kindex \key2\ @findex \command\ @iftex @item @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @item @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key1\ @kindex \key2\ @item @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @end ifclear @end macro @c Same as previous, but use @itemx @c Inserts: @itemx KEY1 or short KEY2 COMMAND @macro xorgcmdkskc{key1,key2,command} @ifset cmdnames @kindex \key1\ @kindex \key2\ @findex \command\ @iftex @itemx @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @hskip 0pt plus 1filll @code{\command\} @end iftex @ifnottex @itemx @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key1\ @kindex \key2\ @itemx @kbd{\key1\} @ @r{or short} @ @kbd{\key2\} @end ifclear @end macro @c two keys with two commands @c Inserts: @item KEY1 COMMAND1 @c @itemx KEY2 COMMAND2 @macro orgcmdkkcc{key1,key2,command1,command2} @ifset cmdnames @kindex \key1\ @kindex \key2\ @findex \command1\ @findex \command2\ @iftex @item @kbd{\key1\} @hskip 0pt plus 1filll @code{\command1\} @itemx @kbd{\key2\} @hskip 0pt plus 1filll @code{\command2\} @end iftex @ifnottex @item @kbd{\key1\} @tie{}@tie{}@tie{}@tie{}(@code{\command1\}) @itemx @kbd{\key2\} @tie{}@tie{}@tie{}@tie{}(@code{\command2\}) @end ifnottex @end ifset @ifclear cmdnames @kindex \key1\ @kindex \key2\ @item @kbd{\key1\} @itemx @kbd{\key2\} @end ifclear @end macro @c ----------------------------------------------------------------------------- @iftex @c @hyphenation{time-stamp time-stamps time-stamp-ing time-stamp-ed} @end iftex @c Subheadings inside a table. @macro tsubheading{text} @ifinfo @subsubheading \text\ @end ifinfo @ifnotinfo @item @b{\text\} @end ifnotinfo @end macro @copying This manual is for Org version @value{VERSION}. Copyright @copyright{} 2004--2013 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and modify this GNU manual.'' @end quotation @end copying @dircategory Emacs editing modes @direntry * Org Mode: (org). Outline-based notes management and organizer @end direntry @titlepage @title The Org Manual @subtitle Release @value{VERSION} @author by Carsten Dominik with contributions by David O'Toole, Bastien Guerry, Philip Rooke, Dan Davison, Eric Schulte, Thomas Dye, Jambunathan K and Nicolas Goaziou. @c The following two commands start the copyright page. @page @vskip 0pt plus 1filll @insertcopying @end titlepage @c Output the table of contents at the beginning. @contents @ifnottex @c FIXME These hand-written next,prev,up node pointers make editing a lot @c harder. There should be no need for them, makeinfo can do it @c automatically for any document with a normal structure. @node Top, Introduction, (dir), (dir) @top Org Mode Manual @insertcopying @end ifnottex @menu * Introduction:: Getting started * Document Structure:: A tree works like your brain * Tables:: Pure magic for quick formatting * Hyperlinks:: Notes in context * TODO Items:: Every tree branch can be a TODO item * Tags:: Tagging headlines and matching sets of tags * Properties and Columns:: Storing information about an entry * Dates and Times:: Making items useful for planning * Capture - Refile - Archive:: The ins and outs for projects * Agenda Views:: Collecting information into views * Markup:: Prepare text for rich export * Exporting:: Sharing and publishing notes * Publishing:: Create a web site of linked Org files * Working With Source Code:: Export, evaluate, and tangle code blocks * Miscellaneous:: All the rest which did not fit elsewhere * Hacking:: How to hack your way around * MobileOrg:: Viewing and capture on a mobile device * History and Acknowledgments:: How Org came into being * GNU Free Documentation License:: The license for this documentation. * Main Index:: An index of Org's concepts and features * Key Index:: Key bindings and where they are described * Command and Function Index:: Command names and some internal functions * Variable Index:: Variables mentioned in the manual @detailmenu --- The Detailed Node Listing --- Introduction * Summary:: Brief summary of what Org does * Installation:: Installing Org * Activation:: How to activate Org for certain buffers * Feedback:: Bug reports, ideas, patches etc. * Conventions:: Typesetting conventions in the manual Document structure * Outlines:: Org is based on Outline mode * Headlines:: How to typeset Org tree headlines * Visibility cycling:: Show and hide, much simplified * Motion:: Jumping to other headlines * Structure editing:: Changing sequence and level of headlines * Sparse trees:: Matches embedded in context * Plain lists:: Additional structure within an entry * Drawers:: Tucking stuff away * Blocks:: Folding blocks * Footnotes:: How footnotes are defined in Org's syntax * Orgstruct mode:: Structure editing outside Org * Org syntax:: Formal description of Org's syntax Visibility cycling * Global and local cycling:: Cycling through various visibility states * Initial visibility:: Setting the initial visibility state * Catching invisible edits:: Preventing mistakes when editing invisible parts Global and local cycling * Initial visibility:: Setting the initial visibility state * Catching invisible edits:: Preventing mistakes when editing invisible parts Tables * Built-in table editor:: Simple tables * Column width and alignment:: Overrule the automatic settings * Column groups:: Grouping to trigger vertical lines * Orgtbl mode:: The table editor as minor mode * The spreadsheet:: The table editor has spreadsheet capabilities * Org-Plot:: Plotting from org tables The spreadsheet * References:: How to refer to another field or range * Formula syntax for Calc:: Using Calc to compute stuff * Formula syntax for Lisp:: Writing formulas in Emacs Lisp * Durations and time values:: How to compute durations and time values * Field and range formulas:: Formula for specific (ranges of) fields * Column formulas:: Formulas valid for an entire column * Lookup functions:: Lookup functions for searching tables * Editing and debugging formulas:: Fixing formulas * Updating the table:: Recomputing all dependent fields * Advanced features:: Field and column names, parameters and automatic recalc Hyperlinks * Link format:: How links in Org are formatted * Internal links:: Links to other places in the current file * External links:: URL-like links to the world * Handling links:: Creating, inserting and following * Using links outside Org:: Linking from my C source code? * Link abbreviations:: Shortcuts for writing complex links * Search options:: Linking to a specific location * Custom searches:: When the default search is not enough Internal links * Radio targets:: Make targets trigger links in plain text TODO items * TODO basics:: Marking and displaying TODO entries * TODO extensions:: Workflow and assignments * Progress logging:: Dates and notes for progress * Priorities:: Some things are more important than others * Breaking down tasks:: Splitting a task into manageable pieces * Checkboxes:: Tick-off lists Extended use of TODO keywords * Workflow states:: From TODO to DONE in steps * TODO types:: I do this, Fred does the rest * Multiple sets in one file:: Mixing it all, and still finding your way * Fast access to TODO states:: Single letter selection of a state * Per-file keywords:: Different files, different requirements * Faces for TODO keywords:: Highlighting states * TODO dependencies:: When one task needs to wait for others Progress logging * Closing items:: When was this entry marked DONE? * Tracking TODO state changes:: When did the status change? * Tracking your habits:: How consistent have you been? Tags * Tag inheritance:: Tags use the tree structure of the outline * Setting tags:: How to assign tags to a headline * Tag groups:: Use one tag to search for several tags * Tag searches:: Searching for combinations of tags Properties and columns * Property syntax:: How properties are spelled out * Special properties:: Access to other Org mode features * Property searches:: Matching property values * Property inheritance:: Passing values down the tree * Column view:: Tabular viewing and editing * Property API:: Properties for Lisp programmers Column view * Defining columns:: The COLUMNS format property * Using column view:: How to create and use column view * Capturing column view:: A dynamic block for column view Defining columns * Scope of column definitions:: Where defined, where valid? * Column attributes:: Appearance and content of a column Dates and times * Timestamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps * Deadlines and scheduling:: Planning your work * Clocking work time:: Tracking how long you spend on a task * Effort estimates:: Planning work effort in advance * Relative timer:: Notes with a running timer * Countdown timer:: Starting a countdown timer for a task Creating timestamps * The date/time prompt:: How Org mode helps you entering date and time * Custom time format:: Making dates look different Deadlines and scheduling * Inserting deadline/schedule:: Planning items * Repeated tasks:: Items that show up again and again Clocking work time * Clocking commands:: Starting and stopping a clock * The clock table:: Detailed reports * Resolving idle time:: Resolving time when you've been idle Capture - Refile - Archive * Capture:: Capturing new stuff * Attachments:: Add files to tasks * RSS Feeds:: Getting input from RSS feeds * Protocols:: External (e.g., Browser) access to Emacs and Org * Refile and copy:: Moving/copying a tree from one place to another * Archiving:: What to do with finished projects Capture * Setting up capture:: Where notes will be stored * Using capture:: Commands to invoke and terminate capture * Capture templates:: Define the outline of different note types Capture templates * Template elements:: What is needed for a complete template entry * Template expansion:: Filling in information about time and context * Templates in contexts:: Only show a template in a specific context Archiving * Moving subtrees:: Moving a tree to an archive file * Internal archiving:: Switch off a tree but keep it in the file Agenda views * Agenda files:: Files being searched for agenda information * Agenda dispatcher:: Keyboard access to agenda views * Built-in agenda views:: What is available out of the box? * Presentation and sorting:: How agenda items are prepared for display * Agenda commands:: Remote editing of Org trees * Custom agenda views:: Defining special searches and views * Exporting Agenda Views:: Writing a view to a file * Agenda column view:: Using column view for collected entries The built-in agenda views * Weekly/daily agenda:: The calendar page with current tasks * Global TODO list:: All unfinished action items * Matching tags and properties:: Structured information with fine-tuned search * Timeline:: Time-sorted view for single file * Search view:: Find entries by searching for text * Stuck projects:: Find projects you need to review Presentation and sorting * Categories:: Not all tasks are equal * Time-of-day specifications:: How the agenda knows the time * Sorting agenda items:: The order of things * Filtering/limiting agenda items:: Dynamically narrow the agenda Custom agenda views * Storing searches:: Type once, use often * Block agenda:: All the stuff you need in a single buffer * Setting Options:: Changing the rules Markup for rich export * Structural markup elements:: The basic structure as seen by the exporter * Images and tables:: Images, tables and caption mechanism * Literal examples:: Source code examples with special formatting * Include files:: Include additional files into a document * Index entries:: Making an index * Macro replacement:: Use macros to create templates * Embedded @LaTeX{}:: LaTeX can be freely used inside Org documents * Special blocks:: Containers targeted at export back-ends Structural markup elements * Document title:: Where the title is taken from * Headings and sections:: The document structure as seen by the exporter * Table of contents:: The if and where of the table of contents * Lists:: Lists * Paragraphs:: Paragraphs * Footnote markup:: Footnotes * Emphasis and monospace:: Bold, italic, etc. * Horizontal rules:: Make a line * Comment lines:: What will *not* be exported Embedded @LaTeX{} * Special symbols:: Greek letters and other symbols * Subscripts and superscripts:: Simple syntax for raising/lowering text * @LaTeX{} fragments:: Complex formulas made easy * Previewing @LaTeX{} fragments:: What will this snippet look like? * CDLaTeX mode:: Speed up entering of formulas Exporting * The Export Dispatcher:: The main exporter interface * Export back-ends:: Built-in export formats * Export settings:: Generic export settings * ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding * Beamer export:: Exporting as a Beamer presentation * HTML export:: Exporting to HTML * @LaTeX{} and PDF export:: Exporting to @LaTeX{}, and processing to PDF * Markdown export:: Exporting to Markdown * OpenDocument Text export:: Exporting to OpenDocument Text * iCalendar export:: Exporting to iCalendar * Other built-in back-ends:: Exporting to @code{Texinfo}, a man page, or Org * Export in foreign buffers:: Author tables in lists in Org syntax * Advanced configuration:: Fine-tuning the export output HTML export * HTML Export commands:: How to invoke HTML export * HTML doctypes:: Org can export to various (X)HTML flavors * HTML preamble and postamble:: How to insert a preamble and a postamble * Quoting HTML tags:: Using direct HTML in Org mode * Links in HTML export:: How links will be interpreted and formatted * Tables in HTML export:: How to modify the formatting of tables * Images in HTML export:: How to insert figures into HTML output * Math formatting in HTML export:: Beautiful math also on the web * Text areas in HTML export:: An alternative way to show an example * CSS support:: Changing the appearance of the output * JavaScript support:: Info and Folding in a web browser @LaTeX{} and PDF export * @LaTeX{} export commands:: How to export to LaTeX and PDF * Header and sectioning:: Setting up the export file structure * Quoting @LaTeX{} code:: Incorporating literal @LaTeX{} code * @LaTeX{} specific attributes:: Controlling @LaTeX{} output OpenDocument Text export * Pre-requisites for ODT export:: What packages ODT exporter relies on * ODT export commands:: How to invoke ODT export * Extending ODT export:: How to produce @samp{doc}, @samp{pdf} files * Applying custom styles:: How to apply custom styles to the output * Links in ODT export:: How links will be interpreted and formatted * Tables in ODT export:: How Tables are exported * Images in ODT export:: How to insert images * Math formatting in ODT export:: How @LaTeX{} fragments are formatted * Labels and captions in ODT export:: How captions are rendered * Literal examples in ODT export:: How source and example blocks are formatted * Advanced topics in ODT export:: Read this if you are a power user Math formatting in ODT export * Working with @LaTeX{} math snippets:: How to embed @LaTeX{} math fragments * Working with MathML or OpenDocument formula files:: How to embed equations in native format Advanced topics in ODT export * Configuring a document converter:: How to register a document converter * Working with OpenDocument style files:: Explore the internals * Creating one-off styles:: How to produce custom highlighting etc * Customizing tables in ODT export:: How to define and use Table templates * Validating OpenDocument XML:: How to debug corrupt OpenDocument files Publishing * Configuration:: Defining projects * Uploading files:: How to get files up on the server * Sample configuration:: Example projects * Triggering publication:: Publication commands Configuration * Project alist:: The central configuration variable * Sources and destinations:: From here to there * Selecting files:: What files are part of the project? * Publishing action:: Setting the function doing the publishing * Publishing options:: Tweaking HTML/@LaTeX{} export * Publishing links:: Which links keep working after publishing? * Sitemap:: Generating a list of all pages * Generating an index:: An index that reaches across pages Sample configuration * Simple example:: One-component publishing * Complex example:: A multi-component publishing example Working with source code * Structure of code blocks:: Code block syntax described * Editing source code:: Language major-mode editing * Exporting code blocks:: Export contents and/or results * Extracting source code:: Create pure source code files * Evaluating code blocks:: Place results of evaluation in the Org mode buffer * Library of Babel:: Use and contribute to a library of useful code blocks * Languages:: List of supported code block languages * Header arguments:: Configure code block functionality * Results of evaluation:: How evaluation results are handled * Noweb reference syntax:: Literate programming in Org mode * Key bindings and useful functions:: Work quickly with code blocks * Batch execution:: Call functions from the command line Header arguments * Using header arguments:: Different ways to set header arguments * Specific header arguments:: List of header arguments Using header arguments * System-wide header arguments:: Set global default values * Language-specific header arguments:: Set default values by language * Header arguments in Org mode properties:: Set default values for a buffer or heading * Language-specific header arguments in Org mode properties:: Set language-specific default values for a buffer or heading * Code block specific header arguments:: The most common way to set values * Header arguments in function calls:: The most specific level Specific header arguments * var:: Pass arguments to code blocks * results:: Specify the type of results and how they will be collected and handled * file:: Specify a path for file output * file-desc:: Specify a description for file results * dir:: Specify the default (possibly remote) directory for code block execution * exports:: Export code and/or results * tangle:: Toggle tangling and specify file name * mkdirp:: Toggle creation of parent directories of target files during tangling * comments:: Toggle insertion of comments in tangled code files * padline:: Control insertion of padding lines in tangled code files * no-expand:: Turn off variable assignment and noweb expansion during tangling * session:: Preserve the state of code evaluation * noweb:: Toggle expansion of noweb references * noweb-ref:: Specify block's noweb reference resolution target * noweb-sep:: String used to separate noweb references * cache:: Avoid re-evaluating unchanged code blocks * sep:: Delimiter for writing tabular results outside Org * hlines:: Handle horizontal lines in tables * colnames:: Handle column names in tables * rownames:: Handle row names in tables * shebang:: Make tangled files executable * tangle-mode:: Set permission of tangled files * eval:: Limit evaluation of specific code blocks * wrap:: Mark source block evaluation results * post:: Post processing of code block results * prologue:: Text to prepend to code block body * epilogue:: Text to append to code block body Miscellaneous * Completion:: M-TAB knows what you need * Easy Templates:: Quick insertion of structural elements * Speed keys:: Electric commands at the beginning of a headline * Code evaluation security:: Org mode files evaluate inline code * Customization:: Adapting Org to your taste * In-buffer settings:: Overview of the #+KEYWORDS * The very busy C-c C-c key:: When in doubt, press C-c C-c * Clean view:: Getting rid of leading stars in the outline * TTY keys:: Using Org on a tty * Interaction:: Other Emacs packages * org-crypt:: Encrypting Org files Interaction with other packages * Cooperation:: Packages Org cooperates with * Conflicts:: Packages that lead to conflicts Hacking * Hooks:: How to reach into Org's internals * Add-on packages:: Available extensions * Adding hyperlink types:: New custom link types * Adding export back-ends:: How to write new export back-ends * Context-sensitive commands:: How to add functionality to such commands * Tables in arbitrary syntax:: Orgtbl for @LaTeX{} and other programs * Dynamic blocks:: Automatically filled blocks * Special agenda views:: Customized views * Speeding up your agendas:: Tips on how to speed up your agendas * Extracting agenda information:: Post-processing of agenda information * Using the property API:: Writing programs that use entry properties * Using the mapping API:: Mapping over all or selected entries Tables and lists in arbitrary syntax * Radio tables:: Sending and receiving radio tables * A @LaTeX{} example:: Step by step, almost a tutorial * Translator functions:: Copy and modify * Radio lists:: Sending and receiving lists MobileOrg * Setting up the staging area:: Where to interact with the mobile device * Pushing to MobileOrg:: Uploading Org files and agendas * Pulling from MobileOrg:: Integrating captured and flagged items @end detailmenu @end menu @node Introduction, Document Structure, Top, Top @chapter Introduction @cindex introduction @menu * Summary:: Brief summary of what Org does * Installation:: Installing Org * Activation:: How to activate Org for certain buffers * Feedback:: Bug reports, ideas, patches etc. * Conventions:: Typesetting conventions in the manual @end menu @node Summary, Installation, Introduction, Introduction @section Summary @cindex summary Org is a mode for keeping notes, maintaining TODO lists, and doing project planning with a fast and effective plain-text system. Org develops organizational tasks around NOTES files that contain lists or information about projects as plain text. Org is implemented on top of Outline mode, which makes it possible to keep the content of large files well structured. Visibility cycling and structure editing help to work with the tree. Tables are easily created with a built-in table editor. Org supports TODO items, deadlines, timestamps, and scheduling. It dynamically compiles entries into an agenda that utilizes and smoothly integrates much of the Emacs calendar and diary. Plain text URL-like links connect to websites, emails, Usenet messages, BBDB entries, and any files related to the projects. For printing and sharing notes, an Org file can be exported as a structured ASCII file, as HTML, or (TODO and agenda items only) as an iCalendar file. It can also serve as a publishing tool for a set of linked web pages. As a project planning environment, Org works by adding metadata to outline nodes. Based on this data, specific entries can be extracted in queries and create dynamic @i{agenda views}. Org mode contains the Org Babel environment which allows you to work with embedded source code blocks in a file, to facilitate code evaluation, documentation, and literate programming techniques. Org's automatic, context-sensitive table editor with spreadsheet capabilities can be integrated into any major mode by activating the minor Orgtbl mode. Using a translation step, it can be used to maintain tables in arbitrary file types, for example in @LaTeX{}. The structure editing and list creation capabilities can be used outside Org with the minor Orgstruct mode. Org keeps simple things simple. When first fired up, it should feel like a straightforward, easy to use outliner. Complexity is not imposed, but a large amount of functionality is available when you need it. Org is a toolbox and can be used in different ways and for different ends, for example: @example @r{@bullet{} an outline extension with visibility cycling and structure editing} @r{@bullet{} an ASCII system and table editor for taking structured notes} @r{@bullet{} a TODO list editor} @r{@bullet{} a full agenda and planner with deadlines and work scheduling} @pindex GTD, Getting Things Done @r{@bullet{} an environment in which to implement David Allen's GTD system} @r{@bullet{} a simple hypertext system, with HTML and @LaTeX{} export} @r{@bullet{} a publishing tool to create a set of interlinked web pages} @r{@bullet{} an environment for literate programming} @end example @cindex FAQ There is a website for Org which provides links to the newest version of Org, as well as additional information, frequently asked questions (FAQ), links to tutorials, etc. This page is located at @uref{http://orgmode.org}. @cindex print edition The version 7.3 of this manual is available as a @uref{http://www.network-theory.co.uk/org/manual/, paperback book from Network Theory Ltd.} @page @node Installation, Activation, Summary, Introduction @section Installation @cindex installation @cindex XEmacs Org is part of recent distributions of GNU Emacs, so you normally don't need to install it. If, for one reason or another, you want to install Org on top of this pre-packaged version, there are three ways to do it: @itemize @bullet @item By using Emacs package system. @item By downloading Org as an archive. @item By using Org's git repository. @end itemize We @b{strongly recommend} to stick to a single installation method. @subsubheading Using Emacs packaging system Recent Emacs distributions include a packaging system which lets you install Elisp libraries. You can install Org with @kbd{M-x package-install RET org}. You need to do this in a session where no @code{.org} file has been visited. Then, to make sure your Org configuration is taken into account, initialize the package system with @code{(package-initialize)} in your @file{.emacs} before setting any Org option. If you want to use Org's package repository, check out the @uref{http://orgmode.org/elpa.html, Org ELPA page}. @subsubheading Downloading Org as an archive You can download Org latest release from @uref{http://orgmode.org/, Org's website}. In this case, make sure you set the load-path correctly in your @file{.emacs}: @lisp (add-to-list 'load-path "~/path/to/orgdir/lisp") @end lisp The downloaded archive contains contributed libraries that are not included in Emacs. If you want to use them, add the @file{contrib} directory to your load-path: @lisp (add-to-list 'load-path "~/path/to/orgdir/contrib/lisp" t) @end lisp Optionally, you can compile the files and/or install them in your system. Run @code{make help} to list compilation and installation options. @subsubheading Using Org's git repository You can clone Org's repository and install Org like this: @example $ cd ~/src/ $ git clone git://orgmode.org/org-mode.git $ make autoloads @end example Note that in this case, @code{make autoloads} is mandatory: it defines Org's version in @file{org-version.el} and Org's autoloads in @file{org-loaddefs.el}. Remember to add the correct load-path as described in the method above. You can also compile with @code{make}, generate the documentation with @code{make doc}, create a local configuration with @code{make config} and install Org with @code{make install}. Please run @code{make help} to get the list of compilation/installation options. For more detailed explanations on Org's build system, please check the Org Build System page on @uref{http://orgmode.org/worg/dev/org-build-system.html, Worg}. @node Activation, Feedback, Installation, Introduction @section Activation @cindex activation @cindex autoload @cindex ELPA @cindex global key bindings @cindex key bindings, global @findex org-agenda @findex org-capture @findex org-store-link @findex org-iswitchb Since Emacs 22.2, files with the @file{.org} extension use Org mode by default. If you are using an earlier version of Emacs, add this line to your @file{.emacs} file: @lisp (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) @end lisp Org mode buffers need font-lock to be turned on: this is the default in Emacs@footnote{If you don't use font-lock globally, turn it on in Org buffer with @code{(add-hook 'org-mode-hook 'turn-on-font-lock)}}. There are compatibility issues between Org mode and some other Elisp packages, please take the time to check the list (@pxref{Conflicts}). The four Org commands @command{org-store-link}, @command{org-capture}, @command{org-agenda}, and @command{org-iswitchb} should be accessible through global keys (i.e., anywhere in Emacs, not just in Org buffers). Here are suggested bindings for these keys, please modify the keys to your own liking. @lisp (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-cc" 'org-capture) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cb" 'org-iswitchb) @end lisp @cindex Org mode, turning on With this setup, all files with extension @samp{.org} will be put into Org mode. As an alternative, make the first line of a file look like this: @example MY PROJECTS -*- mode: org; -*- @end example @vindex org-insert-mode-line-in-empty-file @noindent which will select Org mode for this buffer no matter what the file's name is. See also the variable @code{org-insert-mode-line-in-empty-file}. Many commands in Org work on the region if the region is @i{active}. To make use of this, you need to have @code{transient-mark-mode} (@code{zmacs-regions} in XEmacs) turned on. In Emacs 23 this is the default, in Emacs 22 you need to do this yourself with @lisp (transient-mark-mode 1) @end lisp @noindent If you do not like @code{transient-mark-mode}, you can create an active region by using the mouse to select a region, or pressing @kbd{C-@key{SPC}} twice before moving the cursor. @node Feedback, Conventions, Activation, Introduction @section Feedback @cindex feedback @cindex bug reports @cindex maintainer @cindex author If you find problems with Org, or if you have questions, remarks, or ideas about it, please mail to the Org mailing list @email{emacs-orgmode@@gnu.org}. If you are not a member of the mailing list, your mail will be passed to the list after a moderator has approved it@footnote{Please consider subscribing to the mailing list, in order to minimize the work the mailing list moderators have to do.}. For bug reports, please first try to reproduce the bug with the latest version of Org available---if you are running an outdated version, it is quite possible that the bug has been fixed already. If the bug persists, prepare a report and provide as much information as possible, including the version information of Emacs (@kbd{M-x emacs-version @key{RET}}) and Org (@kbd{M-x org-version RET}), as well as the Org related setup in @file{.emacs}. The easiest way to do this is to use the command @example @kbd{M-x org-submit-bug-report RET} @end example @noindent which will put all this information into an Emacs mail buffer so that you only need to add your description. If you re not sending the Email from within Emacs, please copy and paste the content into your Email program. Sometimes you might face a problem due to an error in your Emacs or Org mode setup. Before reporting a bug, it is very helpful to start Emacs with minimal customizations and reproduce the problem. Doing so often helps you determine if the problem is with your customization or with Org mode itself. You can start a typical minimal session with a command like the example below. @example $ emacs -Q -l /path/to/minimal-org.el @end example However if you are using Org mode as distributed with Emacs, a minimal setup is not necessary. In that case it is sufficient to start Emacs as @code{emacs -Q}. The @code{minimal-org.el} setup file can have contents as shown below. @lisp ;;; Minimal setup to load latest `org-mode' ;; activate debugging (setq debug-on-error t debug-on-signal nil debug-on-quit nil) ;; add latest org-mode to load path (add-to-list 'load-path (expand-file-name "/path/to/org-mode/lisp")) (add-to-list 'load-path (expand-file-name "/path/to/org-mode/contrib/lisp" t)) @end lisp If an error occurs, a backtrace can be very useful (see below on how to create one). Often a small example file helps, along with clear information about: @enumerate @item What exactly did you do? @item What did you expect to happen? @item What happened instead? @end enumerate @noindent Thank you for helping to improve this program. @subsubheading How to create a useful backtrace @cindex backtrace of an error If working with Org produces an error with a message you don't understand, you may have hit a bug. The best way to report this is by providing, in addition to what was mentioned above, a @emph{backtrace}. This is information from the built-in debugger about where and how the error occurred. Here is how to produce a useful backtrace: @enumerate @item Reload uncompiled versions of all Org mode Lisp files. The backtrace contains much more information if it is produced with uncompiled code. To do this, use @example @kbd{C-u M-x org-reload RET} @end example @noindent or select @code{Org -> Refresh/Reload -> Reload Org uncompiled} from the menu. @item Go to the @code{Options} menu and select @code{Enter Debugger on Error} (XEmacs has this option in the @code{Troubleshooting} sub-menu). @item Do whatever you have to do to hit the error. Don't forget to document the steps you take. @item When you hit the error, a @file{*Backtrace*} buffer will appear on the screen. Save this buffer to a file (for example using @kbd{C-x C-w}) and attach it to your bug report. @end enumerate @node Conventions, , Feedback, Introduction @section Typesetting conventions used in this manual @subsubheading TODO keywords, tags, properties, etc. Org mainly uses three types of keywords: TODO keywords, tags and property names. In this manual we use the following conventions: @table @code @item TODO @itemx WAITING TODO keywords are written with all capitals, even if they are user-defined. @item boss @itemx ARCHIVE User-defined tags are written in lowercase; built-in tags with special meaning are written with all capitals. @item Release @itemx PRIORITY User-defined properties are capitalized; built-in properties with special meaning are written with all capitals. @end table Moreover, Org uses @i{option keywords} (like @code{#+TITLE} to set the title) and @i{environment keywords} (like @code{#+BEGIN_HTML} to start a @code{HTML} environment). They are written in uppercase in the manual to enhance its readability, but you can use lowercase in your Org files@footnote{Easy templates insert lowercase keywords and Babel dynamically inserts @code{#+results}.}. @subsubheading Keybindings and commands @kindex C-c a @findex org-agenda @kindex C-c c @findex org-capture The manual suggests two global keybindings: @kbd{C-c a} for @code{org-agenda} and @kbd{C-c c} for @code{org-capture}. These are only suggestions, but the rest of the manual assumes that you are using these keybindings. Also, the manual lists both the keys and the corresponding commands for accessing a functionality. Org mode often uses the same key for different functions, depending on context. The command that is bound to such keys has a generic name, like @code{org-metaright}. In the manual we will, wherever possible, give the function that is internally called by the generic command. For example, in the chapter on document structure, @kbd{M-@key{right}} will be listed to call @code{org-do-demote}, while in the chapter on tables, it will be listed to call @code{org-table-move-column-right}. If you prefer, you can compile the manual without the command names by unsetting the flag @code{cmdnames} in @file{org.texi}. @node Document Structure, Tables, Introduction, Top @chapter Document structure @cindex document structure @cindex structure of document Org is based on Outline mode and provides flexible commands to edit the structure of the document. @menu * Outlines:: Org is based on Outline mode * Headlines:: How to typeset Org tree headlines * Visibility cycling:: Show and hide, much simplified * Motion:: Jumping to other headlines * Structure editing:: Changing sequence and level of headlines * Sparse trees:: Matches embedded in context * Plain lists:: Additional structure within an entry * Drawers:: Tucking stuff away * Blocks:: Folding blocks * Footnotes:: How footnotes are defined in Org's syntax * Orgstruct mode:: Structure editing outside Org * Org syntax:: Formal description of Org's syntax @end menu @node Outlines, Headlines, Document Structure, Document Structure @section Outlines @cindex outlines @cindex Outline mode Org is implemented on top of Outline mode. Outlines allow a document to be organized in a hierarchical structure, which (at least for me) is the best representation of notes and thoughts. An overview of this structure is achieved by folding (hiding) large parts of the document to show only the general document structure and the parts currently being worked on. Org greatly simplifies the use of outlines by compressing the entire show/hide functionality into a single command, @command{org-cycle}, which is bound to the @key{TAB} key. @node Headlines, Visibility cycling, Outlines, Document Structure @section Headlines @cindex headlines @cindex outline tree @vindex org-special-ctrl-a/e @vindex org-special-ctrl-k @vindex org-ctrl-k-protect-subtree Headlines define the structure of an outline tree. The headlines in Org start with one or more stars, on the left margin@footnote{See the variables @code{org-special-ctrl-a/e}, @code{org-special-ctrl-k}, and @code{org-ctrl-k-protect-subtree} to configure special behavior of @kbd{C-a}, @kbd{C-e}, and @kbd{C-k} in headlines.} @footnote{Clocking only works with headings indented less then 30 stars.}. For example: @example * Top level headline ** Second level *** 3rd level some text *** 3rd level more text * Another top level headline @end example @noindent Some people find the many stars too noisy and would prefer an outline that has whitespace followed by a single star as headline starters. @ref{Clean view}, describes a setup to realize this. @vindex org-cycle-separator-lines An empty line after the end of a subtree is considered part of it and will be hidden when the subtree is folded. However, if you leave at least two empty lines, one empty line will remain visible after folding the subtree, in order to structure the collapsed view. See the variable @code{org-cycle-separator-lines} to modify this behavior. @node Visibility cycling, Motion, Headlines, Document Structure @section Visibility cycling @cindex cycling, visibility @cindex visibility cycling @cindex trees, visibility @cindex show hidden text @cindex hide text @menu * Global and local cycling:: Cycling through various visibility states * Initial visibility:: Setting the initial visibility state * Catching invisible edits:: Preventing mistakes when editing invisible parts @end menu @node Global and local cycling, Initial visibility, Visibility cycling, Visibility cycling @subsection Global and local cycling Outlines make it possible to hide parts of the text in the buffer. Org uses just two commands, bound to @key{TAB} and @kbd{S-@key{TAB}} to change the visibility in the buffer. @cindex subtree visibility states @cindex subtree cycling @cindex folded, subtree visibility state @cindex children, subtree visibility state @cindex subtree, subtree visibility state @table @asis @orgcmd{@key{TAB},org-cycle} @emph{Subtree cycling}: Rotate current subtree among the states @example ,-> FOLDED -> CHILDREN -> SUBTREE --. '-----------------------------------' @end example @vindex org-cycle-emulate-tab @vindex org-cycle-global-at-bob The cursor must be on a headline for this to work@footnote{see, however, the option @code{org-cycle-emulate-tab}.}. When the cursor is at the beginning of the buffer and the first line is not a headline, then @key{TAB} actually runs global cycling (see below)@footnote{see the option @code{org-cycle-global-at-bob}.}. Also when called with a prefix argument (@kbd{C-u @key{TAB}}), global cycling is invoked. @cindex global visibility states @cindex global cycling @cindex overview, global visibility state @cindex contents, global visibility state @cindex show all, global visibility state @orgcmd{S-@key{TAB},org-global-cycle} @itemx C-u @key{TAB} @emph{Global cycling}: Rotate the entire buffer among the states @example ,-> OVERVIEW -> CONTENTS -> SHOW ALL --. '--------------------------------------' @end example When @kbd{S-@key{TAB}} is called with a numeric prefix argument N, the CONTENTS view up to headlines of level N will be shown. Note that inside tables, @kbd{S-@key{TAB}} jumps to the previous field. @cindex show all, command @orgcmd{C-u C-u C-u @key{TAB},show-all} Show all, including drawers. @cindex revealing context @orgcmd{C-c C-r,org-reveal} Reveal context around point, showing the current entry, the following heading and the hierarchy above. Useful for working near a location that has been exposed by a sparse tree command (@pxref{Sparse trees}) or an agenda command (@pxref{Agenda commands}). With a prefix argument show, on each level, all sibling headings. With a double prefix argument, also show the entire subtree of the parent. @cindex show branches, command @orgcmd{C-c C-k,show-branches} Expose all the headings of the subtree, CONTENT view for just one subtree. @cindex show children, command @orgcmd{C-c @key{TAB},show-children} Expose all direct children of the subtree. With a numeric prefix argument N, expose all children down to level N@. @orgcmd{C-c C-x b,org-tree-to-indirect-buffer} Show the current subtree in an indirect buffer@footnote{The indirect buffer @ifinfo (@pxref{Indirect Buffers,,,emacs,GNU Emacs Manual}) @end ifinfo @ifnotinfo (see the Emacs manual for more information about indirect buffers) @end ifnotinfo will contain the entire buffer, but will be narrowed to the current tree. Editing the indirect buffer will also change the original buffer, but without affecting visibility in that buffer.}. With a numeric prefix argument N, go up to level N and then take that tree. If N is negative then go up that many levels. With a @kbd{C-u} prefix, do not remove the previously used indirect buffer. @orgcmd{C-c C-x v,org-copy-visible} Copy the @i{visible} text in the region into the kill ring. @end table @menu * Initial visibility:: Setting the initial visibility state * Catching invisible edits:: Preventing mistakes when editing invisible parts @end menu @node Initial visibility, Catching invisible edits, Global and local cycling, Visibility cycling @subsection Initial visibility @cindex visibility, initialize @vindex org-startup-folded @vindex org-agenda-inhibit-startup @cindex @code{overview}, STARTUP keyword @cindex @code{content}, STARTUP keyword @cindex @code{showall}, STARTUP keyword @cindex @code{showeverything}, STARTUP keyword When Emacs first visits an Org file, the global state is set to OVERVIEW, i.e., only the top level headlines are visible@footnote{When @code{org-agenda-inhibit-startup} is non-@code{nil}, Org will not honor the default visibility state when first opening a file for the agenda (@pxref{Speeding up your agendas}).} This can be configured through the variable @code{org-startup-folded}, or on a per-file basis by adding one of the following lines anywhere in the buffer: @example #+STARTUP: overview #+STARTUP: content #+STARTUP: showall #+STARTUP: showeverything @end example The startup visibility options are ignored when the file is open for the first time during the agenda generation: if you want the agenda to honor the startup visibility, set @code{org-agenda-inhibit-startup} to @code{nil}. @cindex property, VISIBILITY @noindent Furthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties and Columns}) will get their visibility adapted accordingly. Allowed values for this property are @code{folded}, @code{children}, @code{content}, and @code{all}. @table @asis @orgcmd{C-u C-u @key{TAB},org-set-startup-visibility} Switch back to the startup visibility of the buffer, i.e., whatever is requested by startup options and @samp{VISIBILITY} properties in individual entries. @end table @node Catching invisible edits, , Initial visibility, Visibility cycling @subsection Catching invisible edits @vindex org-catch-invisible-edits @cindex edits, catching invisible Sometimes you may inadvertently edit an invisible part of the buffer and be confused on what has been edited and how to undo the mistake. Setting @code{org-catch-invisible-edits} to non-@code{nil} will help prevent this. See the docstring of this option on how Org should catch invisible edits and process them. @node Motion, Structure editing, Visibility cycling, Document Structure @section Motion @cindex motion, between headlines @cindex jumping, to headlines @cindex headline navigation The following commands jump to other headlines in the buffer. @table @asis @orgcmd{C-c C-n,outline-next-visible-heading} Next heading. @orgcmd{C-c C-p,outline-previous-visible-heading} Previous heading. @orgcmd{C-c C-f,org-forward-same-level} Next heading same level. @orgcmd{C-c C-b,org-backward-same-level} Previous heading same level. @orgcmd{C-c C-u,outline-up-heading} Backward to higher level heading. @orgcmd{C-c C-j,org-goto} Jump to a different place without changing the current outline visibility. Shows the document structure in a temporary buffer, where you can use the following keys to find your destination: @vindex org-goto-auto-isearch @example @key{TAB} @r{Cycle visibility.} @key{down} / @key{up} @r{Next/previous visible headline.} @key{RET} @r{Select this location.} @kbd{/} @r{Do a Sparse-tree search} @r{The following keys work if you turn off @code{org-goto-auto-isearch}} n / p @r{Next/previous visible headline.} f / b @r{Next/previous headline same level.} u @r{One level up.} 0-9 @r{Digit argument.} q @r{Quit} @end example @vindex org-goto-interface @noindent See also the option @code{org-goto-interface}. @end table @node Structure editing, Sparse trees, Motion, Document Structure @section Structure editing @cindex structure editing @cindex headline, promotion and demotion @cindex promotion, of subtrees @cindex demotion, of subtrees @cindex subtree, cut and paste @cindex pasting, of subtrees @cindex cutting, of subtrees @cindex copying, of subtrees @cindex sorting, of subtrees @cindex subtrees, cut and paste @table @asis @orgcmd{M-@key{RET},org-insert-heading} @vindex org-M-RET-may-split-line Insert a new heading/item with the same level than the one at point. If the cursor is in a plain list item, a new item is created (@pxref{Plain lists}). To prevent this behavior in lists, call the command with a prefix argument. When this command is used in the middle of a line, the line is split and the rest of the line becomes the new item or headline@footnote{If you do not want the line to be split, customize the variable @code{org-M-RET-may-split-line}.}. If the command is used at the @emph{beginning} of a headline, the new headline is created before the current line. If the command is used at the @emph{end} of a folded subtree (i.e., behind the ellipses at the end of a headline), then a headline will be inserted after the end of the subtree. Calling this command with @kbd{C-u C-u} will unconditionally respect the headline's content and create a new item at the end of the parent subtree. @orgcmd{C-@key{RET},org-insert-heading-respect-content} Just like @kbd{M-@key{RET}}, except when adding a new heading below the current heading, the new heading is placed after the body instead of before it. This command works from anywhere in the entry. @orgcmd{M-S-@key{RET},org-insert-todo-heading} @vindex org-treat-insert-todo-heading-as-state-change Insert new TODO entry with same level as current heading. See also the variable @code{org-treat-insert-todo-heading-as-state-change}. @orgcmd{C-S-@key{RET},org-insert-todo-heading-respect-content} Insert new TODO entry with same level as current heading. Like @kbd{C-@key{RET}}, the new headline will be inserted after the current subtree. @orgcmd{@key{TAB},org-cycle} In a new entry with no text yet, the first @key{TAB} demotes the entry to become a child of the previous one. The next @key{TAB} makes it a parent, and so on, all the way to top level. Yet another @key{TAB}, and you are back to the initial level. @orgcmd{M-@key{left},org-do-promote} Promote current heading by one level. @orgcmd{M-@key{right},org-do-demote} Demote current heading by one level. @orgcmd{M-S-@key{left},org-promote-subtree} Promote the current subtree by one level. @orgcmd{M-S-@key{right},org-demote-subtree} Demote the current subtree by one level. @orgcmd{M-S-@key{up},org-move-subtree-up} Move subtree up (swap with previous subtree of same level). @orgcmd{M-S-@key{down},org-move-subtree-down} Move subtree down (swap with next subtree of same level). @orgcmd{M-h,org-mark-element} Mark the element at point. Hitting repeatedly will mark subsequent elements of the one just marked. E.g., hitting @key{M-h} on a paragraph will mark it, hitting @key{M-h} immediately again will mark the next one. @orgcmd{C-c @@,org-mark-subtree} Mark the subtree at point. Hitting repeatedly will mark subsequent subtrees of the same level than the marked subtree. @orgcmd{C-c C-x C-w,org-cut-subtree} Kill subtree, i.e., remove it from buffer but save in kill ring. With a numeric prefix argument N, kill N sequential subtrees. @orgcmd{C-c C-x M-w,org-copy-subtree} Copy subtree to kill ring. With a numeric prefix argument N, copy the N sequential subtrees. @orgcmd{C-c C-x C-y,org-paste-subtree} Yank subtree from kill ring. This does modify the level of the subtree to make sure the tree fits in nicely at the yank position. The yank level can also be specified with a numeric prefix argument, or by yanking after a headline marker like @samp{****}. @orgcmd{C-y,org-yank} @vindex org-yank-adjusted-subtrees @vindex org-yank-folded-subtrees Depending on the options @code{org-yank-adjusted-subtrees} and @code{org-yank-folded-subtrees}, Org's internal @code{yank} command will paste subtrees folded and in a clever way, using the same command as @kbd{C-c C-x C-y}. With the default settings, no level adjustment will take place, but the yanked tree will be folded unless doing so would swallow text previously visible. Any prefix argument to this command will force a normal @code{yank} to be executed, with the prefix passed along. A good way to force a normal yank is @kbd{C-u C-y}. If you use @code{yank-pop} after a yank, it will yank previous kill items plainly, without adjustment and folding. @orgcmd{C-c C-x c,org-clone-subtree-with-time-shift} Clone a subtree by making a number of sibling copies of it. You will be prompted for the number of copies to make, and you can also specify if any timestamps in the entry should be shifted. This can be useful, for example, to create a number of tasks related to a series of lectures to prepare. For more details, see the docstring of the command @code{org-clone-subtree-with-time-shift}. @orgcmd{C-c C-w,org-refile} Refile entry or region to a different location. @xref{Refile and copy}. @orgcmd{C-c ^,org-sort} Sort same-level entries. When there is an active region, all entries in the region will be sorted. Otherwise the children of the current headline are sorted. The command prompts for the sorting method, which can be alphabetically, numerically, by time (first timestamp with active preferred, creation time, scheduled time, deadline time), by priority, by TODO keyword (in the sequence the keywords have been defined in the setup) or by the value of a property. Reverse sorting is possible as well. You can also supply your own function to extract the sorting key. With a @kbd{C-u} prefix, sorting will be case-sensitive. @orgcmd{C-x n s,org-narrow-to-subtree} Narrow buffer to current subtree. @orgcmd{C-x n b,org-narrow-to-block} Narrow buffer to current block. @orgcmd{C-x n w,widen} Widen buffer to remove narrowing. @orgcmd{C-c *,org-toggle-heading} Turn a normal line or plain list item into a headline (so that it becomes a subheading at its location). Also turn a headline into a normal line by removing the stars. If there is an active region, turn all lines in the region into headlines. If the first line in the region was an item, turn only the item lines into headlines. Finally, if the first line is a headline, remove the stars from all headlines in the region. @end table @cindex region, active @cindex active region @cindex transient mark mode When there is an active region (Transient Mark mode), promotion and demotion work on all headlines in the region. To select a region of headlines, it is best to place both point and mark at the beginning of a line, mark at the beginning of the first headline, and point at the line just after the last headline to change. Note that when the cursor is inside a table (@pxref{Tables}), the Meta-Cursor keys have different functionality. @node Sparse trees, Plain lists, Structure editing, Document Structure @section Sparse trees @cindex sparse trees @cindex trees, sparse @cindex folding, sparse trees @cindex occur, command @vindex org-show-hierarchy-above @vindex org-show-following-heading @vindex org-show-siblings @vindex org-show-entry-below An important feature of Org mode is the ability to construct @emph{sparse trees} for selected information in an outline tree, so that the entire document is folded as much as possible, but the selected information is made visible along with the headline structure above it@footnote{See also the variables @code{org-show-hierarchy-above}, @code{org-show-following-heading}, @code{org-show-siblings}, and @code{org-show-entry-below} for detailed control on how much context is shown around each match.}. Just try it out and you will see immediately how it works. Org mode contains several commands creating such trees, all these commands can be accessed through a dispatcher: @table @asis @orgcmd{C-c /,org-sparse-tree} This prompts for an extra key to select a sparse-tree creating command. @orgcmd{C-c / r,org-occur} @vindex org-remove-highlights-with-change Prompts for a regexp and shows a sparse tree with all matches. If the match is in a headline, the headline is made visible. If the match is in the body of an entry, headline and body are made visible. In order to provide minimal context, also the full hierarchy of headlines above the match is shown, as well as the headline following the match. Each match is also highlighted; the highlights disappear when the buffer is changed by an editing command@footnote{This depends on the option @code{org-remove-highlights-with-change}}, or by pressing @kbd{C-c C-c}. When called with a @kbd{C-u} prefix argument, previous highlights are kept, so several calls to this command can be stacked. @orgcmdkkc{M-g n,M-g M-n,next-error} Jump to the next sparse tree match in this buffer. @orgcmdkkc{M-g p,M-g M-p,previous-error} Jump to the previous sparse tree match in this buffer. @end table @noindent @vindex org-agenda-custom-commands For frequently used sparse trees of specific search strings, you can use the option @code{org-agenda-custom-commands} to define fast keyboard access to specific sparse trees. These commands will then be accessible through the agenda dispatcher (@pxref{Agenda dispatcher}). For example: @lisp (setq org-agenda-custom-commands '(("f" occur-tree "FIXME"))) @end lisp @noindent will define the key @kbd{C-c a f} as a shortcut for creating a sparse tree matching the string @samp{FIXME}. The other sparse tree commands select headings based on TODO keywords, tags, or properties and will be discussed later in this manual. @kindex C-c C-e C-v @cindex printing sparse trees @cindex visible text, printing To print a sparse tree, you can use the Emacs command @code{ps-print-buffer-with-faces} which does not print invisible parts of the document @footnote{This does not work under XEmacs, because XEmacs uses selective display for outlining, not text properties.}. Or you can use @kbd{C-c C-e C-v} to export only the visible part of the document and print the resulting file. @node Plain lists, Drawers, Sparse trees, Document Structure @section Plain lists @cindex plain lists @cindex lists, plain @cindex lists, ordered @cindex ordered lists Within an entry of the outline tree, hand-formatted lists can provide additional structure. They also provide a way to create lists of checkboxes (@pxref{Checkboxes}). Org supports editing such lists, and every exporter (@pxref{Exporting}) can parse and format them. Org knows ordered lists, unordered lists, and description lists. @itemize @bullet @item @emph{Unordered} list items start with @samp{-}, @samp{+}, or @samp{*}@footnote{When using @samp{*} as a bullet, lines must be indented or they will be seen as top-level headlines. Also, when you are hiding leading stars to get a clean outline view, plain list items starting with a star may be hard to distinguish from true headlines. In short: even though @samp{*} is supported, it may be better to not use it for plain list items.} as bullets. @item @vindex org-plain-list-ordered-item-terminator @vindex org-list-allow-alphabetical @emph{Ordered} list items start with a numeral followed by either a period or a right parenthesis@footnote{You can filter out any of them by configuring @code{org-plain-list-ordered-item-terminator}.}, such as @samp{1.} or @samp{1)}@footnote{You can also get @samp{a.}, @samp{A.}, @samp{a)} and @samp{A)} by configuring @code{org-list-allow-alphabetical}. To minimize confusion with normal text, those are limited to one character only. Beyond that limit, bullets will automatically fallback to numbers.}. If you want a list to start with a different value (e.g., 20), start the text of the item with @code{[@@20]}@footnote{If there's a checkbox in the item, the cookie must be put @emph{before} the checkbox. If you have activated alphabetical lists, you can also use counters like @code{[@@b]}.}. Those constructs can be used in any item of the list in order to enforce a particular numbering. @item @emph{Description} list items are unordered list items, and contain the separator @samp{ :: } to distinguish the description @emph{term} from the description. @end itemize Items belonging to the same list must have the same indentation on the first line. In particular, if an ordered list reaches number @samp{10.}, then the 2--digit numbers must be written left-aligned with the other numbers in the list. An item ends before the next line that is less or equally indented than its bullet/number. @vindex org-list-empty-line-terminates-plain-lists A list ends whenever every item has ended, which means before any line less or equally indented than items at top level. It also ends before two blank lines@footnote{See also @code{org-list-empty-line-terminates-plain-lists}.}. In that case, all items are closed. Here is an example: @example @group ** Lord of the Rings My favorite scenes are (in this order) 1. The attack of the Rohirrim 2. Eowyn's fight with the witch king + this was already my favorite scene in the book + I really like Miranda Otto. 3. Peter Jackson being shot by Legolas - on DVD only He makes a really funny face when it happens. But in the end, no individual scenes matter but the film as a whole. Important actors in this film are: - @b{Elijah Wood} :: He plays Frodo - @b{Sean Austin} :: He plays Sam, Frodo's friend. I still remember him very well from his role as Mikey Walsh in @i{The Goonies}. @end group @end example Org supports these lists by tuning filling and wrapping commands to deal with them correctly@footnote{Org only changes the filling settings for Emacs. For XEmacs, you should use Kyle E. Jones' @file{filladapt.el}. To turn this on, put into @file{.emacs}: @code{(require 'filladapt)}}, and by exporting them properly (@pxref{Exporting}). Since indentation is what governs the structure of these lists, many structural constructs like @code{#+BEGIN_...} blocks can be indented to signal that they belong to a particular item. @vindex org-list-demote-modify-bullet @vindex org-list-indent-offset If you find that using a different bullet for a sub-list (than that used for the current list-level) improves readability, customize the variable @code{org-list-demote-modify-bullet}. To get a greater difference of indentation between items and theirs sub-items, customize @code{org-list-indent-offset}. @vindex org-list-automatic-rules The following commands act on items when the cursor is in the first line of an item (the line with the bullet or number). Some of them imply the application of automatic rules to keep list structure intact. If some of these actions get in your way, configure @code{org-list-automatic-rules} to disable them individually. @table @asis @orgcmd{@key{TAB},org-cycle} @cindex cycling, in plain lists @vindex org-cycle-include-plain-lists Items can be folded just like headline levels. Normally this works only if the cursor is on a plain list item. For more details, see the variable @code{org-cycle-include-plain-lists}. If this variable is set to @code{integrate}, plain list items will be treated like low-level headlines. The level of an item is then given by the indentation of the bullet/number. Items are always subordinate to real headlines, however; the hierarchies remain completely separated. In a new item with no text yet, the first @key{TAB} demotes the item to become a child of the previous one. Subsequent @key{TAB}s move the item to meaningful levels in the list and eventually get it back to its initial position. @orgcmd{M-@key{RET},org-insert-heading} @vindex org-M-RET-may-split-line @vindex org-list-automatic-rules Insert new item at current level. With a prefix argument, force a new heading (@pxref{Structure editing}). If this command is used in the middle of an item, that item is @emph{split} in two, and the second part becomes the new item@footnote{If you do not want the item to be split, customize the variable @code{org-M-RET-may-split-line}.}. If this command is executed @emph{before item's body}, the new item is created @emph{before} the current one. @end table @table @kbd @kindex M-S-@key{RET} @item M-S-@key{RET} Insert a new item with a checkbox (@pxref{Checkboxes}). @kindex S-@key{down} @item S-up @itemx S-down @cindex shift-selection-mode @vindex org-support-shift-select @vindex org-list-use-circular-motion Jump to the previous/next item in the current list@footnote{If you want to cycle around items that way, you may customize @code{org-list-use-circular-motion}.}, but only if @code{org-support-shift-select} is off. If not, you can still use paragraph jumping commands like @kbd{C-@key{up}} and @kbd{C-@key{down}} to quite similar effect. @kindex M-@key{up} @kindex M-@key{down} @item M-up @itemx M-down Move the item including subitems up/down@footnote{See @code{org-list-use-circular-motion} for a cyclic behavior.} (swap with previous/next item of same indentation). If the list is ordered, renumbering is automatic. @kindex M-@key{left} @kindex M-@key{right} @item M-left @itemx M-right Decrease/increase the indentation of an item, leaving children alone. @kindex M-S-@key{left} @kindex M-S-@key{right} @item M-S-@key{left} @itemx M-S-@key{right} Decrease/increase the indentation of the item, including subitems. Initially, the item tree is selected based on current indentation. When these commands are executed several times in direct succession, the initially selected region is used, even if the new indentation would imply a different hierarchy. To use the new hierarchy, break the command chain with a cursor motion or so. As a special case, using this command on the very first item of a list will move the whole list. This behavior can be disabled by configuring @code{org-list-automatic-rules}. The global indentation of a list has no influence on the text @emph{after} the list. @kindex C-c C-c @item C-c C-c If there is a checkbox (@pxref{Checkboxes}) in the item line, toggle the state of the checkbox. In any case, verify bullets and indentation consistency in the whole list. @kindex C-c - @vindex org-plain-list-ordered-item-terminator @item C-c - Cycle the entire list level through the different itemize/enumerate bullets (@samp{-}, @samp{+}, @samp{*}, @samp{1.}, @samp{1)}) or a subset of them, depending on @code{org-plain-list-ordered-item-terminator}, the type of list, and its indentation. With a numeric prefix argument N, select the Nth bullet from this list. If there is an active region when calling this, selected text will be changed into an item. With a prefix argument, all lines will be converted to list items. If the first line already was a list item, any item marker will be removed from the list. Finally, even without an active region, a normal line will be converted into a list item. @kindex C-c * @item C-c * Turn a plain list item into a headline (so that it becomes a subheading at its location). @xref{Structure editing}, for a detailed explanation. @kindex C-c C-* @item C-c C-* Turn the whole plain list into a subtree of the current heading. Checkboxes (@pxref{Checkboxes}) will become TODO (resp. DONE) keywords when unchecked (resp. checked). @kindex S-@key{left} @kindex S-@key{right} @item S-left/right @vindex org-support-shift-select This command also cycles bullet styles when the cursor in on the bullet or anywhere in an item line, details depending on @code{org-support-shift-select}. @kindex C-c ^ @cindex sorting, of plain list @item C-c ^ Sort the plain list. You will be prompted for the sorting method: numerically, alphabetically, by time, by checked status for check lists, or by a custom function. @end table @node Drawers, Blocks, Plain lists, Document Structure @section Drawers @cindex drawers @cindex #+DRAWERS @cindex visibility cycling, drawers @vindex org-drawers @cindex org-insert-drawer @kindex C-c C-x d Sometimes you want to keep information associated with an entry, but you normally don't want to see it. For this, Org mode has @emph{drawers}. Drawers need to be configured with the option @code{org-drawers}@footnote{You can define additional drawers on a per-file basis with a line like @code{#+DRAWERS: HIDDEN STATE}}. Drawers look like this: @example ** This is a headline Still outside the drawer :DRAWERNAME: This is inside the drawer. :END: After the drawer. @end example You can interactively insert drawers at point by calling @code{org-insert-drawer}, which is bound to @key{C-c C-x d}. With an active region, this command will put the region inside the drawer. With a prefix argument, this command calls @code{org-insert-property-drawer} and add a property drawer right below the current headline. Completion over drawer keywords is also possible using @key{M-TAB}. Visibility cycling (@pxref{Visibility cycling}) on the headline will hide and show the entry, but keep the drawer collapsed to a single line. In order to look inside the drawer, you need to move the cursor to the drawer line and press @key{TAB} there. Org mode uses the @code{PROPERTIES} drawer for storing properties (@pxref{Properties and Columns}), and you can also arrange for state change notes (@pxref{Tracking TODO state changes}) and clock times (@pxref{Clocking work time}) to be stored in a drawer @code{LOGBOOK}. If you want to store a quick note in the LOGBOOK drawer, in a similar way to state changes, use @table @kbd @kindex C-c C-z @item C-c C-z Add a time-stamped note to the LOGBOOK drawer. @end table @vindex org-export-with-drawers You can select the name of the drawers which should be exported with @code{org-export-with-drawers}. In that case, drawer contents will appear in export output. Property drawers are not affected by this variable and are never exported. @node Blocks, Footnotes, Drawers, Document Structure @section Blocks @vindex org-hide-block-startup @cindex blocks, folding Org mode uses begin...end blocks for various purposes from including source code examples (@pxref{Literal examples}) to capturing time logging information (@pxref{Clocking work time}). These blocks can be folded and unfolded by pressing TAB in the begin line. You can also get all blocks folded at startup by configuring the option @code{org-hide-block-startup} or on a per-file basis by using @cindex @code{hideblocks}, STARTUP keyword @cindex @code{nohideblocks}, STARTUP keyword @example #+STARTUP: hideblocks #+STARTUP: nohideblocks @end example @node Footnotes, Orgstruct mode, Blocks, Document Structure @section Footnotes @cindex footnotes Org mode supports the creation of footnotes. In contrast to the @file{footnote.el} package, Org mode's footnotes are designed for work on a larger document, not only for one-off documents like emails. A footnote is started by a footnote marker in square brackets in column 0, no indentation allowed. It ends at the next footnote definition, headline, or after two consecutive empty lines. The footnote reference is simply the marker in square brackets, inside text. For example: @example The Org homepage[fn:1] now looks a lot better than it used to. ... [fn:1] The link is: http://orgmode.org @end example Org mode extends the number-based syntax to @emph{named} footnotes and optional inline definition. Using plain numbers as markers (as @file{footnote.el} does) is supported for backward compatibility, but not encouraged because of possible conflicts with @LaTeX{} snippets (@pxref{Embedded @LaTeX{}}). Here are the valid references: @table @code @item [1] A plain numeric footnote marker. Compatible with @file{footnote.el}, but not recommended because something like @samp{[1]} could easily be part of a code snippet. @item [fn:name] A named footnote reference, where @code{name} is a unique label word, or, for simplicity of automatic creation, a number. @item [fn:: This is the inline definition of this footnote] A @LaTeX{}-like anonymous footnote where the definition is given directly at the reference point. @item [fn:name: a definition] An inline definition of a footnote, which also specifies a name for the note. Since Org allows multiple references to the same note, you can then use @code{[fn:name]} to create additional references. @end table @vindex org-footnote-auto-label Footnote labels can be created automatically, or you can create names yourself. This is handled by the variable @code{org-footnote-auto-label} and its corresponding @code{#+STARTUP} keywords. See the docstring of that variable for details. @noindent The following command handles footnotes: @table @kbd @kindex C-c C-x f @item C-c C-x f The footnote action command. When the cursor is on a footnote reference, jump to the definition. When it is at a definition, jump to the (first) reference. @vindex org-footnote-define-inline @vindex org-footnote-section @vindex org-footnote-auto-adjust Otherwise, create a new footnote. Depending on the option @code{org-footnote-define-inline}@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: fninline} or @code{#+STARTUP: nofninline}}, the definition will be placed right into the text as part of the reference, or separately into the location determined by the option @code{org-footnote-section}. When this command is called with a prefix argument, a menu of additional options is offered: @example s @r{Sort the footnote definitions by reference sequence. During editing,} @r{Org makes no effort to sort footnote definitions into a particular} @r{sequence. If you want them sorted, use this command, which will} @r{also move entries according to @code{org-footnote-section}. Automatic} @r{sorting after each insertion/deletion can be configured using the} @r{option @code{org-footnote-auto-adjust}.} r @r{Renumber the simple @code{fn:N} footnotes. Automatic renumbering} @r{after each insertion/deletion can be configured using the option} @r{@code{org-footnote-auto-adjust}.} S @r{Short for first @code{r}, then @code{s} action.} n @r{Normalize the footnotes by collecting all definitions (including} @r{inline definitions) into a special section, and then numbering them} @r{in sequence. The references will then also be numbers. This is} @r{meant to be the final step before finishing a document (e.g., sending} @r{off an email).} d @r{Delete the footnote at point, and all definitions of and references} @r{to it.} @end example Depending on the variable @code{org-footnote-auto-adjust}@footnote{the corresponding in-buffer options are @code{fnadjust} and @code{nofnadjust}.}, renumbering and sorting footnotes can be automatic after each insertion or deletion. @kindex C-c C-c @item C-c C-c If the cursor is on a footnote reference, jump to the definition. If it is a the definition, jump back to the reference. When called at a footnote location with a prefix argument, offer the same menu as @kbd{C-c C-x f}. @kindex C-c C-o @kindex mouse-1 @kindex mouse-2 @item C-c C-o @r{or} mouse-1/2 Footnote labels are also links to the corresponding definition/reference, and you can use the usual commands to follow these links. @end table @node Orgstruct mode, Org syntax, Footnotes, Document Structure @section The Orgstruct minor mode @cindex Orgstruct mode @cindex minor mode for structure editing If you like the intuitive way the Org mode structure editing and list formatting works, you might want to use these commands in other modes like Text mode or Mail mode as well. The minor mode @code{orgstruct-mode} makes this possible. Toggle the mode with @kbd{M-x orgstruct-mode RET}, or turn it on by default, for example in Message mode, with one of: @lisp (add-hook 'message-mode-hook 'turn-on-orgstruct) (add-hook 'message-mode-hook 'turn-on-orgstruct++) @end lisp When this mode is active and the cursor is on a line that looks to Org like a headline or the first line of a list item, most structure editing commands will work, even if the same keys normally have different functionality in the major mode you are using. If the cursor is not in one of those special lines, Orgstruct mode lurks silently in the shadows. When you use @code{orgstruct++-mode}, Org will also export indentation and autofill settings into that mode, and detect item context after the first line of an item. @vindex orgstruct-heading-prefix-regexp You can also use Org structure editing to fold and unfold headlines in @emph{any} file, provided you defined @code{orgstruct-heading-prefix-regexp}: the regular expression must match the local prefix to use before Org's headlines. For example, if you set this variable to @code{";; "} in Emacs Lisp files, you will be able to fold and unfold headlines in Emacs Lisp commented lines. Some commands like @code{org-demote} are disabled when the prefix is set, but folding/unfolding will work correctly. @node Org syntax, , Orgstruct mode, Document Structure @section Org syntax @cindex Org syntax A reference document providing a formal description of Org's syntax is available as @uref{http://orgmode.org/worg/dev/org-syntax.html, a draft on Worg}, written and maintained by Nicolas Goaziou. It defines Org's core internal concepts such as @code{headlines}, @code{sections}, @code{affiliated keywords}, @code{(greater) elements} and @code{objects}. Each part of an Org file falls into one of the categories above. To explore the abstract structure of an Org buffer, run this in a buffer: @lisp M-: (org-element-parse-buffer) RET @end lisp It will output a list containing the buffer's content represented as an abstract structure. The export engine relies on the information stored in this list. Most interactive commands (e.g., for structure editing) also rely on the syntactic meaning of the surrounding context. @node Tables, Hyperlinks, Document Structure, Top @chapter Tables @cindex tables @cindex editing tables Org comes with a fast and intuitive table editor. Spreadsheet-like calculations are supported using the Emacs @file{calc} package (@pxref{Top, Calc, , calc, Gnu Emacs Calculator Manual}). @menu * Built-in table editor:: Simple tables * Column width and alignment:: Overrule the automatic settings * Column groups:: Grouping to trigger vertical lines * Orgtbl mode:: The table editor as minor mode * The spreadsheet:: The table editor has spreadsheet capabilities * Org-Plot:: Plotting from org tables @end menu @node Built-in table editor, Column width and alignment, Tables, Tables @section The built-in table editor @cindex table editor, built-in Org makes it easy to format tables in plain ASCII@. Any line with @samp{|} as the first non-whitespace character is considered part of a table. @samp{|} is also the column separator@footnote{To insert a vertical bar into a table field, use @code{\vert} or, inside a word @code{abc\vert@{@}def}.}. A table might look like this: @example | Name | Phone | Age | |-------+-------+-----| | Peter | 1234 | 17 | | Anna | 4321 | 25 | @end example A table is re-aligned automatically each time you press @key{TAB} or @key{RET} or @kbd{C-c C-c} inside the table. @key{TAB} also moves to the next field (@key{RET} to the next row) and creates new table rows at the end of the table or before horizontal lines. The indentation of the table is set by the first line. Any line starting with @samp{|-} is considered as a horizontal separator line and will be expanded on the next re-align to span the whole table width. So, to create the above table, you would only type @example |Name|Phone|Age| |- @end example @noindent and then press @key{TAB} to align the table and start filling in fields. Even faster would be to type @code{|Name|Phone|Age} followed by @kbd{C-c @key{RET}}. @vindex org-enable-table-editor @vindex org-table-auto-blank-field When typing text into a field, Org treats @key{DEL}, @key{Backspace}, and all character keys in a special way, so that inserting and deleting avoids shifting other fields. Also, when typing @emph{immediately after the cursor was moved into a new field with @kbd{@key{TAB}}, @kbd{S-@key{TAB}} or @kbd{@key{RET}}}, the field is automatically made blank. If this behavior is too unpredictable for you, configure the options @code{org-enable-table-editor} and @code{org-table-auto-blank-field}. @table @kbd @tsubheading{Creation and conversion} @orgcmd{C-c |,org-table-create-or-convert-from-region} Convert the active region to table. If every line contains at least one TAB character, the function assumes that the material is tab separated. If every line contains a comma, comma-separated values (CSV) are assumed. If not, lines are split at whitespace into fields. You can use a prefix argument to force a specific separator: @kbd{C-u} forces CSV, @kbd{C-u C-u} forces TAB, and a numeric argument N indicates that at least N consecutive spaces, or alternatively a TAB will be the separator. @* If there is no active region, this command creates an empty Org table. But it is easier just to start typing, like @kbd{|Name|Phone|Age @key{RET} |- @key{TAB}}. @tsubheading{Re-aligning and field motion} @orgcmd{C-c C-c,org-table-align} Re-align the table and don't move to another field. @c @orgcmd{,org-table-next-field} Re-align the table, move to the next field. Creates a new row if necessary. @c @orgcmd{S-@key{TAB},org-table-previous-field} Re-align, move to previous field. @c @orgcmd{@key{RET},org-table-next-row} Re-align the table and move down to next row. Creates a new row if necessary. At the beginning or end of a line, @key{RET} still does NEWLINE, so it can be used to split a table. @c @orgcmd{M-a,org-table-beginning-of-field} Move to beginning of the current table field, or on to the previous field. @orgcmd{M-e,org-table-end-of-field} Move to end of the current table field, or on to the next field. @tsubheading{Column and row editing} @orgcmdkkcc{M-@key{left},M-@key{right},org-table-move-column-left,org-table-move-column-right} Move the current column left/right. @c @orgcmd{M-S-@key{left},org-table-delete-column} Kill the current column. @c @orgcmd{M-S-@key{right},org-table-insert-column} Insert a new column to the left of the cursor position. @c @orgcmdkkcc{M-@key{up},M-@key{down},org-table-move-row-up,org-table-move-row-down} Move the current row up/down. @c @orgcmd{M-S-@key{up},org-table-kill-row} Kill the current row or horizontal line. @c @orgcmd{M-S-@key{down},org-table-insert-row} Insert a new row above the current row. With a prefix argument, the line is created below the current one. @c @orgcmd{C-c -,org-table-insert-hline} Insert a horizontal line below current row. With a prefix argument, the line is created above the current line. @c @orgcmd{C-c @key{RET},org-table-hline-and-move} Insert a horizontal line below current row, and move the cursor into the row below that line. @c @orgcmd{C-c ^,org-table-sort-lines} Sort the table lines in the region. The position of point indicates the column to be used for sorting, and the range of lines is the range between the nearest horizontal separator lines, or the entire table. If point is before the first column, you will be prompted for the sorting column. If there is an active region, the mark specifies the first line and the sorting column, while point should be in the last line to be included into the sorting. The command prompts for the sorting type (alphabetically, numerically, or by time). When called with a prefix argument, alphabetic sorting will be case-sensitive. @tsubheading{Regions} @orgcmd{C-c C-x M-w,org-table-copy-region} Copy a rectangular region from a table to a special clipboard. Point and mark determine edge fields of the rectangle. If there is no active region, copy just the current field. The process ignores horizontal separator lines. @c @orgcmd{C-c C-x C-w,org-table-cut-region} Copy a rectangular region from a table to a special clipboard, and blank all fields in the rectangle. So this is the ``cut'' operation. @c @orgcmd{C-c C-x C-y,org-table-paste-rectangle} Paste a rectangular region into a table. The upper left corner ends up in the current field. All involved fields will be overwritten. If the rectangle does not fit into the present table, the table is enlarged as needed. The process ignores horizontal separator lines. @c @orgcmd{M-@key{RET},org-table-wrap-region} Split the current field at the cursor position and move the rest to the line below. If there is an active region, and both point and mark are in the same column, the text in the column is wrapped to minimum width for the given number of lines. A numeric prefix argument may be used to change the number of desired lines. If there is no region, but you specify a prefix argument, the current field is made blank, and the content is appended to the field above. @tsubheading{Calculations} @cindex formula, in tables @cindex calculations, in tables @cindex region, active @cindex active region @cindex transient mark mode @orgcmd{C-c +,org-table-sum} Sum the numbers in the current column, or in the rectangle defined by the active region. The result is shown in the echo area and can be inserted with @kbd{C-y}. @c @orgcmd{S-@key{RET},org-table-copy-down} @vindex org-table-copy-increment When current field is empty, copy from first non-empty field above. When not empty, copy current field down to next row and move cursor along with it. Depending on the option @code{org-table-copy-increment}, integer field values will be incremented during copy. Integers that are too large will not be incremented. Also, a @code{0} prefix argument temporarily disables the increment. This key is also used by shift-selection and related modes (@pxref{Conflicts}). @tsubheading{Miscellaneous} @orgcmd{C-c `,org-table-edit-field} Edit the current field in a separate window. This is useful for fields that are not fully visible (@pxref{Column width and alignment}). When called with a @kbd{C-u} prefix, just make the full field visible, so that it can be edited in place. When called with two @kbd{C-u} prefixes, make the editor window follow the cursor through the table and always show the current field. The follow mode exits automatically when the cursor leaves the table, or when you repeat this command with @kbd{C-u C-u C-c `}. @c @item M-x org-table-import RET Import a file as a table. The table should be TAB or whitespace separated. Use, for example, to import a spreadsheet table or data from a database, because these programs generally can write TAB-separated text files. This command works by inserting the file into the buffer and then converting the region to a table. Any prefix argument is passed on to the converter, which uses it to determine the separator. @orgcmd{C-c |,org-table-create-or-convert-from-region} Tables can also be imported by pasting tabular text into the Org buffer, selecting the pasted text with @kbd{C-x C-x} and then using the @kbd{C-c |} command (see above under @i{Creation and conversion}). @c @item M-x org-table-export RET @findex org-table-export @vindex org-table-export-default-format Export the table, by default as a TAB-separated file. Use for data exchange with, for example, spreadsheet or database programs. The format used to export the file can be configured in the option @code{org-table-export-default-format}. You may also use properties @code{TABLE_EXPORT_FILE} and @code{TABLE_EXPORT_FORMAT} to specify the file name and the format for table export in a subtree. Org supports quite general formats for exported tables. The exporter format is the same as the format used by Orgtbl radio tables, see @ref{Translator functions}, for a detailed description. @end table If you don't like the automatic table editor because it gets in your way on lines which you would like to start with @samp{|}, you can turn it off with @lisp (setq org-enable-table-editor nil) @end lisp @noindent Then the only table command that still works is @kbd{C-c C-c} to do a manual re-align. @node Column width and alignment, Column groups, Built-in table editor, Tables @section Column width and alignment @cindex narrow columns in tables @cindex alignment in tables The width of columns is automatically determined by the table editor. And also the alignment of a column is determined automatically from the fraction of number-like versus non-number fields in the column. Sometimes a single field or a few fields need to carry more text, leading to inconveniently wide columns. Or maybe you want to make a table with several columns having a fixed width, regardless of content. To set@footnote{This feature does not work on XEmacs.} the width of a column, one field anywhere in the column may contain just the string @samp{} where @samp{N} is an integer specifying the width of the column in characters. The next re-align will then set the width of this column to this value. @example @group |---+------------------------------| |---+--------| | | | | | <6> | | 1 | one | | 1 | one | | 2 | two | ----\ | 2 | two | | 3 | This is a long chunk of text | ----/ | 3 | This=> | | 4 | four | | 4 | four | |---+------------------------------| |---+--------| @end group @end example @noindent Fields that are wider become clipped and end in the string @samp{=>}. Note that the full text is still in the buffer but is hidden. To see the full text, hold the mouse over the field---a tool-tip window will show the full content. To edit such a field, use the command @kbd{C-c `} (that is @kbd{C-c} followed by the backquote). This will open a new window with the full field. Edit it and finish with @kbd{C-c C-c}. @vindex org-startup-align-all-tables When visiting a file containing a table with narrowed columns, the necessary character hiding has not yet happened, and the table needs to be aligned before it looks nice. Setting the option @code{org-startup-align-all-tables} will realign all tables in a file upon visiting, but also slow down startup. You can also set this option on a per-file basis with: @example #+STARTUP: align #+STARTUP: noalign @end example If you would like to overrule the automatic alignment of number-rich columns to the right and of string-rich column to the left, you can use @samp{}, @samp{}@footnote{Centering does not work inside Emacs, but it does have an effect when exporting to HTML.} or @samp{} in a similar fashion. You may also combine alignment and field width like this: @samp{}. Lines which only contain these formatting cookies will be removed automatically when exporting the document. @node Column groups, Orgtbl mode, Column width and alignment, Tables @section Column groups @cindex grouping columns in tables When Org exports tables, it does so by default without vertical lines because that is visually more satisfying in general. Occasionally however, vertical lines can be useful to structure a table into groups of columns, much like horizontal lines can do for groups of rows. In order to specify column groups, you can use a special row where the first field contains only @samp{/}. The further fields can either contain @samp{<} to indicate that this column should start a group, @samp{>} to indicate the end of a column, or @samp{<>} (no space between @samp{<} and @samp{>}) to make a column a group of its own. Boundaries between column groups will upon export be marked with vertical lines. Here is an example: @example | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) | |---+-----+-----+-----+---------+------------| | / | < | | > | < | > | | 1 | 1 | 1 | 1 | 1 | 1 | | 2 | 4 | 8 | 16 | 1.4142 | 1.1892 | | 3 | 9 | 27 | 81 | 1.7321 | 1.3161 | |---+-----+-----+-----+---------+------------| #+TBLFM: $2=$1^2::$3=$1^3::$4=$1^4::$5=sqrt($1)::$6=sqrt(sqrt(($1))) @end example It is also sufficient to just insert the column group starters after every vertical line you would like to have: @example | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) | |----+-----+-----+-----+---------+------------| | / | < | | | < | | @end example @node Orgtbl mode, The spreadsheet, Column groups, Tables @section The Orgtbl minor mode @cindex Orgtbl mode @cindex minor mode for tables If you like the intuitive way the Org table editor works, you might also want to use it in other modes like Text mode or Mail mode. The minor mode Orgtbl mode makes this possible. You can always toggle the mode with @kbd{M-x orgtbl-mode RET}. To turn it on by default, for example in Message mode, use @lisp (add-hook 'message-mode-hook 'turn-on-orgtbl) @end lisp Furthermore, with some special setup, it is possible to maintain tables in arbitrary syntax with Orgtbl mode. For example, it is possible to construct @LaTeX{} tables with the underlying ease and power of Orgtbl mode, including spreadsheet capabilities. For details, see @ref{Tables in arbitrary syntax}. @node The spreadsheet, Org-Plot, Orgtbl mode, Tables @section The spreadsheet @cindex calculations, in tables @cindex spreadsheet capabilities @cindex @file{calc} package The table editor makes use of the Emacs @file{calc} package to implement spreadsheet-like capabilities. It can also evaluate Emacs Lisp forms to derive fields from other fields. While fully featured, Org's implementation is not identical to other spreadsheets. For example, Org knows the concept of a @emph{column formula} that will be applied to all non-header fields in a column without having to copy the formula to each relevant field. There is also a formula debugger, and a formula editor with features for highlighting fields in the table corresponding to the references at the point in the formula, moving these references by arrow keys @menu * References:: How to refer to another field or range * Formula syntax for Calc:: Using Calc to compute stuff * Formula syntax for Lisp:: Writing formulas in Emacs Lisp * Durations and time values:: How to compute durations and time values * Field and range formulas:: Formula for specific (ranges of) fields * Column formulas:: Formulas valid for an entire column * Lookup functions:: Lookup functions for searching tables * Editing and debugging formulas:: Fixing formulas * Updating the table:: Recomputing all dependent fields * Advanced features:: Field and column names, parameters and automatic recalc @end menu @node References, Formula syntax for Calc, The spreadsheet, The spreadsheet @subsection References @cindex references To compute fields in the table from other fields, formulas must reference other fields or ranges. In Org, fields can be referenced by name, by absolute coordinates, and by relative coordinates. To find out what the coordinates of a field are, press @kbd{C-c ?} in that field, or press @kbd{C-c @}} to toggle the display of a grid. @subsubheading Field references @cindex field references @cindex references, to fields Formulas can reference the value of another field in two ways. Like in any other spreadsheet, you may reference fields with a letter/number combination like @code{B3}, meaning the 2nd field in the 3rd row. @vindex org-table-use-standard-references However, Org prefers@footnote{Org will understand references typed by the user as @samp{B4}, but it will not use this syntax when offering a formula for editing. You can customize this behavior using the option @code{org-table-use-standard-references}.} to use another, more general representation that looks like this: @example @@@var{row}$@var{column} @end example Column specifications can be absolute like @code{$1}, @code{$2},...@code{$@var{N}}, or relative to the current column (i.e., the column of the field which is being computed) like @code{$+1} or @code{$-2}. @code{$<} and @code{$>} are immutable references to the first and last column, respectively, and you can use @code{$>>>} to indicate the third column from the right. The row specification only counts data lines and ignores horizontal separator lines (hlines). Like with columns, you can use absolute row numbers @code{@@1}, @code{@@2},...@code{@@@var{N}}, and row numbers relative to the current row like @code{@@+3} or @code{@@-1}. @code{@@<} and @code{@@>} are immutable references the first and last@footnote{For backward compatibility you can also use special names like @code{$LR5} and @code{$LR12} to refer in a stable way to the 5th and 12th field in the last row of the table. However, this syntax is deprecated, it should not be used for new documents. Use @code{@@>$} instead.} row in the table, respectively. You may also specify the row relative to one of the hlines: @code{@@I} refers to the first hline, @code{@@II} to the second, etc. @code{@@-I} refers to the first such line above the current line, @code{@@+I} to the first such line below the current line. You can also write @code{@@III+2} which is the second data line after the third hline in the table. @code{@@0} and @code{$0} refer to the current row and column, respectively, i.e., to the row/column for the field being computed. Also, if you omit either the column or the row part of the reference, the current row/column is implied. Org's references with @emph{unsigned} numbers are fixed references in the sense that if you use the same reference in the formula for two different fields, the same field will be referenced each time. Org's references with @emph{signed} numbers are floating references because the same reference operator can reference different fields depending on the field being calculated by the formula. Here are a few examples: @example @@2$3 @r{2nd row, 3rd column (same as @code{C2})} $5 @r{column 5 in the current row (same as @code{E&})} @@2 @r{current column, row 2} @@-1$-3 @r{the field one row up, three columns to the left} @@-I$2 @r{field just under hline above current row, column 2} @@>$5 @r{field in the last row, in column 5} @end example @subsubheading Range references @cindex range references @cindex references, to ranges You may reference a rectangular range of fields by specifying two field references connected by two dots @samp{..}. If both fields are in the current row, you may simply use @samp{$2..$7}, but if at least one field is in a different row, you need to use the general @code{@@row$column} format at least for the first field (i.e the reference must start with @samp{@@} in order to be interpreted correctly). Examples: @example $1..$3 @r{first three fields in the current row} $P..$Q @r{range, using column names (see under Advanced)} $<<<..$>> @r{start in third column, continue to the one but last} @@2$1..@@4$3 @r{6 fields between these two fields (same as @code{A2..C4})} @@-1$-2..@@-1 @r{3 fields in the row above, starting from 2 columns on the left} @@I..II @r{between first and second hline, short for @code{@@I..@@II}} @end example @noindent Range references return a vector of values that can be fed into Calc vector functions. Empty fields in ranges are normally suppressed, so that the vector contains only the non-empty fields. For other options with the mode switches @samp{E}, @samp{N} and examples @pxref{Formula syntax for Calc}. @subsubheading Field coordinates in formulas @cindex field coordinates @cindex coordinates, of field @cindex row, of field coordinates @cindex column, of field coordinates For Calc formulas and Lisp formulas @code{@@#} and @code{$#} can be used to get the row or column number of the field where the formula result goes. The traditional Lisp formula equivalents are @code{org-table-current-dline} and @code{org-table-current-column}. Examples: @example if(@@# % 2, $#, string("")) @r{column number on odd lines only} $3 = remote(FOO, @@@@#$2) @r{copy column 2 from table FOO into} @r{column 3 of the current table} @end example @noindent For the second example, table FOO must have at least as many rows as the current table. Note that this is inefficient@footnote{The computation time scales as O(N^2) because table FOO is parsed for each field to be copied.} for large number of rows. @subsubheading Named references @cindex named references @cindex references, named @cindex name, of column or field @cindex constants, in calculations @cindex #+CONSTANTS @vindex org-table-formula-constants @samp{$name} is interpreted as the name of a column, parameter or constant. Constants are defined globally through the option @code{org-table-formula-constants}, and locally (for the file) through a line like @example #+CONSTANTS: c=299792458. pi=3.14 eps=2.4e-6 @end example @noindent @vindex constants-unit-system @pindex constants.el Also properties (@pxref{Properties and Columns}) can be used as constants in table formulas: for a property @samp{:Xyz:} use the name @samp{$PROP_Xyz}, and the property will be searched in the current outline entry and in the hierarchy above it. If you have the @file{constants.el} package, it will also be used to resolve constants, including natural constants like @samp{$h} for Planck's constant, and units like @samp{$km} for kilometers@footnote{@file{constants.el} can supply the values of constants in two different unit systems, @code{SI} and @code{cgs}. Which one is used depends on the value of the variable @code{constants-unit-system}. You can use the @code{#+STARTUP} options @code{constSI} and @code{constcgs} to set this value for the current buffer.}. Column names and parameters can be specified in special table lines. These are described below, see @ref{Advanced features}. All names must start with a letter, and further consist of letters and numbers. @subsubheading Remote references @cindex remote references @cindex references, remote @cindex references, to a different table @cindex name, of column or field @cindex constants, in calculations @cindex #+NAME, for table You may also reference constants, fields and ranges from a different table, either in the current file or even in a different file. The syntax is @example remote(NAME-OR-ID,REF) @end example @noindent where NAME can be the name of a table in the current file as set by a @code{#+NAME: Name} line before the table. It can also be the ID of an entry, even in a different file, and the reference then refers to the first table in that entry. REF is an absolute field or range reference as described above for example @code{@@3$3} or @code{$somename}, valid in the referenced table. @node Formula syntax for Calc, Formula syntax for Lisp, References, The spreadsheet @subsection Formula syntax for Calc @cindex formula syntax, Calc @cindex syntax, of formulas A formula can be any algebraic expression understood by the Emacs @file{Calc} package. Note that @file{calc} has the non-standard convention that @samp{/} has lower precedence than @samp{*}, so that @samp{a/b*c} is interpreted as @samp{a/(b*c)}. Before evaluation by @code{calc-eval} (@pxref{Calling Calc from Your Programs, calc-eval, Calling Calc from Your Lisp Programs, calc, GNU Emacs Calc Manual}), variable substitution takes place according to the rules described above. @cindex vectors, in table calculations The range vectors can be directly fed into the Calc vector functions like @samp{vmean} and @samp{vsum}. @cindex format specifier @cindex mode, for @file{calc} @vindex org-calc-default-modes A formula can contain an optional mode string after a semicolon. This string consists of flags to influence Calc and other modes during execution. By default, Org uses the standard Calc modes (precision 12, angular units degrees, fraction and symbolic modes off). The display format, however, has been changed to @code{(float 8)} to keep tables compact. The default settings can be configured using the option @code{org-calc-default-modes}. @noindent List of modes: @table @asis @item @code{p20} Set the internal Calc calculation precision to 20 digits. @item @code{n3}, @code{s3}, @code{e2}, @code{f4} Normal, scientific, engineering or fixed format of the result of Calc passed back to Org. Calc formatting is unlimited in precision as long as the Calc calculation precision is greater. @item @code{D}, @code{R} Degree and radian angle modes of Calc. @item @code{F}, @code{S} Fraction and symbolic modes of Calc. @item @code{T}, @code{t} Duration computations in Calc or Lisp, @pxref{Durations and time values}. @item @code{E} If and how to consider empty fields. Without @samp{E} empty fields in range references are suppressed so that the Calc vector or Lisp list contains only the non-empty fields. With @samp{E} the empty fields are kept. For empty fields in ranges or empty field references the value @samp{nan} (not a number) is used in Calc formulas and the empty string is used for Lisp formulas. Add @samp{N} to use 0 instead for both formula types. For the value of a field the mode @samp{N} has higher precedence than @samp{E}. @item @code{N} Interpret all fields as numbers, use 0 for non-numbers. See the next section to see how this is essential for computations with Lisp formulas. In Calc formulas it is used only occasionally because there number strings are already interpreted as numbers without @samp{N}. @item @code{L} Literal, for Lisp formulas only. See the next section. @end table @noindent Unless you use large integer numbers or high-precision-calculation and -display for floating point numbers you may alternatively provide a @samp{printf} format specifier to reformat the Calc result after it has been passed back to Org instead of letting Calc already do the formatting@footnote{The @samp{printf} reformatting is limited in precision because the value passed to it is converted into an @samp{integer} or @samp{double}. The @samp{integer} is limited in size by truncating the signed value to 32 bits. The @samp{double} is limited in precision to 64 bits overall which leaves approximately 16 significant decimal digits.}. A few examples: @example $1+$2 @r{Sum of first and second field} $1+$2;%.2f @r{Same, format result to two decimals} exp($2)+exp($1) @r{Math functions can be used} $0;%.1f @r{Reformat current cell to 1 decimal} ($3-32)*5/9 @r{Degrees F -> C conversion} $c/$1/$cm @r{Hz -> cm conversion, using @file{constants.el}} tan($1);Dp3s1 @r{Compute in degrees, precision 3, display SCI 1} sin($1);Dp3%.1e @r{Same, but use printf specifier for display} taylor($3,x=7,2) @r{Taylor series of $3, at x=7, second degree} @end example Calc also contains a complete set of logical operations, (@pxref{Logical Operations, , Logical Operations, calc, GNU Emacs Calc Manual}). For example @table @code @item if($1 < 20, teen, string("")) "teen" if age $1 is less than 20, else the Org table result field is set to empty with the empty string. @item if("$1" == "nan" || "$2" == "nan", string(""), $1 + $2); E Sum of the first two columns. When at least one of the input fields is empty the Org table result field is set to empty. @item if(typeof(vmean($1..$7)) == 12, string(""), vmean($1..$7); E Mean value of a range unless there is any empty field. Every field in the range that is empty is replaced by @samp{nan} which lets @samp{vmean} result in @samp{nan}. Then @samp{typeof == 12} detects the @samp{nan} from @samp{vmean} and the Org table result field is set to empty. Use this when the sample set is expected to never have missing values. @item if("$1..$7" == "[]", string(""), vmean($1..$7)) Mean value of a range with empty fields skipped. Every field in the range that is empty is skipped. When all fields in the range are empty the mean value is not defined and the Org table result field is set to empty. Use this when the sample set can have a variable size. @item vmean($1..$7); EN To complete the example before: Mean value of a range with empty fields counting as samples with value 0. Use this only when incomplete sample sets should be padded with 0 to the full size. @end table You can add your own Calc functions defined in Emacs Lisp with @code{defmath} and use them in formula syntax for Calc. @node Formula syntax for Lisp, Durations and time values, Formula syntax for Calc, The spreadsheet @subsection Emacs Lisp forms as formulas @cindex Lisp forms, as table formulas It is also possible to write a formula in Emacs Lisp. This can be useful for string manipulation and control structures, if Calc's functionality is not enough. If a formula starts with a single-quote followed by an opening parenthesis, then it is evaluated as a Lisp form. The evaluation should return either a string or a number. Just as with @file{calc} formulas, you can specify modes and a printf format after a semicolon. With Emacs Lisp forms, you need to be conscious about the way field references are interpolated into the form. By default, a reference will be interpolated as a Lisp string (in double-quotes) containing the field. If you provide the @samp{N} mode switch, all referenced elements will be numbers (non-number fields will be zero) and interpolated as Lisp numbers, without quotes. If you provide the @samp{L} flag, all fields will be interpolated literally, without quotes. I.e., if you want a reference to be interpreted as a string by the Lisp form, enclose the reference operator itself in double-quotes, like @code{"$3"}. Ranges are inserted as space-separated fields, so you can embed them in list or vector syntax. Here are a few examples---note how the @samp{N} mode is used when we do computations in Lisp: @table @code @item '(concat (substring $1 1 2) (substring $1 0 1) (substring $1 2)) Swap the first two characters of the content of column 1. @item '(+ $1 $2);N Add columns 1 and 2, equivalent to Calc's @code{$1+$2}. @item '(apply '+ '($1..$4));N Compute the sum of columns 1 to 4, like Calc's @code{vsum($1..$4)}. @end table @node Durations and time values, Field and range formulas, Formula syntax for Lisp, The spreadsheet @subsection Durations and time values @cindex Duration, computing @cindex Time, computing @vindex org-table-duration-custom-format If you want to compute time values use the @code{T} flag, either in Calc formulas or Elisp formulas: @example @group | Task 1 | Task 2 | Total | |---------+----------+----------| | 2:12 | 1:47 | 03:59:00 | | 3:02:20 | -2:07:00 | 0.92 | #+TBLFM: @@2$3=$1+$2;T::@@3$3=$1+$2;t @end group @end example Input duration values must be of the form @code{[HH:MM[:SS]}, where seconds are optional. With the @code{T} flag, computed durations will be displayed as @code{HH:MM:SS} (see the first formula above). With the @code{t} flag, computed durations will be displayed according to the value of the option @code{org-table-duration-custom-format}, which defaults to @code{'hours} and will display the result as a fraction of hours (see the second formula in the example above). Negative duration values can be manipulated as well, and integers will be considered as seconds in addition and subtraction. @node Field and range formulas, Column formulas, Durations and time values, The spreadsheet @subsection Field and range formulas @cindex field formula @cindex range formula @cindex formula, for individual table field @cindex formula, for range of fields To assign a formula to a particular field, type it directly into the field, preceded by @samp{:=}, for example @samp{:=vsum(@@II..III)}. When you press @key{TAB} or @key{RET} or @kbd{C-c C-c} with the cursor still in the field, the formula will be stored as the formula for this field, evaluated, and the current field will be replaced with the result. @cindex #+TBLFM Formulas are stored in a special line starting with @samp{#+TBLFM:} directly below the table. If you type the equation in the 4th field of the 3rd data line in the table, the formula will look like @samp{@@3$4=$1+$2}. When inserting/deleting/swapping column and rows with the appropriate commands, @i{absolute references} (but not relative ones) in stored formulas are modified in order to still reference the same field. To avoid this from happening, in particular in range references, anchor ranges at the table borders (using @code{@@<}, @code{@@>}, @code{$<}, @code{$>}), or at hlines using the @code{@@I} notation. Automatic adaptation of field references does of course not happen if you edit the table structure with normal editing commands---then you must fix the equations yourself. Instead of typing an equation into the field, you may also use the following command @table @kbd @orgcmd{C-u C-c =,org-table-eval-formula} Install a new formula for the current field. The command prompts for a formula with default taken from the @samp{#+TBLFM:} line, applies it to the current field, and stores it. @end table The left-hand side of a formula can also be a special expression in order to assign the formula to a number of different fields. There is no keyboard shortcut to enter such range formulas. To add them, use the formula editor (@pxref{Editing and debugging formulas}) or edit the @code{#+TBLFM:} line directly. @table @code @item $2= Column formula, valid for the entire column. This is so common that Org treats these formulas in a special way, see @ref{Column formulas}. @item @@3= Row formula, applies to all fields in the specified row. @code{@@>=} means the last row. @item @@1$2..@@4$3= Range formula, applies to all fields in the given rectangular range. This can also be used to assign a formula to some but not all fields in a row. @item $name= Named field, see @ref{Advanced features}. @end table @node Column formulas, Lookup functions, Field and range formulas, The spreadsheet @subsection Column formulas @cindex column formula @cindex formula, for table column When you assign a formula to a simple column reference like @code{$3=}, the same formula will be used in all fields of that column, with the following very convenient exceptions: (i) If the table contains horizontal separator hlines with rows above and below, everything before the first such hline is considered part of the table @emph{header} and will not be modified by column formulas. Therefore a header is mandatory when you use column formulas and want to add hlines to group rows, like for example to separate a total row at the bottom from the summand rows above. (ii) Fields that already get a value from a field/range formula will be left alone by column formulas. These conditions make column formulas very easy to use. To assign a formula to a column, type it directly into any field in the column, preceded by an equal sign, like @samp{=$1+$2}. When you press @key{TAB} or @key{RET} or @kbd{C-c C-c} with the cursor still in the field, the formula will be stored as the formula for the current column, evaluated and the current field replaced with the result. If the field contains only @samp{=}, the previously stored formula for this column is used. For each column, Org will only remember the most recently used formula. In the @samp{#+TBLFM:} line, column formulas will look like @samp{$4=$1+$2}. The left-hand side of a column formula can not be the name of column, it must be the numeric column reference or @code{$>}. Instead of typing an equation into the field, you may also use the following command: @table @kbd @orgcmd{C-c =,org-table-eval-formula} Install a new formula for the current column and replace current field with the result of the formula. The command prompts for a formula, with default taken from the @samp{#+TBLFM} line, applies it to the current field and stores it. With a numeric prefix argument(e.g., @kbd{C-5 C-c =}) the command will apply it to that many consecutive fields in the current column. @end table @node Lookup functions, Editing and debugging formulas, Column formulas, The spreadsheet @subsection Lookup functions @cindex lookup functions in tables @cindex table lookup functions Org has three predefined Emacs Lisp functions for lookups in tables. @table @code @item (org-lookup-first VAL S-LIST R-LIST &optional PREDICATE) @findex org-lookup-first Searches for the first element @code{S} in list @code{S-LIST} for which @lisp (PREDICATE VAL S) @end lisp is @code{t}; returns the value from the corresponding position in list @code{R-LIST}. The default @code{PREDICATE} is @code{equal}. Note that the parameters @code{VAL} and @code{S} are passed to @code{PREDICATE} in the same order as the corresponding parameters are in the call to @code{org-lookup-first}, where @code{VAL} precedes @code{S-LIST}. If @code{R-LIST} is @code{nil}, the matching element @code{S} of @code{S-LIST} is returned. @item (org-lookup-last VAL S-LIST R-LIST &optional PREDICATE) @findex org-lookup-last Similar to @code{org-lookup-first} above, but searches for the @i{last} element for which @code{PREDICATE} is @code{t}. @item (org-lookup-all VAL S-LIST R-LIST &optional PREDICATE) @findex org-lookup-all Similar to @code{org-lookup-first}, but searches for @i{all} elements for which @code{PREDICATE} is @code{t}, and returns @i{all} corresponding values. This function can not be used by itself in a formula, because it returns a list of values. However, powerful lookups can be built when this function is combined with other Emacs Lisp functions. @end table If the ranges used in these functions contain empty fields, the @code{E} mode for the formula should usually be specified: otherwise empty fields will not be included in @code{S-LIST} and/or @code{R-LIST} which can, for example, result in an incorrect mapping from an element of @code{S-LIST} to the corresponding element of @code{R-LIST}. These three functions can be used to implement associative arrays, count matching cells, rank results, group data etc. For practical examples see @uref{http://orgmode.org/worg/org-tutorials/org-lookups.html, this tutorial on Worg}. @node Editing and debugging formulas, Updating the table, Lookup functions, The spreadsheet @subsection Editing and debugging formulas @cindex formula editing @cindex editing, of table formulas @vindex org-table-use-standard-references You can edit individual formulas in the minibuffer or directly in the field. Org can also prepare a special buffer with all active formulas of a table. When offering a formula for editing, Org converts references to the standard format (like @code{B3} or @code{D&}) if possible. If you prefer to only work with the internal format (like @code{@@3$2} or @code{$4}), configure the option @code{org-table-use-standard-references}. @table @kbd @orgcmdkkc{C-c =,C-u C-c =,org-table-eval-formula} Edit the formula associated with the current column/field in the minibuffer. See @ref{Column formulas}, and @ref{Field and range formulas}. @orgcmd{C-u C-u C-c =,org-table-eval-formula} Re-insert the active formula (either a field formula, or a column formula) into the current field, so that you can edit it directly in the field. The advantage over editing in the minibuffer is that you can use the command @kbd{C-c ?}. @orgcmd{C-c ?,org-table-field-info} While editing a formula in a table field, highlight the field(s) referenced by the reference at the cursor position in the formula. @kindex C-c @} @findex org-table-toggle-coordinate-overlays @item C-c @} Toggle the display of row and column numbers for a table, using overlays (@command{org-table-toggle-coordinate-overlays}). These are updated each time the table is aligned; you can force it with @kbd{C-c C-c}. @kindex C-c @{ @findex org-table-toggle-formula-debugger @item C-c @{ Toggle the formula debugger on and off (@command{org-table-toggle-formula-debugger}). See below. @orgcmd{C-c ',org-table-edit-formulas} Edit all formulas for the current table in a special buffer, where the formulas will be displayed one per line. If the current field has an active formula, the cursor in the formula editor will mark it. While inside the special buffer, Org will automatically highlight any field or range reference at the cursor position. You may edit, remove and add formulas, and use the following commands: @table @kbd @orgcmdkkc{C-c C-c,C-x C-s,org-table-fedit-finish} Exit the formula editor and store the modified formulas. With @kbd{C-u} prefix, also apply the new formulas to the entire table. @orgcmd{C-c C-q,org-table-fedit-abort} Exit the formula editor without installing changes. @orgcmd{C-c C-r,org-table-fedit-toggle-ref-type} Toggle all references in the formula editor between standard (like @code{B3}) and internal (like @code{@@3$2}). @orgcmd{@key{TAB},org-table-fedit-lisp-indent} Pretty-print or indent Lisp formula at point. When in a line containing a Lisp formula, format the formula according to Emacs Lisp rules. Another @key{TAB} collapses the formula back again. In the open formula, @key{TAB} re-indents just like in Emacs Lisp mode. @orgcmd{M-@key{TAB},lisp-complete-symbol} Complete Lisp symbols, just like in Emacs Lisp mode. @kindex S-@key{up} @kindex S-@key{down} @kindex S-@key{left} @kindex S-@key{right} @findex org-table-fedit-ref-up @findex org-table-fedit-ref-down @findex org-table-fedit-ref-left @findex org-table-fedit-ref-right @item S-@key{up}/@key{down}/@key{left}/@key{right} Shift the reference at point. For example, if the reference is @code{B3} and you press @kbd{S-@key{right}}, it will become @code{C3}. This also works for relative references and for hline references. @orgcmdkkcc{M-S-@key{up},M-S-@key{down},org-table-fedit-line-up,org-table-fedit-line-down} Move the test line for column formulas in the Org buffer up and down. @orgcmdkkcc{M-@key{up},M-@key{down},org-table-fedit-scroll-down,org-table-fedit-scroll-up} Scroll the window displaying the table. @kindex C-c @} @findex org-table-toggle-coordinate-overlays @item C-c @} Turn the coordinate grid in the table on and off. @end table @end table Making a table field blank does not remove the formula associated with the field, because that is stored in a different line (the @samp{#+TBLFM} line)---during the next recalculation the field will be filled again. To remove a formula from a field, you have to give an empty reply when prompted for the formula, or to edit the @samp{#+TBLFM} line. @kindex C-c C-c You may edit the @samp{#+TBLFM} directly and re-apply the changed equations with @kbd{C-c C-c} in that line or with the normal recalculation commands in the table. @anchor{Using multiple #+TBLFM lines} @subsubheading Using multiple #+TBLFM lines @cindex #+TBLFM line, multiple @cindex #+TBLFM @cindex #+TBLFM, switching @kindex C-c C-c You may apply the formula temporarily. This is useful when you switch the formula. Place multiple @samp{#+TBLFM} lines right after the table, and then press @kbd{C-c C-c} on the formula to apply. Here is an example: @example | x | y | |---+---| | 1 | | | 2 | | #+TBLFM: $2=$1*1 #+TBLFM: $2=$1*2 @end example @noindent Pressing @kbd{C-c C-c} in the line of @samp{#+TBLFM: $2=$1*2} yields: @example | x | y | |---+---| | 1 | 2 | | 2 | 4 | #+TBLFM: $2=$1*1 #+TBLFM: $2=$1*2 @end example @noindent Note: If you recalculate this table (with @kbd{C-u C-c *}, for example), you will get the following result of applying only the first @samp{#+TBLFM} line. @example | x | y | |---+---| | 1 | 1 | | 2 | 2 | #+TBLFM: $2=$1*1 #+TBLFM: $2=$1*2 @end example @subsubheading Debugging formulas @cindex formula debugging @cindex debugging, of table formulas When the evaluation of a formula leads to an error, the field content becomes the string @samp{#ERROR}. If you would like see what is going on during variable substitution and calculation in order to find a bug, turn on formula debugging in the @code{Tbl} menu and repeat the calculation, for example by pressing @kbd{C-u C-u C-c = @key{RET}} in a field. Detailed information will be displayed. @node Updating the table, Advanced features, Editing and debugging formulas, The spreadsheet @subsection Updating the table @cindex recomputing table fields @cindex updating, table Recalculation of a table is normally not automatic, but needs to be triggered by a command. See @ref{Advanced features}, for a way to make recalculation at least semi-automatic. In order to recalculate a line of a table or the entire table, use the following commands: @table @kbd @orgcmd{C-c *,org-table-recalculate} Recalculate the current row by first applying the stored column formulas from left to right, and all field/range formulas in the current row. @c @kindex C-u C-c * @item C-u C-c * @kindex C-u C-c C-c @itemx C-u C-c C-c Recompute the entire table, line by line. Any lines before the first hline are left alone, assuming that these are part of the table header. @c @orgcmdkkc{C-u C-u C-c *,C-u C-u C-c C-c,org-table-iterate} Iterate the table by recomputing it until no further changes occur. This may be necessary if some computed fields use the value of other fields that are computed @i{later} in the calculation sequence. @item M-x org-table-recalculate-buffer-tables RET @findex org-table-recalculate-buffer-tables Recompute all tables in the current buffer. @item M-x org-table-iterate-buffer-tables RET @findex org-table-iterate-buffer-tables Iterate all tables in the current buffer, in order to converge table-to-table dependencies. @end table @node Advanced features, , Updating the table, The spreadsheet @subsection Advanced features If you want the recalculation of fields to happen automatically, or if you want to be able to assign @i{names}@footnote{Such names must start by an alphabetic character and use only alphanumeric/underscore characters.} to fields and columns, you need to reserve the first column of the table for special marking characters. @table @kbd @orgcmd{C-#,org-table-rotate-recalc-marks} Rotate the calculation mark in first column through the states @samp{ }, @samp{#}, @samp{*}, @samp{!}, @samp{$}. When there is an active region, change all marks in the region. @end table Here is an example of a table that collects exam results of students and makes use of these features: @example @group |---+---------+--------+--------+--------+-------+------| | | Student | Prob 1 | Prob 2 | Prob 3 | Total | Note | |---+---------+--------+--------+--------+-------+------| | ! | | P1 | P2 | P3 | Tot | | | # | Maximum | 10 | 15 | 25 | 50 | 10.0 | | ^ | | m1 | m2 | m3 | mt | | |---+---------+--------+--------+--------+-------+------| | # | Peter | 10 | 8 | 23 | 41 | 8.2 | | # | Sam | 2 | 4 | 3 | 9 | 1.8 | |---+---------+--------+--------+--------+-------+------| | | Average | | | | 25.0 | | | ^ | | | | | at | | | $ | max=50 | | | | | | |---+---------+--------+--------+--------+-------+------| #+TBLFM: $6=vsum($P1..$P3)::$7=10*$Tot/$max;%.1f::$at=vmean(@@-II..@@-I);%.1f @end group @end example @noindent @b{Important}: please note that for these special tables, recalculating the table with @kbd{C-u C-c *} will only affect rows that are marked @samp{#} or @samp{*}, and fields that have a formula assigned to the field itself. The column formulas are not applied in rows with empty first field. @cindex marking characters, tables The marking characters have the following meaning: @table @samp @item ! The fields in this line define names for the columns, so that you may refer to a column as @samp{$Tot} instead of @samp{$6}. @item ^ This row defines names for the fields @emph{above} the row. With such a definition, any formula in the table may use @samp{$m1} to refer to the value @samp{10}. Also, if you assign a formula to a names field, it will be stored as @samp{$name=...}. @item _ Similar to @samp{^}, but defines names for the fields in the row @emph{below}. @item $ Fields in this row can define @emph{parameters} for formulas. For example, if a field in a @samp{$} row contains @samp{max=50}, then formulas in this table can refer to the value 50 using @samp{$max}. Parameters work exactly like constants, only that they can be defined on a per-table basis. @item # Fields in this row are automatically recalculated when pressing @key{TAB} or @key{RET} or @kbd{S-@key{TAB}} in this row. Also, this row is selected for a global recalculation with @kbd{C-u C-c *}. Unmarked lines will be left alone by this command. @item * Selects this line for global recalculation with @kbd{C-u C-c *}, but not for automatic recalculation. Use this when automatic recalculation slows down editing too much. @item @w{ } Unmarked lines are exempt from recalculation with @kbd{C-u C-c *}. All lines that should be recalculated should be marked with @samp{#} or @samp{*}. @item / Do not export this line. Useful for lines that contain the narrowing @samp{} markers or column group markers. @end table Finally, just to whet your appetite for what can be done with the fantastic @file{calc.el} package, here is a table that computes the Taylor series of degree @code{n} at location @code{x} for a couple of functions. @example @group |---+-------------+---+-----+--------------------------------------| | | Func | n | x | Result | |---+-------------+---+-----+--------------------------------------| | # | exp(x) | 1 | x | 1 + x | | # | exp(x) | 2 | x | 1 + x + x^2 / 2 | | # | exp(x) | 3 | x | 1 + x + x^2 / 2 + x^3 / 6 | | # | x^2+sqrt(x) | 2 | x=0 | x*(0.5 / 0) + x^2 (2 - 0.25 / 0) / 2 | | # | x^2+sqrt(x) | 2 | x=1 | 2 + 2.5 x - 2.5 + 0.875 (x - 1)^2 | | * | tan(x) | 3 | x | 0.0175 x + 1.77e-6 x^3 | |---+-------------+---+-----+--------------------------------------| #+TBLFM: $5=taylor($2,$4,$3);n3 @end group @end example @node Org-Plot, , The spreadsheet, Tables @section Org-Plot @cindex graph, in tables @cindex plot tables using Gnuplot @cindex #+PLOT Org-Plot can produce 2D and 3D graphs of information stored in org tables using @file{Gnuplot} @uref{http://www.gnuplot.info/} and @file{gnuplot-mode} @uref{http://xafs.org/BruceRavel/GnuplotMode}. To see this in action, ensure that you have both Gnuplot and Gnuplot mode installed on your system, then call @code{org-plot/gnuplot} on the following table. @example @group #+PLOT: title:"Citas" ind:1 deps:(3) type:2d with:histograms set:"yrange [0:]" | Sede | Max cites | H-index | |-----------+-----------+---------| | Chile | 257.72 | 21.39 | | Leeds | 165.77 | 19.68 | | Sao Paolo | 71.00 | 11.50 | | Stockholm | 134.19 | 14.33 | | Morelia | 257.56 | 17.67 | @end group @end example Notice that Org Plot is smart enough to apply the table's headers as labels. Further control over the labels, type, content, and appearance of plots can be exercised through the @code{#+PLOT:} lines preceding a table. See below for a complete list of Org-plot options. For more information and examples see the Org-plot tutorial at @uref{http://orgmode.org/worg/org-tutorials/org-plot.html}. @subsubheading Plot Options @table @code @item set Specify any @command{gnuplot} option to be set when graphing. @item title Specify the title of the plot. @item ind Specify which column of the table to use as the @code{x} axis. @item deps Specify the columns to graph as a Lisp style list, surrounded by parentheses and separated by spaces for example @code{dep:(3 4)} to graph the third and fourth columns (defaults to graphing all other columns aside from the @code{ind} column). @item type Specify whether the plot will be @code{2d}, @code{3d}, or @code{grid}. @item with Specify a @code{with} option to be inserted for every col being plotted (e.g., @code{lines}, @code{points}, @code{boxes}, @code{impulses}, etc...). Defaults to @code{lines}. @item file If you want to plot to a file, specify @code{"@var{path/to/desired/output-file}"}. @item labels List of labels to be used for the @code{deps} (defaults to the column headers if they exist). @item line Specify an entire line to be inserted in the Gnuplot script. @item map When plotting @code{3d} or @code{grid} types, set this to @code{t} to graph a flat mapping rather than a @code{3d} slope. @item timefmt Specify format of Org mode timestamps as they will be parsed by Gnuplot. Defaults to @samp{%Y-%m-%d-%H:%M:%S}. @item script If you want total control, you can specify a script file (place the file name between double-quotes) which will be used to plot. Before plotting, every instance of @code{$datafile} in the specified script will be replaced with the path to the generated data file. Note: even if you set this option, you may still want to specify the plot type, as that can impact the content of the data file. @end table @node Hyperlinks, TODO Items, Tables, Top @chapter Hyperlinks @cindex hyperlinks Like HTML, Org provides links inside a file, external links to other files, Usenet articles, emails, and much more. @menu * Link format:: How links in Org are formatted * Internal links:: Links to other places in the current file * External links:: URL-like links to the world * Handling links:: Creating, inserting and following * Using links outside Org:: Linking from my C source code? * Link abbreviations:: Shortcuts for writing complex links * Search options:: Linking to a specific location * Custom searches:: When the default search is not enough @end menu @node Link format, Internal links, Hyperlinks, Hyperlinks @section Link format @cindex link format @cindex format, of links Org will recognize plain URL-like links and activate them as clickable links. The general link format, however, looks like this: @example [[link][description]] @r{or alternatively} [[link]] @end example @noindent Once a link in the buffer is complete (all brackets present), Org will change the display so that @samp{description} is displayed instead of @samp{[[link][description]]} and @samp{link} is displayed instead of @samp{[[link]]}. Links will be highlighted in the face @code{org-link}, which by default is an underlined face. You can directly edit the visible part of a link. Note that this can be either the @samp{link} part (if there is no description) or the @samp{description} part. To edit also the invisible @samp{link} part, use @kbd{C-c C-l} with the cursor on the link. If you place the cursor at the beginning or just behind the end of the displayed text and press @key{BACKSPACE}, you will remove the (invisible) bracket at that location. This makes the link incomplete and the internals are again displayed as plain text. Inserting the missing bracket hides the link internals again. To show the internal structure of all links, use the menu entry @code{Org->Hyperlinks->Literal links}. @node Internal links, External links, Link format, Hyperlinks @section Internal links @cindex internal links @cindex links, internal @cindex targets, for links @cindex property, CUSTOM_ID If the link does not look like a URL, it is considered to be internal in the current file. The most important case is a link like @samp{[[#my-custom-id]]} which will link to the entry with the @code{CUSTOM_ID} property @samp{my-custom-id}. You are responsible yourself to make sure these custom IDs are unique in a file. Links such as @samp{[[My Target]]} or @samp{[[My Target][Find my target]]} lead to a text search in the current file. The link can be followed with @kbd{C-c C-o} when the cursor is on the link, or with a mouse click (@pxref{Handling links}). Links to custom IDs will point to the corresponding headline. The preferred match for a text link is a @i{dedicated target}: the same string in double angular brackets, like @samp{<>}. @cindex #+NAME If no dedicated target exists, the link will then try to match the exact name of an element within the buffer. Naming is done with the @code{#+NAME} keyword, which has to be put the line before the element it refers to, as in the following example @example #+NAME: My Target | a | table | |----+------------| | of | four cells | @end example If none of the above succeeds, Org will search for a headline that is exactly the link text but may also include a TODO keyword and tags@footnote{To insert a link targeting a headline, in-buffer completion can be used. Just type a star followed by a few optional letters into the buffer and press @kbd{M-@key{TAB}}. All headlines in the current buffer will be offered as completions.}. During export, internal links will be used to mark objects and assign them a number. Marked objects will then be referenced by links pointing to them. In particular, links without a description will appear as the number assigned to the marked object@footnote{When targeting a @code{#+NAME} keyword, @code{#+CAPTION} keyword is mandatory in order to get proper numbering (@pxref{Images and tables}).}. In the following excerpt from an Org buffer @example - one item - <>another item Here we refer to item [[target]]. @end example @noindent The last sentence will appear as @samp{Here we refer to item 2} when exported. In non-Org files, the search will look for the words in the link text. In the above example the search would be for @samp{my target}. Following a link pushes a mark onto Org's own mark ring. You can return to the previous position with @kbd{C-c &}. Using this command several times in direct succession goes back to positions recorded earlier. @menu * Radio targets:: Make targets trigger links in plain text @end menu @node Radio targets, , Internal links, Internal links @subsection Radio targets @cindex radio targets @cindex targets, radio @cindex links, radio targets Org can automatically turn any occurrences of certain target names in normal text into a link. So without explicitly creating a link, the text connects to the target radioing its position. Radio targets are enclosed by triple angular brackets. For example, a target @samp{<<>>} causes each occurrence of @samp{my target} in normal text to become activated as a link. The Org file is scanned automatically for radio targets only when the file is first loaded into Emacs. To update the target list during editing, press @kbd{C-c C-c} with the cursor on or at a target. @node External links, Handling links, Internal links, Hyperlinks @section External links @cindex links, external @cindex external links @cindex Gnus links @cindex BBDB links @cindex IRC links @cindex URL links @cindex file links @cindex RMAIL links @cindex MH-E links @cindex USENET links @cindex SHELL links @cindex Info links @cindex Elisp links Org supports links to files, websites, Usenet and email messages, BBDB database entries and links to both IRC conversations and their logs. External links are URL-like locators. They start with a short identifying string followed by a colon. There can be no space after the colon. The following list shows examples for each link type. @example http://www.astro.uva.nl/~dominik @r{on the web} doi:10.1000/182 @r{DOI for an electronic resource} file:/home/dominik/images/jupiter.jpg @r{file, absolute path} /home/dominik/images/jupiter.jpg @r{same as above} file:papers/last.pdf @r{file, relative path} ./papers/last.pdf @r{same as above} file:/myself@@some.where:papers/last.pdf @r{file, path on remote machine} /myself@@some.where:papers/last.pdf @r{same as above} file:sometextfile::NNN @r{file, jump to line number} file:projects.org @r{another Org file} file:projects.org::some words @r{text search in Org file}@footnote{ The actual behavior of the search will depend on the value of the option @code{org-link-search-must-match-exact-headline}. If its value is @code{nil}, then a fuzzy text search will be done. If it is t, then only the exact headline will be matched. If the value is @code{'query-to-create}, then an exact headline will be searched; if it is not found, then the user will be queried to create it.} file:projects.org::*task title @r{heading search in Org file} file+sys:/path/to/file @r{open via OS, like double-click} file+emacs:/path/to/file @r{force opening by Emacs} docview:papers/last.pdf::NNN @r{open in doc-view mode at page} id:B7423F4D-2E8A-471B-8810-C40F074717E9 @r{Link to heading by ID} news:comp.emacs @r{Usenet link} mailto:adent@@galaxy.net @r{Mail link} mhe:folder @r{MH-E folder link} mhe:folder#id @r{MH-E message link} rmail:folder @r{RMAIL folder link} rmail:folder#id @r{RMAIL message link} gnus:group @r{Gnus group link} gnus:group#id @r{Gnus article link} bbdb:R.*Stallman @r{BBDB link (with regexp)} irc:/irc.com/#emacs/bob @r{IRC link} info:org#External links @r{Info node link} shell:ls *.org @r{A shell command} elisp:org-agenda @r{Interactive Elisp command} elisp:(find-file-other-frame "Elisp.org") @r{Elisp form to evaluate} @end example @cindex VM links @cindex WANDERLUST links On top of these built-in link types, some are available through the @code{contrib/} directory (@pxref{Installation}). For example, these links to VM or Wanderlust messages are available when you load the corresponding libraries from the @code{contrib/} directory: @example vm:folder @r{VM folder link} vm:folder#id @r{VM message link} vm://myself@@some.where.org/folder#id @r{VM on remote machine} vm-imap:account:folder @r{VM IMAP folder link} vm-imap:account:folder#id @r{VM IMAP message link} wl:folder @r{WANDERLUST folder link} wl:folder#id @r{WANDERLUST message link} @end example For customizing Org to add new link types @ref{Adding hyperlink types}. A link should be enclosed in double brackets and may contain a descriptive text to be displayed instead of the URL (@pxref{Link format}), for example: @example [[http://www.gnu.org/software/emacs/][GNU Emacs]] @end example @noindent If the description is a file name or URL that points to an image, HTML export (@pxref{HTML export}) will inline the image as a clickable button. If there is no description at all and the link points to an image, that image will be inlined into the exported HTML file. @cindex square brackets, around links @cindex plain text external links Org also finds external links in the normal text and activates them as links. If spaces must be part of the link (for example in @samp{bbdb:Richard Stallman}), or if you need to remove ambiguities about the end of the link, enclose them in square brackets. @node Handling links, Using links outside Org, External links, Hyperlinks @section Handling links @cindex links, handling Org provides methods to create a link in the correct syntax, to insert it into an Org file, and to follow the link. @table @kbd @orgcmd{C-c l,org-store-link} @cindex storing links Store a link to the current location. This is a @emph{global} command (you must create the key binding yourself) which can be used in any buffer to create a link. The link will be stored for later insertion into an Org buffer (see below). What kind of link will be created depends on the current buffer: @b{Org mode buffers}@* For Org files, if there is a @samp{<>} at the cursor, the link points to the target. Otherwise it points to the current headline, which will also be the description@footnote{If the headline contains a timestamp, it will be removed from the link and result in a wrong link---you should avoid putting timestamp in the headline.}. @vindex org-id-link-to-org-use-id @cindex property, CUSTOM_ID @cindex property, ID If the headline has a @code{CUSTOM_ID} property, a link to this custom ID will be stored. In addition or alternatively (depending on the value of @code{org-id-link-to-org-use-id}), a globally unique @code{ID} property will be created and/or used to construct a link@footnote{The library @file{org-id.el} must first be loaded, either through @code{org-customize} by enabling @code{org-id} in @code{org-modules}, or by adding @code{(require 'org-id)} in your @file{.emacs}.}. So using this command in Org buffers will potentially create two links: a human-readable from the custom ID, and one that is globally unique and works even if the entry is moved from file to file. Later, when inserting the link, you need to decide which one to use. @b{Email/News clients: VM, Rmail, Wanderlust, MH-E, Gnus}@* Pretty much all Emacs mail clients are supported. The link will point to the current article, or, in some GNUS buffers, to the group. The description is constructed from the author and the subject. @b{Web browsers: W3 and W3M}@* Here the link will be the current URL, with the page title as description. @b{Contacts: BBDB}@* Links created in a BBDB buffer will point to the current entry. @b{Chat: IRC}@* @vindex org-irc-link-to-logs For IRC links, if you set the option @code{org-irc-link-to-logs} to @code{t}, a @samp{file:/} style link to the relevant point in the logs for the current conversation is created. Otherwise an @samp{irc:/} style link to the user/channel/server under the point will be stored. @b{Other files}@* For any other files, the link will point to the file, with a search string (@pxref{Search options}) pointing to the contents of the current line. If there is an active region, the selected words will form the basis of the search string. If the automatically created link is not working correctly or accurately enough, you can write custom functions to select the search string and to do the search for particular file types---see @ref{Custom searches}. The key binding @kbd{C-c l} is only a suggestion---see @ref{Installation}. @b{Agenda view}@* When the cursor is in an agenda view, the created link points to the entry referenced by the current line. @c @orgcmd{C-c C-l,org-insert-link} @cindex link completion @cindex completion, of links @cindex inserting links @vindex org-keep-stored-link-after-insertion Insert a link@footnote{ Note that you don't have to use this command to insert a link. Links in Org are plain text, and you can type or paste them straight into the buffer. By using this command, the links are automatically enclosed in double brackets, and you will be asked for the optional descriptive text.}. This prompts for a link to be inserted into the buffer. You can just type a link, using text for an internal link, or one of the link type prefixes mentioned in the examples above. The link will be inserted into the buffer@footnote{After insertion of a stored link, the link will be removed from the list of stored links. To keep it in the list later use, use a triple @kbd{C-u} prefix argument to @kbd{C-c C-l}, or configure the option @code{org-keep-stored-link-after-insertion}.}, along with a descriptive text. If some text was selected when this command is called, the selected text becomes the default description. @b{Inserting stored links}@* All links stored during the current session are part of the history for this prompt, so you can access them with @key{up} and @key{down} (or @kbd{M-p/n}). @b{Completion support}@* Completion with @key{TAB} will help you to insert valid link prefixes like @samp{http:} or @samp{ftp:}, including the prefixes defined through link abbreviations (@pxref{Link abbreviations}). If you press @key{RET} after inserting only the @var{prefix}, Org will offer specific completion support for some link types@footnote{This works by calling a special function @code{org-PREFIX-complete-link}.} For example, if you type @kbd{file @key{RET}}, file name completion (alternative access: @kbd{C-u C-c C-l}, see below) will be offered, and after @kbd{bbdb @key{RET}} you can complete contact names. @orgkey C-u C-c C-l @cindex file name completion @cindex completion, of file names When @kbd{C-c C-l} is called with a @kbd{C-u} prefix argument, a link to a file will be inserted and you may use file name completion to select the name of the file. The path to the file is inserted relative to the directory of the current Org file, if the linked file is in the current directory or in a sub-directory of it, or if the path is written relative to the current directory using @samp{../}. Otherwise an absolute path is used, if possible with @samp{~/} for your home directory. You can force an absolute path with two @kbd{C-u} prefixes. @c @item C-c C-l @ @r{(with cursor on existing link)} When the cursor is on an existing link, @kbd{C-c C-l} allows you to edit the link and description parts of the link. @c @cindex following links @orgcmd{C-c C-o,org-open-at-point} @vindex org-file-apps @vindex org-link-frame-setup Open link at point. This will launch a web browser for URLs (using @command{browse-url-at-point}), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for the corresponding links, and execute the command in a shell link. When the cursor is on an internal link, this command runs the corresponding search. When the cursor is on a TAG list in a headline, it creates the corresponding TAGS view. If the cursor is on a timestamp, it compiles the agenda for that date. Furthermore, it will visit text and remote files in @samp{file:} links with Emacs and select a suitable application for local non-text files. Classification of files is based on file extension only. See option @code{org-file-apps}. If you want to override the default application and visit the file with Emacs, use a @kbd{C-u} prefix. If you want to avoid opening in Emacs, use a @kbd{C-u C-u} prefix.@* If the cursor is on a headline, but not on a link, offer all links in the headline and entry text. If you want to setup the frame configuration for following links, customize @code{org-link-frame-setup}. @orgkey @key{RET} @vindex org-return-follows-link When @code{org-return-follows-link} is set, @kbd{@key{RET}} will also follow the link at point. @c @kindex mouse-2 @kindex mouse-1 @item mouse-2 @itemx mouse-1 On links, @kbd{mouse-2} will open the link just as @kbd{C-c C-o} would. Under Emacs 22 and later, @kbd{mouse-1} will also follow a link. @c @kindex mouse-3 @item mouse-3 @vindex org-display-internal-link-with-indirect-buffer Like @kbd{mouse-2}, but force file links to be opened with Emacs, and internal links to be displayed in another window@footnote{See the option @code{org-display-internal-link-with-indirect-buffer}}. @c @orgcmd{C-c C-x C-v,org-toggle-inline-images} @cindex inlining images @cindex images, inlining @vindex org-startup-with-inline-images @cindex @code{inlineimages}, STARTUP keyword @cindex @code{noinlineimages}, STARTUP keyword Toggle the inline display of linked images. Normally this will only inline images that have no description part in the link, i.e., images that will also be inlined during export. When called with a prefix argument, also display images that do have a link description. You can ask for inline images to be displayed at startup by configuring the variable @code{org-startup-with-inline-images}@footnote{with corresponding @code{#+STARTUP} keywords @code{inlineimages} and @code{noinlineimages}}. @orgcmd{C-c %,org-mark-ring-push} @cindex mark ring Push the current position onto the mark ring, to be able to return easily. Commands following an internal link do this automatically. @c @orgcmd{C-c &,org-mark-ring-goto} @cindex links, returning to Jump back to a recorded position. A position is recorded by the commands following internal links, and by @kbd{C-c %}. Using this command several times in direct succession moves through a ring of previously recorded positions. @c @orgcmdkkcc{C-c C-x C-n,C-c C-x C-p,org-next-link,org-previous-link} @cindex links, finding next/previous Move forward/backward to the next link in the buffer. At the limit of the buffer, the search fails once, and then wraps around. The key bindings for this are really too long; you might want to bind this also to @kbd{C-n} and @kbd{C-p} @lisp (add-hook 'org-load-hook (lambda () (define-key org-mode-map "\C-n" 'org-next-link) (define-key org-mode-map "\C-p" 'org-previous-link))) @end lisp @end table @node Using links outside Org, Link abbreviations, Handling links, Hyperlinks @section Using links outside Org You can insert and follow links that have Org syntax not only in Org, but in any Emacs buffer. For this, you should create two global commands, like this (please select suitable global keys yourself): @lisp (global-set-key "\C-c L" 'org-insert-link-global) (global-set-key "\C-c o" 'org-open-at-point-global) @end lisp @node Link abbreviations, Search options, Using links outside Org, Hyperlinks @section Link abbreviations @cindex link abbreviations @cindex abbreviation, links Long URLs can be cumbersome to type, and often many similar links are needed in a document. For this you can use link abbreviations. An abbreviated link looks like this @example [[linkword:tag][description]] @end example @noindent @vindex org-link-abbrev-alist where the tag is optional. The @i{linkword} must be a word, starting with a letter, followed by letters, numbers, @samp{-}, and @samp{_}. Abbreviations are resolved according to the information in the variable @code{org-link-abbrev-alist} that relates the linkwords to replacement text. Here is an example: @smalllisp @group (setq org-link-abbrev-alist '(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=") ("url-to-ja" . "http://translate.google.fr/translate?sl=en&tl=ja&u=%h") ("google" . "http://www.google.com/search?q=") ("gmap" . "http://maps.google.com/maps?q=%s") ("omap" . "http://nominatim.openstreetmap.org/search?q=%s&polygon=1") ("ads" . "http://adsabs.harvard.edu/cgi-bin/nph-abs_connect?author=%s&db_key=AST"))) @end group @end smalllisp If the replacement text contains the string @samp{%s}, it will be replaced with the tag. Using @samp{%h} instead of @samp{%s} will url-encode the tag (see the example above, where we need to encode the URL parameter.) Using @samp{%(my-function)} will pass the tag to a custom function, and replace it by the resulting string. If the replacement text don't contain any specifier, it will simply be appended to the string in order to create the link. Instead of a string, you may also specify a function that will be called with the tag as the only argument to create the link. With the above setting, you could link to a specific bug with @code{[[bugzilla:129]]}, search the web for @samp{OrgMode} with @code{[[google:OrgMode]]}, show the map location of the Free Software Foundation @code{[[gmap:51 Franklin Street, Boston]]} or of Carsten office @code{[[omap:Science Park 904, Amsterdam, The Netherlands]]} and find out what the Org author is doing besides Emacs hacking with @code{[[ads:Dominik,C]]}. If you need special abbreviations just for a single Org buffer, you can define them in the file with @cindex #+LINK @example #+LINK: bugzilla http://10.1.2.9/bugzilla/show_bug.cgi?id= #+LINK: google http://www.google.com/search?q=%s @end example @noindent In-buffer completion (@pxref{Completion}) can be used after @samp{[} to complete link abbreviations. You may also define a function @code{org-PREFIX-complete-link} that implements special (e.g., completion) support for inserting such a link with @kbd{C-c C-l}. Such a function should not accept any arguments, and return the full link with prefix. @node Search options, Custom searches, Link abbreviations, Hyperlinks @section Search options in file links @cindex search option in file links @cindex file links, searching File links can contain additional information to make Emacs jump to a particular location in the file when following a link. This can be a line number or a search option after a double@footnote{For backward compatibility, line numbers can also follow a single colon.} colon. For example, when the command @kbd{C-c l} creates a link (@pxref{Handling links}) to a file, it encodes the words in the current line as a search string that can be used to find this line back later when following the link with @kbd{C-c C-o}. Here is the syntax of the different ways to attach a search to a file link, together with an explanation: @example [[file:~/code/main.c::255]] [[file:~/xx.org::My Target]] [[file:~/xx.org::*My Target]] [[file:~/xx.org::#my-custom-id]] [[file:~/xx.org::/regexp/]] @end example @table @code @item 255 Jump to line 255. @item My Target Search for a link target @samp{<>}, or do a text search for @samp{my target}, similar to the search in internal links, see @ref{Internal links}. In HTML export (@pxref{HTML export}), such a file link will become an HTML reference to the corresponding named anchor in the linked file. @item *My Target In an Org file, restrict search to headlines. @item #my-custom-id Link to a heading with a @code{CUSTOM_ID} property @item /regexp/ Do a regular expression search for @code{regexp}. This uses the Emacs command @code{occur} to list all matches in a separate window. If the target file is in Org mode, @code{org-occur} is used to create a sparse tree with the matches. @c If the target file is a directory, @c @code{grep} will be used to search all files in the directory. @end table As a degenerate case, a file link with an empty file name can be used to search the current file. For example, @code{[[file:::find me]]} does a search for @samp{find me} in the current file, just as @samp{[[find me]]} would. @node Custom searches, , Search options, Hyperlinks @section Custom Searches @cindex custom search strings @cindex search strings, custom The default mechanism for creating search strings and for doing the actual search related to a file link may not work correctly in all cases. For example, Bib@TeX{} database files have many entries like @samp{year="1993"} which would not result in good search strings, because the only unique identification for a Bib@TeX{} entry is the citation key. @vindex org-create-file-search-functions @vindex org-execute-file-search-functions If you come across such a problem, you can write custom functions to set the right search string for a particular file type, and to do the search for the string in the file. Using @code{add-hook}, these functions need to be added to the hook variables @code{org-create-file-search-functions} and @code{org-execute-file-search-functions}. See the docstring for these variables for more information. Org actually uses this mechanism for Bib@TeX{} database files, and you can use the corresponding code as an implementation example. See the file @file{org-bibtex.el}. @node TODO Items, Tags, Hyperlinks, Top @chapter TODO items @cindex TODO items Org mode does not maintain TODO lists as separate documents@footnote{Of course, you can make a document that contains only long lists of TODO items, but this is not required.}. Instead, TODO items are an integral part of the notes file, because TODO items usually come up while taking notes! With Org mode, simply mark any entry in a tree as being a TODO item. In this way, information is not duplicated, and the entire context from which the TODO item emerged is always present. Of course, this technique for managing TODO items scatters them throughout your notes file. Org mode compensates for this by providing methods to give you an overview of all the things that you have to do. @menu * TODO basics:: Marking and displaying TODO entries * TODO extensions:: Workflow and assignments * Progress logging:: Dates and notes for progress * Priorities:: Some things are more important than others * Breaking down tasks:: Splitting a task into manageable pieces * Checkboxes:: Tick-off lists @end menu @node TODO basics, TODO extensions, TODO Items, TODO Items @section Basic TODO functionality Any headline becomes a TODO item when it starts with the word @samp{TODO}, for example: @example *** TODO Write letter to Sam Fortune @end example @noindent The most important commands to work with TODO entries are: @table @kbd @orgcmd{C-c C-t,org-todo} @cindex cycling, of TODO states @vindex org-use-fast-todo-selection Rotate the TODO state of the current item among @example ,-> (unmarked) -> TODO -> DONE --. '--------------------------------' @end example If TODO keywords have fast access keys (see @ref{Fast access to TODO states}), you will be prompted for a TODO keyword through the fast selection interface; this is the default behavior when @code{org-use-fast-todo-selection} is non-@code{nil}. The same rotation can also be done ``remotely'' from the timeline and agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}). @orgkey{C-u C-c C-t} When TODO keywords have no selection keys, select a specific keyword using completion; otherwise force cycling through TODO states with no prompt. When @code{org-use-fast-todo-selection} is set to @code{prefix}, use the fast selection interface. @kindex S-@key{right} @kindex S-@key{left} @item S-@key{right} @ @r{/} @ S-@key{left} @vindex org-treat-S-cursor-todo-selection-as-state-change Select the following/preceding TODO state, similar to cycling. Useful mostly if more than two TODO states are possible (@pxref{TODO extensions}). See also @ref{Conflicts}, for a discussion of the interaction with @code{shift-selection-mode}. See also the variable @code{org-treat-S-cursor-todo-selection-as-state-change}. @orgcmd{C-c / t,org-show-todo-tree} @cindex sparse tree, for TODO @vindex org-todo-keywords View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds the entire buffer, but shows all TODO items (with not-DONE state) and the headings hierarchy above them. With a prefix argument (or by using @kbd{C-c / T}), search for a specific TODO@. You will be prompted for the keyword, and you can also give a list of keywords like @code{KWD1|KWD2|...} to list entries that match any one of these keywords. With a numeric prefix argument N, show the tree for the Nth keyword in the option @code{org-todo-keywords}. With two prefix arguments, find all TODO states, both un-done and done. @orgcmd{C-c a t,org-todo-list} Show the global TODO list. Collects the TODO items (with not-DONE states) from all agenda files (@pxref{Agenda Views}) into a single buffer. The new buffer will be in @code{agenda-mode}, which provides commands to examine and manipulate the TODO entries from the new buffer (@pxref{Agenda commands}). @xref{Global TODO list}, for more information. @orgcmd{S-M-@key{RET},org-insert-todo-heading} Insert a new TODO entry below the current one. @end table @noindent @vindex org-todo-state-tags-triggers Changing a TODO state can also trigger tag changes. See the docstring of the option @code{org-todo-state-tags-triggers} for details. @node TODO extensions, Progress logging, TODO basics, TODO Items @section Extended use of TODO keywords @cindex extended TODO keywords @vindex org-todo-keywords By default, marked TODO entries have one of only two states: TODO and DONE@. Org mode allows you to classify TODO items in more complex ways with @emph{TODO keywords} (stored in @code{org-todo-keywords}). With special setup, the TODO keyword system can work differently in different files. Note that @i{tags} are another way to classify headlines in general and TODO items in particular (@pxref{Tags}). @menu * Workflow states:: From TODO to DONE in steps * TODO types:: I do this, Fred does the rest * Multiple sets in one file:: Mixing it all, and still finding your way * Fast access to TODO states:: Single letter selection of a state * Per-file keywords:: Different files, different requirements * Faces for TODO keywords:: Highlighting states * TODO dependencies:: When one task needs to wait for others @end menu @node Workflow states, TODO types, TODO extensions, TODO extensions @subsection TODO keywords as workflow states @cindex TODO workflow @cindex workflow states as TODO keywords You can use TODO keywords to indicate different @emph{sequential} states in the process of working on an item, for example@footnote{Changing this variable only becomes effective after restarting Org mode in a buffer.}: @lisp (setq org-todo-keywords '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED"))) @end lisp The vertical bar separates the TODO keywords (states that @emph{need action}) from the DONE states (which need @emph{no further action}). If you don't provide the separator bar, the last state is used as the DONE state. @cindex completion, of TODO keywords With this setup, the command @kbd{C-c C-t} will cycle an entry from TODO to FEEDBACK, then to VERIFY, and finally to DONE and DELEGATED@. You may also use a numeric prefix argument to quickly select a specific state. For example @kbd{C-3 C-c C-t} will change the state immediately to VERIFY@. Or you can use @kbd{S-@key{left}} to go backward through the sequence. If you define many keywords, you can use in-buffer completion (@pxref{Completion}) or even a special one-key selection scheme (@pxref{Fast access to TODO states}) to insert these words into the buffer. Changing a TODO state can be logged with a timestamp, see @ref{Tracking TODO state changes}, for more information. @node TODO types, Multiple sets in one file, Workflow states, TODO extensions @subsection TODO keywords as types @cindex TODO types @cindex names as TODO keywords @cindex types as TODO keywords The second possibility is to use TODO keywords to indicate different @emph{types} of action items. For example, you might want to indicate that items are for ``work'' or ``home''. Or, when you work with several people on a single project, you might want to assign action items directly to persons, by using their names as TODO keywords. This would be set up like this: @lisp (setq org-todo-keywords '((type "Fred" "Sara" "Lucy" "|" "DONE"))) @end lisp In this case, different keywords do not indicate a sequence, but rather different types. So the normal work flow would be to assign a task to a person, and later to mark it DONE@. Org mode supports this style by adapting the workings of the command @kbd{C-c C-t}@footnote{This is also true for the @kbd{t} command in the timeline and agenda buffers.}. When used several times in succession, it will still cycle through all names, in order to first select the right type for a task. But when you return to the item after some time and execute @kbd{C-c C-t} again, it will switch from any name directly to DONE@. Use prefix arguments or completion to quickly select a specific name. You can also review the items of a specific TODO type in a sparse tree by using a numeric prefix to @kbd{C-c / t}. For example, to see all things Lucy has to do, you would use @kbd{C-3 C-c / t}. To collect Lucy's items from all agenda files into a single buffer, you would use the numeric prefix argument as well when creating the global TODO list: @kbd{C-3 C-c a t}. @node Multiple sets in one file, Fast access to TODO states, TODO types, TODO extensions @subsection Multiple keyword sets in one file @cindex TODO keyword sets Sometimes you may want to use different sets of TODO keywords in parallel. For example, you may want to have the basic @code{TODO}/@code{DONE}, but also a workflow for bug fixing, and a separate state indicating that an item has been canceled (so it is not DONE, but also does not require action). Your setup would then look like this: @lisp (setq org-todo-keywords '((sequence "TODO" "|" "DONE") (sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED") (sequence "|" "CANCELED"))) @end lisp The keywords should all be different, this helps Org mode to keep track of which subsequence should be used for a given entry. In this setup, @kbd{C-c C-t} only operates within a subsequence, so it switches from @code{DONE} to (nothing) to @code{TODO}, and from @code{FIXED} to (nothing) to @code{REPORT}. Therefore you need a mechanism to initially select the correct sequence. Besides the obvious ways like typing a keyword or using completion, you may also apply the following commands: @table @kbd @kindex C-S-@key{right} @kindex C-S-@key{left} @kindex C-u C-u C-c C-t @item C-u C-u C-c C-t @itemx C-S-@key{right} @itemx C-S-@key{left} These keys jump from one TODO subset to the next. In the above example, @kbd{C-u C-u C-c C-t} or @kbd{C-S-@key{right}} would jump from @code{TODO} or @code{DONE} to @code{REPORT}, and any of the words in the second row to @code{CANCELED}. Note that the @kbd{C-S-} key binding conflict with @code{shift-selection-mode} (@pxref{Conflicts}). @kindex S-@key{right} @kindex S-@key{left} @item S-@key{right} @itemx S-@key{left} @kbd{S-@key{}} and @kbd{S-@key{}} and walk through @emph{all} keywords from all sets, so for example @kbd{S-@key{}} would switch from @code{DONE} to @code{REPORT} in the example above. See also @ref{Conflicts}, for a discussion of the interaction with @code{shift-selection-mode}. @end table @node Fast access to TODO states, Per-file keywords, Multiple sets in one file, TODO extensions @subsection Fast access to TODO states If you would like to quickly change an entry to an arbitrary TODO state instead of cycling through the states, you can set up keys for single-letter access to the states. This is done by adding the selection character after each keyword, in parentheses@footnote{All characters are allowed except @code{@@^!}, which have a special meaning here.}. For example: @lisp (setq org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d)") (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)") (sequence "|" "CANCELED(c)"))) @end lisp @vindex org-fast-tag-selection-include-todo If you then press @kbd{C-c C-t} followed by the selection key, the entry will be switched to this state. @kbd{SPC} can be used to remove any TODO keyword from an entry.@footnote{Check also the option @code{org-fast-tag-selection-include-todo}, it allows you to change the TODO state through the tags interface (@pxref{Setting tags}), in case you like to mingle the two concepts. Note that this means you need to come up with unique keys across both sets of keywords.} @node Per-file keywords, Faces for TODO keywords, Fast access to TODO states, TODO extensions @subsection Setting up keywords for individual files @cindex keyword options @cindex per-file keywords @cindex #+TODO @cindex #+TYP_TODO @cindex #+SEQ_TODO It can be very useful to use different aspects of the TODO mechanism in different files. For file-local settings, you need to add special lines to the file which set the keywords and interpretation for that file only. For example, to set one of the two examples discussed above, you need one of the following lines, starting in column zero anywhere in the file: @example #+TODO: TODO FEEDBACK VERIFY | DONE CANCELED @end example @noindent (you may also write @code{#+SEQ_TODO} to be explicit about the interpretation, but it means the same as @code{#+TODO}), or @example #+TYP_TODO: Fred Sara Lucy Mike | DONE @end example A setup for using several sets in parallel would be: @example #+TODO: TODO | DONE #+TODO: REPORT BUG KNOWNCAUSE | FIXED #+TODO: | CANCELED @end example @cindex completion, of option keywords @kindex M-@key{TAB} @noindent To make sure you are using the correct keyword, type @samp{#+} into the buffer and then use @kbd{M-@key{TAB}} completion. @cindex DONE, final TODO keyword Remember that the keywords after the vertical bar (or the last keyword if no bar is there) must always mean that the item is DONE (although you may use a different word). After changing one of these lines, use @kbd{C-c C-c} with the cursor still in the line to make the changes known to Org mode@footnote{Org mode parses these lines only when Org mode is activated after visiting a file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#+} is simply restarting Org mode for the current buffer.}. @node Faces for TODO keywords, TODO dependencies, Per-file keywords, TODO extensions @subsection Faces for TODO keywords @cindex faces, for TODO keywords @vindex org-todo @r{(face)} @vindex org-done @r{(face)} @vindex org-todo-keyword-faces Org mode highlights TODO keywords with special faces: @code{org-todo} for keywords indicating that an item still has to be acted upon, and @code{org-done} for keywords indicating that an item is finished. If you are using more than 2 different states, you might want to use special faces for some of them. This can be done using the option @code{org-todo-keyword-faces}. For example: @lisp @group (setq org-todo-keyword-faces '(("TODO" . org-warning) ("STARTED" . "yellow") ("CANCELED" . (:foreground "blue" :weight bold)))) @end group @end lisp While using a list with face properties as shown for CANCELED @emph{should} work, this does not always seem to be the case. If necessary, define a special face and use that. A string is interpreted as a color. The option @code{org-faces-easy-properties} determines if that color is interpreted as a foreground or a background color. @node TODO dependencies, , Faces for TODO keywords, TODO extensions @subsection TODO dependencies @cindex TODO dependencies @cindex dependencies, of TODO states @vindex org-enforce-todo-dependencies @cindex property, ORDERED The structure of Org files (hierarchy and lists) makes it easy to define TODO dependencies. Usually, a parent TODO task should not be marked DONE until all subtasks (defined as children tasks) are marked as DONE@. And sometimes there is a logical sequence to a number of (sub)tasks, so that one task cannot be acted upon before all siblings above it are done. If you customize the option @code{org-enforce-todo-dependencies}, Org will block entries from changing state to DONE while they have children that are not DONE@. Furthermore, if an entry has a property @code{ORDERED}, each of its children will be blocked until all earlier siblings are marked DONE@. Here is an example: @example * TODO Blocked until (two) is done ** DONE one ** TODO two * Parent :PROPERTIES: :ORDERED: t :END: ** TODO a ** TODO b, needs to wait for (a) ** TODO c, needs to wait for (a) and (b) @end example @table @kbd @orgcmd{C-c C-x o,org-toggle-ordered-property} @vindex org-track-ordered-property-with-tag @cindex property, ORDERED Toggle the @code{ORDERED} property of the current entry. A property is used for this behavior because this should be local to the current entry, not inherited like a tag. However, if you would like to @i{track} the value of this property with a tag for better visibility, customize the option @code{org-track-ordered-property-with-tag}. @orgkey{C-u C-u C-u C-c C-t} Change TODO state, circumventing any state blocking. @end table @vindex org-agenda-dim-blocked-tasks If you set the option @code{org-agenda-dim-blocked-tasks}, TODO entries that cannot be closed because of such dependencies will be shown in a dimmed font or even made invisible in agenda views (@pxref{Agenda Views}). @cindex checkboxes and TODO dependencies @vindex org-enforce-todo-dependencies You can also block changes of TODO states by looking at checkboxes (@pxref{Checkboxes}). If you set the option @code{org-enforce-todo-checkbox-dependencies}, an entry that has unchecked checkboxes will be blocked from switching to DONE. If you need more complex dependency structures, for example dependencies between entries in different trees or files, check out the contributed module @file{org-depend.el}. @page @node Progress logging, Priorities, TODO extensions, TODO Items @section Progress logging @cindex progress logging @cindex logging, of progress Org mode can automatically record a timestamp and possibly a note when you mark a TODO item as DONE, or even each time you change the state of a TODO item. This system is highly configurable; settings can be on a per-keyword basis and can be localized to a file or even a subtree. For information on how to clock working time for a task, see @ref{Clocking work time}. @menu * Closing items:: When was this entry marked DONE? * Tracking TODO state changes:: When did the status change? * Tracking your habits:: How consistent have you been? @end menu @node Closing items, Tracking TODO state changes, Progress logging, Progress logging @subsection Closing items The most basic logging is to keep track of @emph{when} a certain TODO item was finished. This is achieved with@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: logdone}} @lisp (setq org-log-done 'time) @end lisp @vindex org-closed-keep-when-no-todo @noindent Then each time you turn an entry from a TODO (not-done) state into any of the DONE states, a line @samp{CLOSED: [timestamp]} will be inserted just after the headline. If you turn the entry back into a TODO item through further state cycling, that line will be removed again. If you turn the entry back to a non-TODO state (by pressing @key{C-c C-t SPC} for example), that line will also be removed, unless you set @code{org-closed-keep-when-no-todo} to non-@code{nil}. If you want to record a note along with the timestamp, use@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: lognotedone}.} @lisp (setq org-log-done 'note) @end lisp @noindent You will then be prompted for a note, and that note will be stored below the entry with a @samp{Closing Note} heading. In the timeline (@pxref{Timeline}) and in the agenda (@pxref{Weekly/daily agenda}), you can then use the @kbd{l} key to display the TODO items with a @samp{CLOSED} timestamp on each day, giving you an overview of what has been done. @node Tracking TODO state changes, Tracking your habits, Closing items, Progress logging @subsection Tracking TODO state changes @cindex drawer, for state change recording @vindex org-log-states-order-reversed @vindex org-log-into-drawer @cindex property, LOG_INTO_DRAWER When TODO keywords are used as workflow states (@pxref{Workflow states}), you might want to keep track of when a state change occurred and maybe take a note about this change. You can either record just a timestamp, or a time-stamped note for a change. These records will be inserted after the headline as an itemized list, newest first@footnote{See the option @code{org-log-states-order-reversed}}. When taking a lot of notes, you might want to get the notes out of the way into a drawer (@pxref{Drawers}). Customize @code{org-log-into-drawer} to get this behavior---the recommended drawer for this is called @code{LOGBOOK}@footnote{Note that the @code{LOGBOOK} drawer is unfolded when pressing @key{SPC} in the agenda to show an entry---use @key{C-u SPC} to keep it folded here}. You can also overrule the setting of this variable for a subtree by setting a @code{LOG_INTO_DRAWER} property. Since it is normally too much to record a note for every state, Org mode expects configuration on a per-keyword basis for this. This is achieved by adding special markers @samp{!} (for a timestamp) or @samp{@@} (for a note with timestamp) in parentheses after each keyword. For example, with the setting @lisp (setq org-todo-keywords '((sequence "TODO(t)" "WAIT(w@@/!)" "|" "DONE(d!)" "CANCELED(c@@)"))) @end lisp To record a timestamp without a note for TODO keywords configured with @samp{@@}, just type @kbd{C-c C-c} to enter a blank note when prompted. @noindent @vindex org-log-done you not only define global TODO keywords and fast access keys, but also request that a time is recorded when the entry is set to DONE@footnote{It is possible that Org mode will record two timestamps when you are using both @code{org-log-done} and state change logging. However, it will never prompt for two notes---if you have configured both, the state change recording note will take precedence and cancel the @samp{Closing Note}.}, and that a note is recorded when switching to WAIT or CANCELED@. The setting for WAIT is even more special: the @samp{!} after the slash means that in addition to the note taken when entering the state, a timestamp should be recorded when @i{leaving} the WAIT state, if and only if the @i{target} state does not configure logging for entering it. So it has no effect when switching from WAIT to DONE, because DONE is configured to record a timestamp only. But when switching from WAIT back to TODO, the @samp{/!} in the WAIT setting now triggers a timestamp even though TODO has no logging configured. You can use the exact same syntax for setting logging preferences local to a buffer: @example #+TODO: TODO(t) WAIT(w@@/!) | DONE(d!) CANCELED(c@@) @end example @cindex property, LOGGING In order to define logging settings that are local to a subtree or a single item, define a LOGGING property in this entry. Any non-empty LOGGING property resets all logging settings to @code{nil}. You may then turn on logging for this specific tree using STARTUP keywords like @code{lognotedone} or @code{logrepeat}, as well as adding state specific settings like @code{TODO(!)}. For example @example * TODO Log each state with only a time :PROPERTIES: :LOGGING: TODO(!) WAIT(!) DONE(!) CANCELED(!) :END: * TODO Only log when switching to WAIT, and when repeating :PROPERTIES: :LOGGING: WAIT(@@) logrepeat :END: * TODO No logging at all :PROPERTIES: :LOGGING: nil :END: @end example @node Tracking your habits, , Tracking TODO state changes, Progress logging @subsection Tracking your habits @cindex habits Org has the ability to track the consistency of a special category of TODOs, called ``habits''. A habit has the following properties: @enumerate @item You have enabled the @code{habits} module by customizing @code{org-modules}. @item The habit is a TODO item, with a TODO keyword representing an open state. @item The property @code{STYLE} is set to the value @code{habit}. @item The TODO has a scheduled date, usually with a @code{.+} style repeat interval. A @code{++} style may be appropriate for habits with time constraints, e.g., must be done on weekends, or a @code{+} style for an unusual habit that can have a backlog, e.g., weekly reports. @item The TODO may also have minimum and maximum ranges specified by using the syntax @samp{.+2d/3d}, which says that you want to do the task at least every three days, but at most every two days. @item You must also have state logging for the @code{DONE} state enabled (@pxref{Tracking TODO state changes}), in order for historical data to be represented in the consistency graph. If it is not enabled it is not an error, but the consistency graphs will be largely meaningless. @end enumerate To give you an idea of what the above rules look like in action, here's an actual habit with some history: @example ** TODO Shave SCHEDULED: <2009-10-17 Sat .+2d/4d> - State "DONE" from "TODO" [2009-10-15 Thu] - State "DONE" from "TODO" [2009-10-12 Mon] - State "DONE" from "TODO" [2009-10-10 Sat] - State "DONE" from "TODO" [2009-10-04 Sun] - State "DONE" from "TODO" [2009-10-02 Fri] - State "DONE" from "TODO" [2009-09-29 Tue] - State "DONE" from "TODO" [2009-09-25 Fri] - State "DONE" from "TODO" [2009-09-19 Sat] - State "DONE" from "TODO" [2009-09-16 Wed] - State "DONE" from "TODO" [2009-09-12 Sat] :PROPERTIES: :STYLE: habit :LAST_REPEAT: [2009-10-19 Mon 00:36] :END: @end example What this habit says is: I want to shave at most every 2 days (given by the @code{SCHEDULED} date and repeat interval) and at least every 4 days. If today is the 15th, then the habit first appears in the agenda on Oct 17, after the minimum of 2 days has elapsed, and will appear overdue on Oct 19, after four days have elapsed. What's really useful about habits is that they are displayed along with a consistency graph, to show how consistent you've been at getting that task done in the past. This graph shows every day that the task was done over the past three weeks, with colors for each day. The colors used are: @table @code @item Blue If the task wasn't to be done yet on that day. @item Green If the task could have been done on that day. @item Yellow If the task was going to be overdue the next day. @item Red If the task was overdue on that day. @end table In addition to coloring each day, the day is also marked with an asterisk if the task was actually done that day, and an exclamation mark to show where the current day falls in the graph. There are several configuration variables that can be used to change the way habits are displayed in the agenda. @table @code @item org-habit-graph-column The buffer column at which the consistency graph should be drawn. This will overwrite any text in that column, so it is a good idea to keep your habits' titles brief and to the point. @item org-habit-preceding-days The amount of history, in days before today, to appear in consistency graphs. @item org-habit-following-days The number of days after today that will appear in consistency graphs. @item org-habit-show-habits-only-for-today If non-@code{nil}, only show habits in today's agenda view. This is set to true by default. @end table Lastly, pressing @kbd{K} in the agenda buffer will cause habits to temporarily be disabled and they won't appear at all. Press @kbd{K} again to bring them back. They are also subject to tag filtering, if you have habits which should only be done in certain contexts, for example. @node Priorities, Breaking down tasks, Progress logging, TODO Items @section Priorities @cindex priorities If you use Org mode extensively, you may end up with enough TODO items that it starts to make sense to prioritize them. Prioritizing can be done by placing a @emph{priority cookie} into the headline of a TODO item, like this @example *** TODO [#A] Write letter to Sam Fortune @end example @noindent @vindex org-priority-faces By default, Org mode supports three priorities: @samp{A}, @samp{B}, and @samp{C}. @samp{A} is the highest priority. An entry without a cookie is treated just like priority @samp{B}. Priorities make a difference only for sorting in the agenda (@pxref{Weekly/daily agenda}); outside the agenda, they have no inherent meaning to Org mode. The cookies can be highlighted with special faces by customizing @code{org-priority-faces}. Priorities can be attached to any outline node; they do not need to be TODO items. @table @kbd @item @kbd{C-c ,} @kindex @kbd{C-c ,} @findex org-priority Set the priority of the current headline (@command{org-priority}). The command prompts for a priority character @samp{A}, @samp{B} or @samp{C}. When you press @key{SPC} instead, the priority cookie is removed from the headline. The priorities can also be changed ``remotely'' from the timeline and agenda buffer with the @kbd{,} command (@pxref{Agenda commands}). @c @orgcmdkkcc{S-@key{up},S-@key{down},org-priority-up,org-priority-down} @vindex org-priority-start-cycle-with-default Increase/decrease priority of current headline@footnote{See also the option @code{org-priority-start-cycle-with-default}.}. Note that these keys are also used to modify timestamps (@pxref{Creating timestamps}). See also @ref{Conflicts}, for a discussion of the interaction with @code{shift-selection-mode}. @end table @vindex org-highest-priority @vindex org-lowest-priority @vindex org-default-priority You can change the range of allowed priorities by setting the options @code{org-highest-priority}, @code{org-lowest-priority}, and @code{org-default-priority}. For an individual buffer, you may set these values (highest, lowest, default) like this (please make sure that the highest priority is earlier in the alphabet than the lowest priority): @cindex #+PRIORITIES @example #+PRIORITIES: A C B @end example @node Breaking down tasks, Checkboxes, Priorities, TODO Items @section Breaking tasks down into subtasks @cindex tasks, breaking down @cindex statistics, for TODO items @vindex org-agenda-todo-list-sublevels It is often advisable to break down large tasks into smaller, manageable subtasks. You can do this by creating an outline tree below a TODO item, with detailed subtasks on the tree@footnote{To keep subtasks out of the global TODO list, see the @code{org-agenda-todo-list-sublevels}.}. To keep the overview over the fraction of subtasks that are already completed, insert either @samp{[/]} or @samp{[%]} anywhere in the headline. These cookies will be updated each time the TODO status of a child changes, or when pressing @kbd{C-c C-c} on the cookie. For example: @example * Organize Party [33%] ** TODO Call people [1/2] *** TODO Peter *** DONE Sarah ** TODO Buy food ** DONE Talk to neighbor @end example @cindex property, COOKIE_DATA If a heading has both checkboxes and TODO children below it, the meaning of the statistics cookie become ambiguous. Set the property @code{COOKIE_DATA} to either @samp{checkbox} or @samp{todo} to resolve this issue. @vindex org-hierarchical-todo-statistics If you would like to have the statistics cookie count any TODO entries in the subtree (not just direct children), configure @code{org-hierarchical-todo-statistics}. To do this for a single subtree, include the word @samp{recursive} into the value of the @code{COOKIE_DATA} property. @example * Parent capturing statistics [2/20] :PROPERTIES: :COOKIE_DATA: todo recursive :END: @end example If you would like a TODO entry to automatically change to DONE when all children are done, you can use the following setup: @example (defun org-summary-todo (n-done n-not-done) "Switch entry to DONE when all subentries are done, to TODO otherwise." (let (org-log-done org-log-states) ; turn off logging (org-todo (if (= n-not-done 0) "DONE" "TODO")))) (add-hook 'org-after-todo-statistics-hook 'org-summary-todo) @end example Another possibility is the use of checkboxes to identify (a hierarchy of) a large number of subtasks (@pxref{Checkboxes}). @node Checkboxes, , Breaking down tasks, TODO Items @section Checkboxes @cindex checkboxes @vindex org-list-automatic-rules Every item in a plain list@footnote{With the exception of description lists. But you can allow it by modifying @code{org-list-automatic-rules} accordingly.} (@pxref{Plain lists}) can be made into a checkbox by starting it with the string @samp{[ ]}. This feature is similar to TODO items (@pxref{TODO Items}), but is more lightweight. Checkboxes are not included in the global TODO list, so they are often great to split a task into a number of simple steps. Or you can use them in a shopping list. To toggle a checkbox, use @kbd{C-c C-c}, or use the mouse (thanks to Piotr Zielinski's @file{org-mouse.el}). Here is an example of a checkbox list. @example * TODO Organize party [2/4] - [-] call people [1/3] - [ ] Peter - [X] Sarah - [ ] Sam - [X] order food - [ ] think about what music to play - [X] talk to the neighbors @end example Checkboxes work hierarchically, so if a checkbox item has children that are checkboxes, toggling one of the children checkboxes will make the parent checkbox reflect if none, some, or all of the children are checked. @cindex statistics, for checkboxes @cindex checkbox statistics @cindex property, COOKIE_DATA @vindex org-checkbox-hierarchical-statistics The @samp{[2/4]} and @samp{[1/3]} in the first and second line are cookies indicating how many checkboxes present in this entry have been checked off, and the total number of checkboxes present. This can give you an idea on how many checkboxes remain, even without opening a folded entry. The cookies can be placed into a headline or into (the first line of) a plain list item. Each cookie covers checkboxes of direct children structurally below the headline/item on which the cookie appears@footnote{Set the option @code{org-checkbox-hierarchical-statistics} if you want such cookies to count all checkboxes below the cookie, not just those belonging to direct children.}. You have to insert the cookie yourself by typing either @samp{[/]} or @samp{[%]}. With @samp{[/]} you get an @samp{n out of m} result, as in the examples above. With @samp{[%]} you get information about the percentage of checkboxes checked (in the above example, this would be @samp{[50%]} and @samp{[33%]}, respectively). In a headline, a cookie can count either checkboxes below the heading or TODO states of children, and it will display whatever was changed last. Set the property @code{COOKIE_DATA} to either @samp{checkbox} or @samp{todo} to resolve this issue. @cindex blocking, of checkboxes @cindex checkbox blocking @cindex property, ORDERED If the current outline node has an @code{ORDERED} property, checkboxes must be checked off in sequence, and an error will be thrown if you try to check off a box while there are unchecked boxes above it. @noindent The following commands work with checkboxes: @table @kbd @orgcmd{C-c C-c,org-toggle-checkbox} Toggle checkbox status or (with prefix arg) checkbox presence at point. With a single prefix argument, add an empty checkbox or remove the current one@footnote{@kbd{C-u C-c C-c} on the @emph{first} item of a list with no checkbox will add checkboxes to the rest of the list.}. With a double prefix argument, set it to @samp{[-]}, which is considered to be an intermediate state. @orgcmd{C-c C-x C-b,org-toggle-checkbox} Toggle checkbox status or (with prefix arg) checkbox presence at point. With double prefix argument, set it to @samp{[-]}, which is considered to be an intermediate state. @itemize @minus @item If there is an active region, toggle the first checkbox in the region and set all remaining boxes to the same status as the first. With a prefix arg, add or remove the checkbox for all items in the region. @item If the cursor is in a headline, toggle checkboxes in the region between this headline and the next (so @emph{not} the entire subtree). @item If there is no active region, just toggle the checkbox at point. @end itemize @orgcmd{M-S-@key{RET},org-insert-todo-heading} Insert a new item with a checkbox. This works only if the cursor is already in a plain list item (@pxref{Plain lists}). @orgcmd{C-c C-x o,org-toggle-ordered-property} @vindex org-track-ordered-property-with-tag @cindex property, ORDERED Toggle the @code{ORDERED} property of the entry, to toggle if checkboxes must be checked off in sequence. A property is used for this behavior because this should be local to the current entry, not inherited like a tag. However, if you would like to @i{track} the value of this property with a tag for better visibility, customize @code{org-track-ordered-property-with-tag}. @orgcmd{C-c #,org-update-statistics-cookies} Update the statistics cookie in the current outline entry. When called with a @kbd{C-u} prefix, update the entire file. Checkbox statistic cookies are updated automatically if you toggle checkboxes with @kbd{C-c C-c} and make new ones with @kbd{M-S-@key{RET}}. TODO statistics cookies update when changing TODO states. If you delete boxes/entries or add/change them by hand, use this command to get things back into sync. @end table @node Tags, Properties and Columns, TODO Items, Top @chapter Tags @cindex tags @cindex headline tagging @cindex matching, tags @cindex sparse tree, tag based An excellent way to implement labels and contexts for cross-correlating information is to assign @i{tags} to headlines. Org mode has extensive support for tags. @vindex org-tag-faces Every headline can contain a list of tags; they occur at the end of the headline. Tags are normal words containing letters, numbers, @samp{_}, and @samp{@@}. Tags must be preceded and followed by a single colon, e.g., @samp{:work:}. Several tags can be specified, as in @samp{:work:urgent:}. Tags will by default be in bold face with the same color as the headline. You may specify special faces for specific tags using the option @code{org-tag-faces}, in much the same way as you can for TODO keywords (@pxref{Faces for TODO keywords}). @menu * Tag inheritance:: Tags use the tree structure of the outline * Setting tags:: How to assign tags to a headline * Tag groups:: Use one tag to search for several tags * Tag searches:: Searching for combinations of tags @end menu @node Tag inheritance, Setting tags, Tags, Tags @section Tag inheritance @cindex tag inheritance @cindex inheritance, of tags @cindex sublevels, inclusion into tags match @i{Tags} make use of the hierarchical structure of outline trees. If a heading has a certain tag, all subheadings will inherit the tag as well. For example, in the list @example * Meeting with the French group :work: ** Summary by Frank :boss:notes: *** TODO Prepare slides for him :action: @end example @noindent the final heading will have the tags @samp{:work:}, @samp{:boss:}, @samp{:notes:}, and @samp{:action:} even though the final heading is not explicitly marked with those tags. You can also set tags that all entries in a file should inherit just as if these tags were defined in a hypothetical level zero that surrounds the entire file. Use a line like this@footnote{As with all these in-buffer settings, pressing @kbd{C-c C-c} activates any changes in the line.}: @cindex #+FILETAGS @example #+FILETAGS: :Peter:Boss:Secret: @end example @noindent @vindex org-use-tag-inheritance @vindex org-tags-exclude-from-inheritance To limit tag inheritance to specific tags, use @code{org-tags-exclude-from-inheritance}. To turn it off entirely, use @code{org-use-tag-inheritance}. @vindex org-tags-match-list-sublevels When a headline matches during a tags search while tag inheritance is turned on, all the sublevels in the same tree will (for a simple match form) match as well@footnote{This is only true if the search does not involve more complex tests including properties (@pxref{Property searches}).}. The list of matches may then become very long. If you only want to see the first tags match in a subtree, configure @code{org-tags-match-list-sublevels} (not recommended). @vindex org-agenda-use-tag-inheritance Tag inheritance is relevant when the agenda search tries to match a tag, either in the @code{tags} or @code{tags-todo} agenda types. In other agenda types, @code{org-use-tag-inheritance} has no effect. Still, you may want to have your tags correctly set in the agenda, so that tag filtering works fine, with inherited tags. Set @code{org-agenda-use-tag-inheritance} to control this: the default value includes all agenda types, but setting this to @code{nil} can really speed up agenda generation. @node Setting tags, Tag groups, Tag inheritance, Tags @section Setting tags @cindex setting tags @cindex tags, setting @kindex M-@key{TAB} Tags can simply be typed into the buffer at the end of a headline. After a colon, @kbd{M-@key{TAB}} offers completion on tags. There is also a special command for inserting tags: @table @kbd @orgcmd{C-c C-q,org-set-tags-command} @cindex completion, of tags @vindex org-tags-column Enter new tags for the current headline. Org mode will either offer completion or a special single-key interface for setting tags, see below. After pressing @key{RET}, the tags will be inserted and aligned to @code{org-tags-column}. When called with a @kbd{C-u} prefix, all tags in the current buffer will be aligned to that column, just to make things look nice. TAGS are automatically realigned after promotion, demotion, and TODO state changes (@pxref{TODO basics}). @orgcmd{C-c C-c,org-set-tags-command} When the cursor is in a headline, this does the same as @kbd{C-c C-q}. @end table @vindex org-tag-alist Org supports tag insertion based on a @emph{list of tags}. By default this list is constructed dynamically, containing all tags currently used in the buffer. You may also globally specify a hard list of tags with the variable @code{org-tag-alist}. Finally you can set the default tags for a given file with lines like @cindex #+TAGS @example #+TAGS: @@work @@home @@tennisclub #+TAGS: laptop car pc sailboat @end example If you have globally defined your preferred set of tags using the variable @code{org-tag-alist}, but would like to use a dynamic tag list in a specific file, add an empty TAGS option line to that file: @example #+TAGS: @end example @vindex org-tag-persistent-alist If you have a preferred set of tags that you would like to use in every file, in addition to those defined on a per-file basis by TAGS option lines, then you may specify a list of tags with the variable @code{org-tag-persistent-alist}. You may turn this off on a per-file basis by adding a STARTUP option line to that file: @example #+STARTUP: noptag @end example By default Org mode uses the standard minibuffer completion facilities for entering tags. However, it also implements another, quicker, tag selection method called @emph{fast tag selection}. This allows you to select and deselect tags with just a single key press. For this to work well you should assign unique letters to most of your commonly used tags. You can do this globally by configuring the variable @code{org-tag-alist} in your @file{.emacs} file. For example, you may find the need to tag many items in different files with @samp{:@@home:}. In this case you can set something like: @lisp (setq org-tag-alist '(("@@work" . ?w) ("@@home" . ?h) ("laptop" . ?l))) @end lisp @noindent If the tag is only relevant to the file you are working on, then you can instead set the TAGS option line as: @example #+TAGS: @@work(w) @@home(h) @@tennisclub(t) laptop(l) pc(p) @end example @noindent The tags interface will show the available tags in a splash window. If you want to start a new line after a specific tag, insert @samp{\n} into the tag list @example #+TAGS: @@work(w) @@home(h) @@tennisclub(t) \n laptop(l) pc(p) @end example @noindent or write them in two lines: @example #+TAGS: @@work(w) @@home(h) @@tennisclub(t) #+TAGS: laptop(l) pc(p) @end example @noindent You can also group together tags that are mutually exclusive by using braces, as in: @example #+TAGS: @{ @@work(w) @@home(h) @@tennisclub(t) @} laptop(l) pc(p) @end example @noindent you indicate that at most one of @samp{@@work}, @samp{@@home}, and @samp{@@tennisclub} should be selected. Multiple such groups are allowed. @noindent Don't forget to press @kbd{C-c C-c} with the cursor in one of these lines to activate any changes. @noindent To set these mutually exclusive groups in the variable @code{org-tag-alist}, you must use the dummy tags @code{:startgroup} and @code{:endgroup} instead of the braces. Similarly, you can use @code{:newline} to indicate a line break. The previous example would be set globally by the following configuration: @lisp (setq org-tag-alist '((:startgroup . nil) ("@@work" . ?w) ("@@home" . ?h) ("@@tennisclub" . ?t) (:endgroup . nil) ("laptop" . ?l) ("pc" . ?p))) @end lisp If at least one tag has a selection key then pressing @kbd{C-c C-c} will automatically present you with a special interface, listing inherited tags, the tags of the current headline, and a list of all valid tags with corresponding keys@footnote{Keys will automatically be assigned to tags which have no configured keys.}. In this interface, you can use the following keys: @table @kbd @item a-z... Pressing keys assigned to tags will add or remove them from the list of tags in the current line. Selecting a tag in a group of mutually exclusive tags will turn off any other tags from that group. @kindex @key{TAB} @item @key{TAB} Enter a tag in the minibuffer, even if the tag is not in the predefined list. You will be able to complete on all tags present in the buffer. You can also add several tags: just separate them with a comma. @kindex @key{SPC} @item @key{SPC} Clear all tags for this line. @kindex @key{RET} @item @key{RET} Accept the modified set. @item C-g Abort without installing changes. @item q If @kbd{q} is not assigned to a tag, it aborts like @kbd{C-g}. @item ! Turn off groups of mutually exclusive tags. Use this to (as an exception) assign several tags from such a group. @item C-c Toggle auto-exit after the next change (see below). If you are using expert mode, the first @kbd{C-c} will display the selection window. @end table @noindent This method lets you assign tags to a headline with very few keys. With the above setup, you could clear the current tags and set @samp{@@home}, @samp{laptop} and @samp{pc} tags with just the following keys: @kbd{C-c C-c @key{SPC} h l p @key{RET}}. Switching from @samp{@@home} to @samp{@@work} would be done with @kbd{C-c C-c w @key{RET}} or alternatively with @kbd{C-c C-c C-c w}. Adding the non-predefined tag @samp{Sarah} could be done with @kbd{C-c C-c @key{TAB} S a r a h @key{RET} @key{RET}}. @vindex org-fast-tag-selection-single-key If you find that most of the time you need only a single key press to modify your list of tags, set @code{org-fast-tag-selection-single-key}. Then you no longer have to press @key{RET} to exit fast tag selection---it will immediately exit after the first change. If you then occasionally need more keys, press @kbd{C-c} to turn off auto-exit for the current tag selection process (in effect: start selection with @kbd{C-c C-c C-c} instead of @kbd{C-c C-c}). If you set the variable to the value @code{expert}, the special window is not even shown for single-key tag selection, it comes up only when you press an extra @kbd{C-c}. @node Tag groups, Tag searches, Setting tags, Tags @section Tag groups @cindex group tags @cindex tags, groups In a set of mutually exclusive tags, the first tag can be defined as a @emph{group tag}. When you search for a group tag, it will return matches for all members in the group. In an agenda view, filtering by a group tag will display headlines tagged with at least one of the members of the group. This makes tag searches and filters even more flexible. You can set group tags by inserting a colon between the group tag and other tags---beware that all whitespaces are mandatory so that Org can parse this line correctly: @example #+TAGS: @{ @@read : @@read_book @@read_ebook @} @end example In this example, @samp{@@read} is a @emph{group tag} for a set of three tags: @samp{@@read}, @samp{@@read_book} and @samp{@@read_ebook}. You can also use the @code{:grouptags} keyword directly when setting @code{org-tag-alist}: @lisp (setq org-tag-alist '((:startgroup . nil) ("@@read" . nil) (:grouptags . nil) ("@@read_book" . nil) ("@@read_ebook" . nil) (:endgroup . nil))) @end lisp You cannot nest group tags or use a group tag as a tag in another group. @kindex C-c C-x q @vindex org-group-tags If you want to ignore group tags temporarily, toggle group tags support with @command{org-toggle-tags-groups}, bound to @kbd{C-c C-x q}. If you want to disable tag groups completely, set @code{org-group-tags} to @code{nil}. @node Tag searches, , Tag groups, Tags @section Tag searches @cindex tag searches @cindex searching for tags Once a system of tags has been set up, it can be used to collect related information into special lists. @table @kbd @orgcmdkkc{C-c / m,C-c \\,org-match-sparse-tree} Create a sparse tree with all headlines matching a tags/property/TODO search. With a @kbd{C-u} prefix argument, ignore headlines that are not a TODO line. @xref{Matching tags and properties}. @orgcmd{C-c a m,org-tags-view} Create a global list of tag matches from all agenda files. @xref{Matching tags and properties}. @orgcmd{C-c a M,org-tags-view} @vindex org-tags-match-list-sublevels Create a global list of tag matches from all agenda files, but check only TODO items and force checking subitems (see the option @code{org-tags-match-list-sublevels}). @end table These commands all prompt for a match string which allows basic Boolean logic like @samp{+boss+urgent-project1}, to find entries with tags @samp{boss} and @samp{urgent}, but not @samp{project1}, or @samp{Kathy|Sally} to find entries which are tagged, like @samp{Kathy} or @samp{Sally}. The full syntax of the search string is rich and allows also matching against TODO keywords, entry levels and properties. For a complete description with many examples, see @ref{Matching tags and properties}. @node Properties and Columns, Dates and Times, Tags, Top @chapter Properties and columns @cindex properties A property is a key-value pair associated with an entry. Properties can be set so they are associated with a single entry, with every entry in a tree, or with every entry in an Org mode file. There are two main applications for properties in Org mode. First, properties are like tags, but with a value. Imagine maintaining a file where you document bugs and plan releases for a piece of software. Instead of using tags like @code{:release_1:}, @code{:release_2:}, you can use a property, say @code{:Release:}, that in different subtrees has different values, such as @code{1.0} or @code{2.0}. Second, you can use properties to implement (very basic) database capabilities in an Org buffer. Imagine keeping track of your music CDs, where properties could be things such as the album, artist, date of release, number of tracks, and so on. Properties can be conveniently edited and viewed in column view (@pxref{Column view}). @menu * Property syntax:: How properties are spelled out * Special properties:: Access to other Org mode features * Property searches:: Matching property values * Property inheritance:: Passing values down the tree * Column view:: Tabular viewing and editing * Property API:: Properties for Lisp programmers @end menu @node Property syntax, Special properties, Properties and Columns, Properties and Columns @section Property syntax @cindex property syntax @cindex drawer, for properties Properties are key-value pairs. When they are associated with a single entry or with a tree they need to be inserted into a special drawer (@pxref{Drawers}) with the name @code{PROPERTIES}. Each property is specified on a single line, with the key (surrounded by colons) first, and the value after it. Here is an example: @example * CD collection ** Classic *** Goldberg Variations :PROPERTIES: :Title: Goldberg Variations :Composer: J.S. Bach :Artist: Glen Gould :Publisher: Deutsche Grammophon :NDisks: 1 :END: @end example Depending on the value of @code{org-use-property-inheritance}, a property set this way will either be associated with a single entry, or the sub-tree defined by the entry, see @ref{Property inheritance}. You may define the allowed values for a particular property @samp{:Xyz:} by setting a property @samp{:Xyz_ALL:}. This special property is @emph{inherited}, so if you set it in a level 1 entry, it will apply to the entire tree. When allowed values are defined, setting the corresponding property becomes easier and is less prone to typing errors. For the example with the CD collection, we can predefine publishers and the number of disks in a box like this: @example * CD collection :PROPERTIES: :NDisks_ALL: 1 2 3 4 :Publisher_ALL: "Deutsche Grammophon" Philips EMI :END: @end example If you want to set properties that can be inherited by any entry in a file, use a line like @cindex property, _ALL @cindex #+PROPERTY @example #+PROPERTY: NDisks_ALL 1 2 3 4 @end example Contrary to properties set from a special drawer, you have to refresh the buffer with @kbd{C-c C-c} to activate this changes. If you want to add to the value of an existing property, append a @code{+} to the property name. The following results in the property @code{var} having the value ``foo=1 bar=2''. @cindex property, + @example #+PROPERTY: var foo=1 #+PROPERTY: var+ bar=2 @end example It is also possible to add to the values of inherited properties. The following results in the @code{genres} property having the value ``Classic Baroque'' under the @code{Goldberg Variations} subtree. @cindex property, + @example * CD collection ** Classic :PROPERTIES: :GENRES: Classic :END: *** Goldberg Variations :PROPERTIES: :Title: Goldberg Variations :Composer: J.S. Bach :Artist: Glen Gould :Publisher: Deutsche Grammophon :NDisks: 1 :GENRES+: Baroque :END: @end example Note that a property can only have one entry per Drawer. @vindex org-global-properties Property values set with the global variable @code{org-global-properties} can be inherited by all entries in all Org files. @noindent The following commands help to work with properties: @table @kbd @orgcmd{M-@key{TAB},pcomplete} After an initial colon in a line, complete property keys. All keys used in the current file will be offered as possible completions. @orgcmd{C-c C-x p,org-set-property} Set a property. This prompts for a property name and a value. If necessary, the property drawer is created as well. @item C-u M-x org-insert-drawer RET @cindex org-insert-drawer Insert a property drawer into the current entry. The drawer will be inserted early in the entry, but after the lines with planning information like deadlines. @orgcmd{C-c C-c,org-property-action} With the cursor in a property drawer, this executes property commands. @orgcmd{C-c C-c s,org-set-property} Set a property in the current entry. Both the property and the value can be inserted using completion. @orgcmdkkcc{S-@key{right},S-@key{left},org-property-next-allowed-value,org-property-previous-allowed-value} Switch property at point to the next/previous allowed value. @orgcmd{C-c C-c d,org-delete-property} Remove a property from the current entry. @orgcmd{C-c C-c D,org-delete-property-globally} Globally remove a property, from all entries in the current file. @orgcmd{C-c C-c c,org-compute-property-at-point} Compute the property at point, using the operator and scope from the nearest column format definition. @end table @node Special properties, Property searches, Property syntax, Properties and Columns @section Special properties @cindex properties, special Special properties provide an alternative access method to Org mode features, like the TODO state or the priority of an entry, discussed in the previous chapters. This interface exists so that you can include these states in a column view (@pxref{Column view}), or to use them in queries. The following property names are special and (except for @code{:CATEGORY:}) should not be used as keys in the properties drawer: @cindex property, special, ID @cindex property, special, TODO @cindex property, special, TAGS @cindex property, special, ALLTAGS @cindex property, special, CATEGORY @cindex property, special, PRIORITY @cindex property, special, DEADLINE @cindex property, special, SCHEDULED @cindex property, special, CLOSED @cindex property, special, TIMESTAMP @cindex property, special, TIMESTAMP_IA @cindex property, special, CLOCKSUM @cindex property, special, CLOCKSUM_T @cindex property, special, BLOCKED @c guessing that ITEM is needed in this area; also, should this list be sorted? @cindex property, special, ITEM @cindex property, special, FILE @example ID @r{A globally unique ID used for synchronization during} @r{iCalendar or MobileOrg export.} TODO @r{The TODO keyword of the entry.} TAGS @r{The tags defined directly in the headline.} ALLTAGS @r{All tags, including inherited ones.} CATEGORY @r{The category of an entry.} PRIORITY @r{The priority of the entry, a string with a single letter.} DEADLINE @r{The deadline time string, without the angular brackets.} SCHEDULED @r{The scheduling timestamp, without the angular brackets.} CLOSED @r{When was this entry closed?} TIMESTAMP @r{The first keyword-less timestamp in the entry.} TIMESTAMP_IA @r{The first inactive timestamp in the entry.} CLOCKSUM @r{The sum of CLOCK intervals in the subtree. @code{org-clock-sum}} @r{must be run first to compute the values in the current buffer.} CLOCKSUM_T @r{The sum of CLOCK intervals in the subtree for today.} @r{@code{org-clock-sum-today} must be run first to compute the} @r{values in the current buffer.} BLOCKED @r{"t" if task is currently blocked by children or siblings} ITEM @r{The headline of the entry.} FILE @r{The filename the entry is located in.} @end example @node Property searches, Property inheritance, Special properties, Properties and Columns @section Property searches @cindex properties, searching @cindex searching, of properties To create sparse trees and special lists with selection based on properties, the same commands are used as for tag searches (@pxref{Tag searches}). @table @kbd @orgcmdkkc{C-c / m,C-c \\,org-match-sparse-tree} Create a sparse tree with all matching entries. With a @kbd{C-u} prefix argument, ignore headlines that are not a TODO line. @orgcmd{C-c a m,org-tags-view} Create a global list of tag/property matches from all agenda files. @xref{Matching tags and properties}. @orgcmd{C-c a M,org-tags-view} @vindex org-tags-match-list-sublevels Create a global list of tag matches from all agenda files, but check only TODO items and force checking of subitems (see the option @code{org-tags-match-list-sublevels}). @end table The syntax for the search string is described in @ref{Matching tags and properties}. There is also a special command for creating sparse trees based on a single property: @table @kbd @orgkey{C-c / p} Create a sparse tree based on the value of a property. This first prompts for the name of a property, and then for a value. A sparse tree is created with all entries that define this property with the given value. If you enclose the value in curly braces, it is interpreted as a regular expression and matched against the property values. @end table @node Property inheritance, Column view, Property searches, Properties and Columns @section Property Inheritance @cindex properties, inheritance @cindex inheritance, of properties @vindex org-use-property-inheritance The outline structure of Org mode documents lends itself to an inheritance model of properties: if the parent in a tree has a certain property, the children can inherit this property. Org mode does not turn this on by default, because it can slow down property searches significantly and is often not needed. However, if you find inheritance useful, you can turn it on by setting the variable @code{org-use-property-inheritance}. It may be set to @code{t} to make all properties inherited from the parent, to a list of properties that should be inherited, or to a regular expression that matches inherited properties. If a property has the value @code{nil}, this is interpreted as an explicit undefine of the property, so that inheritance search will stop at this value and return @code{nil}. Org mode has a few properties for which inheritance is hard-coded, at least for the special applications for which they are used: @cindex property, COLUMNS @table @code @item COLUMNS The @code{:COLUMNS:} property defines the format of column view (@pxref{Column view}). It is inherited in the sense that the level where a @code{:COLUMNS:} property is defined is used as the starting point for a column view table, independently of the location in the subtree from where columns view is turned on. @item CATEGORY @cindex property, CATEGORY For agenda view, a category set through a @code{:CATEGORY:} property applies to the entire subtree. @item ARCHIVE @cindex property, ARCHIVE For archiving, the @code{:ARCHIVE:} property may define the archive location for the entire subtree (@pxref{Moving subtrees}). @item LOGGING @cindex property, LOGGING The LOGGING property may define logging settings for an entry or a subtree (@pxref{Tracking TODO state changes}). @end table @node Column view, Property API, Property inheritance, Properties and Columns @section Column view A great way to view and edit properties in an outline tree is @emph{column view}. In column view, each outline node is turned into a table row. Columns in this table provide access to properties of the entries. Org mode implements columns by overlaying a tabular structure over the headline of each item. While the headlines have been turned into a table row, you can still change the visibility of the outline tree. For example, you get a compact table by switching to CONTENTS view (@kbd{S-@key{TAB} S-@key{TAB}}, or simply @kbd{c} while column view is active), but you can still open, read, and edit the entry below each headline. Or, you can switch to column view after executing a sparse tree command and in this way get a table only for the selected items. Column view also works in agenda buffers (@pxref{Agenda Views}) where queries have collected selected items, possibly from a number of files. @menu * Defining columns:: The COLUMNS format property * Using column view:: How to create and use column view * Capturing column view:: A dynamic block for column view @end menu @node Defining columns, Using column view, Column view, Column view @subsection Defining columns @cindex column view, for properties @cindex properties, column view Setting up a column view first requires defining the columns. This is done by defining a column format line. @menu * Scope of column definitions:: Where defined, where valid? * Column attributes:: Appearance and content of a column @end menu @node Scope of column definitions, Column attributes, Defining columns, Defining columns @subsubsection Scope of column definitions To define a column format for an entire file, use a line like @cindex #+COLUMNS @example #+COLUMNS: %25ITEM %TAGS %PRIORITY %TODO @end example To specify a format that only applies to a specific tree, add a @code{:COLUMNS:} property to the top node of that tree, for example: @example ** Top node for columns view :PROPERTIES: :COLUMNS: %25ITEM %TAGS %PRIORITY %TODO :END: @end example If a @code{:COLUMNS:} property is present in an entry, it defines columns for the entry itself, and for the entire subtree below it. Since the column definition is part of the hierarchical structure of the document, you can define columns on level 1 that are general enough for all sublevels, and more specific columns further down, when you edit a deeper part of the tree. @node Column attributes, , Scope of column definitions, Defining columns @subsubsection Column attributes A column definition sets the attributes of a column. The general definition looks like this: @example %[@var{width}]@var{property}[(@var{title})][@{@var{summary-type}@}] @end example @noindent Except for the percent sign and the property name, all items are optional. The individual parts have the following meaning: @example @var{width} @r{An integer specifying the width of the column in characters.} @r{If omitted, the width will be determined automatically.} @var{property} @r{The property that should be edited in this column.} @r{Special properties representing meta data are allowed here} @r{as well (@pxref{Special properties})} @var{title} @r{The header text for the column. If omitted, the property} @r{name is used.} @{@var{summary-type}@} @r{The summary type. If specified, the column values for} @r{parent nodes are computed from the children.} @r{Supported summary types are:} @{+@} @r{Sum numbers in this column.} @{+;%.1f@} @r{Like @samp{+}, but format result with @samp{%.1f}.} @{$@} @r{Currency, short for @samp{+;%.2f}.} @{:@} @r{Sum times, HH:MM, plain numbers are hours.} @{X@} @r{Checkbox status, @samp{[X]} if all children are @samp{[X]}.} @{X/@} @r{Checkbox status, @samp{[n/m]}.} @{X%@} @r{Checkbox status, @samp{[n%]}.} @{min@} @r{Smallest number in column.} @{max@} @r{Largest number.} @{mean@} @r{Arithmetic mean of numbers.} @{:min@} @r{Smallest time value in column.} @{:max@} @r{Largest time value.} @{:mean@} @r{Arithmetic mean of time values.} @{@@min@} @r{Minimum age (in days/hours/mins/seconds).} @{@@max@} @r{Maximum age (in days/hours/mins/seconds).} @{@@mean@} @r{Arithmetic mean of ages (in days/hours/mins/seconds).} @{est+@} @r{Add low-high estimates.} @end example @noindent Be aware that you can only have one summary type for any property you include. Subsequent columns referencing the same property will all display the same summary information. The @code{est+} summary type requires further explanation. It is used for combining estimates, expressed as low-high ranges. For example, instead of estimating a particular task will take 5 days, you might estimate it as 5--6 days if you're fairly confident you know how much work is required, or 1--10 days if you don't really know what needs to be done. Both ranges average at 5.5 days, but the first represents a more predictable delivery. When combining a set of such estimates, simply adding the lows and highs produces an unrealistically wide result. Instead, @code{est+} adds the statistical mean and variance of the sub-tasks, generating a final estimate from the sum. For example, suppose you had ten tasks, each of which was estimated at 0.5 to 2 days of work. Straight addition produces an estimate of 5 to 20 days, representing what to expect if everything goes either extremely well or extremely poorly. In contrast, @code{est+} estimates the full job more realistically, at 10--15 days. Here is an example for a complete columns definition, along with allowed values. @example :COLUMNS: %25ITEM %9Approved(Approved?)@{X@} %Owner %11Status \@footnote{Please note that the COLUMNS definition must be on a single line---it is wrapped here only because of formatting constraints.} %10Time_Estimate@{:@} %CLOCKSUM %CLOCKSUM_T :Owner_ALL: Tammy Mark Karl Lisa Don :Status_ALL: "In progress" "Not started yet" "Finished" "" :Approved_ALL: "[ ]" "[X]" @end example @noindent The first column, @samp{%25ITEM}, means the first 25 characters of the item itself, i.e., of the headline. You probably always should start the column definition with the @samp{ITEM} specifier. The other specifiers create columns @samp{Owner} with a list of names as allowed values, for @samp{Status} with four different possible values, and for a checkbox field @samp{Approved}. When no width is given after the @samp{%} character, the column will be exactly as wide as it needs to be in order to fully display all values. The @samp{Approved} column does have a modified title (@samp{Approved?}, with a question mark). Summaries will be created for the @samp{Time_Estimate} column by adding time duration expressions like HH:MM, and for the @samp{Approved} column, by providing an @samp{[X]} status if all children have been checked. The @samp{CLOCKSUM} and @samp{CLOCKSUM_T} columns are special, they lists the sums of CLOCK intervals in the subtree, either for all clocks or just for today. @node Using column view, Capturing column view, Defining columns, Column view @subsection Using column view @table @kbd @tsubheading{Turning column view on and off} @orgcmd{C-c C-x C-c,org-columns} @vindex org-columns-default-format Turn on column view. If the cursor is before the first headline in the file, column view is turned on for the entire file, using the @code{#+COLUMNS} definition. If the cursor is somewhere inside the outline, this command searches the hierarchy, up from point, for a @code{:COLUMNS:} property that defines a format. When one is found, the column view table is established for the tree starting at the entry that contains the @code{:COLUMNS:} property. If no such property is found, the format is taken from the @code{#+COLUMNS} line or from the variable @code{org-columns-default-format}, and column view is established for the current entry and its subtree. @orgcmd{r,org-columns-redo} Recreate the column view, to include recent changes made in the buffer. @orgcmd{g,org-columns-redo} Same as @kbd{r}. @orgcmd{q,org-columns-quit} Exit column view. @tsubheading{Editing values} @item @key{left} @key{right} @key{up} @key{down} Move through the column view from field to field. @kindex S-@key{left} @kindex S-@key{right} @item S-@key{left}/@key{right} Switch to the next/previous allowed value of the field. For this, you have to have specified allowed values for a property. @item 1..9,0 Directly select the Nth allowed value, @kbd{0} selects the 10th value. @orgcmdkkcc{n,p,org-columns-next-allowed-value,org-columns-previous-allowed-value} Same as @kbd{S-@key{left}/@key{right}} @orgcmd{e,org-columns-edit-value} Edit the property at point. For the special properties, this will invoke the same interface that you normally use to change that property. For example, when editing a TAGS property, the tag completion or fast selection interface will pop up. @orgcmd{C-c C-c,org-columns-set-tags-or-toggle} When there is a checkbox at point, toggle it. @orgcmd{v,org-columns-show-value} View the full value of this property. This is useful if the width of the column is smaller than that of the value. @orgcmd{a,org-columns-edit-allowed} Edit the list of allowed values for this property. If the list is found in the hierarchy, the modified values is stored there. If no list is found, the new value is stored in the first entry that is part of the current column view. @tsubheading{Modifying the table structure} @orgcmdkkcc{<,>,org-columns-narrow,org-columns-widen} Make the column narrower/wider by one character. @orgcmd{S-M-@key{right},org-columns-new} Insert a new column, to the left of the current column. @orgcmd{S-M-@key{left},org-columns-delete} Delete the current column. @end table @node Capturing column view, , Using column view, Column view @subsection Capturing column view Since column view is just an overlay over a buffer, it cannot be exported or printed directly. If you want to capture a column view, use a @code{columnview} dynamic block (@pxref{Dynamic blocks}). The frame of this block looks like this: @cindex #+BEGIN, columnview @example * The column view #+BEGIN: columnview :hlines 1 :id "label" #+END: @end example @noindent This dynamic block has the following parameters: @table @code @item :id This is the most important parameter. Column view is a feature that is often localized to a certain (sub)tree, and the capture block might be at a different location in the file. To identify the tree whose view to capture, you can use 4 values: @cindex property, ID @example local @r{use the tree in which the capture block is located} global @r{make a global view, including all headings in the file} "file:@var{path-to-file}" @r{run column view at the top of this file} "@var{ID}" @r{call column view in the tree that has an @code{:ID:}} @r{property with the value @i{label}. You can use} @r{@kbd{M-x org-id-copy RET} to create a globally unique ID for} @r{the current entry and copy it to the kill-ring.} @end example @item :hlines When @code{t}, insert an hline after every line. When a number @var{N}, insert an hline before each headline with level @code{<= @var{N}}. @item :vlines When set to @code{t}, force column groups to get vertical lines. @item :maxlevel When set to a number, don't capture entries below this level. @item :skip-empty-rows When set to @code{t}, skip rows where the only non-empty specifier of the column view is @code{ITEM}. @end table @noindent The following commands insert or update the dynamic block: @table @kbd @orgcmd{C-c C-x i,org-insert-columns-dblock} Insert a dynamic block capturing a column view. You will be prompted for the scope or ID of the view. @orgcmdkkc{C-c C-c,C-c C-x C-u,org-dblock-update} Update dynamic block at point. The cursor needs to be in the @code{#+BEGIN} line of the dynamic block. @orgcmd{C-u C-c C-x C-u,org-update-all-dblocks} Update all dynamic blocks (@pxref{Dynamic blocks}). This is useful if you have several clock table blocks, column-capturing blocks or other dynamic blocks in a buffer. @end table You can add formulas to the column view table and you may add plotting instructions in front of the table---these will survive an update of the block. If there is a @code{#+TBLFM:} after the table, the table will actually be recalculated automatically after an update. An alternative way to capture and process property values into a table is provided by Eric Schulte's @file{org-collector.el} which is a contributed package@footnote{Contributed packages are not part of Emacs, but are distributed with the main distribution of Org (visit @uref{http://orgmode.org}).}. It provides a general API to collect properties from entries in a certain scope, and arbitrary Lisp expressions to process these values before inserting them into a table or a dynamic block. @node Property API, , Column view, Properties and Columns @section The Property API @cindex properties, API @cindex API, for properties There is a full API for accessing and changing properties. This API can be used by Emacs Lisp programs to work with properties and to implement features based on them. For more information see @ref{Using the property API}. @node Dates and Times, Capture - Refile - Archive, Properties and Columns, Top @chapter Dates and times @cindex dates @cindex times @cindex timestamp @cindex date stamp To assist project planning, TODO items can be labeled with a date and/or a time. The specially formatted string carrying the date and time information is called a @emph{timestamp} in Org mode. This may be a little confusing because timestamp is often used as indicating when something was created or last changed. However, in Org mode this term is used in a much wider sense. @menu * Timestamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps * Deadlines and scheduling:: Planning your work * Clocking work time:: Tracking how long you spend on a task * Effort estimates:: Planning work effort in advance * Relative timer:: Notes with a running timer * Countdown timer:: Starting a countdown timer for a task @end menu @node Timestamps, Creating timestamps, Dates and Times, Dates and Times @section Timestamps, deadlines, and scheduling @cindex timestamps @cindex ranges, time @cindex date stamps @cindex deadlines @cindex scheduling A timestamp is a specification of a date (possibly with a time or a range of times) in a special format, either @samp{<2003-09-16 Tue>}@footnote{In this simplest form, the day name is optional when you type the date yourself. However, any dates inserted or modified by Org will add that day name, for reading convenience.} or @samp{<2003-09-16 Tue 09:39>} or @samp{<2003-09-16 Tue 12:00-12:30>}@footnote{This is inspired by the standard ISO 8601 date/time format. To use an alternative format, see @ref{Custom time format}.}. A timestamp can appear anywhere in the headline or body of an Org tree entry. Its presence causes entries to be shown on specific dates in the agenda (@pxref{Weekly/daily agenda}). We distinguish: @table @var @item Plain timestamp; Event; Appointment @cindex timestamp @cindex appointment A simple timestamp just assigns a date/time to an item. This is just like writing down an appointment or event in a paper agenda. In the timeline and agenda displays, the headline of an entry associated with a plain timestamp will be shown exactly on that date. @example * Meet Peter at the movies <2006-11-01 Wed 19:15> * Discussion on climate change <2006-11-02 Thu 20:00-22:00> @end example @item Timestamp with repeater interval @cindex timestamp, with repeater interval A timestamp may contain a @emph{repeater interval}, indicating that it applies not only on the given date, but again and again after a certain interval of N days (d), weeks (w), months (m), or years (y). The following will show up in the agenda every Wednesday: @example * Pick up Sam at school <2007-05-16 Wed 12:30 +1w> @end example @item Diary-style sexp entries For more complex date specifications, Org mode supports using the special sexp diary entries implemented in the Emacs calendar/diary package@footnote{When working with the standard diary sexp functions, you need to be very careful with the order of the arguments. That order depend evilly on the variable @code{calendar-date-style} (or, for older Emacs versions, @code{european-calendar-style}). For example, to specify a date December 12, 2005, the call might look like @code{(diary-date 12 1 2005)} or @code{(diary-date 1 12 2005)} or @code{(diary-date 2005 12 1)}, depending on the settings. This has been the source of much confusion. Org mode users can resort to special versions of these functions like @code{org-date} or @code{org-anniversary}. These work just like the corresponding @code{diary-} functions, but with stable ISO order of arguments (year, month, day) wherever applicable, independent of the value of @code{calendar-date-style}.}. For example with optional time @example * 22:00-23:00 The nerd meeting on every 2nd Thursday of the month <%%(diary-float t 4 2)> @end example @item Time/Date range @cindex timerange @cindex date range Two timestamps connected by @samp{--} denote a range. The headline will be shown on the first and last day of the range, and on any dates that are displayed and fall in the range. Here is an example: @example ** Meeting in Amsterdam <2004-08-23 Mon>--<2004-08-26 Thu> @end example @item Inactive timestamp @cindex timestamp, inactive @cindex inactive timestamp Just like a plain timestamp, but with square brackets instead of angular ones. These timestamps are inactive in the sense that they do @emph{not} trigger an entry to show up in the agenda. @example * Gillian comes late for the fifth time [2006-11-01 Wed] @end example @end table @node Creating timestamps, Deadlines and scheduling, Timestamps, Dates and Times @section Creating timestamps @cindex creating timestamps @cindex timestamps, creating For Org mode to recognize timestamps, they need to be in the specific format. All commands listed below produce timestamps in the correct format. @table @kbd @orgcmd{C-c .,org-time-stamp} Prompt for a date and insert a corresponding timestamp. When the cursor is at an existing timestamp in the buffer, the command is used to modify this timestamp instead of inserting a new one. When this command is used twice in succession, a time range is inserted. @c @orgcmd{C-c !,org-time-stamp-inactive} Like @kbd{C-c .}, but insert an inactive timestamp that will not cause an agenda entry. @c @kindex C-u C-c . @kindex C-u C-c ! @item C-u C-c . @itemx C-u C-c ! @vindex org-time-stamp-rounding-minutes Like @kbd{C-c .} and @kbd{C-c !}, but use the alternative format which contains date and time. The default time can be rounded to multiples of 5 minutes, see the option @code{org-time-stamp-rounding-minutes}. @c @orgkey{C-c C-c} Normalize timestamp, insert/fix day name if missing or wrong. @c @orgcmd{C-c <,org-date-from-calendar} Insert a timestamp corresponding to the cursor date in the Calendar. @c @orgcmd{C-c >,org-goto-calendar} Access the Emacs calendar for the current date. If there is a timestamp in the current line, go to the corresponding date instead. @c @orgcmd{C-c C-o,org-open-at-point} Access the agenda for the date given by the timestamp or -range at point (@pxref{Weekly/daily agenda}). @c @orgcmdkkcc{S-@key{left},S-@key{right},org-timestamp-down-day,org-timestamp-up-day} Change date at cursor by one day. These key bindings conflict with shift-selection and related modes (@pxref{Conflicts}). @c @orgcmdkkcc{S-@key{up},S-@key{down},org-timestamp-up,org-timestamp-down-down} Change the item under the cursor in a timestamp. The cursor can be on a year, month, day, hour or minute. When the timestamp contains a time range like @samp{15:30-16:30}, modifying the first time will also shift the second, shifting the time block with constant length. To change the length, modify the second time. Note that if the cursor is in a headline and not at a timestamp, these same keys modify the priority of an item. (@pxref{Priorities}). The key bindings also conflict with shift-selection and related modes (@pxref{Conflicts}). @c @orgcmd{C-c C-y,org-evaluate-time-range} @cindex evaluate time range Evaluate a time range by computing the difference between start and end. With a prefix argument, insert result after the time range (in a table: into the following column). @end table @menu * The date/time prompt:: How Org mode helps you entering date and time * Custom time format:: Making dates look different @end menu @node The date/time prompt, Custom time format, Creating timestamps, Creating timestamps @subsection The date/time prompt @cindex date, reading in minibuffer @cindex time, reading in minibuffer @vindex org-read-date-prefer-future When Org mode prompts for a date/time, the default is shown in default date/time format, and the prompt therefore seems to ask for a specific format. But it will in fact accept date/time information in a variety of formats. Generally, the information should start at the beginning of the string. Org mode will find whatever information is in there and derive anything you have not specified from the @emph{default date and time}. The default is usually the current date and time, but when modifying an existing timestamp, or when entering the second stamp of a range, it is taken from the stamp in the buffer. When filling in information, Org mode assumes that most of the time you will want to enter a date in the future: if you omit the month/year and the given day/month is @i{before} today, it will assume that you mean a future date@footnote{See the variable @code{org-read-date-prefer-future}. You may set that variable to the symbol @code{time} to even make a time before now shift the date to tomorrow.}. If the date has been automatically shifted into the future, the time prompt will show this with @samp{(=>F).} For example, let's assume that today is @b{June 13, 2006}. Here is how various inputs will be interpreted, the items filled in by Org mode are in @b{bold}. @example 3-2-5 @result{} 2003-02-05 2/5/3 @result{} 2003-02-05 14 @result{} @b{2006}-@b{06}-14 12 @result{} @b{2006}-@b{07}-12 2/5 @result{} @b{2007}-02-05 Fri @result{} nearest Friday after the default date sep 15 @result{} @b{2006}-09-15 feb 15 @result{} @b{2007}-02-15 sep 12 9 @result{} 2009-09-12 12:45 @result{} @b{2006}-@b{06}-@b{13} 12:45 22 sept 0:34 @result{} @b{2006}-09-22 0:34 w4 @result{} ISO week for of the current year @b{2006} 2012 w4 fri @result{} Friday of ISO week 4 in 2012 2012-w04-5 @result{} Same as above @end example Furthermore you can specify a relative date by giving, as the @emph{first} thing in the input: a plus/minus sign, a number and a letter ([hdwmy]) to indicate change in hours, days, weeks, months, or years. With a single plus or minus, the date is always relative to today. With a double plus or minus, it is relative to the default date. If instead of a single letter, you use the abbreviation of day name, the date will be the Nth such day, e.g.: @example +0 @result{} today . @result{} today +4d @result{} four days from today +4 @result{} same as above +2w @result{} two weeks from today ++5 @result{} five days from default date +2tue @result{} second Tuesday from now -wed @result{} last Wednesday @end example @vindex parse-time-months @vindex parse-time-weekdays The function understands English month and weekday abbreviations. If you want to use unabbreviated names and/or other languages, configure the variables @code{parse-time-months} and @code{parse-time-weekdays}. @vindex org-read-date-force-compatible-dates Not all dates can be represented in a given Emacs implementation. By default Org mode forces dates into the compatibility range 1970--2037 which works on all Emacs implementations. If you want to use dates outside of this range, read the docstring of the variable @code{org-read-date-force-compatible-dates}. You can specify a time range by giving start and end times or by giving a start time and a duration (in HH:MM format). Use one or two dash(es) as the separator in the former case and use '+' as the separator in the latter case, e.g.: @example 11am-1:15pm @result{} 11:00-13:15 11am--1:15pm @result{} same as above 11am+2:15 @result{} same as above @end example @cindex calendar, for selecting date @vindex org-popup-calendar-for-date-prompt Parallel to the minibuffer prompt, a calendar is popped up@footnote{If you don't need/want the calendar, configure the variable @code{org-popup-calendar-for-date-prompt}.}. When you exit the date prompt, either by clicking on a date in the calendar, or by pressing @key{RET}, the date selected in the calendar will be combined with the information entered at the prompt. You can control the calendar fully from the minibuffer: @kindex < @kindex > @kindex M-v @kindex C-v @kindex mouse-1 @kindex S-@key{right} @kindex S-@key{left} @kindex S-@key{down} @kindex S-@key{up} @kindex M-S-@key{right} @kindex M-S-@key{left} @kindex @key{RET} @example @key{RET} @r{Choose date at cursor in calendar.} mouse-1 @r{Select date by clicking on it.} S-@key{right}/@key{left} @r{One day forward/backward.} S-@key{down}/@key{up} @r{One week forward/backward.} M-S-@key{right}/@key{left} @r{One month forward/backward.} > / < @r{Scroll calendar forward/backward by one month.} M-v / C-v @r{Scroll calendar forward/backward by 3 months.} @end example @vindex org-read-date-display-live The actions of the date/time prompt may seem complex, but I assure you they will grow on you, and you will start getting annoyed by pretty much any other way of entering a date/time out there. To help you understand what is going on, the current interpretation of your input will be displayed live in the minibuffer@footnote{If you find this distracting, turn the display off with @code{org-read-date-display-live}.}. @node Custom time format, , The date/time prompt, Creating timestamps @subsection Custom time format @cindex custom date/time format @cindex time format, custom @cindex date format, custom @vindex org-display-custom-times @vindex org-time-stamp-custom-formats Org mode uses the standard ISO notation for dates and times as it is defined in ISO 8601. If you cannot get used to this and require another representation of date and time to keep you happy, you can get it by customizing the options @code{org-display-custom-times} and @code{org-time-stamp-custom-formats}. @table @kbd @orgcmd{C-c C-x C-t,org-toggle-time-stamp-overlays} Toggle the display of custom formats for dates and times. @end table @noindent Org mode needs the default format for scanning, so the custom date/time format does not @emph{replace} the default format---instead it is put @emph{over} the default format using text properties. This has the following consequences: @itemize @bullet @item You cannot place the cursor onto a timestamp anymore, only before or after. @item The @kbd{S-@key{up}/@key{down}} keys can no longer be used to adjust each component of a timestamp. If the cursor is at the beginning of the stamp, @kbd{S-@key{up}/@key{down}} will change the stamp by one day, just like @kbd{S-@key{left}/@key{right}}. At the end of the stamp, the time will be changed by one minute. @item If the timestamp contains a range of clock times or a repeater, these will not be overlaid, but remain in the buffer as they were. @item When you delete a timestamp character-by-character, it will only disappear from the buffer after @emph{all} (invisible) characters belonging to the ISO timestamp have been removed. @item If the custom timestamp format is longer than the default and you are using dates in tables, table alignment will be messed up. If the custom format is shorter, things do work as expected. @end itemize @node Deadlines and scheduling, Clocking work time, Creating timestamps, Dates and Times @section Deadlines and scheduling A timestamp may be preceded by special keywords to facilitate planning: @table @var @item DEADLINE @cindex DEADLINE keyword Meaning: the task (most likely a TODO item, though not necessarily) is supposed to be finished on that date. @vindex org-deadline-warning-days @vindex org-agenda-skip-deadline-prewarning-if-scheduled On the deadline date, the task will be listed in the agenda. In addition, the agenda for @emph{today} will carry a warning about the approaching or missed deadline, starting @code{org-deadline-warning-days} before the due date, and continuing until the entry is marked DONE@. An example: @example *** TODO write article about the Earth for the Guide DEADLINE: <2004-02-29 Sun> The editor in charge is [[bbdb:Ford Prefect]] @end example You can specify a different lead time for warnings for a specific deadlines using the following syntax. Here is an example with a warning period of 5 days @code{DEADLINE: <2004-02-29 Sun -5d>}. This warning is deactivated if the task get scheduled and you set @code{org-agenda-skip-deadline-prewarning-if-scheduled} to @code{t}. @item SCHEDULED @cindex SCHEDULED keyword Meaning: you are planning to start working on that task on the given date. @vindex org-agenda-skip-scheduled-if-done The headline will be listed under the given date@footnote{It will still be listed on that date after it has been marked DONE@. If you don't like this, set the variable @code{org-agenda-skip-scheduled-if-done}.}. In addition, a reminder that the scheduled date has passed will be present in the compilation for @emph{today}, until the entry is marked DONE, i.e., the task will automatically be forwarded until completed. @example *** TODO Call Trillian for a date on New Years Eve. SCHEDULED: <2004-12-25 Sat> @end example @vindex org-scheduled-delay-days @vindex org-agenda-skip-scheduled-delay-if-deadline If you want to @emph{delay} the display of this task in the agenda, use @code{SCHEDULED: <2004-12-25 Sat -2d>}: the task is still scheduled on the 25th but will appear two days later. In case the task contains a repeater, the delay is considered to affect all occurrences; if you want the delay to only affect the first scheduled occurrence of the task, use @code{--2d} instead. See @code{org-scheduled-delay-days} and @code{org-agenda-skip-scheduled-delay-if-deadline} for details on how to control this globally or per agenda. @noindent @b{Important:} Scheduling an item in Org mode should @i{not} be understood in the same way that we understand @i{scheduling a meeting}. Setting a date for a meeting is just a simple appointment, you should mark this entry with a simple plain timestamp, to get this item shown on the date where it applies. This is a frequent misunderstanding by Org users. In Org mode, @i{scheduling} means setting a date when you want to start working on an action item. @end table You may use timestamps with repeaters in scheduling and deadline entries. Org mode will issue early and late warnings based on the assumption that the timestamp represents the @i{nearest instance} of the repeater. However, the use of diary sexp entries like @c @code{<%%(diary-float t 42)>} @c in scheduling and deadline timestamps is limited. Org mode does not know enough about the internals of each sexp function to issue early and late warnings. However, it will show the item on each day where the sexp entry matches. @menu * Inserting deadline/schedule:: Planning items * Repeated tasks:: Items that show up again and again @end menu @node Inserting deadline/schedule, Repeated tasks, Deadlines and scheduling, Deadlines and scheduling @subsection Inserting deadlines or schedules The following commands allow you to quickly insert@footnote{The @samp{SCHEDULED} and @samp{DEADLINE} dates are inserted on the line right below the headline. Don't put any text between this line and the headline.} a deadline or to schedule an item: @table @kbd @c @orgcmd{C-c C-d,org-deadline} Insert @samp{DEADLINE} keyword along with a stamp. The insertion will happen in the line directly following the headline. Any CLOSED timestamp will be removed. When called with a prefix arg, an existing deadline will be removed from the entry. Depending on the variable @code{org-log-redeadline}@footnote{with corresponding @code{#+STARTUP} keywords @code{logredeadline}, @code{lognoteredeadline}, and @code{nologredeadline}}, a note will be taken when changing an existing deadline. @orgcmd{C-c C-s,org-schedule} Insert @samp{SCHEDULED} keyword along with a stamp. The insertion will happen in the line directly following the headline. Any CLOSED timestamp will be removed. When called with a prefix argument, remove the scheduling date from the entry. Depending on the variable @code{org-log-reschedule}@footnote{with corresponding @code{#+STARTUP} keywords @code{logreschedule}, @code{lognotereschedule}, and @code{nologreschedule}}, a note will be taken when changing an existing scheduling time. @c @orgcmd{C-c C-x C-k,org-mark-entry-for-agenda-action} @kindex k a @kindex k s Mark the current entry for agenda action. After you have marked the entry like this, you can open the agenda or the calendar to find an appropriate date. With the cursor on the selected date, press @kbd{k s} or @kbd{k d} to schedule the marked item. @c @orgcmd{C-c / d,org-check-deadlines} @cindex sparse tree, for deadlines @vindex org-deadline-warning-days Create a sparse tree with all deadlines that are either past-due, or which will become due within @code{org-deadline-warning-days}. With @kbd{C-u} prefix, show all deadlines in the file. With a numeric prefix, check that many days. For example, @kbd{C-1 C-c / d} shows all deadlines due tomorrow. @c @orgcmd{C-c / b,org-check-before-date} Sparse tree for deadlines and scheduled items before a given date. @c @orgcmd{C-c / a,org-check-after-date} Sparse tree for deadlines and scheduled items after a given date. @end table Note that @code{org-schedule} and @code{org-deadline} supports setting the date by indicating a relative time: e.g., +1d will set the date to the next day after today, and --1w will set the date to the previous week before any current timestamp. @node Repeated tasks, , Inserting deadline/schedule, Deadlines and scheduling @subsection Repeated tasks @cindex tasks, repeated @cindex repeated tasks Some tasks need to be repeated again and again. Org mode helps to organize such tasks using a so-called repeater in a DEADLINE, SCHEDULED, or plain timestamp. In the following example @example ** TODO Pay the rent DEADLINE: <2005-10-01 Sat +1m> @end example @noindent the @code{+1m} is a repeater; the intended interpretation is that the task has a deadline on <2005-10-01> and repeats itself every (one) month starting from that time. You can use yearly, monthly, weekly, daily and hourly repeat cookies by using the @code{y/w/m/d/h} letters. If you need both a repeater and a special warning period in a deadline entry, the repeater should come first and the warning period last: @code{DEADLINE: <2005-10-01 Sat +1m -3d>}. @vindex org-todo-repeat-to-state Deadlines and scheduled items produce entries in the agenda when they are over-due, so it is important to be able to mark such an entry as completed once you have done so. When you mark a DEADLINE or a SCHEDULE with the TODO keyword DONE, it will no longer produce entries in the agenda. The problem with this is, however, that then also the @emph{next} instance of the repeated entry will not be active. Org mode deals with this in the following way: When you try to mark such an entry DONE (using @kbd{C-c C-t}), it will shift the base date of the repeating timestamp by the repeater interval, and immediately set the entry state back to TODO@footnote{In fact, the target state is taken from, in this sequence, the @code{REPEAT_TO_STATE} property or the variable @code{org-todo-repeat-to-state}. If neither of these is specified, the target state defaults to the first state of the TODO state sequence.}. In the example above, setting the state to DONE would actually switch the date like this: @example ** TODO Pay the rent DEADLINE: <2005-11-01 Tue +1m> @end example @vindex org-log-repeat A timestamp@footnote{You can change this using the option @code{org-log-repeat}, or the @code{#+STARTUP} options @code{logrepeat}, @code{lognoterepeat}, and @code{nologrepeat}. With @code{lognoterepeat}, you will also be prompted for a note.} will be added under the deadline, to keep a record that you actually acted on the previous instance of this deadline. As a consequence of shifting the base date, this entry will no longer be visible in the agenda when checking past dates, but all future instances will be visible. With the @samp{+1m} cookie, the date shift will always be exactly one month. So if you have not paid the rent for three months, marking this entry DONE will still keep it as an overdue deadline. Depending on the task, this may not be the best way to handle it. For example, if you forgot to call your father for 3 weeks, it does not make sense to call him 3 times in a single day to make up for it. Finally, there are tasks like changing batteries which should always repeat a certain time @i{after} the last time you did it. For these tasks, Org mode has special repeaters @samp{++} and @samp{.+}. For example: @example ** TODO Call Father DEADLINE: <2008-02-10 Sun ++1w> Marking this DONE will shift the date by at least one week, but also by as many weeks as it takes to get this date into the future. However, it stays on a Sunday, even if you called and marked it done on Saturday. ** TODO Check the batteries in the smoke detectors DEADLINE: <2005-11-01 Tue .+1m> Marking this DONE will shift the date to one month after today. @end example @vindex org-agenda-skip-scheduled-if-deadline-is-shown You may have both scheduling and deadline information for a specific task. If the repeater is set for the scheduling information only, you probably want the repeater to be ignored after the deadline. If so, set the variable @code{org-agenda-skip-scheduled-if-deadline-is-shown} to @code{repeated-after-deadline}. If you want both scheduling and deadline information to repeat after the same interval, set the same repeater for both timestamps. An alternative to using a repeater is to create a number of copies of a task subtree, with dates shifted in each copy. The command @kbd{C-c C-x c} was created for this purpose, it is described in @ref{Structure editing}. @node Clocking work time, Effort estimates, Deadlines and scheduling, Dates and Times @section Clocking work time @cindex clocking time @cindex time clocking Org mode allows you to clock the time you spend on specific tasks in a project. When you start working on an item, you can start the clock. When you stop working on that task, or when you mark the task done, the clock is stopped and the corresponding time interval is recorded. It also computes the total time spent on each subtree@footnote{Clocking only works if all headings are indented with less than 30 stars. This is a hardcoded limitation of `lmax' in `org-clock-sum'.} of a project. And it remembers a history or tasks recently clocked, to that you can jump quickly between a number of tasks absorbing your time. To save the clock history across Emacs sessions, use @lisp (setq org-clock-persist 'history) (org-clock-persistence-insinuate) @end lisp When you clock into a new task after resuming Emacs, the incomplete clock@footnote{To resume the clock under the assumption that you have worked on this task while outside Emacs, use @code{(setq org-clock-persist t)}.} will be found (@pxref{Resolving idle time}) and you will be prompted about what to do with it. @menu * Clocking commands:: Starting and stopping a clock * The clock table:: Detailed reports * Resolving idle time:: Resolving time when you've been idle @end menu @node Clocking commands, The clock table, Clocking work time, Clocking work time @subsection Clocking commands @table @kbd @orgcmd{C-c C-x C-i,org-clock-in} @vindex org-clock-into-drawer @vindex org-clock-continuously @cindex property, LOG_INTO_DRAWER Start the clock on the current item (clock-in). This inserts the CLOCK keyword together with a timestamp. If this is not the first clocking of this item, the multiple CLOCK lines will be wrapped into a @code{:LOGBOOK:} drawer (see also the variable @code{org-clock-into-drawer}). You can also overrule the setting of this variable for a subtree by setting a @code{CLOCK_INTO_DRAWER} or @code{LOG_INTO_DRAWER} property. When called with a @kbd{C-u} prefix argument, select the task from a list of recently clocked tasks. With two @kbd{C-u C-u} prefixes, clock into the task at point and mark it as the default task; the default task will then always be available with letter @kbd{d} when selecting a clocking task. With three @kbd{C-u C-u C-u} prefixes, force continuous clocking by starting the clock when the last clock stopped.@* @cindex property: CLOCK_MODELINE_TOTAL @cindex property: LAST_REPEAT @vindex org-clock-modeline-total While the clock is running, the current clocking time is shown in the mode line, along with the title of the task. The clock time shown will be all time ever clocked for this task and its children. If the task has an effort estimate (@pxref{Effort estimates}), the mode line displays the current clocking time against it@footnote{To add an effort estimate ``on the fly'', hook a function doing this to @code{org-clock-in-prepare-hook}.} If the task is a repeating one (@pxref{Repeated tasks}), only the time since the last reset of the task @footnote{as recorded by the @code{LAST_REPEAT} property} will be shown. More control over what time is shown can be exercised with the @code{CLOCK_MODELINE_TOTAL} property. It may have the values @code{current} to show only the current clocking instance, @code{today} to show all time clocked on this tasks today (see also the variable @code{org-extend-today-until}), @code{all} to include all time, or @code{auto} which is the default@footnote{See also the variable @code{org-clock-modeline-total}.}.@* Clicking with @kbd{mouse-1} onto the mode line entry will pop up a menu with clocking options. @c @orgcmd{C-c C-x C-o,org-clock-out} @vindex org-log-note-clock-out Stop the clock (clock-out). This inserts another timestamp at the same location where the clock was last started. It also directly computes the resulting time in inserts it after the time range as @samp{=> HH:MM}. See the variable @code{org-log-note-clock-out} for the possibility to record an additional note together with the clock-out timestamp@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: lognoteclock-out}}. @orgcmd{C-c C-x C-x,org-clock-in-last} @vindex org-clock-continuously Reclock the last clocked task. With one @kbd{C-u} prefix argument, select the task from the clock history. With two @kbd{C-u} prefixes, force continuous clocking by starting the clock when the last clock stopped. @orgcmd{C-c C-x C-e,org-clock-modify-effort-estimate} Update the effort estimate for the current clock task. @kindex C-c C-y @kindex C-c C-c @orgcmdkkc{C-c C-c,C-c C-y,org-evaluate-time-range} Recompute the time interval after changing one of the timestamps. This is only necessary if you edit the timestamps directly. If you change them with @kbd{S-@key{cursor}} keys, the update is automatic. @orgcmd{C-S-@key{up/down},org-clock-timestamps-up/down} On @code{CLOCK} log lines, increase/decrease both timestamps so that the clock duration keeps the same. @orgcmd{S-M-@key{up/down},org-timestamp-up/down} On @code{CLOCK} log lines, increase/decrease the timestamp at point and the one of the previous (or the next clock) timestamp by the same duration. For example, if you hit @kbd{S-M-@key{up}} to increase a clocked-out timestamp by five minutes, then the clocked-in timestamp of the next clock will be increased by five minutes. @orgcmd{C-c C-t,org-todo} Changing the TODO state of an item to DONE automatically stops the clock if it is running in this same item. @orgcmd{C-c C-x C-q,org-clock-cancel} Cancel the current clock. This is useful if a clock was started by mistake, or if you ended up working on something else. @orgcmd{C-c C-x C-j,org-clock-goto} Jump to the headline of the currently clocked in task. With a @kbd{C-u} prefix arg, select the target task from a list of recently clocked tasks. @orgcmd{C-c C-x C-d,org-clock-display} @vindex org-remove-highlights-with-change Display time summaries for each subtree in the current buffer. This puts overlays at the end of each headline, showing the total time recorded under that heading, including the time of any subheadings. You can use visibility cycling to study the tree, but the overlays disappear when you change the buffer (see variable @code{org-remove-highlights-with-change}) or press @kbd{C-c C-c}. @end table The @kbd{l} key may be used in the timeline (@pxref{Timeline}) and in the agenda (@pxref{Weekly/daily agenda}) to show which tasks have been worked on or closed during a day. @strong{Important:} note that both @code{org-clock-out} and @code{org-clock-in-last} can have a global keybinding and will not modify the window disposition. @node The clock table, Resolving idle time, Clocking commands, Clocking work time @subsection The clock table @cindex clocktable, dynamic block @cindex report, of clocked time Org mode can produce quite complex reports based on the time clocking information. Such a report is called a @emph{clock table}, because it is formatted as one or several Org tables. @table @kbd @orgcmd{C-c C-x C-r,org-clock-report} Insert a dynamic block (@pxref{Dynamic blocks}) containing a clock report as an Org mode table into the current file. When the cursor is at an existing clock table, just update it. When called with a prefix argument, jump to the first clock report in the current document and update it. The clock table always includes also trees with @code{:ARCHIVE:} tag. @orgcmdkkc{C-c C-c,C-c C-x C-u,org-dblock-update} Update dynamic block at point. The cursor needs to be in the @code{#+BEGIN} line of the dynamic block. @orgkey{C-u C-c C-x C-u} Update all dynamic blocks (@pxref{Dynamic blocks}). This is useful if you have several clock table blocks in a buffer. @orgcmdkxkc{S-@key{left},S-@key{right},org-clocktable-try-shift} Shift the current @code{:block} interval and update the table. The cursor needs to be in the @code{#+BEGIN: clocktable} line for this command. If @code{:block} is @code{today}, it will be shifted to @code{today-1} etc. @end table Here is an example of the frame for a clock table as it is inserted into the buffer with the @kbd{C-c C-x C-r} command: @cindex #+BEGIN, clocktable @example #+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file #+END: clocktable @end example @noindent @vindex org-clocktable-defaults The @samp{BEGIN} line and specify a number of options to define the scope, structure, and formatting of the report. Defaults for all these options can be configured in the variable @code{org-clocktable-defaults}. @noindent First there are options that determine which clock entries are to be selected: @example :maxlevel @r{Maximum level depth to which times are listed in the table.} @r{Clocks at deeper levels will be summed into the upper level.} :scope @r{The scope to consider. This can be any of the following:} nil @r{the current buffer or narrowed region} file @r{the full current buffer} subtree @r{the subtree where the clocktable is located} tree@var{N} @r{the surrounding level @var{N} tree, for example @code{tree3}} tree @r{the surrounding level 1 tree} agenda @r{all agenda files} ("file"..) @r{scan these files} file-with-archives @r{current file and its archives} agenda-with-archives @r{all agenda files, including archives} :block @r{The time block to consider. This block is specified either} @r{absolute, or relative to the current time and may be any of} @r{these formats:} 2007-12-31 @r{New year eve 2007} 2007-12 @r{December 2007} 2007-W50 @r{ISO-week 50 in 2007} 2007-Q2 @r{2nd quarter in 2007} 2007 @r{the year 2007} today, yesterday, today-@var{N} @r{a relative day} thisweek, lastweek, thisweek-@var{N} @r{a relative week} thismonth, lastmonth, thismonth-@var{N} @r{a relative month} thisyear, lastyear, thisyear-@var{N} @r{a relative year} @r{Use @kbd{S-@key{left}/@key{right}} keys to shift the time interval.} :tstart @r{A time string specifying when to start considering times.} @r{Relative times like @code{"<-2w>"} can also be used. See} @r{@ref{Matching tags and properties} for relative time syntax.} :tend @r{A time string specifying when to stop considering times.} @r{Relative times like @code{""} can also be used. See} @r{@ref{Matching tags and properties} for relative time syntax.} :wstart @r{The starting day of the week. The default is 1 for monday.} :mstart @r{The starting day of the month. The default 1 is for the first} @r{day of the month.} :step @r{@code{week} or @code{day}, to split the table into chunks.} @r{To use this, @code{:block} or @code{:tstart}, @code{:tend} are needed.} :stepskip0 @r{Do not show steps that have zero time.} :fileskip0 @r{Do not show table sections from files which did not contribute.} :tags @r{A tags match to select entries that should contribute. See} @r{@ref{Matching tags and properties} for the match syntax.} @end example Then there are options which determine the formatting of the table. There options are interpreted by the function @code{org-clocktable-write-default}, but you can specify your own function using the @code{:formatter} parameter. @example :emphasize @r{When @code{t}, emphasize level one and level two items.} :lang @r{Language@footnote{Language terms can be set through the variable @code{org-clock-clocktable-language-setup}.} to use for descriptive cells like "Task".} :link @r{Link the item headlines in the table to their origins.} :narrow @r{An integer to limit the width of the headline column in} @r{the org table. If you write it like @samp{50!}, then the} @r{headline will also be shortened in export.} :indent @r{Indent each headline field according to its level.} :tcolumns @r{Number of columns to be used for times. If this is smaller} @r{than @code{:maxlevel}, lower levels will be lumped into one column.} :level @r{Should a level number column be included?} :compact @r{Abbreviation for @code{:level nil :indent t :narrow 40! :tcolumns 1}} @r{All are overwritten except if there is an explicit @code{:narrow}} :timestamp @r{A timestamp for the entry, when available. Look for SCHEDULED,} @r{DEADLINE, TIMESTAMP and TIMESTAMP_IA, in this order.} :properties @r{List of properties that should be shown in the table. Each} @r{property will get its own column.} :inherit-props @r{When this flag is @code{t}, the values for @code{:properties} will be inherited.} :formula @r{Content of a @code{#+TBLFM} line to be added and evaluated.} @r{As a special case, @samp{:formula %} adds a column with % time.} @r{If you do not specify a formula here, any existing formula} @r{below the clock table will survive updates and be evaluated.} :formatter @r{A function to format clock data and insert it into the buffer.} @end example To get a clock summary of the current level 1 tree, for the current day, you could write @example #+BEGIN: clocktable :maxlevel 2 :block today :scope tree1 :link t #+END: clocktable @end example @noindent and to use a specific time range you could write@footnote{Note that all parameters must be specified in a single line---the line is broken here only to fit it into the manual.} @example #+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>" :tend "<2006-08-10 Thu 12:00>" #+END: clocktable @end example A range starting a week ago and ending right now could be written as @example #+BEGIN: clocktable :tstart "<-1w>" :tend "" #+END: clocktable @end example A summary of the current subtree with % times would be @example #+BEGIN: clocktable :scope subtree :link t :formula % #+END: clocktable @end example A horizontally compact representation of everything clocked during last week would be @example #+BEGIN: clocktable :scope agenda :block lastweek :compact t #+END: clocktable @end example @node Resolving idle time, , The clock table, Clocking work time @subsection Resolving idle time and continuous clocking @subsubheading Resolving idle time @cindex resolve idle time @vindex org-clock-x11idle-program-name @cindex idle, resolve, dangling If you clock in on a work item, and then walk away from your computer---perhaps to take a phone call---you often need to ``resolve'' the time you were away by either subtracting it from the current clock, or applying it to another one. @vindex org-clock-idle-time By customizing the variable @code{org-clock-idle-time} to some integer, such as 10 or 15, Emacs can alert you when you get back to your computer after being idle for that many minutes@footnote{On computers using Mac OS X, idleness is based on actual user idleness, not just Emacs' idle time. For X11, you can install a utility program @file{x11idle.c}, available in the @code{contrib/scripts} directory of the Org git distribution, or install the @file{xprintidle} package and set it to the variable @code{org-clock-x11idle-program-name} if you are running Debian, to get the same general treatment of idleness. On other systems, idle time refers to Emacs idle time only.}, and ask what you want to do with the idle time. There will be a question waiting for you when you get back, indicating how much idle time has passed (constantly updated with the current amount), as well as a set of choices to correct the discrepancy: @table @kbd @item k To keep some or all of the minutes and stay clocked in, press @kbd{k}. Org will ask how many of the minutes to keep. Press @key{RET} to keep them all, effectively changing nothing, or enter a number to keep that many minutes. @item K If you use the shift key and press @kbd{K}, it will keep however many minutes you request and then immediately clock out of that task. If you keep all of the minutes, this is the same as just clocking out of the current task. @item s To keep none of the minutes, use @kbd{s} to subtract all the away time from the clock, and then check back in from the moment you returned. @item S To keep none of the minutes and just clock out at the start of the away time, use the shift key and press @kbd{S}. Remember that using shift will always leave you clocked out, no matter which option you choose. @item C To cancel the clock altogether, use @kbd{C}. Note that if instead of canceling you subtract the away time, and the resulting clock amount is less than a minute, the clock will still be canceled rather than clutter up the log with an empty entry. @end table What if you subtracted those away minutes from the current clock, and now want to apply them to a new clock? Simply clock in to any task immediately after the subtraction. Org will notice that you have subtracted time ``on the books'', so to speak, and will ask if you want to apply those minutes to the next task you clock in on. There is one other instance when this clock resolution magic occurs. Say you were clocked in and hacking away, and suddenly your cat chased a mouse who scared a hamster that crashed into your UPS's power button! You suddenly lose all your buffers, but thanks to auto-save you still have your recent Org mode changes, including your last clock in. If you restart Emacs and clock into any task, Org will notice that you have a dangling clock which was never clocked out from your last session. Using that clock's starting time as the beginning of the unaccounted-for period, Org will ask how you want to resolve that time. The logic and behavior is identical to dealing with away time due to idleness; it is just happening due to a recovery event rather than a set amount of idle time. You can also check all the files visited by your Org agenda for dangling clocks at any time using @kbd{M-x org-resolve-clocks RET} (or @kbd{C-c C-x C-z}). @subsubheading Continuous clocking @cindex continuous clocking @vindex org-clock-continuously You may want to start clocking from the time when you clocked out the previous task. To enable this systematically, set @code{org-clock-continuously} to @code{t}. Each time you clock in, Org retrieves the clock-out time of the last clocked entry for this session, and start the new clock from there. If you only want this from time to time, use three universal prefix arguments with @code{org-clock-in} and two @kbd{C-u C-u} with @code{org-clock-in-last}. @node Effort estimates, Relative timer, Clocking work time, Dates and Times @section Effort estimates @cindex effort estimates @cindex property, Effort @vindex org-effort-property If you want to plan your work in a very detailed way, or if you need to produce offers with quotations of the estimated work effort, you may want to assign effort estimates to entries. If you are also clocking your work, you may later want to compare the planned effort with the actual working time, a great way to improve planning estimates. Effort estimates are stored in a special property @samp{Effort}@footnote{You may change the property being used with the variable @code{org-effort-property}.}. You can set the effort for an entry with the following commands: @table @kbd @orgcmd{C-c C-x e,org-set-effort} Set the effort estimate for the current entry. With a numeric prefix argument, set it to the Nth allowed value (see below). This command is also accessible from the agenda with the @kbd{e} key. @orgcmd{C-c C-x C-e,org-clock-modify-effort-estimate} Modify the effort estimate of the item currently being clocked. @end table Clearly the best way to work with effort estimates is through column view (@pxref{Column view}). You should start by setting up discrete values for effort estimates, and a @code{COLUMNS} format that displays these values together with clock sums (if you want to clock your time). For a specific buffer you can use @example #+PROPERTY: Effort_ALL 0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00 #+COLUMNS: %40ITEM(Task) %17Effort(Estimated Effort)@{:@} %CLOCKSUM @end example @noindent @vindex org-global-properties @vindex org-columns-default-format or, even better, you can set up these values globally by customizing the variables @code{org-global-properties} and @code{org-columns-default-format}. In particular if you want to use this setup also in the agenda, a global setup may be advised. The way to assign estimates to individual items is then to switch to column mode, and to use @kbd{S-@key{right}} and @kbd{S-@key{left}} to change the value. The values you enter will immediately be summed up in the hierarchy. In the column next to it, any clocked time will be displayed. @vindex org-agenda-columns-add-appointments-to-effort-sum If you switch to column view in the daily/weekly agenda, the effort column will summarize the estimated work effort for each day@footnote{Please note the pitfalls of summing hierarchical data in a flat list (@pxref{Agenda column view}).}, and you can use this to find space in your schedule. To get an overview of the entire part of the day that is committed, you can set the option @code{org-agenda-columns-add-appointments-to-effort-sum}. The appointments on a day that take place over a specified time interval will then also be added to the load estimate of the day. Effort estimates can be used in secondary agenda filtering that is triggered with the @kbd{/} key in the agenda (@pxref{Agenda commands}). If you have these estimates defined consistently, two or three key presses will narrow down the list to stuff that fits into an available time slot. @node Relative timer, Countdown timer, Effort estimates, Dates and Times @section Taking notes with a relative timer @cindex relative timer When taking notes during, for example, a meeting or a video viewing, it can be useful to have access to times relative to a starting time. Org provides such a relative timer and make it easy to create timed notes. @table @kbd @orgcmd{C-c C-x .,org-timer} Insert a relative time into the buffer. The first time you use this, the timer will be started. When called with a prefix argument, the timer is restarted. @orgcmd{C-c C-x -,org-timer-item} Insert a description list item with the current relative time. With a prefix argument, first reset the timer to 0. @orgcmd{M-@key{RET},org-insert-heading} Once the timer list is started, you can also use @kbd{M-@key{RET}} to insert new timer items. @c for key sequences with a comma, command name macros fail :( @kindex C-c C-x , @item C-c C-x , Pause the timer, or continue it if it is already paused (@command{org-timer-pause-or-continue}). @c removed the sentence because it is redundant to the following item @kindex C-u C-c C-x , @item C-u C-c C-x , Stop the timer. After this, you can only start a new timer, not continue the old one. This command also removes the timer from the mode line. @orgcmd{C-c C-x 0,org-timer-start} Reset the timer without inserting anything into the buffer. By default, the timer is reset to 0. When called with a @kbd{C-u} prefix, reset the timer to specific starting offset. The user is prompted for the offset, with a default taken from a timer string at point, if any, So this can be used to restart taking notes after a break in the process. When called with a double prefix argument @kbd{C-u C-u}, change all timer strings in the active region by a certain amount. This can be used to fix timer strings if the timer was not started at exactly the right moment. @end table @node Countdown timer, , Relative timer, Dates and Times @section Countdown timer @cindex Countdown timer @kindex C-c C-x ; @kindex ; Calling @code{org-timer-set-timer} from an Org mode buffer runs a countdown timer. Use @kbd{;} from agenda buffers, @key{C-c C-x ;} everywhere else. @code{org-timer-set-timer} prompts the user for a duration and displays a countdown timer in the modeline. @code{org-timer-default-timer} sets the default countdown value. Giving a prefix numeric argument overrides this default value. @node Capture - Refile - Archive, Agenda Views, Dates and Times, Top @chapter Capture - Refile - Archive @cindex capture An important part of any organization system is the ability to quickly capture new ideas and tasks, and to associate reference material with them. Org does this using a process called @i{capture}. It also can store files related to a task (@i{attachments}) in a special directory. Once in the system, tasks and projects need to be moved around. Moving completed project trees to an archive file keeps the system compact and fast. @menu * Capture:: Capturing new stuff * Attachments:: Add files to tasks * RSS Feeds:: Getting input from RSS feeds * Protocols:: External (e.g., Browser) access to Emacs and Org * Refile and copy:: Moving/copying a tree from one place to another * Archiving:: What to do with finished projects @end menu @node Capture, Attachments, Capture - Refile - Archive, Capture - Refile - Archive @section Capture @cindex capture Capture lets you quickly store notes with little interruption of your work flow. Org's method for capturing new items is heavily inspired by John Wiegley excellent @file{remember.el} package. Up to version 6.36, Org used a special setup for @file{remember.el}, then replaced it with @file{org-remember.el}. As of version 8.0, @file{org-remember.el} has been completely replaced by @file{org-capture.el}. If your configuration depends on @file{org-remember.el}, you need to update it and use the setup described below. To convert your @code{org-remember-templates}, run the command @example @kbd{M-x org-capture-import-remember-templates RET} @end example @noindent and then customize the new variable with @kbd{M-x customize-variable org-capture-templates}, check the result, and save the customization. @menu * Setting up capture:: Where notes will be stored * Using capture:: Commands to invoke and terminate capture * Capture templates:: Define the outline of different note types @end menu @node Setting up capture, Using capture, Capture, Capture @subsection Setting up capture The following customization sets a default target file for notes, and defines a global key@footnote{Please select your own key, @kbd{C-c c} is only a suggestion.} for capturing new material. @vindex org-default-notes-file @smalllisp @group (setq org-default-notes-file (concat org-directory "/notes.org")) (define-key global-map "\C-cc" 'org-capture) @end group @end smalllisp @node Using capture, Capture templates, Setting up capture, Capture @subsection Using capture @table @kbd @orgcmd{C-c c,org-capture} Call the command @code{org-capture}. Note that this keybinding is global and not active by default: you need to install it. If you have templates @cindex date tree defined @pxref{Capture templates}, it will offer these templates for selection or use a new Org outline node as the default template. It will insert the template into the target file and switch to an indirect buffer narrowed to this new node. You may then insert the information you want. @orgcmd{C-c C-c,org-capture-finalize} Once you have finished entering information into the capture buffer, @kbd{C-c C-c} will return you to the window configuration before the capture process, so that you can resume your work without further distraction. When called with a prefix arg, finalize and then jump to the captured item. @orgcmd{C-c C-w,org-capture-refile} Finalize the capture process by refiling (@pxref{Refile and copy}) the note to a different place. Please realize that this is a normal refiling command that will be executed---so the cursor position at the moment you run this command is important. If you have inserted a tree with a parent and children, first move the cursor back to the parent. Any prefix argument given to this command will be passed on to the @code{org-refile} command. @orgcmd{C-c C-k,org-capture-kill} Abort the capture process and return to the previous state. @end table You can also call @code{org-capture} in a special way from the agenda, using the @kbd{k c} key combination. With this access, any timestamps inserted by the selected capture template will default to the cursor date in the agenda, rather than to the current date. To find the locations of the last stored capture, use @code{org-capture} with prefix commands: @table @kbd @orgkey{C-u C-c c} Visit the target location of a capture template. You get to select the template in the usual way. @orgkey{C-u C-u C-c c} Visit the last stored capture item in its buffer. @end table @vindex org-capture-bookmark @cindex org-capture-last-stored You can also jump to the bookmark @code{org-capture-last-stored}, which will automatically be created unless you set @code{org-capture-bookmark} to @code{nil}. To insert the capture at point in an Org buffer, call @code{org-capture} with a @code{C-0} prefix argument. @node Capture templates, , Using capture, Capture @subsection Capture templates @cindex templates, for Capture You can use templates for different types of capture items, and for different target locations. The easiest way to create such templates is through the customize interface. @table @kbd @orgkey{C-c c C} Customize the variable @code{org-capture-templates}. @end table Before we give the formal description of template definitions, let's look at an example. Say you would like to use one template to create general TODO entries, and you want to put these entries under the heading @samp{Tasks} in your file @file{~/org/gtd.org}. Also, a date tree in the file @file{journal.org} should capture journal entries. A possible configuration would look like: @smalllisp @group (setq org-capture-templates '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks") "* TODO %?\n %i\n %a") ("j" "Journal" entry (file+datetree "~/org/journal.org") "* %?\nEntered on %U\n %i\n %a"))) @end group @end smalllisp @noindent If you then press @kbd{C-c c t}, Org will prepare the template for you like this: @example * TODO [[file:@var{link to where you initiated capture}]] @end example @noindent During expansion of the template, @code{%a} has been replaced by a link to the location from where you called the capture command. This can be extremely useful for deriving tasks from emails, for example. You fill in the task definition, press @kbd{C-c C-c} and Org returns you to the same place where you started the capture process. To define special keys to capture to a particular template without going through the interactive template selection, you can create your key binding like this: @lisp (define-key global-map "\C-cx" (lambda () (interactive) (org-capture nil "x"))) @end lisp @menu * Template elements:: What is needed for a complete template entry * Template expansion:: Filling in information about time and context * Templates in contexts:: Only show a template in a specific context @end menu @node Template elements, Template expansion, Capture templates, Capture templates @subsubsection Template elements Now lets look at the elements of a template definition. Each entry in @code{org-capture-templates} is a list with the following items: @table @var @item keys The keys that will select the template, as a string, characters only, for example @code{"a"} for a template to be selected with a single key, or @code{"bt"} for selection with two keys. When using several keys, keys using the same prefix key must be sequential in the list and preceded by a 2-element entry explaining the prefix key, for example @smalllisp ("b" "Templates for marking stuff to buy") @end smalllisp @noindent If you do not define a template for the @kbd{C} key, this key will be used to open the customize buffer for this complex variable. @item description A short string describing the template, which will be shown during selection. @item type The type of entry, a symbol. Valid values are: @table @code @item entry An Org mode node, with a headline. Will be filed as the child of the target entry or as a top-level entry. The target file should be an Org mode file. @item item A plain list item, placed in the first plain list at the target location. Again the target file should be an Org file. @item checkitem A checkbox item. This only differs from the plain list item by the default template. @item table-line a new line in the first table at the target location. Where exactly the line will be inserted depends on the properties @code{:prepend} and @code{:table-line-pos} (see below). @item plain Text to be inserted as it is. @end table @item target @vindex org-default-notes-file Specification of where the captured item should be placed. In Org mode files, targets usually define a node. Entries will become children of this node. Other types will be added to the table or list in the body of this node. Most target specifications contain a file name. If that file name is the empty string, it defaults to @code{org-default-notes-file}. A file can also be given as a variable, function, or Emacs Lisp form. Valid values are: @table @code @item (file "path/to/file") Text will be placed at the beginning or end of that file. @item (id "id of existing org entry") Filing as child of this entry, or in the body of the entry. @item (file+headline "path/to/file" "node headline") Fast configuration if the target heading is unique in the file. @item (file+olp "path/to/file" "Level 1 heading" "Level 2" ...) For non-unique headings, the full path is safer. @item (file+regexp "path/to/file" "regexp to find location") Use a regular expression to position the cursor. @item (file+datetree "path/to/file") Will create a heading in a date tree for today's date@footnote{Datetree headlines for years accept tags, so if you use both @code{* 2013 :noexport:} and @code{* 2013} in your file, the capture will refile the note to the first one matched.}. @item (file+datetree+prompt "path/to/file") Will create a heading in a date tree, but will prompt for the date. @item (file+function "path/to/file" function-finding-location) A function to find the right location in the file. @item (clock) File to the entry that is currently being clocked. @item (function function-finding-location) Most general way, write your own function to find both file and location. @end table @item template The template for creating the capture item. If you leave this empty, an appropriate default template will be used. Otherwise this is a string with escape codes, which will be replaced depending on time and context of the capture call. The string with escapes may be loaded from a template file, using the special syntax @code{(file "path/to/template")}. See below for more details. @item properties The rest of the entry is a property list of additional options. Recognized properties are: @table @code @item :prepend Normally new captured information will be appended at the target location (last child, last table line, last list item...). Setting this property will change that. @item :immediate-finish When set, do not offer to edit the information, just file it away immediately. This makes sense if the template only needs information that can be added automatically. @item :empty-lines Set this to the number of lines to insert before and after the new item. Default 0, only common other value is 1. @item :clock-in Start the clock in this item. @item :clock-keep Keep the clock running when filing the captured entry. @item :clock-resume If starting the capture interrupted a clock, restart that clock when finished with the capture. Note that @code{:clock-keep} has precedence over @code{:clock-resume}. When setting both to @code{t}, the current clock will run and the previous one will not be resumed. @item :unnarrowed Do not narrow the target buffer, simply show the full buffer. Default is to narrow it so that you only see the new material. @item :table-line-pos Specification of the location in the table where the new line should be inserted. It should be a string like @code{"II-3"} meaning that the new line should become the third line before the second horizontal separator line. @item :kill-buffer If the target file was not yet visited when capture was invoked, kill the buffer again after capture is completed. @end table @end table @node Template expansion, Templates in contexts, Template elements, Capture templates @subsubsection Template expansion In the template itself, special @kbd{%}-escapes@footnote{If you need one of these sequences literally, escape the @kbd{%} with a backslash.} allow dynamic insertion of content. The templates are expanded in the order given here: @smallexample %[@var{file}] @r{Insert the contents of the file given by @var{file}.} %(@var{sexp}) @r{Evaluate Elisp @var{sexp} and replace with the result.} @r{For convenience, %:keyword (see below) placeholders} @r{within the expression will be expanded prior to this.} @r{The sexp must return a string.} %<...> @r{The result of format-time-string on the ... format specification.} %t @r{Timestamp, date only.} %T @r{Timestamp, with date and time.} %u, %U @r{Like the above, but inactive timestamps.} %i @r{Initial content, the region when capture is called while the} @r{region is active.} @r{The entire text will be indented like @code{%i} itself.} %a @r{Annotation, normally the link created with @code{org-store-link}.} %A @r{Like @code{%a}, but prompt for the description part.} %l @r{Like %a, but only insert the literal link.} %c @r{Current kill ring head.} %x @r{Content of the X clipboard.} %k @r{Title of the currently clocked task.} %K @r{Link to the currently clocked task.} %n @r{User name (taken from @code{user-full-name}).} %f @r{File visited by current buffer when org-capture was called.} %F @r{Full path of the file or directory visited by current buffer.} %:keyword @r{Specific information for certain link types, see below.} %^g @r{Prompt for tags, with completion on tags in target file.} %^G @r{Prompt for tags, with completion all tags in all agenda files.} %^t @r{Like @code{%t}, but prompt for date. Similarly @code{%^T}, @code{%^u}, @code{%^U}.} @r{You may define a prompt like @code{%^@{Birthday@}t}.} %^C @r{Interactive selection of which kill or clip to use.} %^L @r{Like @code{%^C}, but insert as link.} %^@{@var{prop}@}p @r{Prompt the user for a value for property @var{prop}.} %^@{@var{prompt}@} @r{prompt the user for a string and replace this sequence with it.} @r{You may specify a default value and a completion table with} @r{%^@{prompt|default|completion2|completion3...@}.} @r{The arrow keys access a prompt-specific history.} %\n @r{Insert the text entered at the nth %^@{@var{prompt}@}, where @code{n} is} @r{a number, starting from 1.} %? @r{After completing the template, position cursor here.} @end smallexample @noindent For specific link types, the following keywords will be defined@footnote{If you define your own link types (@pxref{Adding hyperlink types}), any property you store with @code{org-store-link-props} can be accessed in capture templates in a similar way.}: @vindex org-from-is-user-regexp @smallexample Link type | Available keywords ---------------------------------+---------------------------------------------- bbdb | %:name %:company irc | %:server %:port %:nick vm, vm-imap, wl, mh, mew, rmail | %:type %:subject %:message-id | %:from %:fromname %:fromaddress | %:to %:toname %:toaddress | %:date @r{(message date header field)} | %:date-timestamp @r{(date as active timestamp)} | %:date-timestamp-inactive @r{(date as inactive timestamp)} | %:fromto @r{(either "to NAME" or "from NAME")@footnote{This will always be the other, not the user. See the variable @code{org-from-is-user-regexp}.}} gnus | %:group, @r{for messages also all email fields} w3, w3m | %:url info | %:file %:node calendar | %:date @end smallexample @noindent To place the cursor after template expansion use: @smallexample %? @r{After completing the template, position cursor here.} @end smallexample @node Templates in contexts, , Template expansion, Capture templates @subsubsection Templates in contexts @vindex org-capture-templates-contexts To control whether a capture template should be accessible from a specific context, you can customize @code{org-capture-templates-contexts}. Let's say for example that you have a capture template @code{"p"} for storing Gnus emails containing patches. Then you would configure this option like this: @smalllisp (setq org-capture-templates-contexts '(("p" (in-mode . "message-mode")))) @end smalllisp You can also tell that the command key @code{"p"} should refer to another template. In that case, add this command key like this: @smalllisp (setq org-capture-templates-contexts '(("p" "q" (in-mode . "message-mode")))) @end smalllisp See the docstring of the variable for more information. @node Attachments, RSS Feeds, Capture, Capture - Refile - Archive @section Attachments @cindex attachments @vindex org-attach-directory It is often useful to associate reference material with an outline node/task. Small chunks of plain text can simply be stored in the subtree of a project. Hyperlinks (@pxref{Hyperlinks}) can establish associations with files that live elsewhere on your computer or in the cloud, like emails or source code files belonging to a project. Another method is @i{attachments}, which are files located in a directory belonging to an outline node. Org uses directories named by the unique ID of each entry. These directories are located in the @file{data} directory which lives in the same directory where your Org file lives@footnote{If you move entries or Org files from one directory to another, you may want to configure @code{org-attach-directory} to contain an absolute path.}. If you initialize this directory with @code{git init}, Org will automatically commit changes when it sees them. The attachment system has been contributed to Org by John Wiegley. In cases where it seems better to do so, you can also attach a directory of your choice to an entry. You can also make children inherit the attachment directory from a parent, so that an entire subtree uses the same attached directory. @noindent The following commands deal with attachments: @table @kbd @orgcmd{C-c C-a,org-attach} The dispatcher for commands related to the attachment system. After these keys, a list of commands is displayed and you must press an additional key to select a command: @table @kbd @orgcmdtkc{a,C-c C-a a,org-attach-attach} @vindex org-attach-method Select a file and move it into the task's attachment directory. The file will be copied, moved, or linked, depending on @code{org-attach-method}. Note that hard links are not supported on all systems. @kindex C-c C-a c @kindex C-c C-a m @kindex C-c C-a l @item c/m/l Attach a file using the copy/move/link method. Note that hard links are not supported on all systems. @orgcmdtkc{n,C-c C-a n,org-attach-new} Create a new attachment as an Emacs buffer. @orgcmdtkc{z,C-c C-a z,org-attach-sync} Synchronize the current task with its attachment directory, in case you added attachments yourself. @orgcmdtkc{o,C-c C-a o,org-attach-open} @vindex org-file-apps Open current task's attachment. If there is more than one, prompt for a file name first. Opening will follow the rules set by @code{org-file-apps}. For more details, see the information on following hyperlinks (@pxref{Handling links}). @orgcmdtkc{O,C-c C-a O,org-attach-open-in-emacs} Also open the attachment, but force opening the file in Emacs. @orgcmdtkc{f,C-c C-a f,org-attach-reveal} Open the current task's attachment directory. @orgcmdtkc{F,C-c C-a F,org-attach-reveal-in-emacs} Also open the directory, but force using @command{dired} in Emacs. @orgcmdtkc{d,C-c C-a d,org-attach-delete-one} Select and delete a single attachment. @orgcmdtkc{D,C-c C-a D,org-attach-delete-all} Delete all of a task's attachments. A safer way is to open the directory in @command{dired} and delete from there. @orgcmdtkc{s,C-c C-a s,org-attach-set-directory} @cindex property, ATTACH_DIR Set a specific directory as the entry's attachment directory. This works by putting the directory path into the @code{ATTACH_DIR} property. @orgcmdtkc{i,C-c C-a i,org-attach-set-inherit} @cindex property, ATTACH_DIR_INHERIT Set the @code{ATTACH_DIR_INHERIT} property, so that children will use the same directory for attachments as the parent does. @end table @end table @node RSS Feeds, Protocols, Attachments, Capture - Refile - Archive @section RSS feeds @cindex RSS feeds @cindex Atom feeds Org can add and change entries based on information found in RSS feeds and Atom feeds. You could use this to make a task out of each new podcast in a podcast feed. Or you could use a phone-based note-creating service on the web to import tasks into Org. To access feeds, configure the variable @code{org-feed-alist}. The docstring of this variable has detailed information. Here is just an example: @smalllisp @group (setq org-feed-alist '(("Slashdot" "http://rss.slashdot.org/Slashdot/slashdot" "~/txt/org/feeds.org" "Slashdot Entries"))) @end group @end smalllisp @noindent will configure that new items from the feed provided by @code{rss.slashdot.org} will result in new entries in the file @file{~/org/feeds.org} under the heading @samp{Slashdot Entries}, whenever the following command is used: @table @kbd @orgcmd{C-c C-x g,org-feed-update-all} @item C-c C-x g Collect items from the feeds configured in @code{org-feed-alist} and act upon them. @orgcmd{C-c C-x G,org-feed-goto-inbox} Prompt for a feed name and go to the inbox configured for this feed. @end table Under the same headline, Org will create a drawer @samp{FEEDSTATUS} in which it will store information about the status of items in the feed, to avoid adding the same item several times. You should add @samp{FEEDSTATUS} to the list of drawers in that file: @example #+DRAWERS: LOGBOOK PROPERTIES FEEDSTATUS @end example For more information, including how to read atom feeds, see @file{org-feed.el} and the docstring of @code{org-feed-alist}. @node Protocols, Refile and copy, RSS Feeds, Capture - Refile - Archive @section Protocols for external access @cindex protocols, for external access @cindex emacsserver You can set up Org for handling protocol calls from outside applications that are passed to Emacs through the @file{emacsserver}. For example, you can configure bookmarks in your web browser to send a link to the current page to Org and create a note from it using capture (@pxref{Capture}). Or you could create a bookmark that will tell Emacs to open the local source file of a remote website you are looking at with the browser. See @uref{http://orgmode.org/worg/org-contrib/org-protocol.php} for detailed documentation and setup instructions. @node Refile and copy, Archiving, Protocols, Capture - Refile - Archive @section Refile and copy @cindex refiling notes @cindex copying notes When reviewing the captured data, you may want to refile or to copy some of the entries into a different list, for example into a project. Cutting, finding the right location, and then pasting the note is cumbersome. To simplify this process, you can use the following special command: @table @kbd @orgcmd{C-c M-w,org-copy} @findex org-copy Copying works like refiling, except that the original note is not deleted. @orgcmd{C-c C-w,org-refile} @findex org-refile @vindex org-reverse-note-order @vindex org-refile-targets @vindex org-refile-use-outline-path @vindex org-outline-path-complete-in-steps @vindex org-refile-allow-creating-parent-nodes @vindex org-log-refile @vindex org-refile-use-cache @vindex org-refile-keep Refile the entry or region at point. This command offers possible locations for refiling the entry and lets you select one with completion. The item (or all items in the region) is filed below the target heading as a subitem. Depending on @code{org-reverse-note-order}, it will be either the first or last subitem.@* By default, all level 1 headlines in the current buffer are considered to be targets, but you can have more complex definitions across a number of files. See the variable @code{org-refile-targets} for details. If you would like to select a location via a file-path-like completion along the outline path, see the variables @code{org-refile-use-outline-path} and @code{org-outline-path-complete-in-steps}. If you would like to be able to create new nodes as new parents for refiling on the fly, check the variable @code{org-refile-allow-creating-parent-nodes}. When the variable @code{org-log-refile}@footnote{with corresponding @code{#+STARTUP} keywords @code{logrefile}, @code{lognoterefile}, and @code{nologrefile}} is set, a timestamp or a note will be recorded when an entry has been refiled. @orgkey{C-u C-c C-w} Use the refile interface to jump to a heading. @orgcmd{C-u C-u C-c C-w,org-refile-goto-last-stored} Jump to the location where @code{org-refile} last moved a tree to. @item C-2 C-c C-w Refile as the child of the item currently being clocked. @item C-3 C-c C-w Refile and keep the entry in place. Also see @code{org-refile-keep} to make this the default behavior, and beware that this may result in duplicated @code{ID} properties. @orgcmdtkc{C-0 C-c C-w @ @r{or} @ C-u C-u C-u C-c C-w,C-0 C-c C-w,org-refile-cache-clear} Clear the target cache. Caching of refile targets can be turned on by setting @code{org-refile-use-cache}. To make the command see new possible targets, you have to clear the cache with this command. @end table @node Archiving, , Refile and copy, Capture - Refile - Archive @section Archiving @cindex archiving When a project represented by a (sub)tree is finished, you may want to move the tree out of the way and to stop it from contributing to the agenda. Archiving is important to keep your working files compact and global searches like the construction of agenda views fast. @table @kbd @orgcmd{C-c C-x C-a,org-archive-subtree-default} @vindex org-archive-default-command Archive the current entry using the command specified in the variable @code{org-archive-default-command}. @end table @menu * Moving subtrees:: Moving a tree to an archive file * Internal archiving:: Switch off a tree but keep it in the file @end menu @node Moving subtrees, Internal archiving, Archiving, Archiving @subsection Moving a tree to the archive file @cindex external archiving The most common archiving action is to move a project tree to another file, the archive file. @table @kbd @orgcmdkskc{C-c C-x C-s,C-c $,org-archive-subtree} @vindex org-archive-location Archive the subtree starting at the cursor position to the location given by @code{org-archive-location}. @orgkey{C-u C-c C-x C-s} Check if any direct children of the current headline could be moved to the archive. To do this, each subtree is checked for open TODO entries. If none are found, the command offers to move it to the archive location. If the cursor is @emph{not} on a headline when this command is invoked, the level 1 trees will be checked. @end table @cindex archive locations The default archive location is a file in the same directory as the current file, with the name derived by appending @file{_archive} to the current file name. You can also choose what heading to file archived items under, with the possibility to add them to a datetree in a file. For information and examples on how to specify the file and the heading, see the documentation string of the variable @code{org-archive-location}. There is also an in-buffer option for setting this variable, for example@footnote{For backward compatibility, the following also works: If there are several such lines in a file, each specifies the archive location for the text below it. The first such line also applies to any text before its definition. However, using this method is @emph{strongly} deprecated as it is incompatible with the outline structure of the document. The correct method for setting multiple archive locations in a buffer is using properties.}: @cindex #+ARCHIVE @example #+ARCHIVE: %s_done:: @end example @cindex property, ARCHIVE @noindent If you would like to have a special ARCHIVE location for a single entry or a (sub)tree, give the entry an @code{:ARCHIVE:} property with the location as the value (@pxref{Properties and Columns}). @vindex org-archive-save-context-info When a subtree is moved, it receives a number of special properties that record context information like the file from where the entry came, its outline path the archiving time etc. Configure the variable @code{org-archive-save-context-info} to adjust the amount of information added. @node Internal archiving, , Moving subtrees, Archiving @subsection Internal archiving If you want to just switch off (for agenda views) certain subtrees without moving them to a different file, you can use the @code{ARCHIVE tag}. A headline that is marked with the ARCHIVE tag (@pxref{Tags}) stays at its location in the outline tree, but behaves in the following way: @itemize @minus @item @vindex org-cycle-open-archived-trees It does not open when you attempt to do so with a visibility cycling command (@pxref{Visibility cycling}). You can force cycling archived subtrees with @kbd{C-@key{TAB}}, or by setting the option @code{org-cycle-open-archived-trees}. Also normal outline commands like @code{show-all} will open archived subtrees. @item @vindex org-sparse-tree-open-archived-trees During sparse tree construction (@pxref{Sparse trees}), matches in archived subtrees are not exposed, unless you configure the option @code{org-sparse-tree-open-archived-trees}. @item @vindex org-agenda-skip-archived-trees During agenda view construction (@pxref{Agenda Views}), the content of archived trees is ignored unless you configure the option @code{org-agenda-skip-archived-trees}, in which case these trees will always be included. In the agenda you can press @kbd{v a} to get archives temporarily included. @item @vindex org-export-with-archived-trees Archived trees are not exported (@pxref{Exporting}), only the headline is. Configure the details using the variable @code{org-export-with-archived-trees}. @item @vindex org-columns-skip-archived-trees Archived trees are excluded from column view unless the variable @code{org-columns-skip-archived-trees} is configured to @code{nil}. @end itemize The following commands help manage the ARCHIVE tag: @table @kbd @orgcmd{C-c C-x a,org-toggle-archive-tag} Toggle the ARCHIVE tag for the current headline. When the tag is set, the headline changes to a shadowed face, and the subtree below it is hidden. @orgkey{C-u C-c C-x a} Check if any direct children of the current headline should be archived. To do this, each subtree is checked for open TODO entries. If none are found, the command offers to set the ARCHIVE tag for the child. If the cursor is @emph{not} on a headline when this command is invoked, the level 1 trees will be checked. @orgcmd{C-@kbd{TAB},org-force-cycle-archived} Cycle a tree even if it is tagged with ARCHIVE. @orgcmd{C-c C-x A,org-archive-to-archive-sibling} Move the current entry to the @emph{Archive Sibling}. This is a sibling of the entry with the heading @samp{Archive} and the tag @samp{ARCHIVE}. The entry becomes a child of that sibling and in this way retains a lot of its original context, including inherited tags and approximate position in the outline. @end table @node Agenda Views, Markup, Capture - Refile - Archive, Top @chapter Agenda views @cindex agenda views Due to the way Org works, TODO items, time-stamped items, and tagged headlines can be scattered throughout a file or even a number of files. To get an overview of open action items, or of events that are important for a particular date, this information must be collected, sorted and displayed in an organized way. Org can select items based on various criteria and display them in a separate buffer. Seven different view types are provided: @itemize @bullet @item an @emph{agenda} that is like a calendar and shows information for specific dates, @item a @emph{TODO list} that covers all unfinished action items, @item a @emph{match view}, showings headlines based on the tags, properties, and TODO state associated with them, @item a @emph{timeline view} that shows all events in a single Org file, in time-sorted view, @item a @emph{text search view} that shows all entries from multiple files that contain specified keywords, @item a @emph{stuck projects view} showing projects that currently don't move along, and @item @emph{custom views} that are special searches and combinations of different views. @end itemize @noindent The extracted information is displayed in a special @emph{agenda buffer}. This buffer is read-only, but provides commands to visit the corresponding locations in the original Org files, and even to edit these files remotely. @vindex org-agenda-window-setup @vindex org-agenda-restore-windows-after-quit Two variables control how the agenda buffer is displayed and whether the window configuration is restored when the agenda exits: @code{org-agenda-window-setup} and @code{org-agenda-restore-windows-after-quit}. @menu * Agenda files:: Files being searched for agenda information * Agenda dispatcher:: Keyboard access to agenda views * Built-in agenda views:: What is available out of the box? * Presentation and sorting:: How agenda items are prepared for display * Agenda commands:: Remote editing of Org trees * Custom agenda views:: Defining special searches and views * Exporting Agenda Views:: Writing a view to a file * Agenda column view:: Using column view for collected entries @end menu @node Agenda files, Agenda dispatcher, Agenda Views, Agenda Views @section Agenda files @cindex agenda files @cindex files for agenda @vindex org-agenda-files The information to be shown is normally collected from all @emph{agenda files}, the files listed in the variable @code{org-agenda-files}@footnote{If the value of that variable is not a list, but a single file name, then the list of agenda files will be maintained in that external file.}. If a directory is part of this list, all files with the extension @file{.org} in this directory will be part of the list. Thus, even if you only work with a single Org file, that file should be put into the list@footnote{When using the dispatcher, pressing @kbd{<} before selecting a command will actually limit the command to the current file, and ignore @code{org-agenda-files} until the next dispatcher command.}. You can customize @code{org-agenda-files}, but the easiest way to maintain it is through the following commands @cindex files, adding to agenda list @table @kbd @orgcmd{C-c [,org-agenda-file-to-front} Add current file to the list of agenda files. The file is added to the front of the list. If it was already in the list, it is moved to the front. With a prefix argument, file is added/moved to the end. @orgcmd{C-c ],org-remove-file} Remove current file from the list of agenda files. @kindex C-, @cindex cycling, of agenda files @orgcmd{C-',org-cycle-agenda-files} @itemx C-, Cycle through agenda file list, visiting one file after the other. @kindex M-x org-iswitchb @item M-x org-iswitchb RET Command to use an @code{iswitchb}-like interface to switch to and between Org buffers. @end table @noindent The Org menu contains the current list of files and can be used to visit any of them. If you would like to focus the agenda temporarily on a file not in this list, or on just one file in the list, or even on only a subtree in a file, then this can be done in different ways. For a single agenda command, you may press @kbd{<} once or several times in the dispatcher (@pxref{Agenda dispatcher}). To restrict the agenda scope for an extended period, use the following commands: @table @kbd @orgcmd{C-c C-x <,org-agenda-set-restriction-lock} Permanently restrict the agenda to the current subtree. When with a prefix argument, or with the cursor before the first headline in a file, the agenda scope is set to the entire file. This restriction remains in effect until removed with @kbd{C-c C-x >}, or by typing either @kbd{<} or @kbd{>} in the agenda dispatcher. If there is a window displaying an agenda view, the new restriction takes effect immediately. @orgcmd{C-c C-x >,org-agenda-remove-restriction-lock} Remove the permanent restriction created by @kbd{C-c C-x <}. @end table @noindent When working with @file{speedbar.el}, you can use the following commands in the Speedbar frame: @table @kbd @orgcmdtkc{< @r{in the speedbar frame},<,org-speedbar-set-agenda-restriction} Permanently restrict the agenda to the item---either an Org file or a subtree in such a file---at the cursor in the Speedbar frame. If there is a window displaying an agenda view, the new restriction takes effect immediately. @orgcmdtkc{> @r{in the speedbar frame},>,org-agenda-remove-restriction-lock} Lift the restriction. @end table @node Agenda dispatcher, Built-in agenda views, Agenda files, Agenda Views @section The agenda dispatcher @cindex agenda dispatcher @cindex dispatching agenda commands The views are created through a dispatcher, which should be bound to a global key---for example @kbd{C-c a} (@pxref{Activation}). In the following we will assume that @kbd{C-c a} is indeed how the dispatcher is accessed and list keyboard access to commands accordingly. After pressing @kbd{C-c a}, an additional letter is required to execute a command. The dispatcher offers the following default commands: @table @kbd @item a Create the calendar-like agenda (@pxref{Weekly/daily agenda}). @item t @r{/} T Create a list of all TODO items (@pxref{Global TODO list}). @item m @r{/} M Create a list of headlines matching a TAGS expression (@pxref{Matching tags and properties}). @item L Create the timeline view for the current buffer (@pxref{Timeline}). @item s Create a list of entries selected by a boolean expression of keywords and/or regular expressions that must or must not occur in the entry. @item / @vindex org-agenda-text-search-extra-files Search for a regular expression in all agenda files and additionally in the files listed in @code{org-agenda-text-search-extra-files}. This uses the Emacs command @code{multi-occur}. A prefix argument can be used to specify the number of context lines for each match, default is 1. @item # @r{/} ! Create a list of stuck projects (@pxref{Stuck projects}). @item < Restrict an agenda command to the current buffer@footnote{For backward compatibility, you can also press @kbd{1} to restrict to the current buffer.}. After pressing @kbd{<}, you still need to press the character selecting the command. @item < < If there is an active region, restrict the following agenda command to the region. Otherwise, restrict it to the current subtree@footnote{For backward compatibility, you can also press @kbd{0} to restrict to the current region/subtree.}. After pressing @kbd{< <}, you still need to press the character selecting the command. @item * @vindex org-agenda-sticky Toggle sticky agenda views. By default, Org maintains only a single agenda buffer and rebuilds it each time you change the view, to make sure everything is always up to date. If you switch between views often and the build time bothers you, you can turn on sticky agenda buffers (make this the default by customizing the variable @code{org-agenda-sticky}). With sticky agendas, the dispatcher only switches to the selected view, you need to update it by hand with @kbd{r} or @kbd{g}. You can toggle sticky agenda view any time with @code{org-toggle-sticky-agenda}. @end table You can also define custom commands that will be accessible through the dispatcher, just like the default commands. This includes the possibility to create extended agenda buffers that contain several blocks together, for example the weekly agenda, the global TODO list and a number of special tags matches. @xref{Custom agenda views}. @node Built-in agenda views, Presentation and sorting, Agenda dispatcher, Agenda Views @section The built-in agenda views In this section we describe the built-in views. @menu * Weekly/daily agenda:: The calendar page with current tasks * Global TODO list:: All unfinished action items * Matching tags and properties:: Structured information with fine-tuned search * Timeline:: Time-sorted view for single file * Search view:: Find entries by searching for text * Stuck projects:: Find projects you need to review @end menu @node Weekly/daily agenda, Global TODO list, Built-in agenda views, Built-in agenda views @subsection The weekly/daily agenda @cindex agenda @cindex weekly agenda @cindex daily agenda The purpose of the weekly/daily @emph{agenda} is to act like a page of a paper agenda, showing all the tasks for the current week or day. @table @kbd @cindex org-agenda, command @orgcmd{C-c a a,org-agenda-list} Compile an agenda for the current week from a list of Org files. The agenda shows the entries for each day. With a numeric prefix@footnote{For backward compatibility, the universal prefix @kbd{C-u} causes all TODO entries to be listed before the agenda. This feature is deprecated, use the dedicated TODO list, or a block agenda instead (@pxref{Block agenda}).} (like @kbd{C-u 2 1 C-c a a}) you may set the number of days to be displayed. @end table @vindex org-agenda-span @vindex org-agenda-ndays @vindex org-agenda-start-day @vindex org-agenda-start-on-weekday The default number of days displayed in the agenda is set by the variable @code{org-agenda-span} (or the obsolete @code{org-agenda-ndays}). This variable can be set to any number of days you want to see by default in the agenda, or to a span name, such as @code{day}, @code{week}, @code{month} or @code{year}. For weekly agendas, the default is to start on the previous monday (see @code{org-agenda-start-on-weekday}). You can also set the start date using a date shift: @code{(setq org-agenda-start-day "+10d")} will start the agenda ten days from today in the future. Remote editing from the agenda buffer means, for example, that you can change the dates of deadlines and appointments from the agenda buffer. The commands available in the Agenda buffer are listed in @ref{Agenda commands}. @subsubheading Calendar/Diary integration @cindex calendar integration @cindex diary integration Emacs contains the calendar and diary by Edward M. Reingold. The calendar displays a three-month calendar with holidays from different countries and cultures. The diary allows you to keep track of anniversaries, lunar phases, sunrise/set, recurrent appointments (weekly, monthly) and more. In this way, it is quite complementary to Org. It can be very useful to combine output from Org with the diary. In order to include entries from the Emacs diary into Org mode's agenda, you only need to customize the variable @lisp (setq org-agenda-include-diary t) @end lisp @noindent After that, everything will happen automatically. All diary entries including holidays, anniversaries, etc., will be included in the agenda buffer created by Org mode. @key{SPC}, @key{TAB}, and @key{RET} can be used from the agenda buffer to jump to the diary file in order to edit existing diary entries. The @kbd{i} command to insert new entries for the current date works in the agenda buffer, as well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display Sunrise/Sunset times, show lunar phases and to convert to other calendars, respectively. @kbd{c} can be used to switch back and forth between calendar and agenda. If you are using the diary only for sexp entries and holidays, it is faster to not use the above setting, but instead to copy or even move the entries into an Org file. Org mode evaluates diary-style sexp entries, and does it faster because there is no overhead for first creating the diary display. Note that the sexp entries must start at the left margin, no whitespace is allowed before them. For example, the following segment of an Org file will be processed and entries will be made in the agenda: @example * Birthdays and similar stuff #+CATEGORY: Holiday %%(org-calendar-holiday) ; special function for holiday names #+CATEGORY: Ann %%(org-anniversary 1956 5 14)@footnote{@code{org-anniversary} is just like @code{diary-anniversary}, but the argument order is always according to ISO and therefore independent of the value of @code{calendar-date-style}.} Arthur Dent is %d years old %%(org-anniversary 1869 10 2) Mahatma Gandhi would be %d years old @end example @subsubheading Anniversaries from BBDB @cindex BBDB, anniversaries @cindex anniversaries, from BBDB If you are using the Big Brothers Database to store your contacts, you will very likely prefer to store anniversaries in BBDB rather than in a separate Org or diary file. Org supports this and will show BBDB anniversaries as part of the agenda. All you need to do is to add the following to one of your agenda files: @example * Anniversaries :PROPERTIES: :CATEGORY: Anniv :END: %%(org-bbdb-anniversaries) @end example You can then go ahead and define anniversaries for a BBDB record. Basically, you need to press @kbd{C-o anniversary @key{RET}} with the cursor in a BBDB record and then add the date in the format @code{YYYY-MM-DD} or @code{MM-DD}, followed by a space and the class of the anniversary (@samp{birthday} or @samp{wedding}, or a format string). If you omit the class, it will default to @samp{birthday}. Here are a few examples, the header for the file @file{org-bbdb.el} contains more detailed information. @example 1973-06-22 06-22 1955-08-02 wedding 2008-04-14 %s released version 6.01 of org mode, %d years ago @end example After a change to BBDB, or for the first agenda display during an Emacs session, the agenda display will suffer a short delay as Org updates its hash with anniversaries. However, from then on things will be very fast---much faster in fact than a long list of @samp{%%(diary-anniversary)} entries in an Org or Diary file. @subsubheading Appointment reminders @cindex @file{appt.el} @cindex appointment reminders @cindex appointment @cindex reminders Org can interact with Emacs appointments notification facility. To add the appointments of your agenda files, use the command @code{org-agenda-to-appt}. This command lets you filter through the list of your appointments and add only those belonging to a specific category or matching a regular expression. It also reads a @code{APPT_WARNTIME} property which will then override the value of @code{appt-message-warning-time} for this appointment. See the docstring for details. @node Global TODO list, Matching tags and properties, Weekly/daily agenda, Built-in agenda views @subsection The global TODO list @cindex global TODO list @cindex TODO list, global The global TODO list contains all unfinished TODO items formatted and collected into a single place. @table @kbd @orgcmd{C-c a t,org-todo-list} Show the global TODO list. This collects the TODO items from all agenda files (@pxref{Agenda Views}) into a single buffer. By default, this lists items with a state the is not a DONE state. The buffer is in @code{agenda-mode}, so there are commands to examine and manipulate the TODO entries directly from that buffer (@pxref{Agenda commands}). @orgcmd{C-c a T,org-todo-list} @cindex TODO keyword matching @vindex org-todo-keywords Like the above, but allows selection of a specific TODO keyword. You can also do this by specifying a prefix argument to @kbd{C-c a t}. You are prompted for a keyword, and you may also specify several keywords by separating them with @samp{|} as the boolean OR operator. With a numeric prefix, the Nth keyword in @code{org-todo-keywords} is selected. @kindex r The @kbd{r} key in the agenda buffer regenerates it, and you can give a prefix argument to this command to change the selected TODO keyword, for example @kbd{3 r}. If you often need a search for a specific keyword, define a custom command for it (@pxref{Agenda dispatcher}).@* Matching specific TODO keywords can also be done as part of a tags search (@pxref{Tag searches}). @end table Remote editing of TODO items means that you can change the state of a TODO entry with a single key press. The commands available in the TODO list are described in @ref{Agenda commands}. @cindex sublevels, inclusion into TODO list Normally the global TODO list simply shows all headlines with TODO keywords. This list can become very long. There are two ways to keep it more compact: @itemize @minus @item @vindex org-agenda-todo-ignore-scheduled @vindex org-agenda-todo-ignore-deadlines @vindex org-agenda-todo-ignore-timestamp @vindex org-agenda-todo-ignore-with-date Some people view a TODO item that has been @emph{scheduled} for execution or have a @emph{deadline} (@pxref{Timestamps}) as no longer @emph{open}. Configure the variables @code{org-agenda-todo-ignore-scheduled}, @code{org-agenda-todo-ignore-deadlines}, @code{org-agenda-todo-ignore-timestamp} and/or @code{org-agenda-todo-ignore-with-date} to exclude such items from the global TODO list. @item @vindex org-agenda-todo-list-sublevels TODO items may have sublevels to break up the task into subtasks. In such cases it may be enough to list only the highest level TODO headline and omit the sublevels from the global list. Configure the variable @code{org-agenda-todo-list-sublevels} to get this behavior. @end itemize @node Matching tags and properties, Timeline, Global TODO list, Built-in agenda views @subsection Matching tags and properties @cindex matching, of tags @cindex matching, of properties @cindex tags view @cindex match view If headlines in the agenda files are marked with @emph{tags} (@pxref{Tags}), or have properties (@pxref{Properties and Columns}), you can select headlines based on this metadata and collect them into an agenda buffer. The match syntax described here also applies when creating sparse trees with @kbd{C-c / m}. @table @kbd @orgcmd{C-c a m,org-tags-view} Produce a list of all headlines that match a given set of tags. The command prompts for a selection criterion, which is a boolean logic expression with tags, like @samp{+work+urgent-withboss} or @samp{work|home} (@pxref{Tags}). If you often need a specific search, define a custom command for it (@pxref{Agenda dispatcher}). @orgcmd{C-c a M,org-tags-view} @vindex org-tags-match-list-sublevels @vindex org-agenda-tags-todo-honor-ignore-options Like @kbd{C-c a m}, but only select headlines that are also TODO items in a not-DONE state and force checking subitems (see variable @code{org-tags-match-list-sublevels}). To exclude scheduled/deadline items, see the variable @code{org-agenda-tags-todo-honor-ignore-options}. Matching specific TODO keywords together with a tags match is also possible, see @ref{Tag searches}. @end table The commands available in the tags list are described in @ref{Agenda commands}. @subsubheading Match syntax @cindex Boolean logic, for tag/property searches A search string can use Boolean operators @samp{&} for @code{AND} and @samp{|} for @code{OR}@. @samp{&} binds more strongly than @samp{|}. Parentheses are not implemented. Each element in the search is either a tag, a regular expression matching tags, or an expression like @code{PROPERTY OPERATOR VALUE} with a comparison operator, accessing a property value. Each element may be preceded by @samp{-}, to select against it, and @samp{+} is syntactic sugar for positive selection. The @code{AND} operator @samp{&} is optional when @samp{+} or @samp{-} is present. Here are some examples, using only tags. @table @samp @item work Select headlines tagged @samp{:work:}. @item work&boss Select headlines tagged @samp{:work:} and @samp{:boss:}. @item +work-boss Select headlines tagged @samp{:work:}, but discard those also tagged @samp{:boss:}. @item work|laptop Selects lines tagged @samp{:work:} or @samp{:laptop:}. @item work|laptop+night Like before, but require the @samp{:laptop:} lines to be tagged also @samp{:night:}. @end table @cindex regular expressions, with tags search Instead of a tag, you may also specify a regular expression enclosed in curly braces. For example, @samp{work+@{^boss.*@}} matches headlines that contain the tag @samp{:work:} and any tag @i{starting} with @samp{boss}. @cindex group tags, as regular expressions Group tags (@pxref{Tag groups}) are expanded as regular expressions. E.g., if @samp{:work:} is a group tag for the group @samp{:work:lab:conf:}, then searching for @samp{work} will search for @samp{@{\(?:work\|lab\|conf\)@}} and searching for @samp{-work} will search for all headlines but those with one of the tag in the group (i.e., @samp{-@{\(?:work\|lab\|conf\)@}}). @cindex TODO keyword matching, with tags search @cindex level, require for tags/property match @cindex category, require for tags/property match @vindex org-odd-levels-only You may also test for properties (@pxref{Properties and Columns}) at the same time as matching tags. The properties may be real properties, or special properties that represent other metadata (@pxref{Special properties}). For example, the ``property'' @code{TODO} represents the TODO keyword of the entry and the ``property'' @code{PRIORITY} represents the PRIORITY keyword of the entry. The ITEM special property cannot currently be used in tags/property searches@footnote{But @pxref{x-agenda-skip-entry-regexp, ,skipping entries based on regexp}.}. Except the @pxref{Special properties}, one other ``property'' can also be used. @code{LEVEL} represents the level of an entry. So a search @samp{+LEVEL=3+boss-TODO="DONE"} lists all level three headlines that have the tag @samp{boss} and are @emph{not} marked with the TODO keyword DONE@. In buffers with @code{org-odd-levels-only} set, @samp{LEVEL} does not count the number of stars, but @samp{LEVEL=2} will correspond to 3 stars etc. Here are more examples: @table @samp @item work+TODO="WAITING" Select @samp{:work:}-tagged TODO lines with the specific TODO keyword @samp{WAITING}. @item work+TODO="WAITING"|home+TODO="WAITING" Waiting tasks both at work and at home. @end table When matching properties, a number of different operators can be used to test the value of a property. Here is a complex example: @example +work-boss+PRIORITY="A"+Coffee="unlimited"+Effort<2 \ +With=@{Sarah\|Denny@}+SCHEDULED>="<2008-10-11>" @end example @noindent The type of comparison will depend on how the comparison value is written: @itemize @minus @item If the comparison value is a plain number, a numerical comparison is done, and the allowed operators are @samp{<}, @samp{=}, @samp{>}, @samp{<=}, @samp{>=}, and @samp{<>}. @item If the comparison value is enclosed in double-quotes, a string comparison is done, and the same operators are allowed. @item If the comparison value is enclosed in double-quotes @emph{and} angular brackets (like @samp{DEADLINE<="<2008-12-24 18:30>"}), both values are assumed to be date/time specifications in the standard Org way, and the comparison will be done accordingly. Special values that will be recognized are @code{""} for now (including time), and @code{""}, and @code{""} for these days at 0:00 hours, i.e., without a time specification. Also strings like @code{"<+5d>"} or @code{"<-2m>"} with units @code{d}, @code{w}, @code{m}, and @code{y} for day, week, month, and year, respectively, can be used. @item If the comparison value is enclosed in curly braces, a regexp match is performed, with @samp{=} meaning that the regexp matches the property value, and @samp{<>} meaning that it does not match. @end itemize So the search string in the example finds entries tagged @samp{:work:} but not @samp{:boss:}, which also have a priority value @samp{A}, a @samp{:Coffee:} property with the value @samp{unlimited}, an @samp{Effort} property that is numerically smaller than 2, a @samp{:With:} property that is matched by the regular expression @samp{Sarah\|Denny}, and that are scheduled on or after October 11, 2008. Accessing TODO, LEVEL, and CATEGORY during a search is fast. Accessing any other properties will slow down the search. However, once you have paid the price by accessing one property, testing additional properties is cheap again. You can configure Org mode to use property inheritance during a search, but beware that this can slow down searches considerably. See @ref{Property inheritance}, for details. For backward compatibility, and also for typing speed, there is also a different way to test TODO states in a search. For this, terminate the tags/property part of the search string (which may include several terms connected with @samp{|}) with a @samp{/} and then specify a Boolean expression just for TODO keywords. The syntax is then similar to that for tags, but should be applied with care: for example, a positive selection on several TODO keywords cannot meaningfully be combined with boolean AND@. However, @emph{negative selection} combined with AND can be meaningful. To make sure that only lines are checked that actually have any TODO keyword (resulting in a speed-up), use @kbd{C-c a M}, or equivalently start the TODO part after the slash with @samp{!}. Using @kbd{C-c a M} or @samp{/!} will not match TODO keywords in a DONE state. Examples: @table @samp @item work/WAITING Same as @samp{work+TODO="WAITING"} @item work/!-WAITING-NEXT Select @samp{:work:}-tagged TODO lines that are neither @samp{WAITING} nor @samp{NEXT} @item work/!+WAITING|+NEXT Select @samp{:work:}-tagged TODO lines that are either @samp{WAITING} or @samp{NEXT}. @end table @node Timeline, Search view, Matching tags and properties, Built-in agenda views @subsection Timeline for a single file @cindex timeline, single file @cindex time-sorted view The timeline summarizes all time-stamped items from a single Org mode file in a @emph{time-sorted view}. The main purpose of this command is to give an overview over events in a project. @table @kbd @orgcmd{C-c a L,org-timeline} Show a time-sorted view of the Org file, with all time-stamped items. When called with a @kbd{C-u} prefix, all unfinished TODO entries (scheduled or not) are also listed under the current date. @end table @noindent The commands available in the timeline buffer are listed in @ref{Agenda commands}. @node Search view, Stuck projects, Timeline, Built-in agenda views @subsection Search view @cindex search view @cindex text search @cindex searching, for text This agenda view is a general text search facility for Org mode entries. It is particularly useful to find notes. @table @kbd @orgcmd{C-c a s,org-search-view} This is a special search that lets you select entries by matching a substring or specific words using a boolean logic. @end table For example, the search string @samp{computer equipment} will find entries that contain @samp{computer equipment} as a substring. If the two words are separated by more space or a line break, the search will still match. Search view can also search for specific keywords in the entry, using Boolean logic. The search string @samp{+computer +wifi -ethernet -@{8\.11[bg]@}} will search for note entries that contain the keywords @code{computer} and @code{wifi}, but not the keyword @code{ethernet}, and which are also not matched by the regular expression @code{8\.11[bg]}, meaning to exclude both 8.11b and 8.11g. The first @samp{+} is necessary to turn on word search, other @samp{+} characters are optional. For more details, see the docstring of the command @code{org-search-view}. @vindex org-agenda-text-search-extra-files Note that in addition to the agenda files, this command will also search the files listed in @code{org-agenda-text-search-extra-files}. @node Stuck projects, , Search view, Built-in agenda views @subsection Stuck projects @pindex GTD, Getting Things Done If you are following a system like David Allen's GTD to organize your work, one of the ``duties'' you have is a regular review to make sure that all projects move along. A @emph{stuck} project is a project that has no defined next actions, so it will never show up in the TODO lists Org mode produces. During the review, you need to identify such projects and define next actions for them. @table @kbd @orgcmd{C-c a #,org-agenda-list-stuck-projects} List projects that are stuck. @kindex C-c a ! @item C-c a ! @vindex org-stuck-projects Customize the variable @code{org-stuck-projects} to define what a stuck project is and how to find it. @end table You almost certainly will have to configure this view before it will work for you. The built-in default assumes that all your projects are level-2 headlines, and that a project is not stuck if it has at least one entry marked with a TODO keyword TODO or NEXT or NEXTACTION. Let's assume that you, in your own way of using Org mode, identify projects with a tag PROJECT, and that you use a TODO keyword MAYBE to indicate a project that should not be considered yet. Let's further assume that the TODO keyword DONE marks finished projects, and that NEXT and TODO indicate next actions. The tag @@SHOP indicates shopping and is a next action even without the NEXT tag. Finally, if the project contains the special word IGNORE anywhere, it should not be listed either. In this case you would start by identifying eligible projects with a tags/todo match@footnote{@xref{Tag searches}.} @samp{+PROJECT/-MAYBE-DONE}, and then check for TODO, NEXT, @@SHOP, and IGNORE in the subtree to identify projects that are not stuck. The correct customization for this is @lisp (setq org-stuck-projects '("+PROJECT/-MAYBE-DONE" ("NEXT" "TODO") ("@@SHOP") "\\")) @end lisp Note that if a project is identified as non-stuck, the subtree of this entry will still be searched for stuck projects. @node Presentation and sorting, Agenda commands, Built-in agenda views, Agenda Views @section Presentation and sorting @cindex presentation, of agenda items @vindex org-agenda-prefix-format @vindex org-agenda-tags-column Before displaying items in an agenda view, Org mode visually prepares the items and sorts them. Each item occupies a single line. The line starts with a @emph{prefix} that contains the @emph{category} (@pxref{Categories}) of the item and other important information. You can customize in which column tags will be displayed through @code{org-agenda-tags-column}. You can also customize the prefix using the option @code{org-agenda-prefix-format}. This prefix is followed by a cleaned-up version of the outline headline associated with the item. @menu * Categories:: Not all tasks are equal * Time-of-day specifications:: How the agenda knows the time * Sorting agenda items:: The order of things * Filtering/limiting agenda items:: Dynamically narrow the agenda @end menu @node Categories, Time-of-day specifications, Presentation and sorting, Presentation and sorting @subsection Categories @cindex category @cindex #+CATEGORY The category is a broad label assigned to each agenda item. By default, the category is simply derived from the file name, but you can also specify it with a special line in the buffer, like this@footnote{For backward compatibility, the following also works: if there are several such lines in a file, each specifies the category for the text below it. The first category also applies to any text before the first CATEGORY line. However, using this method is @emph{strongly} deprecated as it is incompatible with the outline structure of the document. The correct method for setting multiple categories in a buffer is using a property.}: @example #+CATEGORY: Thesis @end example @noindent @cindex property, CATEGORY If you would like to have a special CATEGORY for a single entry or a (sub)tree, give the entry a @code{:CATEGORY:} property with the special category you want to apply as the value. @noindent The display in the agenda buffer looks best if the category is not longer than 10 characters. @noindent You can set up icons for category by customizing the @code{org-agenda-category-icon-alist} variable. @node Time-of-day specifications, Sorting agenda items, Categories, Presentation and sorting @subsection Time-of-day specifications @cindex time-of-day specification Org mode checks each agenda item for a time-of-day specification. The time can be part of the timestamp that triggered inclusion into the agenda, for example as in @w{@samp{<2005-05-10 Tue 19:00>}}. Time ranges can be specified with two timestamps, like @c @w{@samp{<2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>}}. In the headline of the entry itself, a time(range) may also appear as plain text (like @samp{12:45} or a @samp{8:30-1pm}). If the agenda integrates the Emacs diary (@pxref{Weekly/daily agenda}), time specifications in diary entries are recognized as well. For agenda display, Org mode extracts the time and displays it in a standard 24 hour format as part of the prefix. The example times in the previous paragraphs would end up in the agenda like this: @example 8:30-13:00 Arthur Dent lies in front of the bulldozer 12:45...... Ford Prefect arrives and takes Arthur to the pub 19:00...... The Vogon reads his poem 20:30-22:15 Marvin escorts the Hitchhikers to the bridge @end example @cindex time grid If the agenda is in single-day mode, or for the display of today, the timed entries are embedded in a time grid, like @example 8:00...... ------------------ 8:30-13:00 Arthur Dent lies in front of the bulldozer 10:00...... ------------------ 12:00...... ------------------ 12:45...... Ford Prefect arrives and takes Arthur to the pub 14:00...... ------------------ 16:00...... ------------------ 18:00...... ------------------ 19:00...... The Vogon reads his poem 20:00...... ------------------ 20:30-22:15 Marvin escorts the Hitchhikers to the bridge @end example @vindex org-agenda-use-time-grid @vindex org-agenda-time-grid The time grid can be turned on and off with the variable @code{org-agenda-use-time-grid}, and can be configured with @code{org-agenda-time-grid}. @node Sorting agenda items, Filtering/limiting agenda items, Time-of-day specifications, Presentation and sorting @subsection Sorting agenda items @cindex sorting, of agenda items @cindex priorities, of agenda items Before being inserted into a view, the items are sorted. How this is done depends on the type of view. @itemize @bullet @item @vindex org-agenda-files For the daily/weekly agenda, the items for each day are sorted. The default order is to first collect all items containing an explicit time-of-day specification. These entries will be shown at the beginning of the list, as a @emph{schedule} for the day. After that, items remain grouped in categories, in the sequence given by @code{org-agenda-files}. Within each category, items are sorted by priority (@pxref{Priorities}), which is composed of the base priority (2000 for priority @samp{A}, 1000 for @samp{B}, and 0 for @samp{C}), plus additional increments for overdue scheduled or deadline items. @item For the TODO list, items remain in the order of categories, but within each category, sorting takes place according to priority (@pxref{Priorities}). The priority used for sorting derives from the priority cookie, with additions depending on how close an item is to its due or scheduled date. @item For tags matches, items are not sorted at all, but just appear in the sequence in which they are found in the agenda files. @end itemize @vindex org-agenda-sorting-strategy Sorting can be customized using the variable @code{org-agenda-sorting-strategy}, and may also include criteria based on the estimated effort of an entry (@pxref{Effort estimates}). @node Filtering/limiting agenda items, , Sorting agenda items, Presentation and sorting @subsection Filtering/limiting agenda items Agenda built-in or customized commands are statically defined. Agenda filters and limits provide two ways of dynamically narrowing down the list of agenda entries: @emph{fitlers} and @emph{limits}. Filters only act on the display of the items, while limits take effect before the list of agenda entries is built. Filter are more often used interactively, while limits are mostly useful when defined as local variables within custom agenda commands. @subsubheading Filtering in the agenda @cindex filtering, by tag, category, top headline and effort, in agenda @cindex tag filtering, in agenda @cindex category filtering, in agenda @cindex top headline filtering, in agenda @cindex effort filtering, in agenda @cindex query editing, in agenda @table @kbd @orgcmd{/,org-agenda-filter-by-tag} @vindex org-agenda-tag-filter-preset Filter the agenda view with respect to a tag and/or effort estimates. The difference between this and a custom agenda command is that filtering is very fast, so that you can switch quickly between different filters without having to recreate the agenda.@footnote{Custom commands can preset a filter by binding the variable @code{org-agenda-tag-filter-preset} as an option. This filter will then be applied to the view and persist as a basic filter through refreshes and more secondary filtering. The filter is a global property of the entire agenda view---in a block agenda, you should only set this in the global options section, not in the section of an individual block.} You will be prompted for a tag selection letter; @key{SPC} will mean any tag at all. Pressing @key{TAB} at that prompt will offer use completion to select a tag (including any tags that do not have a selection character). The command then hides all entries that do not contain or inherit this tag. When called with prefix arg, remove the entries that @emph{do} have the tag. A second @kbd{/} at the prompt will turn off the filter and unhide any hidden entries. If the first key you press is either @kbd{+} or @kbd{-}, the previous filter will be narrowed by requiring or forbidding the selected additional tag. Instead of pressing @kbd{+} or @kbd{-} after @kbd{/}, you can also immediately use the @kbd{\} command. @vindex org-sort-agenda-noeffort-is-high In order to filter for effort estimates, you should set up allowed efforts globally, for example @lisp (setq org-global-properties '(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00"))) @end lisp You can then filter for an effort by first typing an operator, one of @kbd{<}, @kbd{>}, and @kbd{=}, and then the one-digit index of an effort estimate in your array of allowed values, where @kbd{0} means the 10th value. The filter will then restrict to entries with effort smaller-or-equal, equal, or larger-or-equal than the selected value. If the digits 0--9 are not used as fast access keys to tags, you can also simply press the index digit directly without an operator. In this case, @kbd{<} will be assumed. For application of the operator, entries without a defined effort will be treated according to the value of @code{org-sort-agenda-noeffort-is-high}. To filter for tasks without effort definition, press @kbd{?} as the operator. Org also supports automatic, context-aware tag filtering. If the variable @code{org-agenda-auto-exclude-function} is set to a user-defined function, that function can decide which tags should be excluded from the agenda automatically. Once this is set, the @kbd{/} command then accepts @kbd{RET} as a sub-option key and runs the auto exclusion logic. For example, let's say you use a @code{Net} tag to identify tasks which need network access, an @code{Errand} tag for errands in town, and a @code{Call} tag for making phone calls. You could auto-exclude these tags based on the availability of the Internet, and outside of business hours, with something like this: @smalllisp @group (defun org-my-auto-exclude-function (tag) (and (cond ((string= tag "Net") (/= 0 (call-process "/sbin/ping" nil nil nil "-c1" "-q" "-t1" "mail.gnu.org"))) ((or (string= tag "Errand") (string= tag "Call")) (let ((hour (nth 2 (decode-time)))) (or (< hour 8) (> hour 21))))) (concat "-" tag))) (setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function) @end group @end smalllisp @orgcmd{\\,org-agenda-filter-by-tag-refine} Narrow the current agenda filter by an additional condition. When called with prefix arg, remove the entries that @emph{do} have the tag, or that do match the effort criterion. You can achieve the same effect by pressing @kbd{+} or @kbd{-} as the first key after the @kbd{/} command. @c @kindex [ @kindex ] @kindex @{ @kindex @} @item [ ] @{ @} @table @i @item @r{in} search view add new search words (@kbd{[} and @kbd{]}) or new regular expressions (@kbd{@{} and @kbd{@}}) to the query string. The opening bracket/brace will add a positive search term prefixed by @samp{+}, indicating that this search term @i{must} occur/match in the entry. The closing bracket/brace will add a negative search term which @i{must not} occur/match in the entry for it to be selected. @end table @orgcmd{<,org-agenda-filter-by-category} @vindex org-agenda-category-filter-preset Filter the current agenda view with respect to the category of the item at point. Pressing @code{<} another time will remove this filter. You can add a filter preset through the option @code{org-agenda-category-filter-preset} (see below.) @orgcmd{^,org-agenda-filter-by-top-headline} Filter the current agenda view and only display the siblings and the parent headline of the one at point. @orgcmd{=,org-agenda-filter-by-regexp} @vindex org-agenda-regexp-filter-preset Filter the agenda view by a regular expression: only show agenda entries matching the regular expression the user entered. When called with a prefix argument, it will filter @emph{out} entries matching the regexp. With two universal prefix arguments, it will remove all the regexp filters, which can be accumulated. You can add a filter preset through the option @code{org-agenda-category-filter-preset} (see below.) @orgcmd{|,org-agenda-filter-remove-all} Remove all filters in the current agenda view. @end table @subsubheading Setting limits for the agenda @cindex limits, in agenda @vindex org-agenda-max-entries @vindex org-agenda-max-effort @vindex org-agenda-max-todos @vindex org-agenda-max-tags Here is a list of options that you can set, either globally, or locally in your custom agenda views@pxref{Custom agenda views}. @table @var @item org-agenda-max-entries Limit the number of entries. @item org-agenda-max-effort Limit the duration of accumulated efforts (as minutes). @item org-agenda-max-todos Limit the number of entries with TODO keywords. @item org-agenda-max-tags Limit the number of tagged entries. @end table When set to a positive integer, each option will exclude entries from other categories: for example, @code{(setq org-agenda-max-effort 100)} will limit the agenda to 100 minutes of effort and exclude any entry that as no effort property. If you want to include entries with no effort property, use a negative value for @code{org-agenda-max-effort}. One useful setup is to use @code{org-agenda-max-entries} locally in a custom command. For example, this custom command will display the next five entries with a @code{NEXT} TODO keyword. @smalllisp (setq org-agenda-custom-commands '(("n" todo "NEXT" ((org-agenda-max-entries 5))))) @end smalllisp Once you mark one of these five entry as @code{DONE}, rebuilding the agenda will again the next five entries again, including the first entry that was excluded so far. You can also dynamically set temporary limits@footnote{Those temporary limits are lost when rebuilding the agenda.}: @table @kbd @orgcmd{~,org-agenda-limit-interactively} This prompts for the type of limit to apply and its value. @end table @node Agenda commands, Custom agenda views, Presentation and sorting, Agenda Views @section Commands in the agenda buffer @cindex commands, in agenda buffer Entries in the agenda buffer are linked back to the Org file or diary file where they originate. You are not allowed to edit the agenda buffer itself, but commands are provided to show and jump to the original entry location, and to edit the Org files ``remotely'' from the agenda buffer. In this way, all information is stored only once, removing the risk that your agenda and note files may diverge. Some commands can be executed with mouse clicks on agenda lines. For the other commands, the cursor needs to be in the desired line. @table @kbd @tsubheading{Motion} @cindex motion commands in agenda @orgcmd{n,org-agenda-next-line} Next line (same as @key{down} and @kbd{C-n}). @orgcmd{p,org-agenda-previous-line} Previous line (same as @key{up} and @kbd{C-p}). @tsubheading{View/Go to Org file} @orgcmdkkc{@key{SPC},mouse-3,org-agenda-show-and-scroll-up} Display the original location of the item in another window. With prefix arg, make sure that the entire entry is made visible in the outline, not only the heading. @c @orgcmd{L,org-agenda-recenter} Display original location and recenter that window. @c @orgcmdkkc{@key{TAB},mouse-2,org-agenda-goto} Go to the original location of the item in another window. @c @orgcmd{@key{RET},org-agenda-switch-to} Go to the original location of the item and delete other windows. @c @orgcmd{F,org-agenda-follow-mode} @vindex org-agenda-start-with-follow-mode Toggle Follow mode. In Follow mode, as you move the cursor through the agenda buffer, the other window always shows the corresponding location in the Org file. The initial setting for this mode in new agenda buffers can be set with the variable @code{org-agenda-start-with-follow-mode}. @c @orgcmd{C-c C-x b,org-agenda-tree-to-indirect-buffer} Display the entire subtree of the current item in an indirect buffer. With a numeric prefix argument N, go up to level N and then take that tree. If N is negative, go up that many levels. With a @kbd{C-u} prefix, do not remove the previously used indirect buffer. @orgcmd{C-c C-o,org-agenda-open-link} Follow a link in the entry. This will offer a selection of any links in the text belonging to the referenced Org node. If there is only one link, it will be followed without a selection prompt. @tsubheading{Change display} @cindex display changing, in agenda @kindex A @item A Interactively select another agenda view and append it to the current view. @c @kindex o @item o Delete other windows. @c @orgcmdkskc{v d,d,org-agenda-day-view} @xorgcmdkskc{v w,w,org-agenda-week-view} @xorgcmd{v t,org-agenda-fortnight-view} @xorgcmd{v m,org-agenda-month-view} @xorgcmd{v y,org-agenda-year-view} @xorgcmd{v SPC,org-agenda-reset-view} @vindex org-agenda-span Switch to day/week/month/year view. When switching to day or week view, this setting becomes the default for subsequent agenda refreshes. Since month and year views are slow to create, they do not become the default. A numeric prefix argument may be used to jump directly to a specific day of the year, ISO week, month, or year, respectively. For example, @kbd{32 d} jumps to February 1st, @kbd{9 w} to ISO week number 9. When setting day, week, or month view, a year may be encoded in the prefix argument as well. For example, @kbd{200712 w} will jump to week 12 in 2007. If such a year specification has only one or two digits, it will be mapped to the interval 1938--2037. @kbd{v @key{SPC}} will reset to what is set in @code{org-agenda-span}. @c @orgcmd{f,org-agenda-later} Go forward in time to display the following @code{org-agenda-current-span} days. For example, if the display covers a week, switch to the following week. With prefix arg, go forward that many times @code{org-agenda-current-span} days. @c @orgcmd{b,org-agenda-earlier} Go backward in time to display earlier dates. @c @orgcmd{.,org-agenda-goto-today} Go to today. @c @orgcmd{j,org-agenda-goto-date} Prompt for a date and go there. @c @orgcmd{J,org-agenda-clock-goto} Go to the currently clocked-in task @i{in the agenda buffer}. @c @orgcmd{D,org-agenda-toggle-diary} Toggle the inclusion of diary entries. See @ref{Weekly/daily agenda}. @c @orgcmdkskc{v l,l,org-agenda-log-mode} @kindex v L @vindex org-log-done @vindex org-agenda-log-mode-items Toggle Logbook mode. In Logbook mode, entries that were marked DONE while logging was on (variable @code{org-log-done}) are shown in the agenda, as are entries that have been clocked on that day. You can configure the entry types that should be included in log mode using the variable @code{org-agenda-log-mode-items}. When called with a @kbd{C-u} prefix, show all possible logbook entries, including state changes. When called with two prefix arguments @kbd{C-u C-u}, show only logging information, nothing else. @kbd{v L} is equivalent to @kbd{C-u v l}. @c @orgcmdkskc{v [,[,org-agenda-manipulate-query-add} Include inactive timestamps into the current view. Only for weekly/daily agenda and timeline views. @c @orgcmd{v a,org-agenda-archives-mode} @xorgcmd{v A,org-agenda-archives-mode 'files} Toggle Archives mode. In Archives mode, trees that are marked @code{ARCHIVED} are also scanned when producing the agenda. When you use the capital @kbd{A}, even all archive files are included. To exit archives mode, press @kbd{v a} again. @c @orgcmdkskc{v R,R,org-agenda-clockreport-mode} @vindex org-agenda-start-with-clockreport-mode @vindex org-clock-report-include-clocking-task Toggle Clockreport mode. In Clockreport mode, the daily/weekly agenda will always show a table with the clocked times for the time span and file scope covered by the current agenda view. The initial setting for this mode in new agenda buffers can be set with the variable @code{org-agenda-start-with-clockreport-mode}. By using a prefix argument when toggling this mode (i.e., @kbd{C-u R}), the clock table will not show contributions from entries that are hidden by agenda filtering@footnote{Only tags filtering will be respected here, effort filtering is ignored.}. See also the variable @code{org-clock-report-include-clocking-task}. @c @orgkey{v c} @vindex org-agenda-clock-consistency-checks Show overlapping clock entries, clocking gaps, and other clocking problems in the current agenda range. You can then visit clocking lines and fix them manually. See the variable @code{org-agenda-clock-consistency-checks} for information on how to customize the definition of what constituted a clocking problem. To return to normal agenda display, press @kbd{l} to exit Logbook mode. @c @orgcmdkskc{v E,E,org-agenda-entry-text-mode} @vindex org-agenda-start-with-entry-text-mode @vindex org-agenda-entry-text-maxlines Toggle entry text mode. In entry text mode, a number of lines from the Org outline node referenced by an agenda line will be displayed below the line. The maximum number of lines is given by the variable @code{org-agenda-entry-text-maxlines}. Calling this command with a numeric prefix argument will temporarily modify that number to the prefix value. @c @orgcmd{G,org-agenda-toggle-time-grid} @vindex org-agenda-use-time-grid @vindex org-agenda-time-grid Toggle the time grid on and off. See also the variables @code{org-agenda-use-time-grid} and @code{org-agenda-time-grid}. @c @orgcmd{r,org-agenda-redo} Recreate the agenda buffer, for example to reflect the changes after modification of the timestamps of items with @kbd{S-@key{left}} and @kbd{S-@key{right}}. When the buffer is the global TODO list, a prefix argument is interpreted to create a selective list for a specific TODO keyword. @orgcmd{g,org-agenda-redo} Same as @kbd{r}. @c @orgcmdkskc{C-x C-s,s,org-save-all-org-buffers} Save all Org buffers in the current Emacs session, and also the locations of IDs. @c @orgcmd{C-c C-x C-c,org-agenda-columns} @vindex org-columns-default-format Invoke column view (@pxref{Column view}) in the agenda buffer. The column view format is taken from the entry at point, or (if there is no entry at point), from the first entry in the agenda view. So whatever the format for that entry would be in the original buffer (taken from a property, from a @code{#+COLUMNS} line, or from the default variable @code{org-columns-default-format}), will be used in the agenda. @orgcmd{C-c C-x >,org-agenda-remove-restriction-lock} Remove the restriction lock on the agenda, if it is currently restricted to a file or subtree (@pxref{Agenda files}). @tsubheading{Secondary filtering and query editing} For a detailed description of these commands, see @pxref{Filtering/limiting agenda items}. @orgcmd{/,org-agenda-filter-by-tag} @vindex org-agenda-tag-filter-preset Filter the agenda view with respect to a tag and/or effort estimates. @orgcmd{\\,org-agenda-filter-by-tag-refine} Narrow the current agenda filter by an additional condition. @orgcmd{<,org-agenda-filter-by-category} @vindex org-agenda-category-filter-preset Filter the current agenda view with respect to the category of the item at point. Pressing @code{<} another time will remove this filter. @orgcmd{^,org-agenda-filter-by-top-headline} Filter the current agenda view and only display the siblings and the parent headline of the one at point. @orgcmd{=,org-agenda-filter-by-regexp} @vindex org-agenda-regexp-filter-preset Filter the agenda view by a regular expression: only show agenda entries matching the regular expression the user entered. When called with a prefix argument, it will filter @emph{out} entries matching the regexp. With two universal prefix arguments, it will remove all the regexp filters, which can be accumulated. You can add a filter preset through the option @code{org-agenda-category-filter-preset} (see below.) @orgcmd{|,org-agenda-filter-remove-all} Remove all filters in the current agenda view. @tsubheading{Remote editing} @cindex remote editing, from agenda @item 0--9 Digit argument. @c @cindex undoing remote-editing events @cindex remote editing, undo @orgcmd{C-_,org-agenda-undo} Undo a change due to a remote editing command. The change is undone both in the agenda buffer and in the remote buffer. @c @orgcmd{t,org-agenda-todo} Change the TODO state of the item, both in the agenda and in the original org file. @c @orgcmd{C-S-@key{right},org-agenda-todo-nextset} @orgcmd{C-S-@key{left},org-agenda-todo-previousset} Switch to the next/previous set of TODO keywords. @c @orgcmd{C-k,org-agenda-kill} @vindex org-agenda-confirm-kill Delete the current agenda item along with the entire subtree belonging to it in the original Org file. If the text to be deleted remotely is longer than one line, the kill needs to be confirmed by the user. See variable @code{org-agenda-confirm-kill}. @c @orgcmd{C-c C-w,org-agenda-refile} Refile the entry at point. @c @orgcmdkskc{C-c C-x C-a,a,org-agenda-archive-default-with-confirmation} @vindex org-archive-default-command Archive the subtree corresponding to the entry at point using the default archiving command set in @code{org-archive-default-command}. When using the @code{a} key, confirmation will be required. @c @orgcmd{C-c C-x a,org-agenda-toggle-archive-tag} Toggle the ARCHIVE tag for the current headline. @c @orgcmd{C-c C-x A,org-agenda-archive-to-archive-sibling} Move the subtree corresponding to the current entry to its @emph{archive sibling}. @c @orgcmdkskc{C-c C-x C-s,$,org-agenda-archive} Archive the subtree corresponding to the current headline. This means the entry will be moved to the configured archive location, most likely a different file. @c @orgcmd{T,org-agenda-show-tags} @vindex org-agenda-show-inherited-tags Show all tags associated with the current item. This is useful if you have turned off @code{org-agenda-show-inherited-tags}, but still want to see all tags of a headline occasionally. @c @orgcmd{:,org-agenda-set-tags} Set tags for the current headline. If there is an active region in the agenda, change a tag for all headings in the region. @c @kindex , @item , Set the priority for the current item (@command{org-agenda-priority}). Org mode prompts for the priority character. If you reply with @key{SPC}, the priority cookie is removed from the entry. @c @orgcmd{P,org-agenda-show-priority} Display weighted priority of current item. @c @orgcmdkkc{+,S-@key{up},org-agenda-priority-up} Increase the priority of the current item. The priority is changed in the original buffer, but the agenda is not resorted. Use the @kbd{r} key for this. @c @orgcmdkkc{-,S-@key{down},org-agenda-priority-down} Decrease the priority of the current item. @c @orgcmdkkc{z,C-c C-z,org-agenda-add-note} @vindex org-log-into-drawer Add a note to the entry. This note will be recorded, and then filed to the same location where state change notes are put. Depending on @code{org-log-into-drawer}, this may be inside a drawer. @c @orgcmd{C-c C-a,org-attach} Dispatcher for all command related to attachments. @c @orgcmd{C-c C-s,org-agenda-schedule} Schedule this item. With prefix arg remove the scheduling timestamp @c @orgcmd{C-c C-d,org-agenda-deadline} Set a deadline for this item. With prefix arg remove the deadline. @c @orgcmd{S-@key{right},org-agenda-do-date-later} Change the timestamp associated with the current line by one day into the future. If the date is in the past, the first call to this command will move it to today.@* With a numeric prefix argument, change it by that many days. For example, @kbd{3 6 5 S-@key{right}} will change it by a year. With a @kbd{C-u} prefix, change the time by one hour. If you immediately repeat the command, it will continue to change hours even without the prefix arg. With a double @kbd{C-u C-u} prefix, do the same for changing minutes.@* The stamp is changed in the original Org file, but the change is not directly reflected in the agenda buffer. Use @kbd{r} or @kbd{g} to update the buffer. @c @orgcmd{S-@key{left},org-agenda-do-date-earlier} Change the timestamp associated with the current line by one day into the past. @c @orgcmd{>,org-agenda-date-prompt} Change the timestamp associated with the current line. The key @kbd{>} has been chosen, because it is the same as @kbd{S-.} on my keyboard. @c @orgcmd{I,org-agenda-clock-in} Start the clock on the current item. If a clock is running already, it is stopped first. @c @orgcmd{O,org-agenda-clock-out} Stop the previously started clock. @c @orgcmd{X,org-agenda-clock-cancel} Cancel the currently running clock. @c @orgcmd{J,org-agenda-clock-goto} Jump to the running clock in another window. @c @orgcmd{k,org-agenda-capture} Like @code{org-capture}, but use the date at point as the default date for the capture template. See @code{org-capture-use-agenda-date} to make this the default behavior of @code{org-capture}. @cindex capturing, from agenda @vindex org-capture-use-agenda-date @tsubheading{Dragging agenda lines forward/backward} @cindex dragging, agenda lines @orgcmd{M-,org-agenda-drag-line-backward} Drag the line at point backward one line@footnote{Moving agenda lines does not persist after an agenda refresh and does not modify the contributing @file{.org} files}. With a numeric prefix argument, drag backward by that many lines. @orgcmd{M-,org-agenda-drag-line-forward} Drag the line at point forward one line. With a numeric prefix argument, drag forward by that many lines. @tsubheading{Bulk remote editing selected entries} @cindex remote editing, bulk, from agenda @vindex org-agenda-bulk-custom-functions @orgcmd{m,org-agenda-bulk-mark} Mark the entry at point for bulk action. With numeric prefix argument, mark that many successive entries. @c @orgcmd{*,org-agenda-bulk-mark-all} Mark all visible agenda entries for bulk action. @c @orgcmd{u,org-agenda-bulk-unmark} Unmark entry at point for bulk action. @c @orgcmd{U,org-agenda-bulk-remove-all-marks} Unmark all marked entries for bulk action. @c @orgcmd{M-m,org-agenda-bulk-toggle} Toggle mark of the entry at point for bulk action. @c @orgcmd{M-*,org-agenda-bulk-toggle-all} Toggle marks of all visible entries for bulk action. @c @orgcmd{%,org-agenda-bulk-mark-regexp} Mark entries matching a regular expression for bulk action. @c @orgcmd{B,org-agenda-bulk-action} Bulk action: act on all marked entries in the agenda. This will prompt for another key to select the action to be applied. The prefix arg to @kbd{B} will be passed through to the @kbd{s} and @kbd{d} commands, to bulk-remove these special timestamps. By default, marks are removed after the bulk. If you want them to persist, set @code{org-agenda-bulk-persistent-marks} to @code{t} or hit @kbd{p} at the prompt. @table @kbd @item * Toggle persistent marks. @item $ Archive all selected entries. @item A Archive entries by moving them to their respective archive siblings. @item t Change TODO state. This prompts for a single TODO keyword and changes the state of all selected entries, bypassing blocking and suppressing logging notes (but not timestamps). @item + Add a tag to all selected entries. @item - Remove a tag from all selected entries. @item s Schedule all items to a new date. To shift existing schedule dates by a fixed number of days, use something starting with double plus at the prompt, for example @samp{++8d} or @samp{++2w}. @item d Set deadline to a specific date. @item r Prompt for a single refile target and move all entries. The entries will no longer be in the agenda; refresh (@kbd{g}) to bring them back. @item S Reschedule randomly into the coming N days. N will be prompted for. With prefix arg (@kbd{C-u B S}), scatter only across weekdays. @item f Apply a function@footnote{You can also create persistent custom functions through @code{org-agenda-bulk-custom-functions}.} to marked entries. For example, the function below sets the CATEGORY property of the entries to web. @lisp @group (defun set-category () (interactive "P") (let* ((marker (or (org-get-at-bol 'org-hd-marker) (org-agenda-error))) (buffer (marker-buffer marker))) (with-current-buffer buffer (save-excursion (save-restriction (widen) (goto-char marker) (org-back-to-heading t) (org-set-property "CATEGORY" "web")))))) @end group @end lisp @end table @tsubheading{Calendar commands} @cindex calendar commands, from agenda @orgcmd{c,org-agenda-goto-calendar} Open the Emacs calendar and move to the date at the agenda cursor. @c @orgcmd{c,org-calendar-goto-agenda} When in the calendar, compute and show the Org mode agenda for the date at the cursor. @c @cindex diary entries, creating from agenda @orgcmd{i,org-agenda-diary-entry} @vindex org-agenda-diary-file Insert a new entry into the diary, using the date at the cursor and (for block entries) the date at the mark. This will add to the Emacs diary file@footnote{This file is parsed for the agenda when @code{org-agenda-include-diary} is set.}, in a way similar to the @kbd{i} command in the calendar. The diary file will pop up in another window, where you can add the entry. If you configure @code{org-agenda-diary-file} to point to an Org mode file, Org will create entries (in Org mode syntax) in that file instead. Most entries will be stored in a date-based outline tree that will later make it easy to archive appointments from previous months/years. The tree will be built under an entry with a @code{DATE_TREE} property, or else with years as top-level entries. Emacs will prompt you for the entry text---if you specify it, the entry will be created in @code{org-agenda-diary-file} without further interaction. If you directly press @key{RET} at the prompt without typing text, the target file will be shown in another window for you to finish the entry there. See also the @kbd{k r} command. @c @orgcmd{M,org-agenda-phases-of-moon} Show the phases of the moon for the three months around current date. @c @orgcmd{S,org-agenda-sunrise-sunset} Show sunrise and sunset times. The geographical location must be set with calendar variables, see the documentation for the Emacs calendar. @c @orgcmd{C,org-agenda-convert-date} Convert the date at cursor into many other cultural and historic calendars. @c @orgcmd{H,org-agenda-holidays} Show holidays for three months around the cursor date. @item M-x org-icalendar-combine-agenda-files RET Export a single iCalendar file containing entries from all agenda files. This is a globally available command, and also available in the agenda menu. @tsubheading{Exporting to a file} @orgcmd{C-x C-w,org-agenda-write} @cindex exporting agenda views @cindex agenda views, exporting @vindex org-agenda-exporter-settings Write the agenda view to a file. Depending on the extension of the selected file name, the view will be exported as HTML (@file{.html} or @file{.htm}), Postscript (@file{.ps}), PDF (@file{.pdf}), Org (@file{.org}) and plain text (any other extension). When exporting to Org, only the body of original headlines are exported, not subtrees or inherited tags. When called with a @kbd{C-u} prefix argument, immediately open the newly created file. Use the variable @code{org-agenda-exporter-settings} to set options for @file{ps-print} and for @file{htmlize} to be used during export. @tsubheading{Quit and Exit} @orgcmd{q,org-agenda-quit} Quit agenda, remove the agenda buffer. @c @cindex agenda files, removing buffers @orgcmd{x,org-agenda-exit} Exit agenda, remove the agenda buffer and all buffers loaded by Emacs for the compilation of the agenda. Buffers created by the user to visit Org files will not be removed. @end table @node Custom agenda views, Exporting Agenda Views, Agenda commands, Agenda Views @section Custom agenda views @cindex custom agenda views @cindex agenda views, custom Custom agenda commands serve two purposes: to store and quickly access frequently used TODO and tags searches, and to create special composite agenda buffers. Custom agenda commands will be accessible through the dispatcher (@pxref{Agenda dispatcher}), just like the default commands. @menu * Storing searches:: Type once, use often * Block agenda:: All the stuff you need in a single buffer * Setting Options:: Changing the rules @end menu @node Storing searches, Block agenda, Custom agenda views, Custom agenda views @subsection Storing searches The first application of custom searches is the definition of keyboard shortcuts for frequently used searches, either creating an agenda buffer, or a sparse tree (the latter covering of course only the current buffer). @kindex C-c a C @vindex org-agenda-custom-commands @cindex agenda views, main example @cindex agenda, as an agenda views @cindex agenda*, as an agenda views @cindex tags, as an agenda view @cindex todo, as an agenda view @cindex tags-todo @cindex todo-tree @cindex occur-tree @cindex tags-tree Custom commands are configured in the variable @code{org-agenda-custom-commands}. You can customize this variable, for example by pressing @kbd{C-c a C}. You can also directly set it with Emacs Lisp in @file{.emacs}. The following example contains all valid agenda views: @lisp @group (setq org-agenda-custom-commands '(("x" agenda) ("y" agenda*) ("w" todo "WAITING") ("W" todo-tree "WAITING") ("u" tags "+boss-urgent") ("v" tags-todo "+boss-urgent") ("U" tags-tree "+boss-urgent") ("f" occur-tree "\\") ("h" . "HOME+Name tags searches") ; description for "h" prefix ("hl" tags "+home+Lisa") ("hp" tags "+home+Peter") ("hk" tags "+home+Kim"))) @end group @end lisp @noindent The initial string in each entry defines the keys you have to press after the dispatcher command @kbd{C-c a} in order to access the command. Usually this will be just a single character, but if you have many similar commands, you can also define two-letter combinations where the first character is the same in several combinations and serves as a prefix key@footnote{You can provide a description for a prefix key by inserting a cons cell with the prefix and the description.}. The second parameter is the search type, followed by the string or regular expression to be used for the matching. The example above will therefore define: @table @kbd @item C-c a x as a global search for agenda entries planned@footnote{@emph{Planned} means here that these entries have some planning information attached to them, like a time-stamp, a scheduled or a deadline string. See @code{org-agenda-entry-types} on how to set what planning information will be taken into account.} this week/day. @item C-c a y as a global search for agenda entries planned this week/day, but only those with an hour specification like @code{[h]h:mm}---think of them as appointments. @item C-c a w as a global search for TODO entries with @samp{WAITING} as the TODO keyword @item C-c a W as the same search, but only in the current buffer and displaying the results as a sparse tree @item C-c a u as a global tags search for headlines marked @samp{:boss:} but not @samp{:urgent:} @item C-c a v as the same search as @kbd{C-c a u}, but limiting the search to headlines that are also TODO items @item C-c a U as the same search as @kbd{C-c a u}, but only in the current buffer and displaying the result as a sparse tree @item C-c a f to create a sparse tree (again: current buffer only) with all entries containing the word @samp{FIXME} @item C-c a h as a prefix command for a HOME tags search where you have to press an additional key (@kbd{l}, @kbd{p} or @kbd{k}) to select a name (Lisa, Peter, or Kim) as additional tag to match. @end table Note that the @code{*-tree} agenda views need to be called from an Org buffer as they operate on the current buffer only. @node Block agenda, Setting Options, Storing searches, Custom agenda views @subsection Block agenda @cindex block agenda @cindex agenda, with block views Another possibility is the construction of agenda views that comprise the results of @emph{several} commands, each of which creates a block in the agenda buffer. The available commands include @code{agenda} for the daily or weekly agenda (as created with @kbd{C-c a a}), @code{alltodo} for the global TODO list (as constructed with @kbd{C-c a t}), and the matching commands discussed above: @code{todo}, @code{tags}, and @code{tags-todo}. Here are two examples: @lisp @group (setq org-agenda-custom-commands '(("h" "Agenda and Home-related tasks" ((agenda "") (tags-todo "home") (tags "garden"))) ("o" "Agenda and Office-related tasks" ((agenda "") (tags-todo "work") (tags "office"))))) @end group @end lisp @noindent This will define @kbd{C-c a h} to create a multi-block view for stuff you need to attend to at home. The resulting agenda buffer will contain your agenda for the current week, all TODO items that carry the tag @samp{home}, and also all lines tagged with @samp{garden}. Finally the command @kbd{C-c a o} provides a similar view for office tasks. @node Setting Options, , Block agenda, Custom agenda views @subsection Setting options for custom commands @cindex options, for custom agenda views @vindex org-agenda-custom-commands Org mode contains a number of variables regulating agenda construction and display. The global variables define the behavior for all agenda commands, including the custom commands. However, if you want to change some settings just for a single custom view, you can do so. Setting options requires inserting a list of variable names and values at the right spot in @code{org-agenda-custom-commands}. For example: @lisp @group (setq org-agenda-custom-commands '(("w" todo "WAITING" ((org-agenda-sorting-strategy '(priority-down)) (org-agenda-prefix-format " Mixed: "))) ("U" tags-tree "+boss-urgent" ((org-show-following-heading nil) (org-show-hierarchy-above nil))) ("N" search "" ((org-agenda-files '("~org/notes.org")) (org-agenda-text-search-extra-files nil))))) @end group @end lisp @noindent Now the @kbd{C-c a w} command will sort the collected entries only by priority, and the prefix format is modified to just say @samp{ Mixed: } instead of giving the category of the entry. The sparse tags tree of @kbd{C-c a U} will now turn out ultra-compact, because neither the headline hierarchy above the match, nor the headline following the match will be shown. The command @kbd{C-c a N} will do a text search limited to only a single file. @vindex org-agenda-custom-commands For command sets creating a block agenda, @code{org-agenda-custom-commands} has two separate spots for setting options. You can add options that should be valid for just a single command in the set, and options that should be valid for all commands in the set. The former are just added to the command entry; the latter must come after the list of command entries. Going back to the block agenda example (@pxref{Block agenda}), let's change the sorting strategy for the @kbd{C-c a h} commands to @code{priority-down}, but let's sort the results for GARDEN tags query in the opposite order, @code{priority-up}. This would look like this: @lisp @group (setq org-agenda-custom-commands '(("h" "Agenda and Home-related tasks" ((agenda) (tags-todo "home") (tags "garden" ((org-agenda-sorting-strategy '(priority-up))))) ((org-agenda-sorting-strategy '(priority-down)))) ("o" "Agenda and Office-related tasks" ((agenda) (tags-todo "work") (tags "office"))))) @end group @end lisp As you see, the values and parentheses setting is a little complex. When in doubt, use the customize interface to set this variable---it fully supports its structure. Just one caveat: when setting options in this interface, the @emph{values} are just Lisp expressions. So if the value is a string, you need to add the double-quotes around the value yourself. @vindex org-agenda-custom-commands-contexts To control whether an agenda command should be accessible from a specific context, you can customize @code{org-agenda-custom-commands-contexts}. Let's say for example that you have an agenda commands @code{"o"} displaying a view that you only need when reading emails. Then you would configure this option like this: @lisp (setq org-agenda-custom-commands-contexts '(("o" (in-mode . "message-mode")))) @end lisp You can also tell that the command key @code{"o"} should refer to another command key @code{"r"}. In that case, add this command key like this: @lisp (setq org-agenda-custom-commands-contexts '(("o" "r" (in-mode . "message-mode")))) @end lisp See the docstring of the variable for more information. @node Exporting Agenda Views, Agenda column view, Custom agenda views, Agenda Views @section Exporting Agenda Views @cindex agenda views, exporting If you are away from your computer, it can be very useful to have a printed version of some agenda views to carry around. Org mode can export custom agenda views as plain text, HTML@footnote{You need to install Hrvoje Niksic's @file{htmlize.el}.}, Postscript, PDF@footnote{To create PDF output, the ghostscript @file{ps2pdf} utility must be installed on the system. Selecting a PDF file will also create the postscript file.}, and iCalendar files. If you want to do this only occasionally, use the command @table @kbd @orgcmd{C-x C-w,org-agenda-write} @cindex exporting agenda views @cindex agenda views, exporting @vindex org-agenda-exporter-settings Write the agenda view to a file. Depending on the extension of the selected file name, the view will be exported as HTML (extension @file{.html} or @file{.htm}), Postscript (extension @file{.ps}), iCalendar (extension @file{.ics}), or plain text (any other extension). Use the variable @code{org-agenda-exporter-settings} to set options for @file{ps-print} and for @file{htmlize} to be used during export, for example @vindex org-agenda-add-entry-text-maxlines @vindex htmlize-output-type @vindex ps-number-of-columns @vindex ps-landscape-mode @lisp (setq org-agenda-exporter-settings '((ps-number-of-columns 2) (ps-landscape-mode t) (org-agenda-add-entry-text-maxlines 5) (htmlize-output-type 'css))) @end lisp @end table If you need to export certain agenda views frequently, you can associate any custom agenda command with a list of output file names @footnote{If you want to store standard views like the weekly agenda or the global TODO list as well, you need to define custom commands for them in order to be able to specify file names.}. Here is an example that first defines custom commands for the agenda and the global TODO list, together with a number of files to which to export them. Then we define two block agenda commands and specify file names for them as well. File names can be relative to the current working directory, or absolute. @lisp @group (setq org-agenda-custom-commands '(("X" agenda "" nil ("agenda.html" "agenda.ps")) ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps")) ("h" "Agenda and Home-related tasks" ((agenda "") (tags-todo "home") (tags "garden")) nil ("~/views/home.html")) ("o" "Agenda and Office-related tasks" ((agenda) (tags-todo "work") (tags "office")) nil ("~/views/office.ps" "~/calendars/office.ics")))) @end group @end lisp The extension of the file name determines the type of export. If it is @file{.html}, Org mode will use the @file{htmlize.el} package to convert the buffer to HTML and save it to this file name. If the extension is @file{.ps}, @code{ps-print-buffer-with-faces} is used to produce Postscript output. If the extension is @file{.ics}, iCalendar export is run export over all files that were used to construct the agenda, and limit the export to entries listed in the agenda. Any other extension produces a plain ASCII file. The export files are @emph{not} created when you use one of those commands interactively because this might use too much overhead. Instead, there is a special command to produce @emph{all} specified files in one step: @table @kbd @orgcmd{C-c a e,org-store-agenda-views} Export all agenda views that have export file names associated with them. @end table You can use the options section of the custom agenda commands to also set options for the export commands. For example: @lisp (setq org-agenda-custom-commands '(("X" agenda "" ((ps-number-of-columns 2) (ps-landscape-mode t) (org-agenda-prefix-format " [ ] ") (org-agenda-with-colors nil) (org-agenda-remove-tags t)) ("theagenda.ps")))) @end lisp @noindent This command sets two options for the Postscript exporter, to make it print in two columns in landscape format---the resulting page can be cut in two and then used in a paper agenda. The remaining settings modify the agenda prefix to omit category and scheduling information, and instead include a checkbox to check off items. We also remove the tags to make the lines compact, and we don't want to use colors for the black-and-white printer. Settings specified in @code{org-agenda-exporter-settings} will also apply, but the settings in @code{org-agenda-custom-commands} take precedence. @noindent From the command line you may also use @example emacs -eval (org-batch-store-agenda-views) -kill @end example @noindent or, if you need to modify some parameters@footnote{Quoting depends on the system you use, please check the FAQ for examples.} @example emacs -eval '(org-batch-store-agenda-views \ org-agenda-span (quote month) \ org-agenda-start-day "2007-11-01" \ org-agenda-include-diary nil \ org-agenda-files (quote ("~/org/project.org")))' \ -kill @end example @noindent which will create the agenda views restricted to the file @file{~/org/project.org}, without diary entries and with a 30-day extent. You can also extract agenda information in a way that allows further processing by other programs. See @ref{Extracting agenda information}, for more information. @node Agenda column view, , Exporting Agenda Views, Agenda Views @section Using column view in the agenda @cindex column view, in agenda @cindex agenda, column view Column view (@pxref{Column view}) is normally used to view and edit properties embedded in the hierarchical structure of an Org file. It can be quite useful to use column view also from the agenda, where entries are collected by certain criteria. @table @kbd @orgcmd{C-c C-x C-c,org-agenda-columns} Turn on column view in the agenda. @end table To understand how to use this properly, it is important to realize that the entries in the agenda are no longer in their proper outline environment. This causes the following issues: @enumerate @item @vindex org-columns-default-format @vindex org-overriding-columns-format Org needs to make a decision which @code{COLUMNS} format to use. Since the entries in the agenda are collected from different files, and different files may have different @code{COLUMNS} formats, this is a non-trivial problem. Org first checks if the variable @code{org-agenda-overriding-columns-format} is currently set, and if so, takes the format from there. Otherwise it takes the format associated with the first item in the agenda, or, if that item does not have a specific format (defined in a property, or in its file), it uses @code{org-columns-default-format}. @item @cindex property, special, CLOCKSUM If any of the columns has a summary type defined (@pxref{Column attributes}), turning on column view in the agenda will visit all relevant agenda files and make sure that the computations of this property are up to date. This is also true for the special @code{CLOCKSUM} property. Org will then sum the values displayed in the agenda. In the daily/weekly agenda, the sums will cover a single day; in all other views they cover the entire block. It is vital to realize that the agenda may show the same entry @emph{twice} (for example as scheduled and as a deadline), and it may show two entries from the same hierarchy (for example a @emph{parent} and its @emph{child}). In these cases, the summation in the agenda will lead to incorrect results because some values will count double. @item When the column view in the agenda shows the @code{CLOCKSUM}, that is always the entire clocked time for this item. So even in the daily/weekly agenda, the clocksum listed in column view may originate from times outside the current view. This has the advantage that you can compare these values with a column listing the planned total effort for a task---one of the major applications for column view in the agenda. If you want information about clocked time in the displayed period use clock table mode (press @kbd{R} in the agenda). @item @cindex property, special, CLOCKSUM_T When the column view in the agenda shows the @code{CLOCKSUM_T}, that is always today's clocked time for this item. So even in the weekly agenda, the clocksum listed in column view only originates from today. This lets you compare the time you spent on a task for today, with the time already spent (via @code{CLOCKSUM}) and with the planned total effort for it. @end enumerate @node Markup, Exporting, Agenda Views, Top @chapter Markup for rich export When exporting Org mode documents, the exporter tries to reflect the structure of the document as accurately as possible in the back-end. Since export targets like HTML, @LaTeX{} allow much richer formatting, Org mode has rules on how to prepare text for rich export. This section summarizes the markup rules used in an Org mode buffer. @menu * Structural markup elements:: The basic structure as seen by the exporter * Images and tables:: Images, tables and caption mechanism * Literal examples:: Source code examples with special formatting * Include files:: Include additional files into a document * Index entries:: Making an index * Macro replacement:: Use macros to create templates * Embedded @LaTeX{}:: LaTeX can be freely used inside Org documents * Special blocks:: Containers targeted at export back-ends @end menu @node Structural markup elements, Images and tables, Markup, Markup @section Structural markup elements @menu * Document title:: Where the title is taken from * Headings and sections:: The document structure as seen by the exporter * Table of contents:: The if and where of the table of contents * Lists:: Lists * Paragraphs:: Paragraphs * Footnote markup:: Footnotes * Emphasis and monospace:: Bold, italic, etc. * Horizontal rules:: Make a line * Comment lines:: What will *not* be exported @end menu @node Document title, Headings and sections, Structural markup elements, Structural markup elements @subheading Document title @cindex document title, markup rules @noindent The title of the exported document is taken from the special line @cindex #+TITLE @example #+TITLE: This is the title of the document @end example @noindent If this line does not exist, the title will be the name of the file associated to buffer, without extension, or the buffer name. @cindex property, EXPORT_TITLE If you are exporting only a subtree, its heading will become the title of the document. If the subtree has a property @code{EXPORT_TITLE}, that will take precedence. @node Headings and sections, Table of contents, Document title, Structural markup elements @subheading Headings and sections @cindex headings and sections, markup rules @vindex org-export-headline-levels The outline structure of the document as described in @ref{Document Structure}, forms the basis for defining sections of the exported document. However, since the outline structure is also used for (for example) lists of tasks, only the first three outline levels will be used as headings. Deeper levels will become itemized lists. You can change the location of this switch globally by setting the variable @code{org-export-headline-levels}, or on a per-file basis with a line @cindex #+OPTIONS @example #+OPTIONS: H:4 @end example @node Table of contents, Lists, Headings and sections, Structural markup elements @subheading Table of contents @cindex table of contents, markup rules @cindex #+TOC @vindex org-export-with-toc The table of contents is normally inserted directly before the first headline of the file. The depth of the table is by default the same as the number of headline levels, but you can choose a smaller number, or turn off the table of contents entirely, by configuring the variable @code{org-export-with-toc}, or on a per-file basis with a line like @example #+OPTIONS: toc:2 (only to two levels in TOC) #+OPTIONS: toc:nil (no default TOC at all) @end example If you would like to move the table of contents to a different location, you should turn off the default table using @code{org-export-with-toc} or @code{#+OPTIONS} and insert @code{#+TOC: headlines N} at the desired location(s). @example #+OPTIONS: toc:nil (no default TOC) ... #+TOC: headlines 2 (insert TOC here, with two headline levels) @end example Multiple @code{#+TOC: headline} lines are allowed. The same @code{TOC} keyword can also generate a list of all tables (resp.@: all listings) with a caption in the buffer. @example #+TOC: listings (build a list of listings) #+TOC: tables (build a list of tables) @end example @cindex property, ALT_TITLE The headline's title usually determines its corresponding entry in a table of contents. However, it is possible to specify an alternative title by setting @code{ALT_TITLE} property accordingly. It will then be used when building the table. @node Lists, Paragraphs, Table of contents, Structural markup elements @subheading Lists @cindex lists, markup rules Plain lists as described in @ref{Plain lists}, are translated to the back-end's syntax for such lists. Most back-ends support unordered, ordered, and description lists. @node Paragraphs, Footnote markup, Lists, Structural markup elements @subheading Paragraphs, line breaks, and quoting @cindex paragraphs, markup rules Paragraphs are separated by at least one empty line. If you need to enforce a line break within a paragraph, use @samp{\\} at the end of a line. To keep the line breaks in a region, but otherwise use normal formatting, you can use this construct, which can also be used to format poetry. @cindex #+BEGIN_VERSE @example #+BEGIN_VERSE Great clouds overhead Tiny black birds rise and fall Snow covers Emacs -- AlexSchroeder #+END_VERSE @end example When quoting a passage from another document, it is customary to format this as a paragraph that is indented on both the left and the right margin. You can include quotations in Org mode documents like this: @cindex #+BEGIN_QUOTE @example #+BEGIN_QUOTE Everything should be made as simple as possible, but not any simpler -- Albert Einstein #+END_QUOTE @end example If you would like to center some text, do it like this: @cindex #+BEGIN_CENTER @example #+BEGIN_CENTER Everything should be made as simple as possible, \\ but not any simpler #+END_CENTER @end example @node Footnote markup, Emphasis and monospace, Paragraphs, Structural markup elements @subheading Footnote markup @cindex footnotes, markup rules @cindex @file{footnote.el} Footnotes defined in the way described in @ref{Footnotes}, will be exported by all back-ends. Org allows multiple references to the same note, and multiple footnotes side by side. @node Emphasis and monospace, Horizontal rules, Footnote markup, Structural markup elements @subheading Emphasis and monospace @cindex underlined text, markup rules @cindex bold text, markup rules @cindex italic text, markup rules @cindex verbatim text, markup rules @cindex code text, markup rules @cindex strike-through text, markup rules @vindex org-fontify-emphasized-text @vindex org-emphasis-regexp-components @vindex org-emphasis-alist You can make words @b{*bold*}, @i{/italic/}, _underlined_, @code{=code=} and @code{~verbatim~}, and, if you must, @samp{+strike-through+}. Text in the code and verbatim string is not processed for Org mode specific syntax, it is exported verbatim. To turn off fontification for marked up text, you can set @code{org-fontify-emphasized-text} to @code{nil}. To narrow down the list of available markup syntax, you can customize @code{org-emphasis-alist}. To fine tune what characters are allowed before and after the markup characters, you can tweak @code{org-emphasis-regexp-components}. Beware that changing one of the above variables will no take effect until you reload Org, for which you may need to restart Emacs. @node Horizontal rules, Comment lines, Emphasis and monospace, Structural markup elements @subheading Horizontal rules @cindex horizontal rules, markup rules A line consisting of only dashes, and at least 5 of them, will be exported as a horizontal line. @node Comment lines, , Horizontal rules, Structural markup elements @subheading Comment lines @cindex comment lines @cindex exporting, not @cindex #+BEGIN_COMMENT Lines starting with zero or more whitespace characters followed by one @samp{#} and a whitespace are treated as comments and will never be exported. Also entire subtrees starting with the word @samp{COMMENT} will never be exported. Finally, regions surrounded by @samp{#+BEGIN_COMMENT} ... @samp{#+END_COMMENT} will not be exported. @table @kbd @kindex C-c ; @item C-c ; Toggle the COMMENT keyword at the beginning of an entry. @end table @node Images and tables, Literal examples, Structural markup elements, Markup @section Images and Tables @cindex tables, markup rules @cindex #+CAPTION @cindex #+NAME Both the native Org mode tables (@pxref{Tables}) and tables formatted with the @file{table.el} package will be exported properly. For Org mode tables, the lines before the first horizontal separator line will become table header lines. You can use the following lines somewhere before the table to assign a caption and a label for cross references, and in the text you can refer to the object with @code{[[tab:basic-data]]} (@pxref{Internal links}): @example #+CAPTION: This is the caption for the next table (or link) #+NAME: tab:basic-data | ... | ...| |-----|----| @end example Optionally, the caption can take the form: @example #+CAPTION[Caption for list of tables]: Caption for table. @end example @cindex inlined images, markup rules Some back-ends allow you to directly include images into the exported document. Org does this, if a link to an image files does not have a description part, for example @code{[[./img/a.jpg]]}. If you wish to define a caption for the image and maybe a label for internal cross references, make sure that the link is on a line by itself and precede it with @code{#+CAPTION} and @code{#+NAME} as follows: @example #+CAPTION: This is the caption for the next figure link (or table) #+NAME: fig:SED-HR4049 [[./img/a.jpg]] @end example @noindent Such images can be displayed within the buffer. @xref{Handling links,the discussion of image links}. Even though images and tables are prominent examples of captioned structures, the same caption mechanism can apply to many others (e.g., @LaTeX{} equations, source code blocks). Depending on the export back-end, those may or may not be handled. @node Literal examples, Include files, Images and tables, Markup @section Literal examples @cindex literal examples, markup rules @cindex code line references, markup rules You can include literal examples that should not be subjected to markup. Such examples will be typeset in monospace, so this is well suited for source code and similar examples. @cindex #+BEGIN_EXAMPLE @example #+BEGIN_EXAMPLE Some example from a text file. #+END_EXAMPLE @end example Note that such blocks may be @i{indented} in order to align nicely with indented text and in particular with plain list structure (@pxref{Plain lists}). For simplicity when using small examples, you can also start the example lines with a colon followed by a space. There may also be additional whitespace before the colon: @example Here is an example : Some example from a text file. @end example @cindex formatting source code, markup rules If the example is source code from a programming language, or any other text that can be marked up by font-lock in Emacs, you can ask for the example to look like the fontified Emacs buffer@footnote{This works automatically for the HTML back-end (it requires version 1.34 of the @file{htmlize.el} package, which is distributed with Org). Fontified code chunks in @LaTeX{} can be achieved using either the listings or the @url{http://code.google.com/p/minted, minted,} package. Refer to @code{org-latex-listings} documentation for details.}. This is done with the @samp{src} block, where you also need to specify the name of the major mode that should be used to fontify the example@footnote{Code in @samp{src} blocks may also be evaluated either interactively or on export. See @pxref{Working With Source Code} for more information on evaluating code blocks.}, see @ref{Easy Templates} for shortcuts to easily insert code blocks. @cindex #+BEGIN_SRC @example #+BEGIN_SRC emacs-lisp (defun org-xor (a b) "Exclusive or." (if a (not b) b)) #+END_SRC @end example Both in @code{example} and in @code{src} snippets, you can add a @code{-n} switch to the end of the @code{BEGIN} line, to get the lines of the example numbered. If you use a @code{+n} switch, the numbering from the previous numbered snippet will be continued in the current one. In literal examples, Org will interpret strings like @samp{(ref:name)} as labels, and use them as targets for special hyperlinks like @code{[[(name)]]} (i.e., the reference name enclosed in single parenthesis). In HTML, hovering the mouse over such a link will remote-highlight the corresponding code line, which is kind of cool. You can also add a @code{-r} switch which @i{removes} the labels from the source code@footnote{Adding @code{-k} to @code{-n -r} will @i{keep} the labels in the source code while using line numbers for the links, which might be useful to explain those in an Org mode example code.}. With the @code{-n} switch, links to these references will be labeled by the line numbers from the code listing, otherwise links will use the labels with no parentheses. Here is an example: @example #+BEGIN_SRC emacs-lisp -n -r (save-excursion (ref:sc) (goto-char (point-min)) (ref:jump) #+END_SRC In line [[(sc)]] we remember the current position. [[(jump)][Line (jump)]] jumps to point-min. @end example @vindex org-coderef-label-format If the syntax for the label format conflicts with the language syntax, use a @code{-l} switch to change the format, for example @samp{#+BEGIN_SRC pascal -n -r -l "((%s))"}. See also the variable @code{org-coderef-label-format}. HTML export also allows examples to be published as text areas (@pxref{Text areas in HTML export}). Because the @code{#+BEGIN_...} and @code{#+END_...} patterns need to be added so often, shortcuts are provided using the Easy Templates facility (@pxref{Easy Templates}). @table @kbd @kindex C-c ' @item C-c ' Edit the source code example at point in its native mode. This works by switching to a temporary buffer with the source code. You need to exit by pressing @kbd{C-c '} again@footnote{Upon exit, lines starting with @samp{*}, @samp{,*}, @samp{#+} and @samp{,#+} will get a comma prepended, to keep them from being interpreted by Org as outline nodes or special syntax. These commas will be stripped for editing with @kbd{C-c '}, and also for export.}. The edited version will then replace the old version in the Org buffer. Fixed-width regions (where each line starts with a colon followed by a space) will be edited using @code{artist-mode}@footnote{You may select a different-mode with the variable @code{org-edit-fixed-width-region-mode}.} to allow creating ASCII drawings easily. Using this command in an empty line will create a new fixed-width region. @kindex C-c l @item C-c l Calling @code{org-store-link} while editing a source code example in a temporary buffer created with @kbd{C-c '} will prompt for a label. Make sure that it is unique in the current buffer, and insert it with the proper formatting like @samp{(ref:label)} at the end of the current line. Then the label is stored as a link @samp{(label)}, for retrieval with @kbd{C-c C-l}. @end table @node Include files, Index entries, Literal examples, Markup @section Include files @cindex include files, markup rules During export, you can include the content of another file. For example, to include your @file{.emacs} file, you could use: @cindex #+INCLUDE @example #+INCLUDE: "~/.emacs" src emacs-lisp @end example @noindent The optional second and third parameter are the markup (e.g., @samp{quote}, @samp{example}, or @samp{src}), and, if the markup is @samp{src}, the language for formatting the contents. The markup is optional; if it is not given, the text will be assumed to be in Org mode format and will be processed normally. Contents of the included file will belong to the same structure (headline, item) containing the @code{INCLUDE} keyword. In particular, headlines within the file will become children of the current section. That behaviour can be changed by providing an additional keyword parameter, @code{:minlevel}. In that case, all headlines in the included file will be shifted so the one with the lowest level reaches that specified level. For example, to make a file become a sibling of the current top-level headline, use @example #+INCLUDE: "~/my-book/chapter2.org" :minlevel 1 @end example You can also include a portion of a file by specifying a lines range using the @code{:lines} parameter. The line at the upper end of the range will not be included. The start and/or the end of the range may be omitted to use the obvious defaults. @example #+INCLUDE: "~/.emacs" :lines "5-10" @r{Include lines 5 to 10, 10 excluded} #+INCLUDE: "~/.emacs" :lines "-10" @r{Include lines 1 to 10, 10 excluded} #+INCLUDE: "~/.emacs" :lines "10-" @r{Include lines from 10 to EOF} @end example @table @kbd @kindex C-c ' @item C-c ' Visit the include file at point. @end table @node Index entries, Macro replacement, Include files, Markup @section Index entries @cindex index entries, for publishing You can specify entries that will be used for generating an index during publishing. This is done by lines starting with @code{#+INDEX}. An entry the contains an exclamation mark will create a sub item. See @ref{Generating an index} for more information. @example * Curriculum Vitae #+INDEX: CV #+INDEX: Application!CV @end example @node Macro replacement, Embedded @LaTeX{}, Index entries, Markup @section Macro replacement @cindex macro replacement, during export @cindex #+MACRO You can define text snippets with @example #+MACRO: name replacement text $1, $2 are arguments @end example @noindent which can be referenced in paragraphs, verse blocks, table cells and some keywords with @code{@{@{@{name(arg1,arg2)@}@}@}}@footnote{Since commas separate arguments, commas within arguments have to be escaped with a backslash character. Conversely, backslash characters before a comma, and only them, need to be escaped with another backslash character.}. In addition to defined macros, @code{@{@{@{title@}@}@}}, @code{@{@{@{author@}@}@}}, etc., will reference information set by the @code{#+TITLE:}, @code{#+AUTHOR:}, and similar lines. Also, @code{@{@{@{time(@var{FORMAT})@}@}@}} and @code{@{@{@{modification-time(@var{FORMAT})@}@}@}} refer to current date time and to the modification time of the file being exported, respectively. @var{FORMAT} should be a format string understood by @code{format-time-string}. Macro expansion takes place during export. @node Embedded @LaTeX{}, Special blocks, Macro replacement, Markup @section Embedded @LaTeX{} @cindex @TeX{} interpretation @cindex @LaTeX{} interpretation Plain ASCII is normally sufficient for almost all note taking. Exceptions include scientific notes, which often require mathematical symbols and the occasional formula. @LaTeX{}@footnote{@LaTeX{} is a macro system based on Donald E. Knuth's @TeX{} system. Many of the features described here as ``@LaTeX{}'' are really from @TeX{}, but for simplicity I am blurring this distinction.} is widely used to typeset scientific documents. Org mode supports embedding @LaTeX{} code into its files, because many academics are used to writing and reading @LaTeX{} source code, and because it can be readily processed to produce pretty output for a number of export back-ends. @menu * Special symbols:: Greek letters and other symbols * Subscripts and superscripts:: Simple syntax for raising/lowering text * @LaTeX{} fragments:: Complex formulas made easy * Previewing @LaTeX{} fragments:: What will this snippet look like? * CDLaTeX mode:: Speed up entering of formulas @end menu @node Special symbols, Subscripts and superscripts, Embedded @LaTeX{}, Embedded @LaTeX{} @subsection Special symbols @cindex math symbols @cindex special symbols @cindex @TeX{} macros @cindex @LaTeX{} fragments, markup rules @cindex HTML entities @cindex @LaTeX{} entities You can use @LaTeX{}-like syntax to insert special symbols like @samp{\alpha} to indicate the Greek letter, or @samp{\to} to indicate an arrow. Completion for these symbols is available, just type @samp{\} and maybe a few letters, and press @kbd{M-@key{TAB}} to see possible completions. Unlike @LaTeX{} code, Org mode allows these symbols to be present without surrounding math delimiters, for example: @example Angles are written as Greek letters \alpha, \beta and \gamma. @end example @vindex org-entities During export, these symbols will be transformed into the native format of the exporter back-end. Strings like @code{\alpha} will be exported as @code{α} in the HTML output, and as @code{$\alpha$} in the @LaTeX{} output. Similarly, @code{\nbsp} will become @code{ } in HTML and @code{~} in @LaTeX{}. If you need such a symbol inside a word, terminate it like this: @samp{\Aacute@{@}stor}. A large number of entities is provided, with names taken from both HTML and @LaTeX{}; see the variable @code{org-entities} for the complete list. @samp{\-} is treated as a shy hyphen, and @samp{--}, @samp{---}, and @samp{...} are all converted into special commands creating hyphens of different lengths or a compact set of dots. If you would like to see entities displayed as UTF-8 characters, use the following command@footnote{You can turn this on by default by setting the variable @code{org-pretty-entities}, or on a per-file base with the @code{#+STARTUP} option @code{entitiespretty}.}: @table @kbd @cindex @code{entitiespretty}, STARTUP keyword @kindex C-c C-x \ @item C-c C-x \ Toggle display of entities as UTF-8 characters. This does not change the buffer content which remains plain ASCII, but it overlays the UTF-8 character for display purposes only. @end table @node Subscripts and superscripts, @LaTeX{} fragments, Special symbols, Embedded @LaTeX{} @subsection Subscripts and superscripts @cindex subscript @cindex superscript Just like in @LaTeX{}, @samp{^} and @samp{_} are used to indicate super- and subscripts. Again, these can be used without embedding them in math-mode delimiters. To increase the readability of ASCII text, it is not necessary (but OK) to surround multi-character sub- and superscripts with curly braces. For example @example The mass of the sun is M_sun = 1.989 x 10^30 kg. The radius of the sun is R_@{sun@} = 6.96 x 10^8 m. @end example @vindex org-use-sub-superscripts If you write a text where the underscore is often used in a different context, Org's convention to always interpret these as subscripts can get in your way. Configure the variable @code{org-use-sub-superscripts} to change this convention. For example, when setting this variable to @code{@{@}}, @samp{a_b} will not be interpreted as a subscript, but @samp{a_@{b@}} will. @table @kbd @kindex C-c C-x \ @item C-c C-x \ In addition to showing entities as UTF-8 characters, this command will also format sub- and superscripts in a WYSIWYM way. @end table @node @LaTeX{} fragments, Previewing @LaTeX{} fragments, Subscripts and superscripts, Embedded @LaTeX{} @subsection @LaTeX{} fragments @cindex @LaTeX{} fragments @vindex org-format-latex-header Going beyond symbols and sub- and superscripts, a full formula language is needed. Org mode can contain @LaTeX{} math fragments, and it supports ways to process these for several export back-ends. When exporting to @LaTeX{}, the code is obviously left as it is. When exporting to HTML, Org invokes the @uref{http://www.mathjax.org, MathJax library} (@pxref{Math formatting in HTML export}) to process and display the math@footnote{If you plan to use this regularly or on pages with significant page views, you should install @file{MathJax} on your own server in order to limit the load of our server.}. Finally, it can also process the mathematical expressions into images@footnote{For this to work you need to be on a system with a working @LaTeX{} installation. You also need the @file{dvipng} program or the @file{convert}, respectively available at @url{http://sourceforge.net/projects/dvipng/} and from the @file{imagemagick} suite. The @LaTeX{} header that will be used when processing a fragment can be configured with the variable @code{org-format-latex-header}.} that can be displayed in a browser. @LaTeX{} fragments don't need any special marking at all. The following snippets will be identified as @LaTeX{} source code: @itemize @bullet @item Environments of any kind@footnote{When @file{MathJax} is used, only the environments recognized by @file{MathJax} will be processed. When @file{dvipng} program or @file{imagemagick} suite is used to create images, any @LaTeX{} environment will be handled.}. The only requirement is that the @code{\begin} and @code{\end} statements appear on a new line, at the beginning of the line or after whitespaces only. @item Text within the usual @LaTeX{} math delimiters. To avoid conflicts with currency specifications, single @samp{$} characters are only recognized as math delimiters if the enclosed text contains at most two line breaks, is directly attached to the @samp{$} characters with no whitespace in between, and if the closing @samp{$} is followed by whitespace, punctuation or a dash. For the other delimiters, there is no such restriction, so when in doubt, use @samp{\(...\)} as inline math delimiters. @end itemize @noindent For example: @example \begin@{equation@} x=\sqrt@{b@} \end@{equation@} If $a^2=b$ and \( b=2 \), then the solution must be either $$ a=+\sqrt@{2@} $$ or \[ a=-\sqrt@{2@} \]. @end example @c FIXME @c @noindent @c @vindex org-format-latex-options @c If you need any of the delimiter ASCII sequences for other purposes, you @c can configure the option @code{org-format-latex-options} to deselect the @c ones you do not wish to have interpreted by the @LaTeX{} converter. @vindex org-export-with-latex @LaTeX{} processing can be configured with the variable @code{org-export-with-latex}. The default setting is @code{t} which means @file{MathJax} for HTML, and no processing for ASCII and @LaTeX{} back-ends. You can also set this variable on a per-file basis using one of these lines: @example #+OPTIONS: tex:t @r{Do the right thing automatically (MathJax)} #+OPTIONS: tex:nil @r{Do not process @LaTeX{} fragments at all} #+OPTIONS: tex:verbatim @r{Verbatim export, for jsMath or so} @end example @node Previewing @LaTeX{} fragments, CDLaTeX mode, @LaTeX{} fragments, Embedded @LaTeX{} @subsection Previewing @LaTeX{} fragments @cindex @LaTeX{} fragments, preview @vindex org-latex-create-formula-image-program If you have @file{dvipng} or @file{imagemagick} installed@footnote{Choose the converter by setting the variable @code{org-latex-create-formula-image-program} accordingly.}, @LaTeX{} fragments can be processed to produce preview images of the typeset expressions: @table @kbd @kindex C-c C-x C-l @item C-c C-x C-l Produce a preview image of the @LaTeX{} fragment at point and overlay it over the source code. If there is no fragment at point, process all fragments in the current entry (between two headlines). When called with a prefix argument, process the entire subtree. When called with two prefix arguments, or when the cursor is before the first headline, process the entire buffer. @kindex C-c C-c @item C-c C-c Remove the overlay preview images. @end table @vindex org-format-latex-options You can customize the variable @code{org-format-latex-options} to influence some aspects of the preview. In particular, the @code{:scale} (and for HTML export, @code{:html-scale}) property can be used to adjust the size of the preview images. @vindex org-startup-with-latex-preview You can turn on the previewing of all @LaTeX{} fragments in a file with @example #+STARTUP: latexpreview @end example To disable it, simply use @example #+STARTUP: nolatexpreview @end example @node CDLaTeX mode, , Previewing @LaTeX{} fragments, Embedded @LaTeX{} @subsection Using CD@LaTeX{} to enter math @cindex CD@LaTeX{} CD@LaTeX{} mode is a minor mode that is normally used in combination with a major @LaTeX{} mode like AUC@TeX{} in order to speed-up insertion of environments and math templates. Inside Org mode, you can make use of some of the features of CD@LaTeX{} mode. You need to install @file{cdlatex.el} and @file{texmathp.el} (the latter comes also with AUC@TeX{}) from @url{http://www.astro.uva.nl/~dominik/Tools/cdlatex}. Don't use CD@LaTeX{} mode itself under Org mode, but use the light version @code{org-cdlatex-mode} that comes as part of Org mode. Turn it on for the current buffer with @kbd{M-x org-cdlatex-mode RET}, or for all Org files with @lisp (add-hook 'org-mode-hook 'turn-on-org-cdlatex) @end lisp When this mode is enabled, the following features are present (for more details see the documentation of CD@LaTeX{} mode): @itemize @bullet @kindex C-c @{ @item Environment templates can be inserted with @kbd{C-c @{}. @item @kindex @key{TAB} The @key{TAB} key will do template expansion if the cursor is inside a @LaTeX{} fragment@footnote{Org mode has a method to test if the cursor is inside such a fragment, see the documentation of the function @code{org-inside-LaTeX-fragment-p}.}. For example, @key{TAB} will expand @code{fr} to @code{\frac@{@}@{@}} and position the cursor correctly inside the first brace. Another @key{TAB} will get you into the second brace. Even outside fragments, @key{TAB} will expand environment abbreviations at the beginning of a line. For example, if you write @samp{equ} at the beginning of a line and press @key{TAB}, this abbreviation will be expanded to an @code{equation} environment. To get a list of all abbreviations, type @kbd{M-x cdlatex-command-help RET}. @item @kindex _ @kindex ^ @vindex cdlatex-simplify-sub-super-scripts Pressing @kbd{_} and @kbd{^} inside a @LaTeX{} fragment will insert these characters together with a pair of braces. If you use @key{TAB} to move out of the braces, and if the braces surround only a single character or macro, they are removed again (depending on the variable @code{cdlatex-simplify-sub-super-scripts}). @item @kindex ` Pressing the backquote @kbd{`} followed by a character inserts math macros, also outside @LaTeX{} fragments. If you wait more than 1.5 seconds after the backquote, a help window will pop up. @item @kindex ' Pressing the single-quote @kbd{'} followed by another character modifies the symbol before point with an accent or a font. If you wait more than 1.5 seconds after the single-quote, a help window will pop up. Character modification will work only inside @LaTeX{} fragments; outside the quote is normal. @end itemize @node Special blocks, , Embedded @LaTeX{}, Markup @section Special blocks @cindex Special blocks Org syntax includes pre-defined blocks (@pxref{Paragraphs} and @ref{Literal examples}). It is also possible to create blocks containing raw code targeted at a specific back-ends (e.g., @samp{#+BEGIN_LATEX}). Any other block is a @emph{special block}. Each export back-end decides if they should be exported, and how. When the block is ignored, its contents are still exported, as if the block were not there. For example, when exporting a @samp{#+BEGIN_TEST} block, HTML back-end wraps its contents within @samp{