From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alexander Shukaev Newsgroups: gmane.emacs.bugs Subject: bug#19229: ispell-phaf: No matching entry for ... Date: Sun, 30 Nov 2014 22:55:17 +0100 Message-ID: References: <83mw788k5w.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a113474f8abdcb405091a8c70 X-Trace: ger.gmane.org 1417384588 7895 80.91.229.3 (30 Nov 2014 21:56:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 30 Nov 2014 21:56:28 +0000 (UTC) Cc: 19229@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Nov 30 22:56:20 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XvCTa-0001om-Q2 for geb-bug-gnu-emacs@m.gmane.org; Sun, 30 Nov 2014 22:56:19 +0100 Original-Received: from localhost ([::1]:51862 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XvCTa-0004Wt-E2 for geb-bug-gnu-emacs@m.gmane.org; Sun, 30 Nov 2014 16:56:18 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60619) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XvCTR-0004Wm-A7 for bug-gnu-emacs@gnu.org; Sun, 30 Nov 2014 16:56:15 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XvCTL-00023B-4W for bug-gnu-emacs@gnu.org; Sun, 30 Nov 2014 16:56:09 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52978) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XvCTL-000237-0r for bug-gnu-emacs@gnu.org; Sun, 30 Nov 2014 16:56:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XvCTK-0007ea-Hy for bug-gnu-emacs@gnu.org; Sun, 30 Nov 2014 16:56:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Alexander Shukaev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 30 Nov 2014 21:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19229 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 19229-submit@debbugs.gnu.org id=B19229.141738452429373 (code B ref 19229); Sun, 30 Nov 2014 21:56:02 +0000 Original-Received: (at 19229) by debbugs.gnu.org; 30 Nov 2014 21:55:24 +0000 Original-Received: from localhost ([127.0.0.1]:50191 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XvCSh-0007dg-0B for submit@debbugs.gnu.org; Sun, 30 Nov 2014 16:55:24 -0500 Original-Received: from mail-lb0-f170.google.com ([209.85.217.170]:52380) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XvCSc-0007dW-JB for 19229@debbugs.gnu.org; Sun, 30 Nov 2014 16:55:19 -0500 Original-Received: by mail-lb0-f170.google.com with SMTP id w7so7744102lbi.15 for <19229@debbugs.gnu.org>; Sun, 30 Nov 2014 13:55:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=tAxIc85/keND8DYDryFY2NUY63SCa9hldmILkPFdh78=; b=Su2+l/kWFr+Df+OZKp3VKxCXkNZjC8OrswmMAGvQLTMVtE4e/p55nz0SLOufjlYgdB G5CKubYf8dSVjM0yTjqYkgJzjrt2tpKNl0p3q8LDlsH3oNudKENuqbcf8HHbDJdoagEh Bszs9pajeyQcs4+5dQYAB3Kth6naa3PvJbts+9uMSO7U1VOiW47RiM0iB0E69yYWUXER JFyTSuV6VeHiWwkEvp6YQHmIjQwRT0dYqLn8CmnGZBk7K/XE/hQ/IyA4YZMWB98R1Zd/ nvR6XNoV1QkK5rKg6BXgXO2JPq+LwpRgZRViWlkAFmfS9Xy98fb7uh+D2ZwVZCQ9Tqjj zXMw== X-Received: by 10.153.8.137 with SMTP id dk9mr37507688lad.82.1417384517424; Sun, 30 Nov 2014 13:55:17 -0800 (PST) Original-Received: by 10.112.21.136 with HTTP; Sun, 30 Nov 2014 13:55:17 -0800 (PST) In-Reply-To: <83mw788k5w.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:96768 Archived-At: --001a113474f8abdcb405091a8c70 Content-Type: text/plain; charset=UTF-8 Thanks a lot for the tip. I don't know what was wrong with MSYS2 version of hunspell, but this one works with the following minimal configuration: (setq ispell-program-name (executable-find "hunspell")) (setq ispell-local-dictionary "en_US") (setq ispell-local-dictionary-alist '(("en_US" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil nil nil utf-8))) Nevertheless, I can still see ispell-phaf: No matching entry for nil So it still tries to call `ispell-parse-hunspell-affix-file' with `nil' for the first time, and only then calls it with "en_US" in my case. Secondly, I think that relying on "hunspell -D" so stubbornly that `ispell-parse-hunspell-affix-file' blocks all further usage of ispell.el with hunspell if `ispell-hunspell-dict-paths-alist' is just dumb. Here are a few reasons: 1. Not all distributions of hunspell even supply "share/hunspell/*" stuff with them; 2. Some users don't use dictionaries from "share/hunspell/*" because they might get either more updated dictionaries themselves and/or already have customized personal dictionaries. For instance, #2 is exactly what I was planning to do: (let ((dictionaries-dir (expand-file-name "dictionaries" user-emacs-directory))) (make-directory dictionaries-dir t) (setq ispell-local-dictionary "en_US") (setq ispell-local-dictionary-alist '((nil "[[:alpha:]]" "[^[:alpha:]]" "[']" nil ("-d" "en_US" "-p" dictionaries-dir) nil utf-8) ("en_US" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil ("-d" "en_US" "-p" dictionaries-dir) nil utf-8) ("german" "[[:alpha:]]" "[^[:alpha:]]" "[']" t ("-d" "de_DE_frami" "-p" dictionaries-dir) "~tex" utf-8) ("russian" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil ("-d" "ru_RU" "-p" dictionaries-dir) nil utf-8))))) and in this case I obviously don't care at all whether hunspell has anything in "share/hunspell/*" or not. So why would I be forcefully blocked to use it with some weird error from `ispell-parse-hunspell-affix-file'? How about redesign? --001a113474f8abdcb405091a8c70 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdj5UaGFua3MgYSBsb3QgZm9yIHRoZSB0aXAuPC9kaXY+PGRpdj48 YnI+PC9kaXY+SSBkb24mIzM5O3Qga25vdyB3aGF0IHdhcyB3cm9uZyB3aXRoIE1TWVMyIHZlcnNp b24gb2YgaHVuc3BlbGwsIGJ1dCB0aGlzIG9uZSB3b3JrcyB3aXRoIHRoZSBmb2xsb3dpbmcgbWlu aW1hbCBjb25maWd1cmF0aW9uOjxkaXY+PGJyPjwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJtYXJn aW46MHB4IDBweCAwcHggNDBweDtib3JkZXI6bm9uZTtwYWRkaW5nOjBweCI+PGRpdj48ZGl2Pihz ZXRxIGlzcGVsbC1wcm9ncmFtLW5hbWUgKGV4ZWN1dGFibGUtZmluZCAmcXVvdDtodW5zcGVsbCZx dW90OykpPC9kaXY+PC9kaXY+PGRpdj48ZGl2PihzZXRxIGlzcGVsbC1sb2NhbC1kaWN0aW9uYXJ5 ICZxdW90O2VuX1VTJnF1b3Q7KTwvZGl2PjwvZGl2PjxkaXY+PGRpdj4oc2V0cSBpc3BlbGwtbG9j YWwtZGljdGlvbmFyeS1hbGlzdCAmIzM5OygoJnF1b3Q7ZW5fVVMmcXVvdDs8L2Rpdj48L2Rpdj48 ZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAmcXVvdDtbWzphbHBoYTpdXSZxdW90OzwvZGl2PjwvZGl2PjxkaXY+PGRpdj7C oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCZxdW90O1teWzphbHBoYTpdXSZxdW90OzwvZGl2PjwvZGl2PjxkaXY+PGRpdj7CoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCZxdW90O1sm IzM5O10mcXVvdDs8L2Rpdj48L2Rpdj48ZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBuaWw8L2Rpdj48L2Rpdj48ZGl2Pjxk aXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBuaWw8L2Rpdj48L2Rpdj48ZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBuaWw8L2Rpdj48L2Rpdj48ZGl2PjxkaXY+ wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqB1dGYtOCkpKTwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48ZGl2Pk5l dmVydGhlbGVzcywgSSBjYW4gc3RpbGwgc2VlPC9kaXY+PGRpdj48YnI+PC9kaXY+PGJsb2NrcXVv dGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2Jv cmRlci1sZWZ0LXdpZHRoOjFweDtib3JkZXItbGVmdC1jb2xvcjpyZ2IoMjA0LDIwNCwyMDQpO2Jv cmRlci1sZWZ0LXN0eWxlOnNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPmlzcGVsbC1waGFmOiBObyBt YXRjaGluZyBlbnRyeSBmb3IgbmlsPC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjxkaXY+U28g aXQgc3RpbGwgdHJpZXMgdG8gY2FsbCBgaXNwZWxsLXBhcnNlLWh1bnNwZWxsLWFmZml4LWZpbGUm IzM5OyB3aXRoIGBuaWwmIzM5OyBmb3IgdGhlIGZpcnN0IHRpbWUsIGFuZCBvbmx5IHRoZW4gY2Fs bHMgaXQgd2l0aCAmcXVvdDtlbl9VUyZxdW90OyBpbiBteSBjYXNlLjwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+U2Vjb25kbHksIEkgdGhpbmsgdGhhdCByZWx5aW5nIG9uICZxdW90O2h1bnNwZWxs IC1EJnF1b3Q7IHNvIHN0dWJib3JubHkgdGhhdCBgaXNwZWxsLXBhcnNlLWh1bnNwZWxsLWFmZml4 LWZpbGUmIzM5OyBibG9ja3MgYWxsIGZ1cnRoZXIgdXNhZ2Ugb2YgaXNwZWxsLmVsIHdpdGggaHVu c3BlbGwgaWbCoDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweDtmb250LWZhbWlseTphcmlhbCxz YW5zLXNlcmlmIj5gaXNwZWxsLWh1bnNwZWxsLWRpY3QtcGF0aHMtPC9zcGFuPjxzcGFuIHN0eWxl PSJmb250LXNpemU6MTNweDtmb250LWZhbWlseTphcmlhbCxzYW5zLXNlcmlmIj5hbGlzdCYjMzk7 IGlzIGp1c3QgZHVtYi4gSGVyZSBhcmUgYSBmZXcgcmVhc29uczo8L3NwYW4+PC9kaXY+PGRpdj48 b2w+PGxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTphcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6 ZToxM3B4Ij5Ob3QgYWxsIGRpc3RyaWJ1dGlvbnMgb2YgaHVuc3BlbGwgZXZlbiBzdXBwbHkgJnF1 b3Q7c2hhcmUvaHVuc3BlbGwvKiZxdW90OyBzdHVmZiB3aXRoIHRoZW07PC9zcGFuPjxicj48L2xp PjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6 MTNweCI+U29tZSB1c2VycyBkb24mIzM5O3QgdXNlIGRpY3Rpb25hcmllcyBmcm9twqA8L3NwYW4+ PGZvbnQgZmFjZT0iYXJpYWwsIHNhbnMtc2VyaWYiPiZxdW90O3NoYXJlL2h1bnNwZWxsLyomcXVv dDsgYmVjYXVzZSB0aGV5IG1pZ2h0IGdldCBlaXRoZXIgbW9yZSB1cGRhdGVkIGRpY3Rpb25hcmll cyB0aGVtc2VsdmVzIGFuZC9vciBhbHJlYWR5IGhhdmUgY3VzdG9taXplZCBwZXJzb25hbCBkaWN0 aW9uYXJpZXMuPC9mb250PjwvbGk+PC9vbD48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNl cmlmIj5Gb3IgaW5zdGFuY2UsICMyIGlzIGV4YWN0bHkgd2hhdCBJIHdhcyBwbGFubmluZyB0byBk bzo8L2ZvbnQ+PC9kaXY+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+ PGJyPjwvZm9udD48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luOjAgMCAwIDQwcHg7Ym9y ZGVyOm5vbmU7cGFkZGluZzowcHgiPjxkaXY+PGZvbnQgZmFjZT0iYXJpYWwsIHNhbnMtc2VyaWYi PjxkaXY+wqAgKGxldCAoKGRpY3Rpb25hcmllcy1kaXIgKGV4cGFuZC1maWxlLW5hbWUgJnF1b3Q7 ZGljdGlvbmFyaWVzJnF1b3Q7PC9kaXY+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iYXJp YWwsIHNhbnMtc2VyaWYiPjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdXNlci1lbWFjcy1kaXJlY3RvcnkpKSk8L2Rp dj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj7C oCDCoCAobWFrZS1kaXJlY3RvcnkgZGljdGlvbmFyaWVzLWRpciB0KTwvZGl2PjwvZm9udD48L2Rp dj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48ZGl2PsKgIMKgIChzZXRxIGlz cGVsbC1sb2NhbC1kaWN0aW9uYXJ5ICZxdW90O2VuX1VTJnF1b3Q7KTwvZGl2PjwvZm9udD48L2Rp dj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48ZGl2PsKgIMKgIChzZXRxIGlz cGVsbC1sb2NhbC1kaWN0aW9uYXJ5LWFsaXN0ICYjMzk7KChuaWw8L2Rpdj48L2ZvbnQ+PC9kaXY+ PGRpdj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj7CoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCZxdW90O1tb OmFscGhhOl1dJnF1b3Q7PC9kaXY+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iYXJpYWws IHNhbnMtc2VyaWYiPjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmcXVvdDtbXls6YWxwaGE6XV0mcXVvdDs8L2Rpdj48 L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj7CoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCZxdW90O1smIzM5O10mcXVvdDs8L2Rpdj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNl PSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoG5pbDwvZGl2PjwvZm9udD48L2Rpdj48 ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKCZxdW90Oy1k JnF1b3Q7ICZxdW90O2VuX1VTJnF1b3Q7PC9kaXY+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFj ZT0iYXJpYWwsIHNhbnMtc2VyaWYiPjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgJnF1b3Q7LXAmcXVvdDvCoGRpY3Rp b25hcmllcy1kaXIpPC9kaXY+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iYXJpYWwsIHNh bnMtc2VyaWYiPjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBuaWw8L2Rpdj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBm YWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHV0Zi04KTwvZGl2PjwvZm9udD48 L2Rpdj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48ZGl2PsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICgmcXVv dDtlbl9VUyZxdW90OzwvZGl2PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBz YW5zLXNlcmlmIj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJnF1b3Q7W1s6YWxwaGE6XV0mcXVvdDs8L2Rpdj48L2Zv bnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj7CoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCZxdW90O1teWzphbHBoYTpdXSZxdW90OzwvZGl2PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZh Y2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJnF1b3Q7WyYjMzk7XSZxdW90Ozwv ZGl2PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48ZGl2 PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgbmlsPC9kaXY+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iYXJpYWwsIHNh bnMtc2VyaWYiPjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoJnF1b3Q7LWQmcXVvdDsgJnF1b3Q7ZW5fVVMmcXVvdDs8 L2Rpdj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRp dj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCAmcXVvdDstcCZxdW90O8KgZGljdGlvbmFyaWVzLWRpcik8L2Rpdj48L2ZvbnQ+ PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj7CoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoG5p bDwvZGl2PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48 ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgdXRmLTgpPC9kaXY+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iYXJp YWwsIHNhbnMtc2VyaWYiPjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKCZxdW90O2dlcm1hbiZxdW90OzwvZGl2PjwvZm9u dD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48ZGl2PsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg JnF1b3Q7W1s6YWxwaGE6XV0mcXVvdDs8L2Rpdj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNl PSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCZxdW90O1teWzphbHBoYTpdXSZxdW90 OzwvZGl2PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48 ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgJnF1b3Q7WyYjMzk7XSZxdW90OzwvZGl2PjwvZm9udD48L2Rpdj48ZGl2Pjxm b250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgdDwvZGl2PjwvZm9udD48 L2Rpdj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48ZGl2PsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKCZx dW90Oy1kJnF1b3Q7ICZxdW90O2RlX0RFX2ZyYW1pJnF1b3Q7PC9kaXY+PC9mb250PjwvZGl2Pjxk aXY+PGZvbnQgZmFjZT0iYXJpYWwsIHNhbnMtc2VyaWYiPjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgJnF1b3Q7LXAm cXVvdDsgZGljdGlvbmFyaWVzLWRpcik8L2Rpdj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNl PSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCZxdW90O350ZXgmcXVvdDs8L2Rpdj48 L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj7CoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoHV0Zi04KTwvZGl2PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5z LXNlcmlmIj48ZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKCZxdW90O3J1c3NpYW4mcXVvdDs8L2Rpdj48L2Rpdj48 L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj48ZGl2 PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgJnF1b3Q7W1s6YWxwaGE6XV0mcXVvdDs8L2Rpdj48L2Rpdj48L2ZvbnQ+PC9kaXY+ PGRpdj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj48ZGl2PsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJnF1 b3Q7W15bOmFscGhhOl1dJnF1b3Q7PC9kaXY+PC9kaXY+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg ZmFjZT0iYXJpYWwsIHNhbnMtc2VyaWYiPjxkaXY+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCZxdW90O1smIzM5O10m cXVvdDs8L2Rpdj48L2Rpdj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fu cy1zZXJpZiI+PGRpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgbmlsPC9kaXY+PC9kaXY+PC9mb250PjwvZGl2Pjxk aXY+PGZvbnQgZmFjZT0iYXJpYWwsIHNhbnMtc2VyaWYiPjxkaXY+PGRpdj7CoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCgmcXVv dDstZCZxdW90OyAmcXVvdDtydV9SVSZxdW90OzwvZGl2PjwvZGl2PjwvZm9udD48L2Rpdj48ZGl2 Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj48ZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgJnF1b3Q7 LXAmcXVvdDsgZGljdGlvbmFyaWVzLWRpcik8L2Rpdj48L2Rpdj48L2ZvbnQ+PC9kaXY+PGRpdj48 Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+PGRpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgbmlsPC9kaXY+ PC9kaXY+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iYXJpYWwsIHNhbnMtc2VyaWYiPjxk aXY+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoHV0Zi04KSkpKSk8L2Rpdj48L2Rpdj48L2ZvbnQ+PC9kaXY+PC9ibG9j a3F1b3RlPjxkaXY+PGZvbnQgZmFjZT0iYXJpYWwsIHNhbnMtc2VyaWYiPjxkaXY+PGJyPjwvZGl2 PjxkaXY+YW5kIGluIHRoaXMgY2FzZSBJIG9idmlvdXNseSBkb24mIzM5O3QgY2FyZSBhdCBhbGwg d2hldGhlciBodW5zcGVsbCBoYXMgYW55dGhpbmcgaW4gJnF1b3Q7c2hhcmUvaHVuc3BlbGwvKiZx dW90OyBvciBub3QuIFNvIHdoeSB3b3VsZCBJIGJlIGZvcmNlZnVsbHkgYmxvY2tlZCB0byB1c2Ug aXQgd2l0aCBzb21lIHdlaXJkIGVycm9yIGZyb23CoGBpc3BlbGwtcGFyc2UtaHVuc3BlbGwtYWZm aXgtZmlsZSYjMzk7PzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SG93IGFib3V0IHJlZGVzaWdu PzwvZGl2PjwvZm9udD48L2Rpdj48ZGl2Pjxicj48L2Rpdj48L2Rpdj4NCg== --001a113474f8abdcb405091a8c70--