From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "A. Soare" Newsgroups: gmane.emacs.devel Subject: Backus Naur Date: Sat, 2 Oct 2010 13:09:41 +0200 (CEST) Message-ID: <4437394.2522901286017781295.JavaMail.www@wwinf4636> Reply-To: alinsoar@voila.fr NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_121566_13662010.1286017781295" X-Trace: dough.gmane.org 1286017816 482 80.91.229.12 (2 Oct 2010 11:10:16 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 2 Oct 2010 11:10:16 +0000 (UTC) To: "Emacs Dev [emacs-devel]" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Oct 02 13:10:15 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1P1zya-0002b0-Kn for ged-emacs-devel@m.gmane.org; Sat, 02 Oct 2010 13:10:15 +0200 Original-Received: from localhost ([127.0.0.1]:50660 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P1zyW-0002bi-3w for ged-emacs-devel@m.gmane.org; Sat, 02 Oct 2010 07:09:56 -0400 Original-Received: from [140.186.70.92] (port=50074 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P1zyM-0002ba-UK for emacs-devel@gnu.org; Sat, 02 Oct 2010 07:09:49 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P1zyK-0001Bz-PG for emacs-devel@gnu.org; Sat, 02 Oct 2010 07:09:46 -0400 Original-Received: from smtp3.voila.fr ([193.252.22.173]:42687 helo=smtp1.voila.fr) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P1zyK-0001Br-2X for emacs-devel@gnu.org; Sat, 02 Oct 2010 07:09:44 -0400 Original-Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf4904.voila.fr (SMTP Server) with ESMTP id 5D1D4700009E for ; Sat, 2 Oct 2010 13:09:41 +0200 (CEST) Original-Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf4904.voila.fr (SMTP Server) with ESMTP id 5940A700009F for ; Sat, 2 Oct 2010 13:09:41 +0200 (CEST) Original-Received: from wwinf4636 (wwinf4636 [10.232.13.110]) by mwinf4904.voila.fr (SMTP Server) with ESMTP id 48710700009E for ; Sat, 2 Oct 2010 13:09:41 +0200 (CEST) X-ME-UUID: 20101002110941296.48710700009E@mwinf4904.voila.fr X-Originating-IP: [92.80.115.186] X-Wum-Nature: EMAIL-NATURE X-WUM-FROM: |~| X-WUM-TO: |~| X-WUM-REPLYTO: |~| X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:131227 Archived-At: ------=_Part_121566_13662010.1286017781295 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I wrote for myself a backus naur mode, that I use for the grammar of C lang= uage. I attach here the code, and the grammar of C Emacs has already some major modes for working with extended bnf, which is = standardized. This is not the case for my implementation, that I wrote only= for my own use. Alin ____________________________________________________ D=C3=A9couvrez les nouveaux mod=C3=A8les de voitures pr=C3=A9sent=C3=A9s = au Mondial de l=E2=80=99Automobile =C3=A0 Paris : http://actu.voila.fr/even= ementiel/salon-auto-paris-2010/ ------=_Part_121566_13662010.1286017781295 Content-Type: application/octet-stream; name=test-grammar content-transfer-encoding: base64 Content-Disposition: attachment; filename=test-grammar CiUgKiBDIDk5IGdyYW1tYXIgKgolICoqKioqKioqKioqKioqKioKCmRlY2ltYWwtZmxvYXRpbmct Y29uc3RhbnQ6CglmcmFjdGlvbmFsLWNvbnN0YW50IFsgZXhwb25lbnQtcGFydCBdIFsgZmxvYXRp bmctc3VmZml4IF0KCXwgZGlnaXQtc2VxdWVuY2UgZXhwb25lbnQtcGFydCBbIGZsb2F0aW5nLXN1 ZmZpeCBdCgp0b2tlbjoKCWtleXdvcmQgW29wdC10ZXN0XQoJaWRlbnRpZmllcgoJY29uc3RhbnQK CXN0cmluZy1saXRlcmFsCgl8IHB1bmN0dWF0b3IKcHJlcHJvY2Vzc2luZy10b2tlbjoKCSBoZWFk ZXItbmFtZQoJfCBpZGVudGlmaWVyCgl8IHBwLW51bWJlcgoJfCBjaGFyYWN0ZXItY29uc3RhbnQK CXwgc3RyaW5nLWxpdGVyYWwKCXwgcHVuY3R1YXRvcgolCWVhY2ggbm9uLXdoaXRlLXNwYWNlIGNo YXJhY3RlciB0aGF0IGNhbm5vdCBiZSBvbmUgb2YgdGhlIGFib3ZlCgprZXl3b3JkOgoJQGF1dG8g fCAgICAgICAgQGVudW0gfCAgICAgQHJlc3RyaWN0IHwgQHVuc2lnbmVkCgl8IEBicmVhayB8ICAg ICBAZXh0ZXJuIHwgICBAUmV0dXJuIHwgICBAdm9pZAoJfCBAY2FzZSB8ICAgICAgQGZsb2F0IHwg ICAgQHNob3J0IHwgICAgQHZvbGF0aWxlCgl8IEBjaGFyIHwgICAgICBAZm9yIHwgICAgICBAc2ln bmVkIHwgICBAd2hpbGUKCXwgQGNvbnN0IHwgICAgIEBnb3RvIHwgICAgIEBzaXplb2YgfCAgIEBf Qm9vbAoJfCBAY29udGludWUgfCAgQGlmIHwgICAgICAgQHN0YXRpYyB8ICAgQF9Db21wbGV4Cgl8 IEBkZWZhdWx0IHwgICBAaW5saW5lIHwgICBAc3RydWN0IHwgICBAX0ltYWdpbmFyeQoJfCBAZG8g fCAgICAgICAgQGludCB8ICAgICAgQHN3aXRjaAoJfCBAZG91YmxlIHwgICAgQGxvbmcgfCAgICAg QHR5cGVkZWYKCXwgQGVsc2UgfCAgICAgIEByZWdpc3RlciB8IEB1bmlvbgoKJSAgSURFTlRJRklF UjogQW4gaWRlbnRpZmllciBjYW4gZGVub3RlIGFuIG9iamVjdDsgYSBmdW5jdGlvbjsgYSB0YWcK JSAgb3IgYSBtZW1iZXIgb2YgYSBzdHJ1Y3R1cmUsIHVuaW9uLCBvciBlbnVtZXJhdGlvbjsgYSB0 eXBlZGVmIG5hbWU7CiUgIGEgbGFiZWwgbmFtZTsgYSBtYWNybyBuYW1lOyBvciBhIG1hY3JvIHBh cmFtZXRlci4KCmlkZW50aWZpZXI6CglpZGVudGlmaWVyLW5vbmRpZ2l0Cgl8IGlkZW50aWZpZXIK CWlkZW50aWZpZXItbm9uZGlnaXQKCXwgaWRlbnRpZmllciBkaWdpdAppZGVudGlmaWVyLW5vbmRp Z2l0OgoJbm9uZGlnaXQKCXwgdW5pdmVyc2FsLWNoYXJhY3Rlci1uYW1lCiUJb3RoZXIgaW1wbGVt ZW50YXRpb24tZGVmaW5lZCBjaGFyYWN0ZXJzCm5vbmRpZ2l0OgoJQF8gfCBAYSB8IEBiIHwgQGMg fCBAZCB8IEBlIHwgQGYgfCBAZyB8IEBoCgl8IEBpIHwgQGogfCBAayB8IEBsIHwgQG0gfCBAbiB8 IEBvIHwgQHAgfCBAcQoJfCBAciB8IEBzIHwgQHQgfCBAdSB8IEB2IHwgQHcgfCBAeCB8IEB5IHwg QHoKCXwgQEEgfCBAQiB8IEBDIHwgQEQgfCBARSB8IEBGIHwgQEcgfCBASCB8IEBJCgl8IEBKIHwg QEsgfCBATCB8IEBNIHwgQE4gfCBATyB8IEBQIHwgQFEgfCBAUgoJfCBAUyB8IEBUIHwgQFUgfCBA ViB8IEBXIHwgQFggfCBAWSB8IEBaCmRpZ2l0OgoJQDAgfCBAMSB8IEAyIHwgQDMgfCBANCB8IEA1 IHwgQDYgfCBANyB8IEA4IHwgQDkKCnVuaXZlcnNhbC1jaGFyYWN0ZXItbmFtZToKCUBcdSBoZXgt cXVhZAoJfCBAXFUgaGV4LXF1YWQgaGV4LXF1YWQKaGV4LXF1YWQ6CgloZXhhZGVjaW1hbC1kaWdp dCBoZXhhZGVjaW1hbC1kaWdpdAoJfCBoZXhhZGVjaW1hbC1kaWdpdCBoZXhhZGVjaW1hbC1kaWdp dAoKY29uc3RhbnQ6CglpbnRlZ2VyLWNvbnN0YW50Cgl8IGZsb2F0aW5nLWNvbnN0YW50Cgl8IGVu dW1lcmF0aW9uLWNvbnN0YW50Cgl8IGNoYXJhY3Rlci1jb25zdGFudAoKaW50ZWdlci1jb25zdGFu dDoKCWRlY2ltYWwtY29uc3RhbnQgWyBpbnRlZ2VyLXN1ZmZpeCBdCgl8IG9jdGFsLWNvbnN0YW50 IFsgaW50ZWdlci1zdWZmaXggXQoJfCBoZXhhZGVjaW1hbC1jb25zdGFudCBbIGludGVnZXItc3Vm Zml4IF0KZGVjaW1hbC1jb25zdGFudDoKCW5vbnplcm8tZGlnaXQKCXwgZGVjaW1hbC1jb25zdGFu dCBkaWdpdApvY3RhbC1jb25zdGFudDoKCUAwCgl8IG9jdGFsLWNvbnN0YW50IG9jdGFsLWRpZ2l0 CmhleGFkZWNpbWFsLWNvbnN0YW50OgoJaGV4YWRlY2ltYWwtcHJlZml4IGhleGFkZWNpbWFsLWRp Z2l0Cgl8IGhleGFkZWNpbWFsLWNvbnN0YW50IGhleGFkZWNpbWFsLWRpZ2l0CmhleGFkZWNpbWFs LXByZWZpeDoKCUAweCBAMFgKbm9uemVyby1kaWdpdDoKCUAxIEAyIEAzIEA0IEA1IEA2IEA3IEA4 IEA5Cm9jdGFsLWRpZ2l0OgoJQDAgQDEgQDIgQDMgQDQgQDUgQDYgQDcKaGV4YWRlY2ltYWwtZGln aXQ6CglAMCBAMSBAMiBAMyBANCBANSBANiBANyBAOCBAOQoJfCBAYSBAYiBAYyBAZCBAZSBAZgoJ fCBAQSBAQiBAQyBARCBARSBARgppbnRlZ2VyLXN1ZmZpeDoKCXVuc2lnbmVkLXN1ZmZpeCBbIGxv bmctc3VmZml4IF0KCXwgdW5zaWduZWQtc3VmZml4IGxvbmctbG9uZy1zdWZmaXgKCXwgbG9uZy1z dWZmaXggWyB1bnNpZ25lZC1zdWZmaXggXQoJfCBsb25nLWxvbmctc3VmZml4IFsgdW5zaWduZWQt c3VmZml4IF0KdW5zaWduZWQtc3VmZml4OgoJQHUgQFUKbG9uZy1zdWZmaXg6CglAbCBATApsb25n LWxvbmctc3VmZml4OgoJQGxsIEBMTAoKZmxvYXRpbmctY29uc3RhbnQ6CglkZWNpbWFsLWZsb2F0 aW5nLWNvbnN0YW50Cgl8IGhleGFkZWNpbWFsLWZsb2F0aW5nLWNvbnN0YW50CmRlY2ltYWwtZmxv YXRpbmctY29uc3RhbnQ6CglmcmFjdGlvbmFsLWNvbnN0YW50IFsgZXhwb25lbnQtcGFydCBdIFsg ZmxvYXRpbmctc3VmZml4IF0KCXwgZGlnaXQtc2VxdWVuY2UgZXhwb25lbnQtcGFydCBbIGZsb2F0 aW5nLXN1ZmZpeCBdCmhleGFkZWNpbWFsLWZsb2F0aW5nLWNvbnN0YW50OgoJaGV4YWRlY2ltYWwt cHJlZml4IGhleGFkZWNpbWFsLWZyYWN0aW9uYWwtY29uc3RhbnQKCXwgYmluYXJ5LWV4cG9uZW50 LXBhcnQgWyBmbG9hdGluZy1zdWZmaXggXQoJfCBoZXhhZGVjaW1hbC1wcmVmaXggaGV4YWRlY2lt YWwtZGlnaXQtc2VxdWVuY2UKCXwgYmluYXJ5LWV4cG9uZW50LXBhcnQgWyBmbG9hdGluZy1zdWZm aXggXQpmcmFjdGlvbmFsLWNvbnN0YW50OgoJWyBkaWdpdC1zZXF1ZW5jZSBdIEAuIGRpZ2l0LXNl cXVlbmNlCgl8IGRpZ2l0LXNlcXVlbmNlIEAuCmV4cG9uZW50LXBhcnQ6CglAZSBbIHNpZ24gXSBk aWdpdC1zZXF1ZW5jZQoJfCBARSBbIHNpZ24gXSBkaWdpdC1zZXF1ZW5jZQpzaWduOgoJQCsgQC0K ZGlnaXQtc2VxdWVuY2U6CglkaWdpdAoJfCBkaWdpdC1zZXF1ZW5jZSBkaWdpdApoZXhhZGVjaW1h bC1mcmFjdGlvbmFsLWNvbnN0YW50OgoJWyBoZXhhZGVjaW1hbC1kaWdpdC1zZXF1ZW5jZSBdIEAu Cgl8IGhleGFkZWNpbWFsLWRpZ2l0LXNlcXVlbmNlCgl8IGhleGFkZWNpbWFsLWRpZ2l0LXNlcXVl bmNlIEAuCmJpbmFyeS1leHBvbmVudC1wYXJ0OgoJQHAgWyBzaWduIF0gZGlnaXQtc2VxdWVuY2UK CXwgQFAgWyBzaWduIF0gZGlnaXQtc2VxdWVuY2UKaGV4YWRlY2ltYWwtZGlnaXQtc2VxdWVuY2U6 CgloZXhhZGVjaW1hbC1kaWdpdAoJfCBoZXhhZGVjaW1hbC1kaWdpdC1zZXF1ZW5jZSBoZXhhZGVj aW1hbC1kaWdpdApmbG9hdGluZy1zdWZmaXg6CglAZiBAbCBARiBATAplbnVtZXJhdGlvbi1jb25z dGFudDoKCWlkZW50aWZpZXIKY2hhcmFjdGVyLWNvbnN0YW50OgoJQEBAIGMtY2hhci1zZXF1ZW5j ZSBAQAoJfCBATCBAQEAgYy1jaGFyLXNlcXVlbmNlIEBACmMtY2hhci1zZXF1ZW5jZToKCWMtY2hh cgoJfCBjLWNoYXItc2VxdWVuY2UgYy1jaGFyCmMtY2hhcjoKJQlhbnkgbWVtYmVyIG9mIHRoZSBz b3VyY2UgY2hhcmFjdGVyIHNldCBleGNlcHQnCiUJdGhlIHNpbmdsZS1xdW90ZSAnLCBiYWNrc2xh c2ggXCwgb3IgbmV3LWxpbmUgY2hhcmFjdGVyCiUJZXNjYXBlLXNlcXVlbmNlCgplc2NhcGUtc2Vx dWVuY2U6CglzaW1wbGUtZXNjYXBlLXNlcXVlbmNlCgl8IG9jdGFsLWVzY2FwZS1zZXF1ZW5jZQoJ fCBoZXhhZGVjaW1hbC1lc2NhcGUtc2VxdWVuY2UKCXwgdW5pdmVyc2FsLWNoYXJhY3Rlci1uYW1l CnNpbXBsZS1lc2NhcGUtc2VxdWVuY2U6CglAXEAgQFwiIEBcPyBAXFwKCXwgQFxhIEBcYiBAXGYg QFxuIEBcciBAXHQgQFx2Cm9jdGFsLWVzY2FwZS1zZXF1ZW5jZToKCUBcIG9jdGFsLWRpZ2l0Cgl8 IEBcIG9jdGFsLWRpZ2l0IG9jdGFsLWRpZ2l0Cgl8IEBcIG9jdGFsLWRpZ2l0IG9jdGFsLWRpZ2l0 IG9jdGFsLWRpZ2l0CmhleGFkZWNpbWFsLWVzY2FwZS1zZXF1ZW5jZToKCUBceCBoZXhhZGVjaW1h bC1kaWdpdAoJaGV4YWRlY2ltYWwtZXNjYXBlLXNlcXVlbmNlIGhleGFkZWNpbWFsLWRpZ2l0Cgpz dHJpbmctbGl0ZXJhbDoKcy1jaGFyLXNlcXVlbmNlOgoJcy1jaGFyCgl8IHMtY2hhci1zZXF1ZW5j ZSBzLWNoYXIKcy1jaGFyOgolCWFueSBtZW1iZXIgb2YgdGhlIHNvdXJjZSBjaGFyYWN0ZXIgc2V0 IGV4Y2VwdAolCXRoZSBkb3VibGUtcXVvdGUgIiwgYmFja3NsYXNoIFwsIG9yIG5ldy1saW5lIGNo YXJhY3RlcgolCWVzY2FwZS1zZXF1ZW5jZQoKcHVuY3R1YXRvcjoKCUBbIEBdIEAoIEApIEB7IEB9 IEAuIEAtPgoJfCBAKysgQC0tIEAmIEAqIEArIEAtIEB+IEAhCgl8IEAvIEAlIEA8PCBAPj4gQDwg QD4gQDw9IEA+PQoJfCBAPT0gIEAhPSAgQF4gICBAfCAgQCYmIEB8fAoJfCBAPyBAOiBAOyBALi4u IEA9IEAqPSBALz0gQCU9Cgl8IEArPSBALT0gQDw8PSBAPj49ICBAJj0gICBAXj0KCXwgQHw9IEAs IEAjIEAjIyBAPDogQDo+IEA8JQoJfCBAJT4gQCU6IEAlOiBAJToKaGVhZGVyLW5hbWU6CglAPCBo LWNoYXItc2VxdWVuY2UgQD4KCXwgQCIgcS1jaGFyLXNlcXVlbmNlIEAiCmgtY2hhci1zZXF1ZW5j ZToKCWgtY2hhcgoJfCBoLWNoYXItc2VxdWVuY2UgaC1jaGFyCmgtY2hhcjoKJQlhbnkgbWVtYmVy IG9mIHRoZSBzb3VyY2UgY2hhcmFjdGVyIHNldCBleGNlcHQKJQl0aGUgbmV3LWxpbmUgY2hhcmFj dGVyIGFuZCA+CnEtY2hhci1zZXF1ZW5jZToKCXEtY2hhcgoJfCBxLWNoYXItc2VxdWVuY2UgcS1j aGFyCnEtY2hhcjoKJQlhbnkgbWVtYmVyIG9mIHRoZSBzb3VyY2UgY2hhcmFjdGVyIHNldCBleGNl cHQKJQl0aGUgbmV3LWxpbmUgY2hhcmFjdGVyIGFuZCAiCgpwcC1udW1iZXI6CglkaWdpdAoJfCBA LiBkaWdpdAoJfCBwcC1udW1iZXIgZGlnaXQKCXwgcHAtbnVtYmVyIGlkZW50aWZpZXItbm9uZGln aXQKCXwgcHAtbnVtYmVyIEBlIHNpZ24KCXwgcHAtbnVtYmVyIEBFIHNpZ24KCXwgcHAtbnVtYmVy IEBwIHNpZ24KCXwgcHAtbnVtYmVyIEBQIHNpZ24KCXwgcHAtbnVtYmVyIEAuCnByaW1hcnktZXhw cmVzc2lvbjoKCWlkZW50aWZpZXIKCWNvbnN0YW50CglzdHJpbmctbGl0ZXJhbAoJQCggZXhwcmVz c2lvbiBAKQoKcG9zdGZpeC1leHByZXNzaW9uOgoJcHJpbWFyeS1leHByZXNzaW9uCglwb3N0Zml4 LWV4cHJlc3Npb24gQFsgZXhwcmVzc2lvbiBAXQoJcG9zdGZpeC1leHByZXNzaW9uIEAoIFsgYXJn dW1lbnQtZXhwcmVzc2lvbi1saXN0IF0gQCkKCXBvc3RmaXgtZXhwcmVzc2lvbiBALiBpZGVudGlm aWVyCglwb3N0Zml4LWV4cHJlc3Npb24gQC0+IGlkZW50aWZpZXIKCXBvc3RmaXgtZXhwcmVzc2lv biBAKysKCXBvc3RmaXgtZXhwcmVzc2lvbiBALS0KCUAoIHR5cGUtbmFtZSBAKSBAeyBpbml0aWFs aXplci1saXN0IEB9CglAKCB0eXBlLW5hbWUgQCkgQHsgaW5pdGlhbGl6ZXItbGlzdCBALCBAfQoK YXJndW1lbnQtZXhwcmVzc2lvbi1saXN0OgoJYXNzaWdubWVudC1leHByZXNzaW9uCglhcmd1bWVu dC1leHByZXNzaW9uLWxpc3QgQCwgYXNzaWdubWVudC1leHByZXNzaW9uCgp1bmFyeS1leHByZXNz aW9uOgoJcG9zdGZpeC1leHByZXNzaW9uCglAKysgdW5hcnktZXhwcmVzc2lvbgoJQC0tIHVuYXJ5 LWV4cHJlc3Npb24KCXVuYXJ5LW9wZXJhdG9yIGNhc3QtZXhwcmVzc2lvbgoJQHNpemVvZiB1bmFy eS1leHByZXNzaW9uCglAc2l6ZW9mIEAoIHR5cGUtbmFtZSBAKQp1bmFyeS1vcGVyYXRvcjoKCUAm IEAqIEArIEAtIEB+IEAhCgpjYXN0LWV4cHJlc3Npb246Cgl1bmFyeS1leHByZXNzaW9uCglAKCB0 eXBlLW5hbWUgQCkgY2FzdC1leHByZXNzaW9uCgptdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uOgoJ Y2FzdC1leHByZXNzaW9uCgltdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uIEAqIGNhc3QtZXhwcmVz c2lvbgoJbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbiBALyBjYXN0LWV4cHJlc3Npb24KCW11bHRp cGxpY2F0aXZlLWV4cHJlc3Npb24gQCUgY2FzdC1leHByZXNzaW9uCgphZGRpdGl2ZS1leHByZXNz aW9uOgoJbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbgoJYWRkaXRpdmUtZXhwcmVzc2lvbiBAKyBt dWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uCglhZGRpdGl2ZS1leHByZXNzaW9uIEAtIG11bHRpcGxp Y2F0aXZlLWV4cHJlc3Npb24KCnNoaWZ0LWV4cHJlc3Npb246CglhZGRpdGl2ZS1leHByZXNzaW9u CglzaGlmdC1leHByZXNzaW9uIEA8PCBhZGRpdGl2ZS1leHByZXNzaW9uCglzaGlmdC1leHByZXNz aW9uIEA+PiBhZGRpdGl2ZS1leHByZXNzaW9uCgpyZWxhdGlvbmFsLWV4cHJlc3Npb246CglzaGlm dC1leHByZXNzaW9uCglyZWxhdGlvbmFsLWV4cHJlc3Npb24gQDwgIHNoaWZ0LWV4cHJlc3Npb24K CXJlbGF0aW9uYWwtZXhwcmVzc2lvbiBAPiAgc2hpZnQtZXhwcmVzc2lvbgoJcmVsYXRpb25hbC1l eHByZXNzaW9uIEA8PSBzaGlmdC1leHByZXNzaW9uCglyZWxhdGlvbmFsLWV4cHJlc3Npb24gQD49 IHNoaWZ0LWV4cHJlc3Npb24KCmVxdWFsaXR5LWV4cHJlc3Npb246CglyZWxhdGlvbmFsLWV4cHJl c3Npb24KCWVxdWFsaXR5LWV4cHJlc3Npb24gQD09IHJlbGF0aW9uYWwtZXhwcmVzc2lvbgoJZXF1 YWxpdHktZXhwcmVzc2lvbiBAIT0gcmVsYXRpb25hbC1leHByZXNzaW9uCgpBTkQtZXhwcmVzc2lv bjoKCWVxdWFsaXR5LWV4cHJlc3Npb24KCUFORC1leHByZXNzaW9uIEAmIGVxdWFsaXR5LWV4cHJl c3Npb24KCmV4Y2x1c2l2ZS1PUi1leHByZXNzaW9uOgoJQU5ELWV4cHJlc3Npb24KCWV4Y2x1c2l2 ZS1PUi1leHByZXNzaW9uIEBeIEFORC1leHByZXNzaW9uCmluY2x1c2l2ZS1PUi1leHByZXNzaW9u OgoJZXhjbHVzaXZlLU9SLWV4cHJlc3Npb24KCWluY2x1c2l2ZS1PUi1leHByZXNzaW9uIEB8IGV4 Y2x1c2l2ZS1PUi1leHByZXNzaW9uCgpsb2dpY2FsLUFORC1leHByZXNzaW9uOgoJaW5jbHVzaXZl LU9SLWV4cHJlc3Npb24KCWxvZ2ljYWwtQU5ELWV4cHJlc3Npb24gQCYmIGluY2x1c2l2ZS1PUi1l eHByZXNzaW9uCgpsb2dpY2FsLU9SLWV4cHJlc3Npb246Cglsb2dpY2FsLUFORC1leHByZXNzaW9u Cglsb2dpY2FsLU9SLWV4cHJlc3Npb24gQHx8IGxvZ2ljYWwtQU5ELWV4cHJlc3Npb24KCmNvbmRp dGlvbmFsLWV4cHJlc3Npb246Cglsb2dpY2FsLU9SLWV4cHJlc3Npb24KCWxvZ2ljYWwtT1ItZXhw cmVzc2lvbiBAPyBleHByZXNzaW9uIEA6IGNvbmRpdGlvbmFsLWV4cHJlc3Npb24KCmFzc2lnbm1l bnQtZXhwcmVzc2lvbjoKCWNvbmRpdGlvbmFsLWV4cHJlc3Npb24KCXVuYXJ5LWV4cHJlc3Npb24g YXNzaWdubWVudC1vcGVyYXRvciBhc3NpZ25tZW50LWV4cHJlc3Npb24KYXNzaWdubWVudC1vcGVy YXRvcjoKCUA9IEAqPSBALz0gQCU9IEArPSBALT0gQDw8PSBAPj49IEAmPSBAXj0gQHw9CmV4cHJl c3Npb246Cglhc3NpZ25tZW50LWV4cHJlc3Npb24KCWV4cHJlc3Npb24gQCwgYXNzaWdubWVudC1l eHByZXNzaW9uCgpjb25zdGFudC1leHByZXNzaW9uOgoJY29uZGl0aW9uYWwtZXhwcmVzc2lvbgoK ZGVjbGFyYXRpb246CglkZWNsYXJhdGlvbi1zcGVjaWZpZXJzIFsgaW5pdC1kZWNsYXJhdG9yLWxp c3QgXSBAOwpkZWNsYXJhdGlvbi1zcGVjaWZpZXJzOgoJc3RvcmFnZS1jbGFzcy1zcGVjaWZpZXIg WyBkZWNsYXJhdGlvbi1zcGVjaWZpZXJzIF0KCXR5cGUtc3BlY2lmaWVyIFsgZGVjbGFyYXRpb24t c3BlY2lmaWVycyBdCgl0eXBlLXF1YWxpZmllciBbIGRlY2xhcmF0aW9uLXNwZWNpZmllcnMgXQoJ ZnVuY3Rpb24tc3BlY2lmaWVyIFsgZGVjbGFyYXRpb24tc3BlY2lmaWVycyBdCmluaXQtZGVjbGFy YXRvci1saXN0OgoJaW5pdC1kZWNsYXJhdG9yCglpbml0LWRlY2xhcmF0b3ItbGlzdCBALCBpbml0 LWRlY2xhcmF0b3IKaW5pdC1kZWNsYXJhdG9yOgoJZGVjbGFyYXRvcgoJZGVjbGFyYXRvciBAPSBp bml0aWFsaXplcgoKc3RvcmFnZS1jbGFzcy1zcGVjaWZpZXI6CglAdHlwZWRlZgoJQGV4dGVybgoJ QHN0YXRpYwoJQGF1dG8KCUByZWdpc3RlcgoKdHlwZS1zcGVjaWZpZXI6CglAdm9pZAoJQGNoYXIK CUBzaG9ydAoJQGludAoJQGxvbmcKCUBmbG9hdAoJQGRvdWJsZQoJQHNpZ25lZAoJQHVuc2lnbmVk CglAX0Jvb2wKCUBfQ29tcGxleAoJQF9JbWFnaW5hcnkKCXN0cnVjdC1vci11bmlvbi1zcGVjaWZp ZXIKCWVudW0tc3BlY2lmaWVyCgl0eXBlZGVmLW5hbWUKCnR5cGUtcXVhbGlmaWVyOgoJQGNvbnN0 CglAcmVzdHJpY3QKCUB2b2xhdGlsZQoKZnVuY3Rpb24tc3BlY2lmaWVyOgoJQGlubGluZQoKc3Ry dWN0LW9yLXVuaW9uLXNwZWNpZmllcjoKCXN0cnVjdC1vci11bmlvbiBbIGlkZW50aWZpZXIgXSBA eyBzdHJ1Y3QtZGVjbGFyYXRpb24tbGlzdCBAfQoJc3RydWN0LW9yLXVuaW9uIGlkZW50aWZpZXIK c3RydWN0LW9yLXVuaW9uOgoJQHN0cnVjdAoJQHVuaW9uCnN0cnVjdC1kZWNsYXJhdGlvbi1saXN0 OgoJc3RydWN0LWRlY2xhcmF0aW9uCglzdHJ1Y3QtZGVjbGFyYXRpb24tbGlzdCBzdHJ1Y3QtZGVj bGFyYXRpb24Kc3RydWN0LWRlY2xhcmF0aW9uOgoJc3BlY2lmaWVyLXF1YWxpZmllci1saXN0IHN0 cnVjdC1kZWNsYXJhdG9yLWxpc3QgQDsKc3BlY2lmaWVyLXF1YWxpZmllci1saXN0OgoJdHlwZS1z cGVjaWZpZXIgWyBzcGVjaWZpZXItcXVhbGlmaWVyLWxpc3QgXQoJdHlwZS1xdWFsaWZpZXIgWyBz cGVjaWZpZXItcXVhbGlmaWVyLWxpc3QgXQpzdHJ1Y3QtZGVjbGFyYXRvci1saXN0OgoJc3RydWN0 LWRlY2xhcmF0b3IKCXN0cnVjdC1kZWNsYXJhdG9yLWxpc3QgQCwgc3RydWN0LWRlY2xhcmF0b3IK c3RydWN0LWRlY2xhcmF0b3I6CglkZWNsYXJhdG9yCglbIGRlY2xhcmF0b3IgXSBAOiBjb25zdGFu dC1leHByZXNzaW9uCgplbnVtLXNwZWNpZmllcjoKCUBlbnVtIFsgaWRlbnRpZmllciBdIEB7IGVu dW1lcmF0b3ItbGlzdCBAfQoJQGVudW0gWyBpZGVudGlmaWVyIF0gQHsgZW51bWVyYXRvci1saXN0 IEAsIEB9CglAZW51bSBpZGVudGlmaWVyCmVudW1lcmF0b3ItbGlzdDoKCWVudW1lcmF0b3IKCWVu dW1lcmF0b3ItbGlzdCBALCBlbnVtZXJhdG9yCmVudW1lcmF0b3I6CgllbnVtZXJhdGlvbi1jb25z dGFudAoJZW51bWVyYXRpb24tY29uc3RhbnQgQD0gY29uc3RhbnQtZXhwcmVzc2lvbgoKZGVjbGFy YXRvcjoKCVsgcG9pbnRlciBdIGRpcmVjdC1kZWNsYXJhdG9yCmRpcmVjdC1kZWNsYXJhdG9yOgoJ aWRlbnRpZmllcgoJQCggZGVjbGFyYXRvciBAKQoJZGlyZWN0LWRlY2xhcmF0b3IgQFsgWyB0eXBl LXF1YWxpZmllci1saXN0IF0gWyBhc3NpZ25tZW50LWV4cHJlc3Npb24gXSBAXQoJZGlyZWN0LWRl Y2xhcmF0b3IgQFsgQHN0YXRpYwoJWyB0eXBlLXF1YWxpZmllci1saXN0IF0gYXNzaWdubWVudC1l eHByZXNzaW9uIEBdCglkaXJlY3QtZGVjbGFyYXRvciBAWyB0eXBlLXF1YWxpZmllci1saXN0IEBz dGF0aWMgYXNzaWdubWVudC1leHByZXNzaW9uIEBdCglkaXJlY3QtZGVjbGFyYXRvciBAWyBbIHR5 cGUtcXVhbGlmaWVyLWxpc3QgXSBAKiBAXQoJZGlyZWN0LWRlY2xhcmF0b3IgQCggcGFyYW1ldGVy LXR5cGUtbGlzdCBAKQoJZGlyZWN0LWRlY2xhcmF0b3IgQCggWyBpZGVudGlmaWVyLWxpc3QgXSBA KQpwb2ludGVyOgoJQCogWyB0eXBlLXF1YWxpZmllci1saXN0IF0KCUAqIFsgdHlwZS1xdWFsaWZp ZXItbGlzdCBdIHBvaW50ZXIKCgl0eXBlLXF1YWxpZmllcgoJdHlwZS1xdWFsaWZpZXItbGlzdCB0 eXBlLXF1YWxpZmllcgpwYXJhbWV0ZXItdHlwZS1saXN0OgoJcGFyYW1ldGVyLWxpc3QKCXBhcmFt ZXRlci1saXN0IEAsIEAuLi4KcGFyYW1ldGVyLWxpc3Q6CglwYXJhbWV0ZXItZGVjbGFyYXRpb24K CXBhcmFtZXRlci1saXN0IEAsIHBhcmFtZXRlci1kZWNsYXJhdGlvbgpwYXJhbWV0ZXItZGVjbGFy YXRpb246CglkZWNsYXJhdGlvbi1zcGVjaWZpZXJzIGRlY2xhcmF0b3IKCWRlY2xhcmF0aW9uLXNw ZWNpZmllcnMgWyBhYnN0cmFjdC1kZWNsYXJhdG9yIF0KaWRlbnRpZmllci1saXN0OgoJaWRlbnRp ZmllcgoJaWRlbnRpZmllci1saXN0IEAsIGlkZW50aWZpZXIKCnR5cGUtbmFtZToKCXNwZWNpZmll ci1xdWFsaWZpZXItbGlzdCBbIGFic3RyYWN0LWRlY2xhcmF0b3IgXQphYnN0cmFjdC1kZWNsYXJh dG9yOgoJcG9pbnRlcgoJWyBwb2ludGVyIF0gZGlyZWN0LWFic3RyYWN0LWRlY2xhcmF0b3IKZGly ZWN0LWFic3RyYWN0LWRlY2xhcmF0b3I6CglAKCBhYnN0cmFjdC1kZWNsYXJhdG9yIEApCglbIGRp cmVjdC1hYnN0cmFjdC1kZWNsYXJhdG9yIF0gQFsgWyBhc3NpZ25tZW50LWV4cHJlc3Npb24gXSBA XQoJWyBkaXJlY3QtYWJzdHJhY3QtZGVjbGFyYXRvciBdIEBbIEAqIEBdCglbIGRpcmVjdC1hYnN0 cmFjdC1kZWNsYXJhdG9yIF0gQCggWyBwYXJhbWV0ZXItdHlwZS1saXN0IF0gQCkKCnR5cGVkZWYt bmFtZToKCWlkZW50aWZpZXIKCmluaXRpYWxpemVyOgoJYXNzaWdubWVudC1leHByZXNzaW9uCglA eyBpbml0aWFsaXplci1saXN0IEB9CglAeyBpbml0aWFsaXplci1saXN0IEAsIEB9CmluaXRpYWxp emVyLWxpc3Q6CglbIGRlc2lnbmF0aW9uIF0gaW5pdGlhbGl6ZXIKCWluaXRpYWxpemVyLWxpc3Qg QCwgWyBkZXNpZ25hdGlvbiBdIGluaXRpYWxpemVyCmRlc2lnbmF0aW9uOgoJZGVzaWduYXRvci1s aXN0IEA9CmRlc2lnbmF0b3ItbGlzdDoKCWRlc2lnbmF0b3IKCWRlc2lnbmF0b3ItbGlzdCBkZXNp Z25hdG9yCmRlc2lnbmF0b3I6CglAWyBjb25zdGFudC1leHByZXNzaW9uIEBdCglALiBpZGVudGlm aWVyCgpzdGF0ZW1lbnQ6CglsYWJlbGVkLXN0YXRlbWVudAoJY29tcG91bmQtc3RhdGVtZW50Cgll eHByZXNzaW9uLXN0YXRlbWVudAoJc2VsZWN0aW9uLXN0YXRlbWVudAoJaXRlcmF0aW9uLXN0YXRl bWVudAoJanVtcC1zdGF0ZW1lbnQKCmxhYmVsZWQtc3RhdGVtZW50OgoJaWRlbnRpZmllciBAOiBz dGF0ZW1lbnQKCUBjYXNlIGNvbnN0YW50LWV4cHJlc3Npb24gQDogc3RhdGVtZW50CglAZGVmYXVs dCBAOiBzdGF0ZW1lbnQKCmNvbXBvdW5kLXN0YXRlbWVudDoKCUB7IFsgYmxvY2staXRlbS1saXN0 IF0gQH0KYmxvY2staXRlbS1saXN0OgoJYmxvY2staXRlbQoJYmxvY2staXRlbS1saXN0IGJsb2Nr LWl0ZW0KYmxvY2staXRlbToKCWRlY2xhcmF0aW9uCglzdGF0ZW1lbnQKCmV4cHJlc3Npb24tc3Rh dGVtZW50OgoJWyBleHByZXNzaW9uIF0gQDsKCnNlbGVjdGlvbi1zdGF0ZW1lbnQ6CglAaWYgQCgg ZXhwcmVzc2lvbiBAKSBzdGF0ZW1lbnQKCUBpZiBAKCBleHByZXNzaW9uIEApIHN0YXRlbWVudCBA ZWxzZSBzdGF0ZW1lbnQKCUBzd2l0Y2ggQCggZXhwcmVzc2lvbiBAKSBzdGF0ZW1lbnQKCml0ZXJh dGlvbi1zdGF0ZW1lbnQ6CglAd2hpbGUgQCggZXhwcmVzc2lvbiBAKSBzdGF0ZW1lbnQKCUBkbyBz dGF0ZW1lbnQgQHdoaWxlIEAoIGV4cHJlc3Npb24gQCkgQDsKCUBmb3IgQCggWyBleHByZXNzaW9u IF0gQDsgWyBleHByZXNzaW9uIF0gQDsgWyBleHByZXNzaW9uIF0gQCkgc3RhdGVtZW50CglAZm9y IEAoIGRlY2xhcmF0aW9uIFsgZXhwcmVzc2lvbiBdIEA7IFsgZXhwcmVzc2lvbiBdIEApIHN0YXRl bWVudAoKanVtcC1zdGF0ZW1lbnQ6CglAZ290byBpZGVudGlmaWVyIEA7CglAY29udGludWUgQDsK CUBicmVhayBAOwoJQHJldHVybiBbIGV4cHJlc3Npb24gXSBAOwoKdHJhbnNsYXRpb24tdW5pdDoK CWV4dGVybmFsLWRlY2xhcmF0aW9uCgl0cmFuc2xhdGlvbi11bml0IGV4dGVybmFsLWRlY2xhcmF0 aW9uCmV4dGVybmFsLWRlY2xhcmF0aW9uOgoJZnVuY3Rpb24tZGVmaW5pdGlvbgoJZGVjbGFyYXRp b24KZnVuY3Rpb24tZGVmaW5pdGlvbjoKCWRlY2xhcmF0aW9uLXNwZWNpZmllcnMgZGVjbGFyYXRv ciBbIGRlY2xhcmF0aW9uLWxpc3QgXSBjb21wb3VuZC1zdGF0ZW1lbnQKZGVjbGFyYXRpb24tbGlz dDoKCWRlY2xhcmF0aW9uCglkZWNsYXJhdGlvbi1saXN0IGRlY2xhcmF0aW9uCgo= ------=_Part_121566_13662010.1286017781295 Content-Type: text/x-emacs-lisp; name=bn-mode.el content-transfer-encoding: base64 Content-Disposition: attachment; filename=bn-mode.el CihkZWZ2YXIgYm4tbGVmdC1ub250ZXJtaW5hbC1kZWZpbml0aW9uCiAgIl5cXChbQS1aYS16LV0q XFwpXFwoOlxcKVsgXVxcezAsM1xcfSQiCiAgIlRoZSByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBt YXJrcyB0aGUgbGVmdCBzaWRlIGZyb20gdGhlIFwKZGVmaW5pdGlvbiBvZiBhIHJ1bGUiICkKCihk ZWZ2YXIgaW1lbnUtY3JlYXRlLWluZGV4LWZ1bmN0aW9uKQooZGVmdmFyIGltZW51LXVzZS1tYXJr ZXJzKQoKKGRlZnZhciBibi1sZWZ0LW5vbnRlcm1pbmFsLWxpc3QgbmlsCiAgImtlZXBzIHRoZSBs aXN0IG9mIGFsbCB0aGUgbGVmdCBub250ZXJtaW5hbHMuIHRoaXMgY291bGQgYmUKZGVmaW5lZCBs b2NhbGx5IG9ubHksIGluc2lkZSBgYm4tbGF6eS1mb250LWxvY2snLiBVc2VkIGZvcgppbWVudSBh bmQgY29tcGxldGlvbi1saXN0IC4iKQoKKGRlZnZhciBibi10aW1lci12YXIgbmlsCiAgIm5vbiBu aWwgbWVhbnMgdGhhdCBhIGZvbnRpZmljYXRpb24gd2lsbCBmb2xsb3ciKQoKKGRlZnZhciBibi1z ZWFyY2gtaGlzdG9yeSBuaWwKICAidXNlZCBieSBzZWFyY2gtY29tcGxldGlvbiB0byBrZWVwIHRo ZSBoaXN0b3J5IG9mIHNlYXJjaGVkCiAgc3RyaW5ncyIgKQoKKGRlZnZhciBibi1jb21tZW50LWNo YXIgIiUiCiAgImEgbGluZSB3aGljaCBzdGFydHMgd2l0aCB0aGlzIGNoYXJhY3RlciBpcyBjb21t ZW50ZWQiKQoKKGRlZnZhciBhZnRlci1jaGFuZ2UtZnVuY3Rpb25zIG5pbCApCgooZGVmdW4gYm4t bW9kZSBuaWwKICAiQSBtYWpvciBtb2RlIGZvciB3ZWxsIHdyaXRpbmcgY29udGV4dC1mcmVlIGdy YW1tYXJzCmluIEJhY2t1cy1OYXVyIG5vdGF0aW9uLiIKICAoaW50ZXJhY3RpdmUpCiAgJ2JuLW1v ZGUKICAnZnVuZGFtZW50YWwtbW9kZQogICciQmFja3VzLU5hdXIiCiAgKGtpbGwtYWxsLWxvY2Fs LXZhcmlhYmxlcykKICAoc2V0cSBtYWpvci1tb2RlICdibi1tb2RlCgltb2RlLW5hbWUgIkJhY2t1 cy1OYXVyIiApCiAgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2JuLWNvbW1lbnQtY2hhcikKICAobWFr ZS1sb2NhbC12YXJpYWJsZSAnYm4tb3ZlcmxheXMpCiAgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2Ju LWl0ZXJhdG9yKQogIChtYWtlLWxvY2FsLXZhcmlhYmxlICdhZnRlci1jaGFuZ2UtZnVuY3Rpb25z KQogIChtYWtlLWxvY2FsLXZhcmlhYmxlICdibi1sZWZ0LW5vbnRlcm1pbmFsLWxpc3QpCiAgKG1h a2UtbG9jYWwtdmFyaWFibGUgJ2JuLXJvdGF0ZS1hcm91bmQtbGVmdC1ub250ZXJtaW5hbC1tYXRj aC1yaW5nKQoKICAobWFrZS1sb2NhbC12YXJpYWJsZSAnaW1lbnUtY3JlYXRlLWluZGV4LWZ1bmN0 aW9uKQogIChzZXRxIGltZW51LWNyZWF0ZS1pbmRleC1mdW5jdGlvbiAnYm4taW1lbnUpCgogICht YWtlLWxvY2FsLXZhcmlhYmxlICdpbWVudS1nZW5lcmljLWV4cHJlc3Npb24pCiAgKHNldHEgaW1l bnUtZ2VuZXJpYy1leHByZXNzaW9uIHQpCgogIChhbmQgdAogICAgICAgKGZib3VuZHAgJ2ltZW51 LWFkZC10by1tZW51YmFyKQogICAgICAgKGltZW51LWFkZC10by1tZW51YmFyICJJbmRleCIpKQoK ICAoc2V0cSBmb250LWxvY2stZGVmYXVsdHMKCShsaXN0CgkgKGxpc3QKCSAgKGxpc3QKCSAgIGJu LWxlZnQtbm9udGVybWluYWwtZGVmaW5pdGlvbgoJICAgJygxICdibi1sZWZ0LW5vbnRlcm1pbmFs LWRlZmluaXRpb24tZm9udCApCgkgICAnKDIgJ2JuLWxlZnQtbm9udGVybWluYWwtZGVmaW5pdGlv bi1jbG9zdXJlICkgKQoJICAnKCAiXFwoJ1xcKVxcKFtbOmdyYXBoOl1dKlxcKVxcKCdcXCkiCgkg ICAgICgxICdibi10ZXJtaW5hbC1jbG9zdXJlICkKCSAgICAgKDIgJ2JuLXRlcm1pbmFsLWRlZmlu aXRpb24gKQoJICAgICAoMyAnYm4tdGVybWluYWwtY2xvc3VyZSApCgkgICAgICkKCSAgJyggIlxc KEBcXClcXChbWzpncmFwaDpdXStcXCkiCgkgICAgICgxICdibi10ZXJtaW5hbC1jbG9zdXJlICkK CSAgICAgKDIgJ2JuLXRlcm1pbmFsLWRlZmluaXRpb24gKQoJICAgICApCiAgICAgICAgICAobGlz dAoJICAgKGNvbmNhdCAiW15bOmdyYXBoOl1dIgoJCSAgICJcXChbW11cXCkiCgkJICAgIlxcKC4q XFwpIgoJCSAgICJbXls6Z3JhcGg6XV0iCgkJICAgIlxcKFtdXVxcKSIpCgkgICAnKDEgJ2JuLW9w dGlvbmFsLWNsb3N1cmUgKQoJICAgJygyICdibi1vcHRpb25hbC1kZWZpbml0aW9uICkKCSAgICco MyAnYm4tb3B0aW9uYWwtY2xvc3VyZSApKQogICAgICAgICAgKGxpc3QKCSAgIChjb25jYXQgIl4i ICJcXCgiIGJuLWNvbW1lbnQtY2hhciAiXFwpIgogICAgICAgICAgICAgICAgICAgIlxcKC4qXFwp IiApCgkgICAnKDEgJ2JuLWNvbW1lbnQtc2lnbiApCgkgICAnKDIgJ2JuLWNvbW1lbnRlZC10ZXh0 ICkgKQoJICAobGlzdAoJICAgInwiCgkgICAnKDAgJ2JuLW9yICkgKSApCgkgdCApICkKICAoYm4t c3RvcC10aW1lcikKICAocmVtb3ZlLW92ZXJsYXlzKQogIChzZXRxIGFmdGVyLWNoYW5nZS1mdW5j dGlvbnMgKGFkZC10by1saXN0ICdhZnRlci1jaGFuZ2UtZnVuY3Rpb25zICdibi1jaGFuZ2UpICkK ICAobG9jYWwtc2V0LWtleSBbdGFiXSAnYm4taW5kZW50KQogIChsb2NhbC1zZXQta2V5IFtob21l XQoJCSAobGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJICAgKGlmIChlcXVhbCAoY2hhci1iZWZv cmUpID9cbikKCQkgICAgICAgKGJuLWJlZ2lubmluZy1vZi1kZWZ1bikKCQkgICAgIChiZWdpbm5p bmctb2YtbGluZSkgKSApICkKICAobG9jYWwtc2V0LWtleSBbZW5kXQoJCSAobGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpCgkJICAgKGlmIChlcXVhbCAoY2hhci1hZnRlcikgP1xuKQoJCSAgICAgICAo Ym4tZW5kLW9mLWRlZnVuKQoJCSAgICAgKGVuZC1vZi1saW5lKSApICkgKQogIChibi1sYXp5LWZv bnQtbG9jaykKICAobG9jYWwtc2V0LWtleSAiXE0tcyIgJ2JuLXNlYXJjaCApCiAgKGxvY2FsLXNl dC1rZXkgKGtiZCAiQy14IFNQQyIpCgkJIChsYW1iZGEgKCkKCQkgICAianVtcCB0byB0aGUgZGVm aW5pdGlvbiBvZiB0aGUgbm9udGVybWluYWwgdW5kZXIgdGhlIGN1cnNvci4gIgogICAgICAgICAg ICAgICAgICAgKGludGVyYWN0aXZlICIiKQoJCSAgIChsZXQqICgodHlwZSAoZ2V0LXRleHQtcHJv cGVydHkgKHBvaW50KSAndHlwZSkpCgkJCSAgKG5vbnRlcm1pbmFsCgkJCSAgIChhbmQgdHlwZQoJ CQkJKGdldC10ZXh0LXByb3BlcnR5IChwb2ludCkgJ25vbnRlcm1pbmFsKSApICkKCQkJICAocAoJ CQkgICAoYW5kIG5vbnRlcm1pbmFsCgkJCSAgICAoZ2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSAn cG9zaXRpb24pICkgKSApCgkJICAgICAoY29uZAoJCSAgICAgICggKGVxIHR5cGUgJ3JpZ2h0KQoJ CQkoYW5kIHAKCQkJICAgICAoYm4tanVtcCBwICkKCQkJICAgICAnKHJlY2VudGVyKQoJCQkgICAg IChtZXNzYWdlICJqdW1wIHRvIGAlcycgJXMiIG5vbnRlcm1pbmFsIHAgKSApICkKCQkgICAgICAo KGVxIHR5cGUgJ2xlZnQpCgkJCSAgIChlcnJvciAiYCVzJyBpcyBhIGxlZnQgbm9udGVybWluYWxc biIgbm9udGVybWluYWwgKSApICkgKSApICkKCiAgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2JuLXNl YXJjaC1oaXN0b3J5KQoKICAobG9jYWwtc2V0LWtleSAoa2JkICJDLTsiKQogICAgICAgICAgICAg ICAgIChsYW1iZGEgbmlsCiAgICAgICAgICAgICAgICAgICAicmVwbGFjZXMgaXNlYXJjaCIKICAg ICAgICAgICAgICAgICAgIChpbnRlcmFjdGl2ZSkKICAgICAgICAgICAgICAgICAgIChsZXQgKChh YQogICAgICAgICAgICAgICAgICAgICAgICAgIChjb21wbGV0aW5nLXJlYWQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgInNlYXJjaCBsZWZ0LW5vbnRlcm1pbmFsOiAiCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIChtYXBjYXIgJ2NhYXIgYm4tbGVmdC1ub250ZXJtaW5hbC1saXN0ICkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgbmlsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsCiAgICAgICAgICAgICAgICAgICAgICAgICAg IGJuLXNlYXJjaC1oaXN0b3J5CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbAogICAgICAg ICAgICAgICAgICAgICAgICAgICBuaWwgKSApICkKICAgICAgICAgICAgICAgICAgICAgKGFuZCBh YQogICAgICAgICAgICAgICAgICAgICAgICAgIChibi1qdW1wIChjZHIgKGFzc29jIGFhIChtYXBj YXIgJ2NhciBibi1sZWZ0LW5vbnRlcm1pbmFsLWxpc3QgKSApICkgKSApICkgKSApCiAgKQoKKGRl ZnVuIGJuLWp1bXAgKHApCiAgKHB1c2gtbWFyaykKICAoZ290by1jaGFyIHApICkKCihkZWZ1biBi bi1zdG9wLXRpbWVyICgpCiAgInN0b3AgdGhlIHRpbWVyIGZvciBmb250aWZpY2F0aW9uIgogIChh bmQgYm4tdGltZXItdmFyCiAgICAgICAocHJvZ24KCSAoY2FuY2VsLXRpbWVyIGJuLXRpbWVyLXZh cikKCSAoc2V0cSBibi10aW1lci12YXIgbmlsKSApICkgKQoKKGRlZmZhY2UgYm4tbGVmdC1ub250 ZXJtaW5hbC1kZWZpbml0aW9uLWZvbnQKICAnKCgoKGNsYXNzIGdyYXlzY2FsZSkgKGJhY2tncm91 bmQgbGlnaHQpKSAoOmZvcmVncm91bmQgIkdyYXk5MCIgOndlaWdodCBib2xkKSkKICAgICgoKGNs YXNzIGdyYXlzY2FsZSkgKGJhY2tncm91bmQgZGFyaykpICg6Zm9yZWdyb3VuZCAiRGltR3JheSIg OndlaWdodCBib2xkKSkKICAgICgoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OCkgKGJhY2tn cm91bmQgbGlnaHQpKSAoOmZvcmVncm91bmQgInJlZCIpKQogICAgKCgoY2xhc3MgY29sb3IpICht aW4tY29sb3JzIDg4KSAoYmFja2dyb3VuZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJvcmFuZ2UgcmVk IikpCiAgICAoKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgMTYpIChiYWNrZ3JvdW5kIGxpZ2h0 KSkgKDpmb3JlZ3JvdW5kICJvcmFuZ2UiKSkKICAgICgoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9y cyAxNikgKGJhY2tncm91bmQgZGFyaykpICg6Zm9yZWdyb3VuZCAiZ29sZCIpKQogICAgKCgoY2xh c3MgY29sb3IpIChtaW4tY29sb3JzIDgpKSAoOmZvcmVncm91bmQgImRhcmsgb3JhbmdlIikpCiAg ICAodCAoOndlaWdodCBib2xkIDp1bmRlcmxpbmUgdCkpKQogICJmb250IHVzZWQgZm9yIGxlZnQg bm9udGVybWluYWxzLiIgKQoKKGRlZmZhY2UgYm4tcmlnaHQtbm9udGVybWluYWwtZGVmaW5pdGlv bi1mb250CiAgJygoKChjbGFzcyBncmF5c2NhbGUpIChiYWNrZ3JvdW5kIGxpZ2h0KSkgKDpmb3Jl Z3JvdW5kICJBbnRpcXVlV2hpdGU0IiA6d2VpZ2h0IGJvbGQpKQogICAgKCgoY2xhc3MgZ3JheXNj YWxlKSAoYmFja2dyb3VuZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJBbnRpcXVlV2hpdGU0IiA6d2Vp Z2h0IGJvbGQpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg4KSAoYmFja2dyb3Vu ZCBsaWdodCkpICg6Zm9yZWdyb3VuZCAiQW50aXF1ZVdoaXRlNCIpKQogICAgKCgoY2xhc3MgY29s b3IpIChtaW4tY29sb3JzIDg4KSAoYmFja2dyb3VuZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJBbnRp cXVlV2hpdGU0IikpCiAgICAoKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgMTYpIChiYWNrZ3Jv dW5kIGxpZ2h0KSkgKDpmb3JlZ3JvdW5kICJBbnRpcXVlV2hpdGU0IikpCiAgICAoKChjbGFzcyBj b2xvcikgKG1pbi1jb2xvcnMgMTYpIChiYWNrZ3JvdW5kIGRhcmspKSAoOmZvcmVncm91bmQgIkFu dGlxdWVXaGl0ZTQiKSkKICAgICgoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4KSkgKDpmb3Jl Z3JvdW5kICJBbnRpcXVlV2hpdGU0IikpCiAgICAodCAoOndlaWdodCBib2xkIDp1bmRlcmxpbmUg dCkpKQogICJmb250IHVzZWQgZm9yIHJpZ2h0IG5vbnRlcm1pbmFscy4iICkKCihkZWZmYWNlIGJu LWxlZnQtbm9udGVybWluYWwtZGVmaW5pdGlvbi1jbG9zdXJlCiAgJygoKChjbGFzcyBncmF5c2Nh bGUpIChiYWNrZ3JvdW5kIGxpZ2h0KSkgKDpmb3JlZ3JvdW5kICJHcmF5OTAiIDp3ZWlnaHQgYm9s ZCkpCiAgICAoKChjbGFzcyBncmF5c2NhbGUpIChiYWNrZ3JvdW5kIGRhcmspKSAoOmZvcmVncm91 bmQgIkRpbUdyYXkiIDp3ZWlnaHQgYm9sZCkpCiAgICAoKChjbGFzcyBjb2xvcikgKG1pbi1jb2xv cnMgODgpIChiYWNrZ3JvdW5kIGxpZ2h0KSkgKDpmb3JlZ3JvdW5kICJkZWVwIHNreSBibHVlIikp CiAgICAoKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgODgpIChiYWNrZ3JvdW5kIGRhcmspKSAo OmZvcmVncm91bmQgInNwcmluZyBncmVlbiIpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29s b3JzIDE2KSAoYmFja2dyb3VuZCBsaWdodCkpICg6Zm9yZWdyb3VuZCAiZGFyayBzZWEgZ3JlZW4i KSkKICAgICgoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyAxNikgKGJhY2tncm91bmQgZGFyaykp ICg6Zm9yZWdyb3VuZCAieWVsbG93IGdyZWVuIikpCiAgICAoKChjbGFzcyBjb2xvcikgKG1pbi1j b2xvcnMgOCkpICg6Zm9yZWdyb3VuZCAib2xpdmUgZHJhYiIpKQogICAgKHQgKDp3ZWlnaHQgYm9s ZCA6dW5kZXJsaW5lIHQpKSkKICAiZm9udCB1c2VkIGZvciB0aGUgY2hhcmFjdGVyIGA6JyBhdCB0 aGUgZW5kIG9mIGEgbGVmdCBub250ZXJtaW5hbC4iICkKCihkZWZmYWNlIGJuLXRlcm1pbmFsLWRl ZmluaXRpb24KICAnKCgoKGNsYXNzIGdyYXlzY2FsZSkgKGJhY2tncm91bmQgbGlnaHQpKSAoOmZv cmVncm91bmQgIkRlZXBTa3lCbHVlMSIgOndlaWdodCBib2xkKSkKICAgICgoKGNsYXNzIGdyYXlz Y2FsZSkgKGJhY2tncm91bmQgZGFyaykpICg6Zm9yZWdyb3VuZCAiRGVlcFNreUJsdWUxIiA6d2Vp Z2h0IGJvbGQpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg4KSAoYmFja2dyb3Vu ZCBsaWdodCkpICg6Zm9yZWdyb3VuZCAiRGVlcFNreUJsdWUxIikpCiAgICAoKChjbGFzcyBjb2xv cikgKG1pbi1jb2xvcnMgODgpIChiYWNrZ3JvdW5kIGRhcmspKSAoOmZvcmVncm91bmQgIkRlZXBT a3lCbHVlMSIpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDE2KSAoYmFja2dyb3Vu ZCBsaWdodCkpICg6Zm9yZWdyb3VuZCAiRGVlcFNreUJsdWUxIikpCiAgICAoKChjbGFzcyBjb2xv cikgKG1pbi1jb2xvcnMgMTYpIChiYWNrZ3JvdW5kIGRhcmspKSAoOmZvcmVncm91bmQgIkRlZXBT a3lCbHVlMSIpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDgpKSAoOmZvcmVncm91 bmQgIkRlZXBTa3lCbHVlMSIpKQogICAgKHQgKDp3ZWlnaHQgYm9sZCA6dW5kZXJsaW5lIHQpKSkK ICAiZm9udCB1c2VkIGZvciB0ZXJtaW5hbHMuIiApCgooZGVmZmFjZSBibi10ZXJtaW5hbC1jbG9z dXJlCiAgJygoKChjbGFzcyBncmF5c2NhbGUpIChiYWNrZ3JvdW5kIGxpZ2h0KSkgKDpmb3JlZ3Jv dW5kICJkYXJrIGJsdWUiIDp3ZWlnaHQgYm9sZCkpCiAgICAoKChjbGFzcyBncmF5c2NhbGUpIChi YWNrZ3JvdW5kIGRhcmspKSAoOmZvcmVncm91bmQgImRhcmsgYmx1ZSIgOndlaWdodCBib2xkKSkK ICAgICgoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OCkgKGJhY2tncm91bmQgbGlnaHQpKSAo OmZvcmVncm91bmQgImRhcmsgYmx1ZSIpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3Jz IDg4KSAoYmFja2dyb3VuZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJkYXJrIGJsdWUiKSkKICAgICgo KGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyAxNikgKGJhY2tncm91bmQgbGlnaHQpKSAoOmZvcmVn cm91bmQgImRhcmsgYmx1ZSIpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDE2KSAo YmFja2dyb3VuZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJkYXJrIGJsdWUiKSkKICAgICgoKGNsYXNz IGNvbG9yKSAobWluLWNvbG9ycyA4KSkgKDpmb3JlZ3JvdW5kICJkYXJrIGJsdWUiKSkKICAgICh0 ICg6d2VpZ2h0IGJvbGQgOnVuZGVybGluZSB0KSkpCiAgImZvbnQgdXNlZCBmb3IgdGhlIGNoYXJh Y3RlcnMgXCcgYXJvdW5kIGEgdGVybWluYWwuIiApCgooZGVmZmFjZSBibi1vcHRpb25hbC1jbG9z dXJlCiAgJygoKChjbGFzcyBncmF5c2NhbGUpIChiYWNrZ3JvdW5kIGxpZ2h0KSkgKDpmb3JlZ3Jv dW5kICJSb3lhbEJsdWUxIiA6d2VpZ2h0IGJvbGQpKQogICAgKCgoY2xhc3MgZ3JheXNjYWxlKSAo YmFja2dyb3VuZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJSb3lhbEJsdWUxIiA6d2VpZ2h0IGJvbGQp KQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg4KSAoYmFja2dyb3VuZCBsaWdodCkp ICg6Zm9yZWdyb3VuZCAiUm95YWxCbHVlMSIpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29s b3JzIDg4KSAoYmFja2dyb3VuZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJSb3lhbEJsdWUxIikpCiAg ICAoKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgMTYpIChiYWNrZ3JvdW5kIGxpZ2h0KSkgKDpm b3JlZ3JvdW5kICJSb3lhbEJsdWUxIikpCiAgICAoKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMg MTYpIChiYWNrZ3JvdW5kIGRhcmspKSAoOmZvcmVncm91bmQgIlJveWFsQmx1ZTEiKSkKICAgICgo KGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4KSkgKDpmb3JlZ3JvdW5kICJSb3lhbEJsdWUxIikp CiAgICAodCAoOndlaWdodCBib2xkIDp1bmRlcmxpbmUgdCkpKQogICJmb250IHVzZWQgZm9yIHRo ZSBjaGFyYWN0ZXJzIFsgXSBhYm91dCBhbiBvcHRpb25hbCAuIiApCgooZGVmZmFjZSBibi1vcHRp b25hbC1kZWZpbml0aW9uCiAgJygoKChjbGFzcyBncmF5c2NhbGUpIChiYWNrZ3JvdW5kIGxpZ2h0 KSkgKDpmb3JlZ3JvdW5kICJkYXJrIGdyZWVuIiA6d2VpZ2h0IGJvbGQpKQogICAgKCgoY2xhc3Mg Z3JheXNjYWxlKSAoYmFja2dyb3VuZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJkYXJrIGdyZWVuIiA6 d2VpZ2h0IGJvbGQpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg4KSAoYmFja2dy b3VuZCBsaWdodCkpICg6Zm9yZWdyb3VuZCAiZGFyayBncmVlbiIpKQogICAgKCgoY2xhc3MgY29s b3IpIChtaW4tY29sb3JzIDg4KSAoYmFja2dyb3VuZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJkYXJr IGdyZWVuIikpCiAgICAoKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgMTYpIChiYWNrZ3JvdW5k IGxpZ2h0KSkgKDpmb3JlZ3JvdW5kICJkYXJrIGdyZWVuIikpCiAgICAoKChjbGFzcyBjb2xvcikg KG1pbi1jb2xvcnMgMTYpIChiYWNrZ3JvdW5kIGRhcmspKSAoOmZvcmVncm91bmQgImRhcmsgZ3Jl ZW4iKSkKICAgICgoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4KSkgKDpmb3JlZ3JvdW5kICJk YXJrIGdyZWVuIikpCiAgICAodCAoOndlaWdodCBib2xkIDp1bmRlcmxpbmUgdCkpKQogICJmb250 IHVzZWQgZm9yIHRoZSAuIiApCgooZGVmZmFjZSBibi1zZWFyY2gtcm90YXRlLWZhY2UKICAnKCgo KGNsYXNzIGdyYXlzY2FsZSkgKGJhY2tncm91bmQgbGlnaHQpKSAoOmZvcmVncm91bmQgIkdyYXk5 MCIgOndlaWdodCBib2xkKSkKICAgICgoKGNsYXNzIGdyYXlzY2FsZSkgKGJhY2tncm91bmQgZGFy aykpICg6Zm9yZWdyb3VuZCAiRGltR3JheSIgOndlaWdodCBib2xkKSkKICAgICgoKGNsYXNzIGNv bG9yKSAobWluLWNvbG9ycyA4OCkgKGJhY2tncm91bmQgbGlnaHQpKSAoOmZvcmVncm91bmQgImNo YXJ0cmV1c2UxIikpCiAgICAoKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgODgpIChiYWNrZ3Jv dW5kIGRhcmspKSAoOmZvcmVncm91bmQgImNoYXJ0cmV1c2UyIikpCiAgICAoKChjbGFzcyBjb2xv cikgKG1pbi1jb2xvcnMgMTYpIChiYWNrZ3JvdW5kIGxpZ2h0KSkgKDpmb3JlZ3JvdW5kICJjaGFy dHJldXNlMyIpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDE2KSAoYmFja2dyb3Vu ZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJjaGFydHJldXNlNCIpKQogICAgKCgoY2xhc3MgY29sb3Ip IChtaW4tY29sb3JzIDgpKSAoOmZvcmVncm91bmQgIlNwcmluZ0dyZWVuNCIpKQogICAgKHQgKDp3 ZWlnaHQgYm9sZCA6dW5kZXJsaW5lIHQpKSkKICAiZm9udCB1c2VkIGZvciBtYXRjaGVkIHJpZ2h0 IG5vbnRlcm1pbmFscy4iICkKCihkZWZmYWNlIGJuLWNvbW1lbnRlZC10ZXh0CiAgJygoKChjbGFz cyBncmF5c2NhbGUpIChiYWNrZ3JvdW5kIGxpZ2h0KSkgKDpmb3JlZ3JvdW5kICJtZWRpdW0gc2Vh IGdyZWVuIiA6d2VpZ2h0IGJvbGQpKQogICAgKCgoY2xhc3MgZ3JheXNjYWxlKSAoYmFja2dyb3Vu ZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJtZWRpdW0gc2VhIGdyZWVuIiA6d2VpZ2h0IGJvbGQpKQog ICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg4KSAoYmFja2dyb3VuZCBsaWdodCkpICg6 Zm9yZWdyb3VuZCAibWVkaXVtIHNlYSBncmVlbiIpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4t Y29sb3JzIDg4KSAoYmFja2dyb3VuZCBkYXJrKSkgKDpmb3JlZ3JvdW5kICJtZWRpdW0gc2VhIGdy ZWVuIikpCiAgICAoKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgMTYpIChiYWNrZ3JvdW5kIGxp Z2h0KSkgKDpmb3JlZ3JvdW5kICJtZWRpdW0gc2VhIGdyZWVuIikpCiAgICAoKChjbGFzcyBjb2xv cikgKG1pbi1jb2xvcnMgMTYpIChiYWNrZ3JvdW5kIGRhcmspKSAoOmZvcmVncm91bmQgIm1lZGl1 bSBzZWEgZ3JlZW4iKSkKICAgICgoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4KSkgKDpmb3Jl Z3JvdW5kICJtZWRpdW0gc2VhIGdyZWVuIikpCiAgICAodCAoOndlaWdodCBib2xkIDp1bmRlcmxp bmUgdCkpKQogICJmb250IHVzZWQgZm9yIHRoZSB0ZXh0IG9uIGEgY29tbWVudGVkIGxpbmUiICkK CihkZWZmYWNlIGJuLW9yCiAgJygoKChjbGFzcyBncmF5c2NhbGUpIChiYWNrZ3JvdW5kIGxpZ2h0 KSkgKDpmb3JlZ3JvdW5kICJicm93biIgOndlaWdodCBib2xkKSkKICAgICgoKGNsYXNzIGdyYXlz Y2FsZSkgKGJhY2tncm91bmQgZGFyaykpICg6Zm9yZWdyb3VuZCAiYmx1ZSIgOndlaWdodCBib2xk KSkKICAgICgoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OCkgKGJhY2tncm91bmQgbGlnaHQp KSAoOmZvcmVncm91bmQgImJsdWUiKSkKICAgICgoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4 OCkgKGJhY2tncm91bmQgZGFyaykpICg6Zm9yZWdyb3VuZCAiYmx1ZSIpKQogICAgKCgoY2xhc3Mg Y29sb3IpIChtaW4tY29sb3JzIDE2KSAoYmFja2dyb3VuZCBsaWdodCkpICg6Zm9yZWdyb3VuZCAi Ymx1ZSIpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDE2KSAoYmFja2dyb3VuZCBk YXJrKSkgKDpmb3JlZ3JvdW5kICJibHVlIikpCiAgICAoKChjbGFzcyBjb2xvcikgKG1pbi1jb2xv cnMgOCkpICg6Zm9yZWdyb3VuZCAiYmx1ZSIpKQogICAgKHQgKDp3ZWlnaHQgYm9sZCA6dW5kZXJs aW5lIHQgOmZvcmVncm91bmQgImJsdWUiIDp3ZWlnaHQgYm9sZCkpKQogICJmb250IHVzZWQgZm9y IiApCgooZGVmZmFjZSBibi1jb21tZW50LXNpZ24KICAnKCgoKGNsYXNzIGdyYXlzY2FsZSkgKGJh Y2tncm91bmQgbGlnaHQpKSAoOmZvcmVncm91bmQgIkdyYXk5MCIgOndlaWdodCBib2xkKSkKICAg ICgoKGNsYXNzIGdyYXlzY2FsZSkgKGJhY2tncm91bmQgZGFyaykpICg6Zm9yZWdyb3VuZCAiRGlt R3JheSIgOndlaWdodCBib2xkKSkKICAgICgoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OCkg KGJhY2tncm91bmQgbGlnaHQpKSAoOmZvcmVncm91bmQgImluZGlhbiByZWQiKSkKICAgICgoKGNs YXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OCkgKGJhY2tncm91bmQgZGFyaykpICg6Zm9yZWdyb3Vu ZCAibGlnaHRncmVlbiIpKQogICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDE2KSAoYmFj a2dyb3VuZCBsaWdodCkpICg6Zm9yZWdyb3VuZCAidG9tYXRvIikpCiAgICAoKChjbGFzcyBjb2xv cikgKG1pbi1jb2xvcnMgMTYpIChiYWNrZ3JvdW5kIGRhcmspKSAoOmZvcmVncm91bmQgImRhcmsg dmlvbGV0IikpCiAgICAoKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgOCkpICg6Zm9yZWdyb3Vu ZCAic2llbm5hIikpCiAgICAodCAoOndlaWdodCBib2xkIDp1bmRlcmxpbmUgdCkpKQogICJmb250 IHVzZWQgZm9yIHRoZSBjaGFyYWN0ZXIgdGhhdCBjb21tZW50cyBhIGxpbmUiICkKCihkZWZ1biBi bi1pbmRlbnQgKCkKICAiIFRoZSBsaW5lcyB0aGF0IGNvbnRhaW4gYSBsZWZ0IG5vbnRlcm1pbmFs IGFyZSBpbmRlbnRlZCBmcm9tCiAgMC4gVGhlc2UgYXJlIHRoZSBsaW5lcyB0aGF0IG1hdGNoIHRo ZSByZWd1bGFyIGV4cHJlc3Npb24KIGBibi1sZWZ0LW5vbnRlcm1pbmFsLWRlZmluaXRpb24nLgpU aGUgYmxhbmsgbGluZXMgYXJlIGNsZWFyZWQuClRoZSBsaW5lcyB3aGljaCBjb250YWluIGEgcnVs ZSBhcmUgaW5kZW50ZWQgd2l0aCBhIHRhYi4iCiAgKGludGVyYWN0aXZlKQogIChsZXQgKAoJOzsg aW5pdGlhbCBwb2ludAoJKGNjIChjdXJyZW50LWNvbHVtbikpCgk7OyBlbmQgb2YgbGluZQoJKGVv bCAocHJvZzIKCQkgKG1vdmUtZW5kLW9mLWxpbmUgbmlsKQoJCSAoY3VycmVudC1jb2x1bW4pICkg KQoJOzsgYmVnaW5uaW5nIG9mIHRleHQKCShib3QgKHByb2cyCgkJIChtb3ZlLWJlZ2lubmluZy1v Zi1saW5lIG5pbCkKCQkgKHNraXAtY2hhcnMtZm9yd2FyZCAiWzpibGFuazpdIikKCQkgKGN1cnJl bnQtY29sdW1uKSApICkgKQogICAgKGNvbmQKICAgICA7OyBlbXB0eSBsaW5lCiAgICAgKCh6ZXJv cCBlb2wpCiAgICAgIHQpCiAgICAgOzsgbGluZXMgd2l0aCBibGFua3MKICAgICAoKGVxIGJvdCBl b2wpCiAgICAgIChtb3ZlLWJlZ2lubmluZy1vZi1saW5lIG5pbCkKICAgICAgKGp1c3Qtb25lLXNw YWNlIDApICkKICAgICA7OyBsaW5lIGNvbnRhaW5pbmcgYSBsZWZ0IG5vbnRlcm1pbmFsCiAgICAg KChzYXZlLWV4Y3Vyc2lvbgoJKG1vdmUtdG8tY29sdW1uIGVvbCkKCShhbmQgKD4gKGN1cnJlbnQt Y29sdW1uKSAzKQoJICAgICAoc2VhcmNoLWJhY2t3YXJkICI6IiAoLSAocG9pbnQpIDEpIHQgKSAp ICkKICAgICAgKG1vdmUtYmVnaW5uaW5nLW9mLWxpbmUgbmlsKQogICAgICAoanVzdC1vbmUtc3Bh Y2UgMCkgKQogICAgIDs7IGZvciB0aGUgcmVzdC4uLiBhZGQgYSB0YWIgYXQgdGhlIGJlZ2lubmlu ZyBvZiB0aGUgbGluZQogICAgICggKHNhdmUtZXhjdXJzaW9uCgkgKG1vdmUtYmVnaW5uaW5nLW9m LWxpbmUgbmlsKQoJIChub3QgKHNlYXJjaC1mb3J3YXJkLXJlZ2V4cCAiXHRbXls6Ymxhbms6XV0i ICgrIDIgKHBvaW50KSApIHQgKSApICkKICAgICAgIChqdXN0LW9uZS1zcGFjZSAwKQogICAgICAg KGluc2VydC1jaGFyID9cdCAxKQogICAgICAgKHNraXAtY2hhcnMtZm9yd2FyZCAiWzpibGFuazpd IikgKSApCiAgICA7OyBpZiB0aGUgY3Vyc29yIHdhcyBiZWZvcmUgdGhlIGluZGV0YXRpb24gaW5z aWRlIHRoZSB3b3JkLCBrZWVwCiAgICA7OyBpdCBvbiB0aGUgc2FtZSBwb3NpdGlvbjsgaWYgdGhl IGluaXRpYWwgcG9zaXRpb24gb2YgdGhlIGN1cnNvcgogICAgOzsgd2FzIGJlZm9yZSB0aGUgd29y ZCwgbW92ZSBpdCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSB3b3JkCiAgICAobW92ZS10by1jb2x1 bW4gKCsgKGN1cnJlbnQtY29sdW1uKQoJCSAgICAgICAobWF4IDAgKC0gY2MgYm90KSApICkgKSAp ICkKCihkZWZ1biBibi1jb21tZW50ZWQtbGluZS1wICgpCiAgInJldHVybiB0IHdoZW4gdGhlIHBv aW50IGlzIGluc2lkZSBhIGNvbW1lbnRlZCBsaW5lLCBhbmQgbmlsCm90aGVyd2lzZS4iCiAgKGVx dWFsCiAgIChzYXZlLWV4Y3Vyc2lvbgogICAgIChiZWdpbm5pbmctb2YtbGluZSkKICAgICAoZm9s bG93aW5nLWNoYXIpICkKICAgKGVsdCBibi1jb21tZW50LWNoYXIgMCApICkgKQoKKGRlZnVuIGJu LWxhenktZm9udC1sb2NrICgpCiAgImNhbGxlZCBhZnRlciBldmVyeSBidWZmZXIgY2hhbmdlIHRv IHJlLWZvbnRpZnkgdGhlIHRleHQuIgogIChibi1zdG9wLXRpbWVyKQogIChzYXZlLWV4Y3Vyc2lv bgogICAgKGxldCAobGlzdC1vZi1sZWZ0LW5vbnRlcm1pbmFscwoJICAobWFwLXJpZ2h0LW5vbnRl cm1pbmFsIChtYWtlLXNwYXJzZS1rZXltYXApICkKCSAgKG1hcC1sZWZ0LW5vbnRlcm1pbmFsICht YWtlLXNwYXJzZS1rZXltYXApICkKCSAgOzsgZm9udCBsb2NrIHByb3BlcnRpZXMgbW9kaWZ5IHRo ZSBidWZmZXIsIHNvIHRoaXMgaG9vayBpcwoJICA7OyBjYWxsZWQgcmVjdXJzaXZlbHkuIHRlbXBv cmFybHkgYWZ0ZXItY2hhbmdlLWZ1bmN0aW9ucwoJICA7OyBtdXN0IGJlIG5pbC4KCSAgYWZ0ZXIt Y2hhbmdlLWZ1bmN0aW9ucwoJICA7OyBjaGFuZ2luZyB0aGUgcHJvcGVydGllcywgb25lIGNoYW5n ZXMgdGhlIG1vZGlmaWVkIHN0YXR1cwoJICAoYnVmZmVyLW1vZGlmaWVkLWZsYWcgKGJ1ZmZlci1t b2RpZmllZC1wKSApCgkgIDs7IHRoaXMgaXMgZXF1YWxlbnQgaW4gdGhpcyBjYXNlIHRvIHNldHRp bmcKCSAgOzsgYWZ0ZXItY2hhbmdlLWZ1bmN0aW9ucyB0byBuaWwuIEhvd2V2ZXIsIHdlIGtlZXAg Ym90aAoJICAoaW5oaWJpdC1tb2RpZmljYXRpb24taG9va3MgdCkKCSAgOzsgbWFrZSBhIHRlbXBv cmFyeSBjb3B5IG9mIHRoZSB1bmRvCgkgIDs7IGxpc3QuIGFkZC10ZXh0LXByb3BlcnRpZXMgYWRk cyBpbmZvcm1hdGlvbiBpbiB0aGUgdW5kbwoJICA7OyBsaXN0LCBldmVuIGlmIGluIHRoaXMgY2Fz ZSBpdCBzaG91bGRuJ3QKCSAgKHVsIGJ1ZmZlci11bmRvLWxpc3QpICkKICAgICAgOzsgd2UgZGlz YWJsZSB0aGUgdW5kbyBpbmZvcm1hdGlvbiB0ZW1wb3Jhcmx5LCBiZWNhdXNlIGNoYW5naW5nCiAg ICAgIDs7IHRoZSBmb250aWZpY2F0aW9uIGlzIGFkZGVkIGJ5IGRlZmF1bHQgaW4gdGhlIHVuZG8g bGlzdC4KICAgICAgKGJ1ZmZlci1kaXNhYmxlLXVuZG8pCiAgICAgIChkZWZpbmUta2V5IG1hcC1y aWdodC1ub250ZXJtaW5hbCBbbW91c2UtM10KCShsYW1iZGEgKGV2ZW50KSAoaW50ZXJhY3RpdmUg ImUiKQoJICAianVtcCB0byBhIGxlZnQgdGVybWluYWwgZGVmaW5pdGlvbiIKCSAgKGxldCAoKHAg KGdldC10ZXh0LXByb3BlcnR5CgkJICAgIChjYWRyIChjYWRyIGV2ZW50KSApCgkJICAgICdwb3Np dGlvbikgKSApCgkgICAgKGFuZCBwCgkJIChibi1qdW1wIHAgKQoJCSAnKHJlY2VudGVyKQoJCSAo bWVzc2FnZSAoZm9ybWF0ICIlcyIgcCApICkgKSApICkgKQogICAgICAoZGVmaW5lLWtleSBtYXAt bGVmdC1ub250ZXJtaW5hbCAiXE0tcyIgJ2JuLXNlYXJjaCApCiAgICAgIChnb3RvLWNoYXIgKHBv aW50LW1pbikgKQogICAgICA7OyBtYWtlIHRoZSBsaXN0IG9mIGxlZnQgbm9udGVybWluYWxzIG91 dAogICAgICAod2hpbGUgKHNlYXJjaC1mb3J3YXJkLXJlZ2V4cAogICAgICAgICAgICAgIDs7IFRP RE86IHRvIGFkZCBmb250aWZpY2F0aW9uIGhlcmUgZm9yIG9wdGlvbmFsCiAgICAgICAgICAgICAg Ozsgbm9udGVybWluYWxzIGluc2lkZSBgWyAuLi4gXScKICAgICAgICAgICAgICAoY29uY2F0IGJu LWxlZnQtbm9udGVybWluYWwtZGVmaW5pdGlvbiApCiAgICAgICAgICAgICAgbmlsIHQpCgkocHVz aCAoY29ucyAoc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMgKG1hdGNoLXN0cmluZyAxKSApCgkJICAg IChtYXRjaC1iZWdpbm5pbmcgMSkgKQoJICAgICAgbGlzdC1vZi1sZWZ0LW5vbnRlcm1pbmFscyAp ICkKICAgICAgOzsgY2xlYW4gdGhlIHByZXZpb3VzIGZvbnRpZmljYXRpb24KICAgICAgKHJlbW92 ZS10ZXh0LXByb3BlcnRpZXMKICAgICAgIChwb2ludC1taW4pIChwb2ludC1tYXgpCiAgICAgICAn KG1vdXNlLWZhY2UgaGlnaGxpZ2h0IGZvbnQtbG9jay1mYWNlIGtleW1hcCBwb3NpdGlvbikgKQog ICAgICAoc2V0cSBibi1sZWZ0LW5vbnRlcm1pbmFsLWxpc3QgbmlsKQogICAgICA7OyBhZGQgZmly c3QgdGhlIGZvbnRpZmljYXRpb24gb2YgZm9udC1sb2NrCiAgICAgIChmb250LWxvY2stZm9udGlm eS1idWZmZXIpCiAgICAgIDs7IHNjYW4gdGhlIGJ1ZmZlciB0byBmaW5kIHRoZSBwb3NpdGlvbnMg d2hlcmUgZXZlcnkKICAgICAgOzsgbGVmdC1ub250ZXJtaW5hbCBhcHBlYXJzIGluIHRoZSBydWxl cwogICAgICAoZG9saXN0IChtIGxpc3Qtb2YtbGVmdC1ub250ZXJtaW5hbHMpCgkobGV0ICggKG1h dGNoLXBvc2l0aW9ucykgKQoJICAoZ290by1jaGFyIChwb2ludC1taW4pICkKCSAgKHdoaWxlCgkg ICAgICAoYW5kIChzZWFyY2gtZm9yd2FyZC1yZWdleHAKCQkgICAgKGNvbmNhdCAiW1x0IF0iICJc XCgiIChjYXIgbSkgIlxcKSIgIltcbiAuXHRdIikgbmlsIHQpCgkJICAgKGdvdG8tY2hhciAoMS0g KHBvaW50KSApICkgKQoJICAgIChzZXRxIG1ha2UtZm9udGlmaWNhdGlvbgoJCSAgKG5vdCAoZXEg KGdldC10ZXh0LXByb3BlcnR5ICgxLSAocG9pbnQpKSAnZmFjZSkKCQkJICAgJ2JuLW9wdGlvbmFs LWRlZmluaXRpb24pKSkKCSAgICAoYW5kCgkgICAgIDs7IGlmIGEgcmlnaHQgbm9udGVybWluYWwg aXMgZm91bmQsIGFkZCBpdCB0byB0aGUKCSAgICAgOzsgbWF0Y2hpbmcgbGlzdCwgc3ViamVjdCB0 byBub3QgYmVpbmcgb24gYSBjb21tZW50ZWQgbGluZQoJICAgICA7OyBvciBpbnNpZGUgYSBbIGNv bW1lbnQgXQoJICAgICBtYWtlLWZvbnRpZmljYXRpb24KCSAgICAgKG5vdCAoYm4tY29tbWVudGVk LWxpbmUtcCkgKQoJICAgICAoYWRkLXRleHQtcHJvcGVydGllcwoJICAgICAgKG1hdGNoLWJlZ2lu bmluZyAxKQoJICAgICAgKG1hdGNoLWVuZCAxKQoJICAgICAgKGxpc3QKCSAgICAgICAnZm9udC1s b2NrLWZhY2UgJ2JuLXJpZ2h0LW5vbnRlcm1pbmFsLWRlZmluaXRpb24tZm9udCkpKQoKCSAgICAo YW5kCgkgICAgIChub3QgKGJuLWNvbW1lbnRlZC1saW5lLXApICkKCSAgICAgKGFkZC10ZXh0LXBy b3BlcnRpZXMKCSAgICAgIChtYXRjaC1iZWdpbm5pbmcgMSkKCSAgICAgIChtYXRjaC1lbmQgMSkK CSAgICAgIChsaXN0ICdtb3VzZS1mYWNlICdoaWdobGlnaHQKCQkgICAgJ2hlbHAtZWNobwoJCSAg ICAoY29uY2F0IChjYXIgbSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3JtYXQgIiBh dCAlZC4iIChjZHIgbSkgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKG5sIChj b3VudC1saW5lcyAocG9pbnQpIChjZHIgbSkgKSApICkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGNvbmQgKCAoPiAocG9pbnQpIChjZHIgbSkgKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChmb3JtYXQgIiAlZCBsaW5lJXMgYmFja3dhcmQuIgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEtIG5sKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcXVhbCAyIG5sKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiICkgKSApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICggdAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChmb3JtYXQgIiAlZCBsaW5lJXMgZm9yd2FyZC4iCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcXVhbCAxIG5sKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiApICkgKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKSApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXG5yaWdodCBj bGljayB0byBqdW1wIHRoZXJlLiIgKQoJCSAgICAncG9zaXRpb24gKGNkciBtKQoJCSAgICAndHlw ZSAncmlnaHQKCQkgICAgJ25vbnRlcm1pbmFsIChjYXIgbSkKCQkgICAgJ2tleW1hcCBtYXAtcmln aHQtbm9udGVybWluYWwpICkKCSAgICAgKHB1c2ggKG1hdGNoLWJlZ2lubmluZyAxKSBtYXRjaC1w b3NpdGlvbnMpICkgKQoJICA7OyBhZGQgdGV4dCBwcm9wZXJ0aWVzIHRvIHRoZSBsZWZ0IG5vbnRl cm1pbmFsCgkgIChhZGQtdGV4dC1wcm9wZXJ0aWVzCgkgICAoY2RyIG0pICgrIChsZW5ndGggKGNh ciBtKSApIChjZHIgbSkgKQoJICAgKGxpc3QKCSAgICAnaGVscC1lY2hvIChjb25jYXQgImAiIChj YXIgbSkgIiciICIgIgoJCQkgICAgICAgKGlmIG1hdGNoLXBvc2l0aW9ucwoJCQkJICAgKGZvcm1h dCAiYXQgJXMiIChyZXZlcnNlIG1hdGNoLXBvc2l0aW9ucykgKQoJCQkJICJpcyBhIHN0YXJ0IHN5 bWJvbCIgKQoJCQkgICAgICAgKGZvcm1hdAoJCQkJIi5cbiAlcyB0byByb3RhdGUgYXJvdW5kIG1h dGNoZXMuIgoJCQkJKHN1YnN0aXR1dGUtY29tbWFuZC1rZXlzICJcXFtibi1zZWFyY2hdIikgKSAp CgkgICAgJ3Bvc2l0aW9uIChwcm9nbgoJCQkobGV0ICggKCByaW5nLXBvc2l0aW9ucyAobWFrZS1y aW5nIChsZW5ndGggbWF0Y2gtcG9zaXRpb25zKSApICkgKQoJCQkgIChkb2xpc3QgKHAgKHJldmVy c2UgbWF0Y2gtcG9zaXRpb25zKSApCgkJCSAgICAocmluZy1pbnNlcnQgcmluZy1wb3NpdGlvbnMg cCkgKQoJCQkgIHJpbmctcG9zaXRpb25zKSApCgkgICAgJ25vbnRlcm1pbmFsIChjYXIgbSkKCSAg ICAndHlwZSAnbGVmdAoJICAgICdrZXltYXAgbWFwLWxlZnQtbm9udGVybWluYWwpICkKCSAgKHB1 c2ggKGNvbnMgbSBtYXRjaC1wb3NpdGlvbnMpIGJuLWxlZnQtbm9udGVybWluYWwtbGlzdCApICkg KQogICAgICA7OyByZXN0b3JlIHRoZSB1bmRvLCBtb2RpZmllZCBzdGF0dXMKICAgICAgKHJlc3Rv cmUtYnVmZmVyLW1vZGlmaWVkLXAgYnVmZmVyLW1vZGlmaWVkLWZsYWcpCiAgICAgIChidWZmZXIt ZW5hYmxlLXVuZG8pCiAgICAgIChzZXRxIGJ1ZmZlci11bmRvLWxpc3QgdWwgKQogICAgICApICkg KQoKKGRlZnVuIGJuLWNoYW5nZSAoeCB5IHopCiAgImhvb2sgd2hpY2ggaXMgY2FsbGVkIGFmdGVy IGV2ZXJ5IGJ1ZmZlciBjaGFuZ2UuIGl0IHN0YXJ0cyBhCnRpbWVyIHRoYXQgZm9udGlmeSB0aGUg Y3VycmVudCBidWZmZXIsIGFjY29yZGluZyB0byB0aGUgcnVsZXMKZGVmaW5lZCBpbiB0aGUgZ3Jh bW1hci4gaWYgYSBwcmV2aW91cyB0aW1lciBpcyBhY3RpdmUsIHN0b3AgaXQKYmVmb3JlIHN0YXJ0 aW5nIHRoZSBuZXcgdGltZXIuIgogIDs7IGNsZWFyIHRoZSBvdmVybGF5cyBmcm9tIHRoZSBwcmV2 aW91cyBzZWFyY2ggaWYgYW55CiAgKGJuLXN0b3AtdGltZXIpCiAgJyhzZXRxIG92ZXJyaWRpbmct dGVybWluYWwtbG9jYWwtbWFwIG5pbCkKICAoc2V0cSBibi10aW1lci12YXIKCShydW4td2l0aC1p ZGxlLXRpbWVyCgkgMSBuaWwgJ2JuLWxhenktZm9udC1sb2NrKSApICkKCihkZWZ1biBibi1iZWdp bm5pbmctb2YtZGVmdW4gKCkKICAianVtcCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGVmdCBub250 ZXJtaW5hbCBkZWZpbml0aW9uLiIKICAoc2VhcmNoLWJhY2t3YXJkLXJlZ2V4cCBibi1sZWZ0LW5v bnRlcm1pbmFsLWRlZmluaXRpb24gbmlsIHQpICkKCihkZWZ1biBibi1lbmQtb2YtZGVmdW4gKCkK ICAianVtcCBhdCB0aGUgZW5kIG9mIGEgbGVmdCBub250ZXJtaW5hbCBkZWZpbml0aW9uLiIKIChp ZiAoc2VhcmNoLWZvcndhcmQtcmVnZXhwIGJuLWxlZnQtbm9udGVybWluYWwtZGVmaW5pdGlvbiBu aWwgdCkKICAgICAgKGJlZ2lubmluZy1vZi1saW5lKQogICAoYm4tanVtcCAocG9pbnQtbWF4KSAp ICkKICAobGV0ICgocmVwZWF0IHQpKQogICAgKHdoaWxlIHJlcGVhdAogICAgICAoc2tpcC1jaGFy cy1iYWNrd2FyZCAiIFx0XG4iKQogICAgICAoaWYgKG5vdCAoYm4tY29tbWVudGVkLWxpbmUtcCkg KQoJICAoc2V0cSByZXBlYXQgbmlsKQoJKGJlZ2lubmluZy1vZi1saW5lKSApICkgKQogIChza2lw LWNoYXJzLWZvcndhcmQgIiBcdCIpCiAgKGFuZCAobm90IChlb2JwKSApCiAgICAgICAoZm9yd2Fy ZC1jaGFyKSApICkKCihkZWZ1biBibi1zZWFyY2ggKCkKICAiU2VhcmNoIGZvciB0aGUgbGVmdCBu b250ZXJtaW5hbCB1bmRlciB0aGUgY3Vyc29yIgogIChpbnRlcmFjdGl2ZSkKICAobGV0KiAoKGxl ZnQtbm9udGVybWluYWwgKGdldC10ZXh0LXByb3BlcnR5IChwb2ludCkgJ25vbnRlcm1pbmFsICkg KQoJIChsZWZ0LW5vbnRlcm1pbmFsLXBvc2l0aW9ucwoJICAoYW5kIGxlZnQtbm9udGVybWluYWwK CSAgICAgICAoZ2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSAncG9zaXRpb24gKSApICkgKQogICAg KGNvbmQKICAgICA7OyBhIHN5bWJvbCBhY2Nlc3NlZCBmcm9tIG5vd2hlcmUKICAgICAoIChhbmQK CShyaW5nLXAgbGVmdC1ub250ZXJtaW5hbC1wb3NpdGlvbnMgKQoJKHJpbmctZW1wdHktcCBsZWZ0 LW5vbnRlcm1pbmFsLXBvc2l0aW9ucyApICkKICAgICAgIChtZXNzYWdlICJgJXMnIGlzIGEgc3Rh cnQgc3ltYm9sIiBsZWZ0LW5vbnRlcm1pbmFsICkgKQogICAgIDs7IGF0IGN1cnNvciBwb3NpdGlv biB0aGVyZSBpcyBhIGxlZnQgbm9udGVybWluYWwKICAgICAoIChyaW5nLXAgbGVmdC1ub250ZXJt aW5hbC1wb3NpdGlvbnMgKQogICAgICAgOzsgZm9udGlmeSByaWdodCBub250ZXJtaW5hbHMgdGhh dCBtYXRjaAogICAgICAgKGRvbGlzdCAocCAocmluZy1lbGVtZW50cyBsZWZ0LW5vbnRlcm1pbmFs LXBvc2l0aW9ucyApICkKCSAobGV0ICgob3YgKG1ha2Utb3ZlcmxheSBwICgrIHAgKGxlbmd0aCBs ZWZ0LW5vbnRlcm1pbmFsICkgKSApICkgKQoJICAgKG92ZXJsYXktcHV0IG92ICdmYWNlICdibi1z ZWFyY2gtcm90YXRlLWZhY2UpICkgKQogICAgICAgOzsgbG9vcCBvZiBpbnB1dCBldmVudHMKICAg ICAgIChsZXQqIChrZXkKCSAgICAgIChsIHQpCgkgICAgICAocG9zIDApCgkgICAgICAobnVtYmVy LW9mLW1hdGNoZXMgKHJpbmctc2l6ZSBsZWZ0LW5vbnRlcm1pbmFsLXBvc2l0aW9ucyApICkKCSAg ICAgIChtYW55LW1hdGNoZXMgKD4gbnVtYmVyLW9mLW1hdGNoZXMgMSApICkKCSAgICAgIChNa2V5 cyAoY29uY2F0CgkJICAgICAgIlxuIgoJCSAgICAgIChpZiBtYW55LW1hdGNoZXMKCQkJICAiYG4n IGp1bXAgdG8gdGhlIG5leHQgbWF0Y2guIGBwJyBqdW1wIHRvIHRoZSBwcmV2aW91cyBtYXRjaC4g IgoJCQkiIiApCgkJICAgICAgImBxJyBpbnRlcnJ1cHRzIHNlYXJjaC4iICkgKQoJICAgICAgKE0g KGNvbmNhdAoJCSAgKGZvcm1hdCAiYCVzJyIgbGVmdC1ub250ZXJtaW5hbCApCgkJICAoZm9ybWF0 ICIgOiBgJXMnOiAiIChyZXZlcnNlIChyaW5nLWVsZW1lbnRzIGxlZnQtbm9udGVybWluYWwtcG9z aXRpb25zICkgKSApCgkJICBNa2V5cyAgKSApICkKCSA7OyBqdW1wIHRvIHRoZSBmaXJzdCBtYXRj aAoJIChibi1qdW1wIChyaW5nLXJlZiBsZWZ0LW5vbnRlcm1pbmFsLXBvc2l0aW9ucyBwb3MpICkK CSAnKHJlY2VudGVyKQoJIChtZXNzYWdlIChjb25jYXQgIlNlYXJjaCBmb3IgIiBNICkgKQoJICh3 aGlsZSBsCgkgICAoc2V0cSBrZXkgKHJlYWQta2V5LXNlcXVlbmNlIG5pbCkgKQoJICAgKGNvbmQK CSAgICA7OyBxdWl0IHRoZSBzZWFyY2gKCSAgICAoIChhbmQgKHN0cmluZ3Aga2V5KQoJCSAgIChz dHJpbmctZXF1YWwga2V5ICAicSIgKSApCgkgICAgICAobWVzc2FnZSAicXVpdCBzZWFyY2guIiAp CgkgICAgICAoc2V0cSBsIG5pbCApICkKCSAgICA7OyBzZWFyY2sgZm9yIHRoZSBuZXh0IG1hdGNo CgkgICAgKCAoYW5kIChzdHJpbmdwIGtleSkKCQkgICBtYW55LW1hdGNoZXMKCQkgICAoc3RyaW5n LWVxdWFsIGtleSAgIm4iICkgKQoJICAgICAgKHNldHEgcG9zICgxLSBwb3MpICkKCSAgICAgIChn b3RvLWNoYXIgKHJpbmctcmVmIGxlZnQtbm9udGVybWluYWwtcG9zaXRpb25zIHBvcykgKQoJICAg ICAgKG1lc3NhZ2UgTSApICkKCSAgICA7OyBzZWFyY2ggZm9yIHRoZSBwcmV2aW91cyBtYXRjaAoJ ICAgICggKGFuZCAoc3RyaW5ncCBrZXkpCgkJICAgbWFueS1tYXRjaGVzCgkJICAgKHN0cmluZy1l cXVhbCBrZXkgICJwIiApICkKCSAgICAgIChzZXRxIHBvcyAoMSsgcG9zKSApCgkgICAgICAoZ290 by1jaGFyIChyaW5nLXJlZiBsZWZ0LW5vbnRlcm1pbmFsLXBvc2l0aW9ucyBwb3MgKSApCgkgICAg ICAobWVzc2FnZSBNICkgKQoJICAgICh0CgkgICAgIChtZXNzYWdlCgkgICAgICAoY29uY2F0IChm b3JtYXQgImAlcyciIChrZXktZGVzY3JpcHRpb24ga2V5ICkgKQoJCSAgICAgICIgZG9lcyBub3Qg bWF0Y2guICIKCQkgICAgICBNa2V5cyApICkgKSApICkgKQogICAgICAgOzsgcmVtb3Zpbmcgb3Zl cmxheXMKICAgICAgIChyZW1vdmUtb3ZlcmxheXMpICkKICAgICAoKGxpc3RwIGxlZnQtbm9udGVy bWluYWwtcG9zaXRpb25zICkKICAgICAgKGVycm9yICJObyBsZWZ0LW5vbnRlcm1pbmFsIGRlZmlu dGlvbiBhdCBwb2ludCIgKSkKICAgICAodAogICAgICAoZXJyb3IgIiBgJXMnIDogY2Fubm90IGxv b3AgZm9yIGEgcmlnaHQgc3ltYm9sLiAiIGxlZnQtbm9udGVybWluYWwgKSApICkgKSApCgonKGRl ZnVuIGJuLWltZW51ICgpCiAgKG1hcGNhcgogICAobGFtYmRhIChsKQogICAgIChjb25zIChjYWFy IGwpCgkgICAoaWYgKGNhZHIgbCkKCSAgICAgICAoY29weS1tYXJrZXIgKGNhZHIgbCkgKQoJICAg ICAwKSApICkKICAgYm4tbGVmdC1ub250ZXJtaW5hbC1saXN0KSApCgooZGVmdW4gYm4taW1lbnUg KCkKICAobWFwY2FyCiAgIChsYW1iZGEgKGwpCiAgICAgKGNvbnMgKGNhciBsKQoJICAgKGNvcHkt bWFya2VyIChjZHIgbCkgKSApICkKICAgKG1hcGNhciAnY2FyCgkgICBibi1sZWZ0LW5vbnRlcm1p bmFsLWxpc3QpICkgKQoKCgoK ------=_Part_121566_13662010.1286017781295--