From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Kitchin Subject: Re: Bug: Org table alignment, horrible failures [9.1.5 (9.1.5-1-gb3ddb0-elpaplus @ /Users/genovese/.emacs.d/elpa/org-plus-contrib-20171225/)] Date: Mon, 1 Jan 2018 20:14:37 -0800 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="001a11469848531ef60561c3567a" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42550) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eWDyN-0004dE-Du for emacs-orgmode@gnu.org; Mon, 01 Jan 2018 23:14:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eWDyK-0003h2-8F for emacs-orgmode@gnu.org; Mon, 01 Jan 2018 23:14:43 -0500 Received: from mail-wm0-x234.google.com ([2a00:1450:400c:c09::234]:40891) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eWDyJ-0003gI-PA for emacs-orgmode@gnu.org; Mon, 01 Jan 2018 23:14:40 -0500 Received: by mail-wm0-x234.google.com with SMTP id f206so58811334wmf.5 for ; Mon, 01 Jan 2018 20:14:39 -0800 (PST) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Christopher Genovese Cc: emacs-orgmode@gnu.org --001a11469848531ef60561c3567a Content-Type: text/plain; charset="UTF-8" No answer, but something like this was also posted on SO: https://emacs.stackexchange.com/questions/37828/org-mode-doesnt-align-column-bars-properly John ----------------------------------- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu On Mon, Jan 1, 2018 at 8:01 PM, Christopher Genovese wrote: > I make heavy use of org tables, often relying on the automatic realignment > with C-c C-c or TAB. But after updating org-mode to 9.1.5, this realignment > has started to lead to quite significant problems in the tables' > appearances. > I'm on Mac OS X 10.12.6, running Gnu Emacs 26.0.50 installed via homebrew. > I installed org-mode 9.1.5 using the org-plus-contrib package with the > standard > package mechanism. > > I've run all these examples using emacs -Q with a minimal load of > org-plus-contrib (configuration #1 below) as well as my own set up > (configuration #2 below). Same results both ways. > > I've attached images to this email to show the results, but I'll try to > reproduce them here as well in a fixed-width typeface. > > Here is a sample table as a baseline, put in a file by itself. > > | Date | Time | Aerobic | > Lifting | Strengthening | > Stretching | Other | Notes | > | 2017 01 01 | 1100 | True:34, Ladder:10, Bike:10 | Light biceps, light > forearms | Light Shoulders, Wrist | Calf, Hamstring, Groin | | | > > With certain changes to these fields, automatic alignment of the columns > with either C-c C-c or TAB fails horribly in several ways. The baseline > table > image is align-Q-baseline.png. > > 1. Change Time column from 1100 to any alphanumeric string *that > includes a letter* and the alignment works as normal. > (Image: align-Q-baseline.png). Note that 1100 also keeps the alignment > normal (align-Q-equal-number.png) but only because it is the same length > as Time. > > 2. Change Time to a short number, like 11, and the table appears as > > | Date | Time | Aerobic | > Lifting | Strengthening | > Stretching | Other | Notes | > | 2017 01 01 | T e 4 L der:10, Bike:10 | Light biceps, light forearms > | Light Shoulders, Wrist | Calf, Hamstring, Groin | | | > > (Image: align-Q-short-number.png) > > 3. Change Time to a long number, like 111000, and the table appears as > > | Date | m | e b | > Lifting | Strengthening | > Stretching | Other | Notes | > | 2017 01 01 | 111000 | True:34, Ladder:10, Bike:10 | Light biceps, light > forearms | Light Shoulders, Wrist | Calf, Hamstring, Groin | | | > > (Image: align-Q-long-number.png, similarly align-Q-confirm.png with > 11000 instead.) > > 4. Change Date to include -'s (2017-01-01) and the table appears as > > | Date | Time | Aerobic | > Lifting | Strengthening | > Stretching | Other | Notes | > | 2017-01-01 | 1100 | True:34, Ladder:10, Bike:10 | Light biceps, light > forearms | Light Shoulders, Wrist | Calf, Hamstring, Groin | | | > > Other similar problems occur as well. > > Again, these appear after either C-c C-c or a TAB in a field, nothing else. > The contents are not changed only the appearance and cannot > be fixed by editing. Killing the buffer and reopening makes the > table look correct, but any additional realignment messes it up again. > > And just to be clear, this did not occur prior to installing 9.1.5, > even a few days back. I don't recall the previous version I had > installed. It was relatively recent but could have been a few > steps back. > > Thanks, Chris > > -------------------------------- > Configuration #1: > > Emacs : GNU Emacs 26.0.50 (build 1, x86_64-apple-darwin16.7.0, NS > appkit-1504.83 Version 10.12.6 (Build 16G29)) > of 2017-08-29 > Package: Org mode version 9.1.5 (9.1.5-1-gb3ddb0-elpaplus @ > /Users/genovese/.emacs.d/elpa/org-plus-contrib-20171225/) > > current state: > ============== > (setq > org-src-mode-hook '(org-src-babel-configure-edit-buffer > org-src-mode-configure-edit-buffer) > org-after-todo-state-change-hook '(org-clock-out-if-current) > org-metadown-hook '(org-babel-pop-to-session-maybe) > org-clock-out-hook '(org-clock-remove-empty-clock-drawer) > org-mode-hook '(#[0 "\300\301\302\303\304$\207" > [add-hook change-major-mode-hook org-show-block-all append > local] 5] > #[0 "\300\301\302\303\304$\207" > [add-hook change-major-mode-hook org-babel-show-result-all > append local] > 5] > org-babel-result-hide-spec org-babel-hide-all-hashes > org-eldoc-load) > org-archive-hook '(org-attach-archive-delete-maybe) > org-confirm-elisp-link-function 'yes-or-no-p > org-agenda-before-write-hook '(org-agenda-add-entry-text) > org-metaup-hook '(org-babel-load-in-session-maybe) > org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3 > "\n\n(fn ENTRY)"] > > > > > Configuration #2: > > Emacs : GNU Emacs 26.0.50 (build 1, x86_64-apple-darwin16.7.0, NS > appkit-1504.83 Version 10.12.6 (Build 16G29)) > of 2017-08-29 > Package: Org mode version 9.1.5 (9.1.5-1-gb3ddb0-elpaplus @ > /Users/genovese/.emacs.d/elpa/org-plus-contrib-20171225/) > > current state: > ============== > (setq > org-src-mode-hook '(org-src-babel-configure-edit-buffer > org-src-mode-configure-edit-buffer) > org-after-todo-state-change-hook '(org-clock-out-if-current) > org-metadown-hook '(org-babel-pop-to-session-maybe) > org-clock-out-hook '(org-clock-remove-empty-clock-drawer) > org-archive-location "~/org/archive::" > org-mode-hook '(my-org-table-extensions turn-on-font-lock my/org-mode-hook > #[0 "\300\301\302\303\304$\207" > [add-hook change-major-mode-hook org-show-block-all > append local] 5] > #[0 "\300\301\302\303\304$\207" > [add-hook change-major-mode-hook > org-babel-show-result-all append local] 5] > org-babel-result-hide-spec org-babel-hide-all-hashes > org-eldoc-load) > org-archive-hook '(org-attach-archive-delete-maybe) > org-confirm-elisp-link-function 'yes-or-no-p > org-agenda-before-write-hook '(org-agenda-add-entry-text) > org-metaup-hook '(org-babel-load-in-session-maybe) > org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3 > "\n\n(fn ENTRY)"] > org-babel-pre-tangle-hook '(save-buffer) > org-file-apps '((auto-mode . emacs) (directory . emacs) (system . "open > %s") ("\\.mm\\'" . default) > ("\\.x?html?\\'" . system) ("\\.pdf\\'" . system) > ("\\.\\(?:png\\|jpe?g\\|gif\\|tiff?\\|bmp\\)\\'" . > system) > ("\\`\\(?:.*/\\)?[^.]+\\'" . emacs)) > org-tab-first-hook '(org-babel-hide-result-toggle-maybe > org-babel-header-arg-expand) > org-babel-load-languages '((emacs-lisp . t) (R . t) (python . t) (clojure > . t) (latex . t) > (lisp . t) (haskell . t) (C . t) (ruby . t) > (org . t) (css . t) > (sass . t) (dot . t) (java . t) (ocaml . t) > (calc . t) (ditaa . t) > (sql . t) (asymptote . t)) > org-load-hook '(my/org-load-hook) > org-hide-emphasis-markers t > org-export-backends '(ascii beamer html icalendar latex md texinfo deck) > org-babel-python-command "python3" > org-occur-hook '(org-first-headline-recenter) > org-ditaa-jar-path "~/bin/ditaa.jar" > org-structure-template-alist '(("s" "#+begin_src ?\n\n#+end_src") > ("e" "#+begin_example\n?\n#+end_example") > ("q" "#+begin_quote\n?\n#+end_quote") > ("v" "#+begin_verbatim\n?\n#+end_ > verbatim") > ("V" "#+begin_verse\n?\n#+end_verse") > ("c" "#+begin_center\n?\n#+end_center") > ("l" "#+begin_latex\n?\n#+end_latex") > ("L" "#+LaTeX: ") > ("h" "#+begin_html\n?\n#+end_html") ("H" > "#+HTML: ") > ("a" "#+begin_ascii\n?\n#+end_ascii") > ("A" "#+ASCII: ") > ("i" "#+INDEX: ?") ("I" "#+INCLUDE: %file > ?")) > org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers > org-cycle-show-empty-lines > org-optimize-window-after-visibility-change) > org-todo-keywords '((sequence "TODO" "WAIT" "DONE")) > org-speed-command-hook '(org-speed-command-activate > org-babel-speed-command-activate) > org-tags-column -116 > org-babel-tangle-lang-exts '(("asymptote" . "asy") ("ocaml" . "ml") > ("java" . "java") > ("ruby" . "rb") ("D" . "d") ("C++" . "cpp") > ("haskell" . "hs") > ("lisp" . "lisp") ("latex" . "tex") > ("clojure" . "clj") > ("python" . "py") ("emacs-lisp" . "el") > ("elisp" . "el")) > org-confirm-shell-link-function 'yes-or-no-p > org-link-parameters '(("id" :follow org-id-open) > ("rmail" :follow org-rmail-open :store > org-rmail-store-link) > ("mhe" :follow org-mhe-open :store > org-mhe-store-link) > ("irc" :follow org-irc-visit :store > org-irc-store-link) > ("info" :follow org-info-open :export > org-info-export :store > org-info-store-link) > ("gnus" :follow org-gnus-open :store > org-gnus-store-link) > ("docview" :follow org-docview-open :export > org-docview-export :store > org-docview-store-link) > ("bibtex" :follow org-bibtex-open :store > org-bibtex-store-link) > ("bbdb" :follow org-bbdb-open :export > org-bbdb-export :complete > org-bbdb-complete-link :store org-bbdb-store-link) > ("w3m" :store org-w3m-store-link) ("file+sys") > ("file+emacs") > ("ipynb" :follow ein:org-open :help-echo "Open > ipython notebook." :store > ein:org-store-link) > ("doi" :follow org--open-doi-link) ("elisp" :follow > org--open-elisp-link) > ("file" :complete org-file-complete-link) > ("ftp" :follow (lambda (path) (browse-url (concat > "ftp:" path)))) > ("help" :follow org--open-help-link) > ("http" :follow (lambda (path) (browse-url (concat > "http:" path)))) > ("https" :follow (lambda (path) (browse-url (concat > "https:" path)))) > ("mailto" :follow (lambda (path) (browse-url > (concat "mailto:" path)))) > ("news" :follow (lambda (path) (browse-url (concat > "news:" path)))) > ("shell" :follow org--open-shell-link)) > org-tag-faces '(("urgent" . font-lock-warning-face)) > org-todo-keyword-faces '(("WAIT" . org-wait-face)) > org-src-window-setup 'current-window > ) > > --001a11469848531ef60561c3567a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+Tm8gYW5zd2VyLCBidXQgc29tZXRoaW5nIGxpa2UgdGhpcyB3YXMgYWxz byBwb3N0ZWQgb24gU086wqA8YSBocmVmPSJodHRwczovL2VtYWNzLnN0YWNrZXhjaGFuZ2UuY29t L3F1ZXN0aW9ucy8zNzgyOC9vcmctbW9kZS1kb2VzbnQtYWxpZ24tY29sdW1uLWJhcnMtcHJvcGVy bHkiPmh0dHBzOi8vZW1hY3Muc3RhY2tleGNoYW5nZS5jb20vcXVlc3Rpb25zLzM3ODI4L29yZy1t b2RlLWRvZXNudC1hbGlnbi1jb2x1bW4tYmFycy1wcm9wZXJseTwvYT48L2Rpdj48ZGl2IGNsYXNz PSJnbWFpbF9leHRyYSI+PGJyIGNsZWFyPSJhbGwiPjxkaXY+PGRpdiBjbGFzcz0iZ21haWxfc2ln bmF0dXJlIiBkYXRhLXNtYXJ0bWFpbD0iZ21haWxfc2lnbmF0dXJlIj48ZGl2IGRpcj0ibHRyIj48 ZGl2PjxkaXYgZGlyPSJsdHIiPkpvaG48YnI+PGJyPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tPGJyPlByb2Zlc3NvciBKb2huIEtpdGNoaW7CoDxicj5Eb2hlcnR5IEhhbGwgQTIw N0Y8YnI+RGVwYXJ0bWVudCBvZiBDaGVtaWNhbCBFbmdpbmVlcmluZzxicj5DYXJuZWdpZSBNZWxs b24gVW5pdmVyc2l0eTxicj5QaXR0c2J1cmdoLCBQQSAxNTIxMzxicj40MTItMjY4LTc4MDM8L2Rp dj48ZGl2IGRpcj0ibHRyIj5Aam9obmtpdGNoaW48YnI+PGEgaHJlZj0iaHR0cDovL2tpdGNoaW5n cm91cC5jaGVtZS5jbXUuZWR1IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2tpdGNoaW5ncm91cC5j aGVtZS5jbXUuZWR1PC9hPjxicj48YnI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+DQo8 YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIE1vbiwgSmFuIDEsIDIwMTggYXQgODowMSBQ TSwgQ2hyaXN0b3BoZXIgR2Vub3Zlc2UgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWls dG86Z2Vub3Zlc2VAY211LmVkdSIgdGFyZ2V0PSJfYmxhbmsiPmdlbm92ZXNlQGNtdS5lZHU8L2E+ Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5 bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmct bGVmdDoxZXgiPjxkaXYgZGlyPSJsdHIiPjxkaXY+PGRpdj5JIG1ha2UgaGVhdnkgdXNlIG9mIG9y ZyB0YWJsZXMsIG9mdGVuIHJlbHlpbmcgb24gdGhlIGF1dG9tYXRpYyByZWFsaWdubWVudDwvZGl2 PjxkaXY+d2l0aCBDLWMgQy1jIG9yIFRBQi4gQnV0IGFmdGVyIHVwZGF0aW5nIG9yZy1tb2RlIHRv IDkuMS41LCB0aGlzIHJlYWxpZ25tZW50PC9kaXY+PGRpdj5oYXMgc3RhcnRlZCB0byBsZWFkIHRv IHF1aXRlIHNpZ25pZmljYW50IHByb2JsZW1zIGluIHRoZSB0YWJsZXMmIzM5OyBhcHBlYXJhbmNl cy48YnI+SSYjMzk7bSBvbiBNYWMgT1MgWCAxMC4xMi42LCBydW5uaW5nIEdudSBFbWFjcyAyNi4w LjUwIGluc3RhbGxlZCB2aWEgaG9tZWJyZXcuPC9kaXY+PGRpdj5JIGluc3RhbGxlZCBvcmctbW9k ZSA5LjEuNSB1c2luZyB0aGUgb3JnLXBsdXMtY29udHJpYiBwYWNrYWdlIHdpdGggdGhlIHN0YW5k YXJkIDxicj48L2Rpdj48ZGl2PnBhY2thZ2UgbWVjaGFuaXNtLjwvZGl2PjxkaXY+PGJyPjwvZGl2 PjxkaXY+SSYjMzk7dmUgcnVuIGFsbCB0aGVzZSBleGFtcGxlcyB1c2luZyBlbWFjcyAtUSB3aXRo IGEgbWluaW1hbCBsb2FkIG9mPGJyPm9yZy1wbHVzLWNvbnRyaWIgKGNvbmZpZ3VyYXRpb24gIzEg YmVsb3cpIGFzIHdlbGwgYXMgbXkgb3duIHNldCB1cDxicj4oY29uZmlndXJhdGlvbiAjMiBiZWxv dykuIFNhbWUgcmVzdWx0cyBib3RoIHdheXMuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JJiMz OTt2ZSBhdHRhY2hlZCBpbWFnZXMgdG8gdGhpcyBlbWFpbCB0byBzaG93IHRoZSByZXN1bHRzLCBi dXQgSSYjMzk7bGwgdHJ5IHRvIDxicj48L2Rpdj48ZGl2PnJlcHJvZHVjZSB0aGVtIGhlcmUgYXMg d2VsbCBpbiBhIGZpeGVkLXdpZHRoIHR5cGVmYWNlLjxicj48YnI+SGVyZSBpcyBhIHNhbXBsZSB0 YWJsZSBhcyBhIGJhc2VsaW5lLCBwdXQgaW4gYSBmaWxlIGJ5IGl0c2VsZi48YnI+PGJyPjxzcGFu IHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlIj58IERhdGXCoMKgwqDCoMKg wqAgfCBUaW1lIHwgQWVyb2JpY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCBMaWZ0aW5nwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg U3RyZW5ndGhlbmluZ8KgwqDCoMKgwqDCoMKgwqDCoCB8IFN0cmV0Y2hpbmfCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCBPdGhlciB8IE5vdGVzIHw8YnI+fCAyMDE3IDAxIDAxIHwgMTEwMCB8IFRy dWU6MzQsIExhZGRlcjoxMCwgQmlrZToxMCB8IExpZ2h0IGJpY2VwcywgbGlnaHQgZm9yZWFybXMg fCBMaWdodCBTaG91bGRlcnMsIFdyaXN0IHwgQ2FsZiwgSGFtc3RyaW5nLCBHcm9pbiB8wqDCoMKg wqDCoMKgIHzCoMKgwqDCoMKgwqAgfDwvc3Bhbj48YnI+PGJyPldpdGggY2VydGFpbiBjaGFuZ2Vz IHRvIHRoZXNlIGZpZWxkcywgYXV0b21hdGljIGFsaWdubWVudCBvZiB0aGUgY29sdW1uczxicj53 aXRoIGVpdGhlciBDLWMgQy1jIG9yIFRBQiBmYWlscyBob3JyaWJseSBpbiBzZXZlcmFsIHdheXMu IFRoZSBiYXNlbGluZSB0YWJsZSA8YnI+PC9kaXY+PGRpdj5pbWFnZSBpcyBhbGlnbi1RLWJhc2Vs aW5lLnBuZy48YnI+PGJyPjEuIENoYW5nZSBUaW1lIGNvbHVtbiBmcm9tIDExMDAgdG8gYW55IGFs cGhhbnVtZXJpYyBzdHJpbmcgKnRoYXQ8YnI+wqDCoCBpbmNsdWRlcyBhIGxldHRlciogYW5kIHRo ZSBhbGlnbm1lbnQgd29ya3MgYXMgbm9ybWFsLjxicj7CoMKgIChJbWFnZTogYWxpZ24tUS1iYXNl bGluZS5wbmcpLiBOb3RlIHRoYXQgMTEwMCBhbHNvIGtlZXBzIHRoZSBhbGlnbm1lbnQ8YnI+PC9k aXY+wqDCoCBub3JtYWwgKGFsaWduLVEtZXF1YWwtbnVtYmVyLnBuZykgYnV0IG9ubHkgYmVjYXVz ZSBpdCBpcyB0aGUgc2FtZSBsZW5ndGg8YnI+PC9kaXY+wqDCoCBhcyBUaW1lLjxicj48ZGl2Pjxk aXY+PGJyPjIuIENoYW5nZSBUaW1lIHRvIGEgc2hvcnQgbnVtYmVyLCBsaWtlIDExLCBhbmQgdGhl IHRhYmxlIGFwcGVhcnMgYXM8YnI+PGJyPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3Bh Y2UsbW9ub3NwYWNlIj58IERhdGXCoMKgwqDCoMKgwqAgfCBUaW1lIHwgQWVyb2JpY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBMaWZ0aW5nwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgU3RyZW5ndGhlbmluZ8KgwqDCoMKgwqDCoMKg wqDCoCB8IFN0cmV0Y2hpbmfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBPdGhlciB8IE5vdGVz IHw8YnI+fCAyMDE3IDAxIDAxIHzCoMKgwqDCoCBUIGUgNCBMIGRlcjoxMCwgQmlrZToxMCB8IExp Z2h0IGJpY2VwcywgbGlnaHQgZm9yZWFybXMgfCBMaWdodCBTaG91bGRlcnMsIFdyaXN0IHwgQ2Fs ZiwgSGFtc3RyaW5nLCBHcm9pbiB8wqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqAgfDwvc3Bhbj48 YnI+wqA8YnI+wqDCoCAoSW1hZ2U6IGFsaWduLVEtc2hvcnQtbnVtYmVyLnBuZyk8YnI+PGJyPjMu IENoYW5nZSBUaW1lIHRvIGEgbG9uZyBudW1iZXIsIGxpa2UgMTExMDAwLCBhbmQgdGhlIHRhYmxl IGFwcGVhcnMgYXM8YnI+PGJyPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UsbW9u b3NwYWNlIj58IERhdGXCoMKgwqDCoMKgwqAgfMKgIG0gfCBlIGLCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBMaWZ0aW5nwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgU3RyZW5ndGhlbmluZ8KgwqDCoMKgwqDCoMKgwqDCoCB8IFN0 cmV0Y2hpbmfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBPdGhlciB8IE5vdGVzIHw8YnI+fCAy MDE3IDAxIDAxIHwgMTExMDAwIHwgVHJ1ZTozNCwgTGFkZGVyOjEwLCBCaWtlOjEwIHwgTGlnaHQg YmljZXBzLCBsaWdodCBmb3JlYXJtcyB8IExpZ2h0IFNob3VsZGVycywgV3Jpc3QgfCBDYWxmLCBI YW1zdHJpbmcsIEdyb2luIHzCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoCB8PC9zcGFuPjxicj48 YnI+wqDCoCAoSW1hZ2U6IGFsaWduLVEtbG9uZy1udW1iZXIucG5nLCBzaW1pbGFybHkgYWxpZ24t US1jb25maXJtLnBuZyB3aXRoIDExMDAwIGluc3RlYWQuKTxicj48YnI+NC4gQ2hhbmdlIERhdGUg dG8gaW5jbHVkZSAtJiMzOTtzICgyMDE3LTAxLTAxKSBhbmQgdGhlIHRhYmxlIGFwcGVhcnMgYXM8 YnI+PGJyPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlIj58wqDC oMKgwqAgRGF0ZSB8IFRpbWUgfCBBZXJvYmljwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IExpZnRpbmfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCBTdHJlbmd0aGVuaW5nwqDCoMKgwqDCoMKgwqDCoMKgIHwgU3RyZXRjaGluZ8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IE90aGVyIHwgTm90ZXMgfDxicj58IDIwMTctMDEtMDEgfCAx MTAwIHwgVHJ1ZTozNCwgTGFkZGVyOjEwLCBCaWtlOjEwIHwgTGlnaHQgYmljZXBzLCBsaWdodCBm b3JlYXJtcyB8IExpZ2h0IFNob3VsZGVycywgV3Jpc3QgfCBDYWxmLCBIYW1zdHJpbmcsIEdyb2lu IHzCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoCB8PC9zcGFuPjxicj48YnI+T3RoZXIgc2ltaWxh ciBwcm9ibGVtcyBvY2N1ciBhcyB3ZWxsLjxicj48YnI+QWdhaW4sIHRoZXNlIGFwcGVhciBhZnRl ciBlaXRoZXIgQy1jIEMtYyBvciBhIFRBQiBpbiBhIGZpZWxkLCBub3RoaW5nIGVsc2UuPGJyPlRo ZSBjb250ZW50cyBhcmUgbm90IGNoYW5nZWQgb25seSB0aGUgYXBwZWFyYW5jZSBhbmQgY2Fubm90 PC9kaXY+PGRpdj5iZSBmaXhlZCBieSBlZGl0aW5nLiBLaWxsaW5nIHRoZSBidWZmZXIgYW5kIHJl b3BlbmluZyBtYWtlcyB0aGUgPGJyPjwvZGl2PjxkaXY+dGFibGUgbG9vayBjb3JyZWN0LCBidXQg YW55IGFkZGl0aW9uYWwgcmVhbGlnbm1lbnQgbWVzc2VzIGl0IHVwIGFnYWluLjxicj48YnI+QW5k IGp1c3QgdG8gYmUgY2xlYXIsIHRoaXMgZGlkIG5vdCBvY2N1ciBwcmlvciB0byBpbnN0YWxsaW5n IDkuMS41LDxicj5ldmVuIGEgZmV3IGRheXMgYmFjay4gSSBkb24mIzM5O3QgcmVjYWxsIHRoZSBw cmV2aW91cyB2ZXJzaW9uIEkgaGFkPC9kaXY+PGRpdj5pbnN0YWxsZWQuIEl0IHdhcyByZWxhdGl2 ZWx5IHJlY2VudCBidXQgY291bGQgaGF2ZSBiZWVuIGEgZmV3PC9kaXY+PGRpdj5zdGVwcyBiYWNr Ljxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoYW5rcywgQ2hyaXM8YnI+PGJyPi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTx3YnI+LS08YnI+Q29uZmlndXJhdGlvbiAjMTo8YnI+ PGJyPkVtYWNzwqAgOiBHTlUgRW1hY3MgMjYuMC41MCAoYnVpbGQgMSwgeDg2XzY0LWFwcGxlLWRh cndpbjE2LjcuMCwgTlMgYXBwa2l0LTE1MDQuODMgVmVyc2lvbiAxMC4xMi42IChCdWlsZCAxNkcy OSkpPGJyPsKgb2YgMjAxNy0wOC0yOTxicj5QYWNrYWdlOiBPcmcgbW9kZSB2ZXJzaW9uIDkuMS41 ICg5LjEuNS0xLWdiM2RkYjAtZWxwYXBsdXMgQCAvVXNlcnMvZ2Vub3Zlc2UvLmVtYWNzLmQvZWxw YS88d2JyPm9yZy1wbHVzLWNvbnRyaWItMjAxNzEyMjUvKTxicj48YnI+Y3VycmVudCBzdGF0ZTo8 YnI+PT09PT09PT09PT09PT08YnI+KHNldHE8YnI+wqBvcmctc3JjLW1vZGUtaG9vayAmIzM5Oyhv cmctc3JjLWJhYmVsLWNvbmZpZ3VyZS08d2JyPmVkaXQtYnVmZmVyPGJyPsKgwqDCoCDCoMKgwqAg wqDCoMKgwqAgb3JnLXNyYy1tb2RlLWNvbmZpZ3VyZS1lZGl0LTx3YnI+YnVmZmVyKTxicj7CoG9y Zy1hZnRlci10b2RvLXN0YXRlLWNoYW5nZS08d2JyPmhvb2sgJiMzOTsob3JnLWNsb2NrLW91dC1p Zi1jdXJyZW50KTxicj7CoG9yZy1tZXRhZG93bi1ob29rICYjMzk7KG9yZy1iYWJlbC1wb3AtdG8t c2Vzc2lvbi08d2JyPm1heWJlKTxicj7CoG9yZy1jbG9jay1vdXQtaG9vayAmIzM5OyhvcmctY2xv Y2stcmVtb3ZlLWVtcHR5LTx3YnI+Y2xvY2stZHJhd2VyKTxicj7CoG9yZy1tb2RlLWhvb2sgJiMz OTsoI1swICZxdW90O1wzMDBcMzAxXDMwMlwzMDNcMzA0JFwyMDcmcXVvdDs8YnI+wqDCoMKgIMKg wqDCoCDCoMKgIFthZGQtaG9vayBjaGFuZ2UtbWFqb3ItbW9kZS1ob29rIG9yZy1zaG93LWJsb2Nr LWFsbCBhcHBlbmQgbG9jYWxdIDVdPGJyPsKgwqDCoCDCoMKgwqAgwqAjWzAgJnF1b3Q7XDMwMFwz MDFcMzAyXDMwM1wzMDQkXDIwNyZxdW90Ozxicj7CoMKgwqAgwqDCoMKgIMKgwqAgW2FkZC1ob29r IGNoYW5nZS1tYWpvci1tb2RlLWhvb2sgb3JnLWJhYmVsLXNob3ctcmVzdWx0LWFsbCBhcHBlbmQg bG9jYWxdPGJyPsKgwqDCoCDCoMKgwqAgwqDCoCA1XTxicj7CoMKgwqAgwqDCoMKgIMKgb3JnLWJh YmVsLXJlc3VsdC1oaWRlLXNwZWMgb3JnLWJhYmVsLWhpZGUtYWxsLWhhc2hlcyBvcmctZWxkb2Mt bG9hZCk8YnI+wqBvcmctYXJjaGl2ZS1ob29rICYjMzk7KG9yZy1hdHRhY2gtYXJjaGl2ZS1kZWxl dGUtPHdicj5tYXliZSk8YnI+wqBvcmctY29uZmlybS1lbGlzcC1saW5rLTx3YnI+ZnVuY3Rpb24g JiMzOTt5ZXMtb3Itbm8tcDxicj7CoG9yZy1hZ2VuZGEtYmVmb3JlLXdyaXRlLWhvb2sgJiMzOTso b3JnLWFnZW5kYS1hZGQtZW50cnktdGV4dCk8YnI+wqBvcmctbWV0YXVwLWhvb2sgJiMzOTsob3Jn LWJhYmVsLWxvYWQtaW4tc2Vzc2lvbi08d2JyPm1heWJlKTxicj7CoG9yZy1iaWJ0ZXgtaGVhZGxp bmUtZm9ybWF0LTx3YnI+ZnVuY3Rpb24gI1syNTcgJnF1b3Q7XDMwMCBcMjM2QVwyMDcmcXVvdDsg Wzp0aXRsZV0gMyAmcXVvdDtcblxuKGZuIEVOVFJZKSZxdW90O108YnI+PGJyPjxicj48YnI+PGJy PkNvbmZpZ3VyYXRpb24gIzI6PGJyPjxicj5FbWFjc8KgIDogR05VIEVtYWNzIDI2LjAuNTAgKGJ1 aWxkIDEsIHg4Nl82NC1hcHBsZS1kYXJ3aW4xNi43LjAsIE5TIGFwcGtpdC0xNTA0LjgzIFZlcnNp b24gMTAuMTIuNiAoQnVpbGQgMTZHMjkpKTxicj7CoG9mIDIwMTctMDgtMjk8YnI+UGFja2FnZTog T3JnIG1vZGUgdmVyc2lvbiA5LjEuNSAoOS4xLjUtMS1nYjNkZGIwLWVscGFwbHVzIEAgL1VzZXJz L2dlbm92ZXNlLy5lbWFjcy5kL2VscGEvPHdicj5vcmctcGx1cy1jb250cmliLTIwMTcxMjI1Lyk8 YnI+PGJyPmN1cnJlbnQgc3RhdGU6PGJyPj09PT09PT09PT09PT09PGJyPihzZXRxPGJyPsKgb3Jn LXNyYy1tb2RlLWhvb2sgJiMzOTsob3JnLXNyYy1iYWJlbC1jb25maWd1cmUtPHdicj5lZGl0LWJ1 ZmZlciBvcmctc3JjLW1vZGUtY29uZmlndXJlLWVkaXQtPHdicj5idWZmZXIpPGJyPsKgb3JnLWFm dGVyLXRvZG8tc3RhdGUtY2hhbmdlLTx3YnI+aG9vayAmIzM5OyhvcmctY2xvY2stb3V0LWlmLWN1 cnJlbnQpPGJyPsKgb3JnLW1ldGFkb3duLWhvb2sgJiMzOTsob3JnLWJhYmVsLXBvcC10by1zZXNz aW9uLTx3YnI+bWF5YmUpPGJyPsKgb3JnLWNsb2NrLW91dC1ob29rICYjMzk7KG9yZy1jbG9jay1y ZW1vdmUtZW1wdHktPHdicj5jbG9jay1kcmF3ZXIpPGJyPsKgb3JnLWFyY2hpdmUtbG9jYXRpb24g JnF1b3Q7fi9vcmcvYXJjaGl2ZTo6JnF1b3Q7PGJyPsKgb3JnLW1vZGUtaG9vayAmIzM5OyhteS1v cmctdGFibGUtZXh0ZW5zaW9ucyB0dXJuLW9uLWZvbnQtbG9jayBteS9vcmctbW9kZS1ob29rPGJy PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICNbMCAmcXVvdDtcMzAwXDMwMVwzMDJc MzAzXDMwNCRcMjA3JnF1b3Q7PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBbYWRkLWhvb2sgY2hhbmdlLW1ham9yLW1vZGUtaG9vayBvcmctc2hvdy1ibG9jay1hbGwgYXBw ZW5kIGxvY2FsXSA1XTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjWzAgJnF1 b3Q7XDMwMFwzMDFcMzAyXDMwM1wzMDQkXDIwNyZxdW90Ozxicj7CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgW2FkZC1ob29rIGNoYW5nZS1tYWpvci1tb2RlLWhvb2sgb3JnLWJh YmVsLXNob3ctcmVzdWx0LWFsbCBhcHBlbmQgbG9jYWxdIDVdPGJyPsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIG9yZy1iYWJlbC1yZXN1bHQtaGlkZS1zcGVjIG9yZy1iYWJlbC1oaWRl LWFsbC1oYXNoZXMgb3JnLWVsZG9jLWxvYWQpPGJyPsKgb3JnLWFyY2hpdmUtaG9vayAmIzM5Oyhv cmctYXR0YWNoLWFyY2hpdmUtZGVsZXRlLTx3YnI+bWF5YmUpPGJyPsKgb3JnLWNvbmZpcm0tZWxp c3AtbGluay08d2JyPmZ1bmN0aW9uICYjMzk7eWVzLW9yLW5vLXA8YnI+wqBvcmctYWdlbmRhLWJl Zm9yZS13cml0ZS1ob29rICYjMzk7KG9yZy1hZ2VuZGEtYWRkLWVudHJ5LXRleHQpPGJyPsKgb3Jn LW1ldGF1cC1ob29rICYjMzk7KG9yZy1iYWJlbC1sb2FkLWluLXNlc3Npb24tPHdicj5tYXliZSk8 YnI+wqBvcmctYmlidGV4LWhlYWRsaW5lLWZvcm1hdC08d2JyPmZ1bmN0aW9uICNbMjU3ICZxdW90 O1wzMDAgXDIzNkFcMjA3JnF1b3Q7IFs6dGl0bGVdIDMgJnF1b3Q7XG5cbihmbiBFTlRSWSkmcXVv dDtdPGJyPsKgb3JnLWJhYmVsLXByZS10YW5nbGUtaG9vayAmIzM5OyhzYXZlLWJ1ZmZlcik8YnI+ wqBvcmctZmlsZS1hcHBzICYjMzk7KChhdXRvLW1vZGUgLiBlbWFjcykgKGRpcmVjdG9yeSAuIGVt YWNzKSAoc3lzdGVtIC4gJnF1b3Q7b3BlbiAlcyZxdW90OykgKCZxdW90O1xcLm1tXFwmIzM5OyZx dW90OyAuIGRlZmF1bHQpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgmcXVv dDtcXC54P2h0bWw/XFwmIzM5OyZxdW90OyAuIHN5c3RlbSkgKCZxdW90O1xcLnBkZlxcJiMzOTsm cXVvdDsgLiBzeXN0ZW0pPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgmcXVv dDtcXC5cXCg/OnBuZ1xcfGpwZT9nXFx8Z2lmXFx8PHdicj50aWZmP1xcfGJtcFxcKVxcJiMzOTsm cXVvdDsgLiBzeXN0ZW0pPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgmcXVv dDtcXGBcXCg/Oi4qL1xcKT9bXi5dK1xcJiMzOTsmcXVvdDsgLiBlbWFjcykpPGJyPsKgb3JnLXRh Yi1maXJzdC1ob29rICYjMzk7KG9yZy1iYWJlbC1oaWRlLXJlc3VsdC08d2JyPnRvZ2dsZS1tYXli ZSBvcmctYmFiZWwtaGVhZGVyLWFyZy1leHBhbmQpPGJyPsKgb3JnLWJhYmVsLWxvYWQtbGFuZ3Vh Z2VzICYjMzk7KChlbWFjcy1saXNwIC4gdCkgKFIgLiB0KSAocHl0aG9uIC4gdCkgKGNsb2p1cmUg LiB0KSAobGF0ZXggLiB0KTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgKGxpc3AgLiB0KSAoaGFza2VsbCAuIHQpIChDIC4gdCkgKHJ1Ynkg LiB0KSAob3JnIC4gdCkgKGNzcyAuIHQpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoc2FzcyAuIHQpIChkb3QgLiB0KSAoamF2YSAuIHQp IChvY2FtbCAuIHQpIChjYWxjIC4gdCkgKGRpdGFhIC4gdCk8YnI+wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChzcWwgLiB0KSAoYXN5bXB0b3Rl IC4gdCkpPGJyPsKgb3JnLWxvYWQtaG9vayAmIzM5OyhteS9vcmctbG9hZC1ob29rKTxicj7CoG9y Zy1oaWRlLWVtcGhhc2lzLW1hcmtlcnMgdDxicj7CoG9yZy1leHBvcnQtYmFja2VuZHMgJiMzOTso YXNjaWkgYmVhbWVyIGh0bWwgaWNhbGVuZGFyIGxhdGV4IG1kIHRleGluZm8gZGVjayk8YnI+wqBv cmctYmFiZWwtcHl0aG9uLWNvbW1hbmQgJnF1b3Q7cHl0aG9uMyZxdW90Ozxicj7CoG9yZy1vY2N1 ci1ob29rICYjMzk7KG9yZy1maXJzdC1oZWFkbGluZS1yZWNlbnRlcik8YnI+wqBvcmctZGl0YWEt amFyLXBhdGggJnF1b3Q7fi9iaW4vZGl0YWEuamFyJnF1b3Q7PGJyPsKgb3JnLXN0cnVjdHVyZS10 ZW1wbGF0ZS1hbGlzdCAmIzM5OygoJnF1b3Q7cyZxdW90OyAmcXVvdDsjK2JlZ2luX3NyYyA/XG5c biMrZW5kX3NyYyZxdW90Oyk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPHdicj7CoCAoJnF1b3Q7ZSZxdW90OyAmcXVvdDsjK2Jl Z2luX2V4YW1wbGVcbj9cbiMrZW5kXzx3YnI+ZXhhbXBsZSZxdW90Oyk8YnI+wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPHdicj7CoCAo JnF1b3Q7cSZxdW90OyAmcXVvdDsjK2JlZ2luX3F1b3RlXG4/XG4jK2VuZF88d2JyPnF1b3RlJnF1 b3Q7KTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqA8d2JyPsKgICgmcXVvdDt2JnF1b3Q7ICZxdW90OyMrYmVnaW5fdmVyYmF0aW1c bj9cbiMrZW5kXzx3YnI+dmVyYmF0aW0mcXVvdDspPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDx3YnI+wqAgKCZxdW90O1YmcXVv dDsgJnF1b3Q7IytiZWdpbl92ZXJzZVxuP1xuIytlbmRfPHdicj52ZXJzZSZxdW90Oyk8YnI+wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg PHdicj7CoCAoJnF1b3Q7YyZxdW90OyAmcXVvdDsjK2JlZ2luX2NlbnRlclxuP1xuIytlbmRfPHdi cj5jZW50ZXImcXVvdDspPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoDx3YnI+wqAgKCZxdW90O2wmcXVvdDsgJnF1b3Q7IytiZWdp bl9sYXRleFxuP1xuIytlbmRfPHdicj5sYXRleCZxdW90OykgKCZxdW90O0wmcXVvdDsgJnF1b3Q7 IytMYVRlWDogJnF1b3Q7KTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqA8d2JyPsKgICgmcXVvdDtoJnF1b3Q7ICZxdW90OyMrYmVn aW5faHRtbFxuP1xuIytlbmRfaHRtbCZxdW90OykgKCZxdW90O0gmcXVvdDsgJnF1b3Q7IytIVE1M OiAmcXVvdDspPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoDx3YnI+wqAgKCZxdW90O2EmcXVvdDsgJnF1b3Q7IytiZWdpbl9hc2Np aVxuP1xuIytlbmRfPHdicj5hc2NpaSZxdW90OykgKCZxdW90O0EmcXVvdDsgJnF1b3Q7IytBU0NJ STogJnF1b3Q7KTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqA8d2JyPsKgICgmcXVvdDtpJnF1b3Q7ICZxdW90OyMrSU5ERVg6ID8m cXVvdDspICgmcXVvdDtJJnF1b3Q7ICZxdW90OyMrSU5DTFVERTogJWZpbGUgPyZxdW90OykpPGJy PsKgb3JnLWN5Y2xlLWhvb2sgJiMzOTsob3JnLWN5Y2xlLWhpZGUtYXJjaGl2ZWQtPHdicj5zdWJ0 cmVlcyBvcmctY3ljbGUtaGlkZS1kcmF3ZXJzIG9yZy1jeWNsZS1zaG93LWVtcHR5LWxpbmVzPGJy PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3JnLW9wdGltaXplLXdpbmRvdy1h ZnRlci08d2JyPnZpc2liaWxpdHktY2hhbmdlKTxicj7CoG9yZy10b2RvLWtleXdvcmRzICYjMzk7 KChzZXF1ZW5jZSAmcXVvdDtUT0RPJnF1b3Q7ICZxdW90O1dBSVQmcXVvdDsgJnF1b3Q7RE9ORSZx dW90OykpPGJyPsKgb3JnLXNwZWVkLWNvbW1hbmQtaG9vayAmIzM5Oyhvcmctc3BlZWQtY29tbWFu ZC1hY3RpdmF0ZSBvcmctYmFiZWwtc3BlZWQtY29tbWFuZC08d2JyPmFjdGl2YXRlKTxicj7CoG9y Zy10YWdzLWNvbHVtbiAtMTE2PGJyPsKgb3JnLWJhYmVsLXRhbmdsZS1sYW5nLWV4dHMgJiMzOTso KCZxdW90O2FzeW1wdG90ZSZxdW90OyAuICZxdW90O2FzeSZxdW90OykgKCZxdW90O29jYW1sJnF1 b3Q7IC4gJnF1b3Q7bWwmcXVvdDspICgmcXVvdDtqYXZhJnF1b3Q7IC4gJnF1b3Q7amF2YSZxdW90 Oyk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAoJnF1b3Q7cnVieSZxdW90OyAuICZxdW90O3JiJnF1b3Q7KSAoJnF1b3Q7RCZxdW90 OyAuICZxdW90O2QmcXVvdDspICgmcXVvdDtDKysmcXVvdDsgLiAmcXVvdDtjcHAmcXVvdDspICgm cXVvdDtoYXNrZWxsJnF1b3Q7IC4gJnF1b3Q7aHMmcXVvdDspPGJyPsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCZxdW90O2xpc3AmcXVv dDsgLiAmcXVvdDtsaXNwJnF1b3Q7KSAoJnF1b3Q7bGF0ZXgmcXVvdDsgLiAmcXVvdDt0ZXgmcXVv dDspICgmcXVvdDtjbG9qdXJlJnF1b3Q7IC4gJnF1b3Q7Y2xqJnF1b3Q7KTxicj7CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgmcXVvdDtw eXRob24mcXVvdDsgLiAmcXVvdDtweSZxdW90OykgKCZxdW90O2VtYWNzLWxpc3AmcXVvdDsgLiAm cXVvdDtlbCZxdW90OykgKCZxdW90O2VsaXNwJnF1b3Q7IC4gJnF1b3Q7ZWwmcXVvdDspKTxicj7C oG9yZy1jb25maXJtLXNoZWxsLWxpbmstPHdicj5mdW5jdGlvbiAmIzM5O3llcy1vci1uby1wPGJy PsKgb3JnLWxpbmstcGFyYW1ldGVycyAmIzM5OygoJnF1b3Q7aWQmcXVvdDsgOmZvbGxvdyBvcmct aWQtb3Blbik8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg KCZxdW90O3JtYWlsJnF1b3Q7IDpmb2xsb3cgb3JnLXJtYWlsLW9wZW4gOnN0b3JlIG9yZy1ybWFp bC1zdG9yZS1saW5rKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAoJnF1b3Q7bWhlJnF1b3Q7IDpmb2xsb3cgb3JnLW1oZS1vcGVuIDpzdG9yZSBvcmctbWhl LXN0b3JlLWxpbmspPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICgmcXVvdDtpcmMmcXVvdDsgOmZvbGxvdyBvcmctaXJjLXZpc2l0IDpzdG9yZSBvcmctaXJj LXN0b3JlLWxpbmspPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICgmcXVvdDtpbmZvJnF1b3Q7IDpmb2xsb3cgb3JnLWluZm8tb3BlbiA6ZXhwb3J0IG9yZy1p bmZvLWV4cG9ydCA6c3RvcmU8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBvcmctaW5mby1zdG9yZS1saW5rKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoJnF1b3Q7Z251cyZxdW90OyA6Zm9sbG93IG9yZy1nbnVz LW9wZW4gOnN0b3JlIG9yZy1nbnVzLXN0b3JlLWxpbmspPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgmcXVvdDtkb2N2aWV3JnF1b3Q7IDpmb2xsb3cgb3Jn LWRvY3ZpZXctb3BlbiA6ZXhwb3J0IG9yZy1kb2N2aWV3LWV4cG9ydCA6c3RvcmU8YnI+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcmctZG9jdmlldy1zdG9y ZS1saW5rKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo JnF1b3Q7YmlidGV4JnF1b3Q7IDpmb2xsb3cgb3JnLWJpYnRleC1vcGVuIDpzdG9yZSBvcmctYmli dGV4LXN0b3JlLWxpbmspPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgICgmcXVvdDtiYmRiJnF1b3Q7IDpmb2xsb3cgb3JnLWJiZGItb3BlbiA6ZXhwb3J0IG9y Zy1iYmRiLWV4cG9ydCA6Y29tcGxldGU8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBvcmctYmJkYi1jb21wbGV0ZS1saW5rIDpzdG9yZSBvcmctYmJkYi1z dG9yZS1saW5rKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAoJnF1b3Q7dzNtJnF1b3Q7IDpzdG9yZSBvcmctdzNtLXN0b3JlLWxpbmspICgmcXVvdDtmaWxl K3N5cyZxdW90OykgKCZxdW90O2ZpbGUrZW1hY3MmcXVvdDspPGJyPsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgmcXVvdDtpcHluYiZxdW90OyA6Zm9sbG93IGVp bjpvcmctb3BlbiA6aGVscC1lY2hvICZxdW90O09wZW4gaXB5dGhvbiBub3RlYm9vay4mcXVvdDsg OnN0b3JlPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg ZWluOm9yZy1zdG9yZS1saW5rKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAoJnF1b3Q7ZG9pJnF1b3Q7IDpmb2xsb3cgb3JnLS1vcGVuLWRvaS1saW5rKSAo JnF1b3Q7ZWxpc3AmcXVvdDsgOmZvbGxvdyBvcmctLW9wZW4tZWxpc3AtbGluayk8YnI+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCZxdW90O2ZpbGUmcXVvdDsg OmNvbXBsZXRlIG9yZy1maWxlLWNvbXBsZXRlLWxpbmspPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgmcXVvdDtmdHAmcXVvdDsgOmZvbGxvdyAobGFtYmRh IChwYXRoKSAoYnJvd3NlLXVybCAoY29uY2F0ICZxdW90O2Z0cDomcXVvdDsgcGF0aCkpKSk8YnI+ wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCZxdW90O2hlbHAm cXVvdDsgOmZvbGxvdyBvcmctLW9wZW4taGVscC1saW5rKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoJnF1b3Q7aHR0cCZxdW90OyA6Zm9sbG93IChsYW1i ZGEgKHBhdGgpIChicm93c2UtdXJsIChjb25jYXQgJnF1b3Q7aHR0cDomcXVvdDsgcGF0aCkpKSk8 YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCZxdW90O2h0 dHBzJnF1b3Q7IDpmb2xsb3cgKGxhbWJkYSAocGF0aCkgKGJyb3dzZS11cmwgKGNvbmNhdCAmcXVv dDtodHRwczomcXVvdDsgcGF0aCkpKSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgKCZxdW90O21haWx0byZxdW90OyA6Zm9sbG93IChsYW1iZGEgKHBhdGgp IChicm93c2UtdXJsIChjb25jYXQgJnF1b3Q7bWFpbHRvOiZxdW90OyBwYXRoKSkpKTxicj7CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoJnF1b3Q7bmV3cyZxdW90 OyA6Zm9sbG93IChsYW1iZGEgKHBhdGgpIChicm93c2UtdXJsIChjb25jYXQgJnF1b3Q7bmV3czom cXVvdDsgcGF0aCkpKSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgKCZxdW90O3NoZWxsJnF1b3Q7IDpmb2xsb3cgb3JnLS1vcGVuLXNoZWxsLWxpbmspKTxi cj7CoG9yZy10YWctZmFjZXMgJiMzOTsoKCZxdW90O3VyZ2VudCZxdW90OyAuIGZvbnQtbG9jay13 YXJuaW5nLWZhY2UpKTxicj7CoG9yZy10b2RvLWtleXdvcmQtZmFjZXMgJiMzOTsoKCZxdW90O1dB SVQmcXVvdDsgLiBvcmctd2FpdC1mYWNlKSk8YnI+wqBvcmctc3JjLXdpbmRvdy1zZXR1cCAmIzM5 O2N1cnJlbnQtd2luZG93PGJyPsKgKTxicj48YnI+PC9kaXY+PC9kaXY+PC9kaXY+DQo8L2Jsb2Nr cXVvdGU+PC9kaXY+PGJyPjwvZGl2Pg0K --001a11469848531ef60561c3567a--