;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\302 \303\232\204 \304\305\306\"\210\300\307!\210\300\310!\210\300\301!\210\300\311!\210\312\313\314\315\316\317%\210\320\321\322\323\324DD\325\326\327\316\313\330\331&	\210\320\332\322\323\333DD\334\316\313\335\336\337\340\326\341\330\331\342\343&\210\320\344\322\323\345DD\346\326\347\316\313\330\331&	\210\320\350\322\323\351DD\352\326\353\316\313\330\331&	\210\320\354\322\323\355DD\356\326\323\316\313\330\331&	\210\357\360\361\362\363\364\365\366\367\370&	\207" [require org-macs org-release "9.6.15" warn "Org version mismatch.\nThis warning usually appears when a built-in Org version is loaded\nprior to the more recent Org version.\n\nVersion mismatch is commonly encountered in the following situations:\n\n1. Emacs is loaded using literate Org config and more recent Org\n   version is loaded inside the file loaded by `org-babel-load-file'.\n   `org-babel-load-file' triggers the built-in Org version clashing\n   the newer Org version attempt to be loaded later.\n\n   It is recommended to move the Org loading code before the\n   `org-babel-load-file' call.\n\n2. New Org version is loaded manually by setting `load-path', but some\n   other package depending on Org is loaded before the `load-path' is\n   configured.\n   This \"other package\" is triggering built-in Org version, again\n   causing the version mismatch.\n\n   It is recommended to set `load-path' as early in the config as\n   possible.\n\n3. New Org version is loaded using straight.el package manager and\n   other package depending on Org is loaded before straight triggers\n   loading of the newer Org version.\n\n   It is recommended to put\n\n    %s\n\n   early in the config.  Ideally, right after the straight.el\n   bootstrap.  Moving `use-package' :straight declaration may not be\n   sufficient if the corresponding `use-package' statement is\n   deferring the loading.\n\n4. A new Org version is synchronized with Emacs git repository and\n   stale .elc files are still left from the previous build.\n\n   It is recommended to remove .elc files from lisp/org directory and\n   re-compile." "(straight-use-package 'org)" cl-lib org-compat ol custom-declare-group org-bbdb-anniversaries nil "Customizations for including anniversaries from BBDB into Agenda." :group org-agenda custom-declare-variable org-bbdb-default-anniversary-format funcall function #[0 "\300\207" ["birthday"] 1 #1=""] "Default anniversary class." :type string :require bbdb org-bbdb-general-anniversary-description-after #[0 "\300\207" [7] 1 #1#] "When to switch anniversary descriptions to a more general format.\n\nAnniversary descriptions include the point in time, when the\nanniversary appears.  This is, in its most general form, just the\ndate of the anniversary.  Or more specific terms, like \"today\",\n\"tomorrow\" or \"in n days\" are used to describe the time span.\n\nIf the anniversary happens in less than that number of days, the\nspecific description is used.  Otherwise, the general one is\nused." :version "26.1" :package-version (Org . "9.1") integer :safe integerp org-bbdb-anniversary-format-alist #[0 "\300\207" [(("birthday" lambda (name years suffix) (concat "Birthday: [[bbdb:" name "][" name " (" (format "%s" years) suffix ")]]")) ("wedding" lambda (name years suffix) (concat "[[bbdb:" name "][" name "'s " (format "%s" years) suffix " wedding anniversary]]")))] 1 #1#] "How different types of anniversaries should be formatted.\nAn alist of elements (STRING . FORMAT) where STRING is the name of an\nanniversary class and format is either:\n1) A format string with the following substitutions (in order):\n    - the name of the record containing this anniversary\n    - the number of years\n    - an ordinal suffix (st, nd, rd, th) for the year\n\n2) A function to be called with three arguments: NAME YEARS SUFFIX\n   (string int string) returning a string for the diary or nil.\n\n3) An Emacs Lisp form that should evaluate to a string (or nil) in the\n   scope of variables NAME, YEARS and SUFFIX (among others)." (alist :key-type (string :tag "Class") :value-type (function :tag "Function")) org-bbdb-anniversary-field #[0 "\300\207" [anniversary] 1 #1#] "The BBDB field which contains anniversaries.\nThe anniversaries are stored in the following format\n\nYYYY-MM-DD Class-or-Format-String\n\nwhere class is one of the customized classes for anniversaries;\nbirthday and wedding are predefined.  Format-String can take three\nsubstitutions 1) the name of the record containing this\nanniversary, 2) the number of years, and 3) an ordinal suffix for\nthe year.\n\nMultiple anniversaries can be separated by \\n." symbol org-bbdb-extract-date-fun #[0 "\300\207" [org-bbdb-anniv-extract-date] 1 #1#] "How to retrieve `month date year' from the anniversary field.\n\nCustomize if you have already filled your BBDB with dates\ndifferent from YYYY-MM-DD.  The function must return a list (month\ndate year)." org-link-set-parameters "bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link] 16)#@40 Store a link to a BBDB database entry.
(defalias 'org-bbdb-store-link #[0 "\301=\2054 \302 \303!\304\305!\203 \305\306\"\202 \307\310\"@\311P\312\313\314\315\316\317\320\f&\n\210\266\203\207" [major-mode bbdb-mode bbdb-current-record bbdb-record-name fboundp bbdb-record-getprop company bbdb-record-field organization "bbdb:" org-link-store-props :type "bbdb" :name :company :link :description] 15 (#$ . 5158)])#@208 Create the export version of a BBDB link specified by PATH or DESC.
If exporting to either HTML or LaTeX FORMAT the link will be
italicized, in all other cases it is left unchanged.

(fn PATH DESC FORMAT _)
(defalias 'org-bbdb-export #[1028 "\300\301\"\230\203 \262\302\267\202\" \300\303\"\207\300\304\"\207\300\305\"\207\207" [format "bbdb:%s" #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (html 19 latex 24 odt 29)) "<i>%s</i>" "\\textit{%s}" "<text:span text:style-name=\"Emphasis\">%s</text:span>"] 8 (#$ . 5590)])#@42 Follow a BBDB link to NAME.

(fn NAME _)
(defalias 'org-bbdb-open #[514 "\302\303!\210?\304\305!\203 \306!\202 \307!)\207" [debug-on-error inhibit-redisplay require bbdb-com fboundp bbdb-name org-bbdb-open-old org-bbdb-open-new] 4 (#$ . 6165)])#@13 

(fn NAME)
(defalias 'org-bbdb-open-old #[257 "\3002s \301\302\303Q\304\"\210\305\306\307\310!!W\203 \311\300\304\"\210\312\302\303Q\304\"\210\305\306\307\310!!W\2032 \311\300\304\"\210\301\304\"\210\305\306\307\310!!W\203F \311\300\304\"\210\312\304\"\210\305\306\307\310!!W\203Z \311\300\304\"\210\313\304\"\210\306\307\310!!\305U\205r \314\315\310!!\210\316\317!0\207" [exit bbdb-name "\\`" "\\'" nil 0 buffer-size get-buffer "*BBDB*" throw bbdb-company bbdb delete-window get-buffer-window error "No matching BBDB record"] 5 (#$ . 6421)])#@13 

(fn NAME)
(defalias 'org-bbdb-open-new #[257 "\3002s \301\302\303Q\304\"\210\305\306\307\310!!W\203 \311\300\304\"\210\312\302\303Q\304\"\210\305\306\307\310!!W\2032 \311\300\304\"\210\301\304\"\210\305\306\307\310!!W\203F \311\300\304\"\210\312\304\"\210\305\306\307\310!!W\203Z \311\300\304\"\210\313\304\"\210\306\307\310!!\305U\205r \314\315\310!!\210\316\317!0\207" [exit bbdb-search-name "\\`" "\\'" nil 0 buffer-size get-buffer "*BBDB*" throw bbdb-search-organization bbdb delete-window get-buffer-window error "No matching BBDB record"] 5 (#$ . 6976)])#@161 Convert YYYY-MM-DD to (month date year).
Argument TIME-STR is the value retrieved from BBDB.  If YYYY- is omitted
it will be considered unknown.

(fn TIME-STR)
(defalias 'org-bbdb-anniv-extract-date #[257 "\300\301\"\211:\205B \211\242\243\211:\205@ \211\242\243\211\204# \302!\302!\303E\207\211:\205> \211\242\243\211?\205< \302!\302!\302!E\266\202\266\202\266\202\207" [org-split-string "-" string-to-number nil] 12 (#$ . 7551)])#@112 Split multiple entries in the BBDB anniversary field.
Argument STR is the anniversary field in BBDB.

(fn STR)
(defalias 'org-bbdb-anniv-split #[257 "\300\301\"\211\203 \302O\303\304O!D\207\304D\207" [string-match "[ 	]" 0 bbdb-string-trim nil] 7 (#$ . 7999)])#@91 A hash holding anniversaries extracted from BBDB.
The hash table is created on first use.
(defvar org-bbdb-anniv-hash nil (#$ . 8272))#@72 This is non-nil if BBDB has been updated since we last built the hash.
(defvar org-bbdb-updated-p t (#$ . 8412))#@145 Create a hash with anniversaries extracted from BBDB, for fast access.
The anniversaries are assumed to be stored `org-bbdb-anniversary-field'.
(defalias 'org-bbdb-make-anniv-hash #[0 "\304\305!\304\306!\203 \306\202 \307\310\211\211\311!\210\312 \211\203\214 \211@\203) \305	\"\202- 	\"\211\262\203\205 \203? \313\314\"\202C \313\314\"\262\203\205 \315\211A\262\242!\262\n@!\211\242\243\211\242\243\211\242\243\316D\"\262\317D\320!A@EB#\266\202E A\266\202\202 \266\310\211\207" [org-bbdb-anniv-hash org-bbdb-anniversary-field org-bbdb-extract-date-fun org-bbdb-updated-p fboundp bbdb-record-getprop bbdb-record-xfield bbdb-record-note nil clrhash bbdb-records bbdb-split "\n" org-bbdb-anniv-split gethash puthash bbdb-record-name] 19 (#$ . 8531)])#@116 Record the fact that BBDB has been updated.
This is used by Org to re-create the anniversary hash table.

(fn REC)
(defalias 'org-bbdb-updated #[257 "\301\211\207" [org-bbdb-updated-p t] 3 (#$ . 9329)])
(add-hook 'bbdb-after-change-hook 'org-bbdb-updated)#@154 Extract anniversaries from BBDB for display in the agenda.
When called programmatically, this function expects the `date'
variable to be globally bound.
(defalias 'org-bbdb-anniversaries #[0 "\305\306!\210\305\307!\210\310!\204 \311\312\313\314\315$	\204! \316!\317U\203$ \320 \210\n@\nA@\321\n8\322D\"\323\211\211\324U\203m \325U\203m \322\321\326D\"\203m \327!\204m \322\321\326D\"\262\211A\262\242\211\262\203m B\262\202Y \203\361 \211A\262\242\211\262\203\361 \203q \3218\206\210 \330\f\331#A\206\222 \211A@@\204\236 \332\202\243 @Z@\204\254 \333\202\257 \334!\335!\203\275 #\202\316 <\203\310 \336!\202\316 \337$\340\323\341$\210\203\350 \342	C\"\262	\266\202q \211C\262	\266\202q \207" [org-bbdb-anniv-hash org-bbdb-updated-p date org-bbdb-default-anniversary-format org-bbdb-anniversary-format-alist require bbdb diary-lib hash-table-p make-hash-table :test equal :size 366 hash-table-count 0 org-bbdb-make-anniv-hash 2 gethash nil 3 1 29 calendar-leap-year-p assoc-string t "unknown" "" diary-ordinal-suffix functionp eval format org-add-props org-bbdb-name append] 18 (#$ . 9592)])#@91 Return list of dates in (m d y) format from the given date D to n-1 days hence.

(fn D N)
(defalias 'org-bbdb-date-list #[514 "\300!\301\302\303\"\304\305S\"\"\207" [calendar-absolute-from-gregorian mapcar make-closure #[257 "\301\300\\!\207" [V0 calendar-gregorian-from-absolute] 4 "\n\n(fn I)"] number-sequence 0] 8 (#$ . 10744)])#@452 Return a string used to incorporate into an agenda anniversary entry.
The calculation of the anniversary description string is based on
the difference between the anniversary date, given as ANNIV-DATE,
and the date on which the entry appears in the agenda, given as
AGENDA-DATE.  This makes it possible to have different entries
for the same event depending on if it occurs in the next few days
or far away in the future.

(fn AGENDA-DATE ANNIV-DATE)
(defalias 'org-bbdb-anniversary-description #[514 "\301!\301!Z\211\302U\203 \303\207\211\304U\203 \305\207\211W\203\" \306\307\"\207\242\243\211\242\243\211\242\243\306\310$\207" [org-bbdb-general-anniversary-description-after calendar-absolute-from-gregorian 0 " -- today\\&" 1 " -- tomorrow\\&" format " -- in %d days\\&" " -- %d-%02d-%02d\\&"] 14 (#$ . 11087)])#@95 Return list of anniversaries for today and the next n-1 days (default n=7).

(fn &optional N)
(defalias 'org-bbdb-anniversaries-future #[256 "\211\206 \301\211\302X\203 \303\304!\210\305\"\306\307\310\311\312\313\"\"\"\207" [date 7 0 error "The (optional) argument of `org-bbdb-anniversaries-future' must be positive" org-bbdb-date-list #[771 "\300\301\302#\"\207" [mapcar make-closure #[257 "\302\301\300\"\303\304\"\210\305\306\211$\207" [V0 V1 org-bbdb-anniversary-description string-match "]]" replace-match nil] 7 "\n\n(fn X)"]] 8 "\n\n(fn AGENDA-DATE D L)"] apply nconc mapcar make-closure #[257 "	\300\302 #)\207" [V0 date org-bbdb-anniversaries] 6 "\n\n(fn D)"]] 10 (#$ . 11923)])#@40 Read a bbdb link with name completion.
(defalias 'org-bbdb-complete-link #[0 "\300\301!\210\302\303!\304\305<\203 @\202 !P\207" [require bbdb-com bbdb-completing-read-record "Name: " "bbdb:" bbdb-record-name] 4 (#$ . 12634)])#@71 Extract anniversaries from BBDB and convert them to icalendar format.
(defalias 'org-bbdb-anniv-export-ical #[0 "\302\303!\210\302\304!\210\305!\204 \306\307\310\311\312$	\204! \313!\314U\203$ \315 \210\316\317\"\207" [org-bbdb-anniv-hash org-bbdb-updated-p require bbdb diary-lib hash-table-p make-hash-table :test equal :size 366 hash-table-count 0 org-bbdb-make-anniv-hash maphash org-bbdb-format-vevent] 5 (#$ . 12870)])#@17 

(fn KEY RECS)
(defalias 'org-bbdb-format-vevent #[514 "\301\211\211A\262\242\211\262\205O \3028\206 \262\303\304\305@@A@\306\307\310\nA@\311\"\312#@@\fA@A@\313\f!\314A@Q\f&!\210\202 \207" [org-bbdb-default-anniversary-format nil 2 princ format "BEGIN:VEVENT\nUID: ANNIV-%4i%02i%02i-%s\nDTSTART:%4i%02i%02i\nSUMMARY:%s\nDESCRIPTION:%s\nCATEGORIES:%s\nRRULE:FREQ=YEARLY\nEND:VEVENT\n" mapconcat identity org-split-string "[^a-zA-Z0-90]+" "-" capitalize " "] 18 (#$ . 13305)])
(provide 'ol-bbdb)
