From mboxrd@z Thu Jan 1 00:00:00 1970 From: York Zhao Subject: Re: still seeing semi-regular lockups Date: Sun, 6 Jul 2014 21:43:02 -0400 Message-ID: References: <87siocrbyb.fsf@ericabrahamsen.net> <87siobtn1i.fsf@bzg.ath.cx> <87ha4r1j91.fsf@tanger.home> <87k39hdf2o.fsf@tanger.home> <87ppj86elt.fsf@ericabrahamsen.net> <874n0kde2y.fsf@tanger.home> <87bnus4s5n.fsf@ericabrahamsen.net> <87egye7kx3.fsf@nicolasgoaziou.fr> <87a992mleu.fsf@ericabrahamsen.net> <87ha3425s3.fsf@ericabrahamsen.net> <87r428v4hn.fsf@ericabrahamsen.net> <87y4wdwmsy.fsf@nicolasgoaziou.fr> <87wqbw9ol5.fsf@nicolasgoaziou.fr> <87a98n3q0q.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a11c2ab5c859bdc04fd90984f Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50606) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X3xxS-0004fa-EI for emacs-orgmode@gnu.org; Sun, 06 Jul 2014 21:43:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X3xxQ-0003Eh-Jr for emacs-orgmode@gnu.org; Sun, 06 Jul 2014 21:43:06 -0400 Received: from mail-lb0-x230.google.com ([2a00:1450:4010:c04::230]:61658) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X3xxQ-0003Ed-18 for emacs-orgmode@gnu.org; Sun, 06 Jul 2014 21:43:04 -0400 Received: by mail-lb0-f176.google.com with SMTP id w7so2385926lbi.35 for ; Sun, 06 Jul 2014 18:43:02 -0700 (PDT) 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-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: York Zhao , emacs-orgmode --001a11c2ab5c859bdc04fd90984f Content-Type: text/plain; charset=UTF-8 > > The exact same slowness problem happened just now. "M-x org-element-cache-reset" > > didn't have any effect. Nor did setting `org-element-use-cache' to nil. Again, > > killed the buffer and reopened didn't help. > It looks like the problem isn't related to the cache then. Anyway, you > could try to do some profiling (see `profiler-start'). > > > One thing I didn't do, unfortunately, was that I reset cache only for the buffer > > where the slowness manifested. I think I should try reseting cache for all the 8 > > buffers too right? > Cache is buffer dependent, so you don't need to reset cache for all of > them (though it's simply C-u M-x org-element-cache-reset). This problem happened again just now. Again, M-x org-element-cache-reset didn't help, nor did C-u M-x org-element-cache-reset. And it seemed that only typing characters were slow, took 1 or 2 seconds for a typed character to appear on the screen. Again, this happened in the big buffer that has 77,xxx lines, freshly opened. I restarted Emacs and finished `org-drill' session on 8 files before opening this big file. I then `M-x profile-start', typed a few letters and `M-x profile-report', here's the memory report: + # 11,320,032 43% + call-interactively 4,857,849 18% + # 2,170,499 8% + timer-event-handler 1,428,527 5% + # 1,299,957 5% + helm 1,058,503 4% + redisplay_internal (C function) 869,652 3% + ac-handle-post-command 695,448 2% + helm-M-x 517,012 2% + helm-check-new-input 215,112 0% + # 211,328 0% + helm-let-internal 182,580 0% + helm-read-pattern-maybe 109,907 0% + helm-process-filtered-candidate-transformer 97,992 0% + helm-get-cached-candidates 87,872 0% + cl-mapcar 82,880 0% + helm-update 81,536 0% + helm-funcall-with-source 72,380 0% + read-from-minibuffer 70,224 0% + funcall 69,721 0% + apply 34,618 0% + # 33,140 0% + helm--compute-sources 31,988 0% + yas--post-command-handler 29,288 0% + org-element--parse-to 29,184 0% + # 12,520 0% + helm-compute-matches 12,400 0% + let 12,288 0% + byte-code 9,320 0% + ac-handle-pre-command 9,298 0% + profiler-report-rerender-calltree 8,188 0% + command-execute 8,188 0% + helm-check-minibuffer-input 8,152 0% + zfill-org-paragraph-boundary 7,240 0% + helm-internal 7,000 0% + sp--self-insert-command 6,060 0% + helm-comp-read 5,200 0% + let* 5,028 0% + catch 4,204 0% + hl-paren-highlight 4,144 0% + zfill-pre-command-function 4,096 0% + save-restriction 4,096 0% + while 4,096 0% + save-excursion 4,096 0% + helm-M-x-current-mode-map-alist 3,144 0% + helm-display-buffer 2,080 0% + profiler-report-setup-buffer 1,066 0% + profiler-report 1,054 0% + org-element--cache-before-change 1,024 0% And CPU report: + ac-handle-post-command 2985 56% + timer-event-handler 1786 33% + redisplay_internal (C function) 131 2% + helm-M-x 121 2% Automatic GC 60 1% + call-interactively 42 0% + # 24 0% + # 24 0% + apply 23 0% + yas--table-all-keys 20 0% + helm-internal 12 0% + helm--compute-sources 12 0% + # 10 0% + # 8 0% + funcall 6 0% + # 4 0% + helm-update 4 0% + helm-check-new-input 4 0% + helm 4 0% + helm-process-filtered-candidate-transformer 4 0% + helm-get-candidates 3 0% + helm-let-internal 3 0% So I suspected the `auto-complete'. I tried M-x auto-complete to turn it off which worked, the typing was fast again. M-x auto-complete to turn it back on and typing became extremely slow again. Hope this will help a tiny bit. York --001a11c2ab5c859bdc04fd90984f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+Jmd0OyAmZ3Q7IFRoZSBleGFjdCBzYW1lIHNsb3duZXNzIHByb2JsZW0g aGFwcGVuZWQganVzdCBub3cuICZxdW90O00teCBvcmctZWxlbWVudC1jYWNoZS1yZXNldCZxdW90 Ozxicj4mZ3Q7ICZndDsgZGlkbiYjMzk7dCBoYXZlIGFueSBlZmZlY3QuIE5vciBkaWQgc2V0dGlu ZyBgb3JnLWVsZW1lbnQtdXNlLWNhY2hlJiMzOTsgdG8gbmlsLiBBZ2Fpbiw8YnI+Jmd0OyAmZ3Q7 IGtpbGxlZCB0aGUgYnVmZmVyIGFuZCByZW9wZW5lZCBkaWRuJiMzOTt0IGhlbHAuPGJyPg0KJmd0 OyBJdCBsb29rcyBsaWtlIHRoZSBwcm9ibGVtIGlzbiYjMzk7dCByZWxhdGVkIHRvIHRoZSBjYWNo ZSB0aGVuLiBBbnl3YXksIHlvdTxicj4mZ3Q7IGNvdWxkIHRyeSB0byBkbyBzb21lIHByb2ZpbGlu ZyAoc2VlIGBwcm9maWxlci1zdGFydCYjMzk7KS48YnI+Jmd0Ozxicj4mZ3Q7ICZndDsgT25lIHRo aW5nIEkgZGlkbiYjMzk7dCBkbywgdW5mb3J0dW5hdGVseSwgd2FzIHRoYXQgSSByZXNldCBjYWNo ZSBvbmx5IGZvciB0aGUgYnVmZmVyPGJyPg0KJmd0OyAmZ3Q7IHdoZXJlIHRoZSBzbG93bmVzcyBt YW5pZmVzdGVkLiBJIHRoaW5rIEkgc2hvdWxkIHRyeSByZXNldGluZyBjYWNoZSBmb3IgYWxsIHRo ZSA4PGJyPiZndDsgJmd0OyBidWZmZXJzIHRvbyByaWdodD88YnI+Jmd0OyBDYWNoZSBpcyBidWZm ZXIgZGVwZW5kZW50LCBzbyB5b3UgZG9uJiMzOTt0IG5lZWQgdG8gcmVzZXQgY2FjaGUgZm9yIGFs bCBvZjxicj4mZ3Q7IHRoZW0gKHRob3VnaCBpdCYjMzk7cyBzaW1wbHkgQy11IE0teCBvcmctZWxl bWVudC1jYWNoZS1yZXNldCkuPGJyPg0KPGJyPlRoaXMgcHJvYmxlbSBoYXBwZW5lZCBhZ2FpbiBq dXN0IG5vdy4gQWdhaW4sIE0teCBvcmctZWxlbWVudC1jYWNoZS1yZXNldCBkaWRuJiMzOTt0PGJy PmhlbHAsIG5vciBkaWQgQy11IE0teCBvcmctZWxlbWVudC1jYWNoZS1yZXNldC4gQW5kIGl0IHNl ZW1lZCB0aGF0IG9ubHkgdHlwaW5nPGJyPmNoYXJhY3RlcnMgd2VyZSBzbG93LCB0b29rIDEgb3Ig MiBzZWNvbmRzIGZvciBhIHR5cGVkIGNoYXJhY3RlciB0byBhcHBlYXIgb24gdGhlPGJyPg0Kc2Ny ZWVuLjxicj48YnI+QWdhaW4sIHRoaXMgaGFwcGVuZWQgaW4gdGhlIGJpZyBidWZmZXIgdGhhdCBo YXMgNzcseHh4IGxpbmVzLCBmcmVzaGx5IG9wZW5lZC4gSTxicj5yZXN0YXJ0ZWQgRW1hY3MgYW5k IGZpbmlzaGVkIGBvcmctZHJpbGwmIzM5OyBzZXNzaW9uIG9uIDggZmlsZXMgYmVmb3JlIG9wZW5p bmcgdGhpczxicj5iaWcgZmlsZS48YnI+PGJyPkkgdGhlbiBgTS14IHByb2ZpbGUtc3RhcnQmIzM5 OywgdHlwZWQgYSBmZXcgbGV0dGVycyBhbmQgYE0teCBwcm9maWxlLXJlcG9ydCYjMzk7LCBoZXJl JiMzOTtzPGJyPg0KdGhlIG1lbW9yeSByZXBvcnQ6PGJyPjxicj4rICMmbHQ7Y29tcGlsZWQgMHgx MzhiMjMxJmd0O8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTEsMzIwLDAzMsKgIDQzJTxicj4rIGNhbGwtaW50ZXJh Y3RpdmVsecKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA0LDg1Nyw4NDnCoCAxOCU8YnI+KyAjJmx0O2Nv bXBpbGVkIDB4MTQ0NDI3NSZndDvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMiwxNzAsNDk5wqDCoCA4JTxicj4N CisgdGltZXItZXZlbnQtaGFuZGxlcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMSw0MjgsNTI3wqDCoCA1 JTxicj4rICMmbHQ7Y29tcGlsZWQgMHhhNmU1NjEmZ3Q7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMSwyOTks OTU3wqDCoCA1JTxicj4rIGhlbG3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIDEsMDU4LDUwM8KgwqAgNCU8YnI+DQorIHJlZGlzcGxheV9pbnRlcm5hbCAo QyBmdW5jdGlvbinCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCA4NjksNjUywqDCoCAzJTxicj4rIGFjLWhhbmRsZS1wb3N0LWNvbW1hbmTCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCA2OTUsNDQ4wqDCoCAyJTxicj4rIGhlbG0tTS14wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDUxNywwMTLCoMKgIDIlPGJyPg0KKyBoZWxt LWNoZWNrLW5ldy1pbnB1dMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyMTUsMTEywqDCoCAwJTxicj4r ICMmbHQ7Y29tcGlsZWQgMHgxMzkxYzdkJmd0O8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjExLDMyOMKg wqAgMCU8YnI+KyBoZWxtLWxldC1pbnRlcm5hbMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAx ODIsNTgwwqDCoCAwJTxicj4NCisgaGVsbS1yZWFkLXBhdHRlcm4tbWF5YmXCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgMTA5LDkwN8KgwqAgMCU8YnI+KyBoZWxtLXByb2Nlc3MtZmlsdGVyZWQtY2FuZGlkYXRlLXRy YW5zZm9ybWVywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA5Nyw5OTLCoMKgIDAl PGJyPisgaGVsbS1nZXQtY2FjaGVkLWNhbmRpZGF0ZXPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA4Nyw4NzLCoMKgIDAl PGJyPg0KKyBjbC1tYXBjYXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgODIsODgwwqDCoCAwJTxicj4rIGhlbG0tdXBkYXRlwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgODEsNTM2wqDCoCAwJTxicj4rIGhlbG0tZnVuY2FsbC13aXRo LXNvdXJjZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA3MiwzODDCoMKgIDAlPGJyPg0KKyByZWFkLWZyb20tbWlu aWJ1ZmZlcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDcwLDIyNMKgwqAgMCU8YnI+KyBmdW5jYWxs wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA2OSw3MjHC oMKgIDAlPGJyPisgYXBwbHnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAzNCw2MTjCoMKgIDAlPGJyPg0KKyAjJmx0O2NvbXBpbGVkIDB4ZmU4ZWU5 Jmd0O8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDMzLDE0MMKgwqAgMCU8YnI+KyBoZWxtLS1jb21w dXRlLXNvdXJjZXPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMzEsOTg4wqDCoCAwJTxicj4rIHlhcy0t cG9zdC1jb21tYW5kLWhhbmRsZXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI5LDI4OMKgwqAgMCU8YnI+DQorIG9y Zy1lbGVtZW50LS1wYXJzZS10b8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyOSwxODTCoMKgIDAlPGJy PisgIyZsdDtjb21waWxlZCAweGZlODNhZCZndDvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxMiw1 MjDCoMKgIDAlPGJyPisgaGVsbS1jb21wdXRlLW1hdGNoZXPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAxMiw0MDDCoMKgIDAlPGJyPg0KKyBsZXTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTIsMjg4wqDCoCAwJTxicj4rIGJ5dGUtY29kZcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDksMzIwwqDCoCAw JTxicj4rIGFjLWhhbmRsZS1wcmUtY29tbWFuZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDksMjk4 wqDCoCAwJTxicj4NCisgcHJvZmlsZXItcmVwb3J0LXJlcmVuZGVyLWNhbGx0cmVlwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgOCwxODjCoMKg IDAlPGJyPisgY29tbWFuZC1leGVjdXRlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgOCwxODjCoMKgIDAlPGJyPisgaGVsbS1jaGVjay1taW5pYnVmZmVyLWlucHV0wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgOCwxNTLCoMKgIDAlPGJyPg0KKyB6ZmlsbC1vcmctcGFyYWdyYXBoLWJvdW5kYXJ5wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIDcsMjQwwqDCoCAwJTxicj4rIGhlbG0taW50ZXJuYWzCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgNywwMDDCoMKgIDAlPGJyPisgc3AtLXNlbGYtaW5zZXJ0LWNvbW1h bmTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIDYsMDYwwqDCoCAwJTxicj4NCisgaGVsbS1jb21wLXJlYWTC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDUsMjAwwqDCoCAwJTxicj4rIGxl dCrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgNSwwMjjCoMKgIDAlPGJyPisgY2F0Y2jCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDQsMjA0wqDCoCAwJTxicj4NCisgaGwtcGFyZW4taGln aGxpZ2h0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgNCwxNDTCoMKgIDAlPGJyPisgemZp bGwtcHJlLWNvbW1hbmQtZnVuY3Rpb27CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDQsMDk2wqDCoCAwJTxicj4rIHNh dmUtcmVzdHJpY3Rpb27CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgNCwwOTbCoMKg IDAlPGJyPg0KKyB3aGlsZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgNCwwOTbCoMKgIDAlPGJyPisgc2F2ZS1leGN1cnNpb27CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDQsMDk2wqDCoCAwJTxicj4rIGhlbG0tTS14LWN1 cnJlbnQtbW9kZS1tYXAtYWxpc3TCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMywxNDTCoMKgIDAlPGJyPg0KKyBoZWxtLWRpc3BsYXkt YnVmZmVywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDIsMDgwwqDCoCAwJTxicj4rIHByb2Zp bGVyLXJlcG9ydC1zZXR1cC1idWZmZXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMSwwNjbCoMKgIDAlPGJyPisgcHJvZmls ZXItcmVwb3J0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMSwwNTTCoMKgIDAl PGJyPg0KKyBvcmctZWxlbWVudC0tY2FjaGUtYmVmb3JlLWNoYW5nZcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMSwwMjTCoMKgIDAlPGJy Pjxicj5BbmQgQ1BVIHJlcG9ydDo8YnI+PGJyPisgYWMtaGFuZGxlLXBvc3QtY29tbWFuZMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIDI5ODXCoCA1NiU8YnI+KyB0aW1lci1ldmVudC1oYW5kbGVywqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTc4NsKgIDMzJTxicj4NCisgcmVkaXNwbGF5X2lu dGVybmFsIChDIGZ1bmN0aW9uKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTMxwqDCoCAyJTxicj4rIGhlbG0tTS14wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTIxwqDCoCAy JTxicj7CoCBBdXRvbWF0aWMgR0PCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCA2MMKgwqAgMSU8YnI+DQorIGNhbGwtaW50ZXJhY3RpdmVsecKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDQywqDCoCAwJTxicj4rICMmbHQ7Y29tcGlsZWQgMHgx MzhiMjMxJmd0O8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI0wqDCoCAwJTxicj4rICMm bHQ7Y29tcGlsZWQgMHhhNmU1NjEmZ3Q7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAy NMKgwqAgMCU8YnI+DQorIGFwcGx5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyM8KgwqAgMCU8YnI+KyB5YXMtLXRhYmxlLWFsbC1r ZXlzwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDIwwqDCoCAwJTxicj4rIGhlbG0t aW50ZXJuYWzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTLC oMKgIDAlPGJyPg0KKyBoZWxtLS1jb21wdXRlLXNvdXJjZXPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAxMsKgwqAgMCU8YnI+KyAjJmx0O2NvbXBpbGVkIDB4ZmU4M2FkJmd0O8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTDCoMKgIDAlPGJyPisgIyZsdDtjb21waWxlZCAweDE0 NDQyNzUmZ3Q7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA4wqDCoCAwJTxicj4NCisg ZnVuY2FsbMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIDbCoMKgIDAlPGJyPisgIyZsdDtjb21waWxlZCAweDEzOTFjN2QmZ3Q7wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA0wqDCoCAwJTxicj4rIGhlbG0tdXBkYXRlwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDTCoMKgIDAlPGJy Pg0KKyBoZWxtLWNoZWNrLW5ldy1pbnB1dMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCA0wqDCoCAwJTxicj4rIGhlbG3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA0wqDCoCAwJTxicj4rIGhlbG0tcHJvY2Vzcy1m aWx0ZXJlZC1jYW5kaWRhdGUtdHJhbnNmb3JtZXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCA0wqDCoCAwJTxicj4NCisgaGVsbS1nZXQtY2FuZGlkYXRlc8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDPCoMKgIDAlPGJyPisgaGVsbS1sZXQtaW50 ZXJuYWzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgM8KgwqAgMCU8YnI+ PGJyPlNvIEkgc3VzcGVjdGVkIHRoZSBgYXV0by1jb21wbGV0ZSYjMzk7LiBJIHRyaWVkIE0teCBh dXRvLWNvbXBsZXRlIHRvIHR1cm4gaXQgb2ZmPGJyPg0Kd2hpY2ggd29ya2VkLCB0aGUgdHlwaW5n IHdhcyBmYXN0IGFnYWluLiBNLXggYXV0by1jb21wbGV0ZSB0byB0dXJuIGl0IGJhY2sgb248YnI+ YW5kIHR5cGluZyBiZWNhbWUgZXh0cmVtZWx5IHNsb3cgYWdhaW4uPGJyPjxicj5Ib3BlIHRoaXMg d2lsbCBoZWxwIGEgdGlueSBiaXQuPGJyPjxicj48YnI+WW9yazxicj48YnI+PC9kaXY+DQo= --001a11c2ab5c859bdc04fd90984f--