From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Vladimir Kazanov Newsgroups: gmane.emacs.devel Subject: Re: The overlay branch (yet again) Date: Wed, 4 Dec 2019 11:41:16 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000006fb230598df4bf6" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="121385"; mail-complaints-to="usenet@blaine.gmane.org" Cc: martin rudalics , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 04 13:35:38 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1icTsR-000VEZ-Rd for ged-emacs-devel@m.gmane.org; Wed, 04 Dec 2019 13:35:33 +0100 Original-Received: from localhost ([::1]:37928 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1icTsQ-0005Yv-CX for ged-emacs-devel@m.gmane.org; Wed, 04 Dec 2019 07:35:30 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42451) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1icT2K-0008E9-IK for emacs-devel@gnu.org; Wed, 04 Dec 2019 06:41:47 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1icT2B-0000lo-TU for emacs-devel@gnu.org; Wed, 04 Dec 2019 06:41:38 -0500 Original-Received: from mail-oi1-x236.google.com ([2607:f8b0:4864:20::236]:45239) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1icT2A-0000MA-Cm for emacs-devel@gnu.org; Wed, 04 Dec 2019 06:41:31 -0500 Original-Received: by mail-oi1-x236.google.com with SMTP id v10so4470639oiv.12 for ; Wed, 04 Dec 2019 03:41:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pdY7arH8QFFhwDTvWe/KKoRHIRndPVaECDgtFL4sxxs=; b=C5ekX9UCBHjRBktBPkDbY1latAHhAriTkofo0bptQg/9cqWZnUDQ3p5/3tx4/1vgBf I/5JvQF0k6Cfrcy9+0U5AzxbMCbs+qMuY6kuS+lZag6w/chWsWAkneEjvm2HFTzr6w07 yZdadEvLKW6pZGxXZEnpgOqiF+4soKrdQreGLRyvjQp6Vu39ZhVRvxJv6vh/lOQZrWQo E8MWQf0w7iVji/KIsvYTxxihmpqEwNqQ6dqolC6MqtIJRUT0R2/3bhwTn1vZsdnHPcPY nI6Qx9qD8m01G9hPOhKLwDIwU99LJKhwTec97g0lO8bLNNWKpaUB1WxPSFkwW2sm8wYd FoyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pdY7arH8QFFhwDTvWe/KKoRHIRndPVaECDgtFL4sxxs=; b=MEtbH6h4l+3HfNpHlrDA9rG1Ze7go0C8TadORoHMieZ7tMmpvzDt+O2JqEQ2Gz29mD 6JzP/d2jar7EjuYE0HyJUAjzznaJd+PInzrW0MP1QP6R7E4164Ap5W6dx9HObmS7lmHm jofxxuEkWQ9i9Ief9Q25RvmcV/RqwGZCwBGhgALIBzS6KqWdMWJQHkTfO+iUFHE0Zoa/ dxtqJL8rwD+jz3Ryk4vway24tN69veaTBR2p/mY++CQFj7lyGGmQiir3iY7cas5nYnMn Ln9eWcKp6UlX1DvCyiFwhh7pfdU0LoMKbJofE4KPx10NCPJH1CS9uVfWuyHc1LCy9n6f pEgw== X-Gm-Message-State: APjAAAWA27h5A5XUOBcNiuAMyYVf7caOUCL8vJSvJYoFQ1ufDvjOHIWn ZyzSCM/Krf5VRECwBixPXVbMLOCZh97dOhqcCg== X-Google-Smtp-Source: APXvYqx4pfIUYq95mIgsMqX7b2cU0pxr5PwKBy05hdZJwLhpwFqbhi53O2hmlI1JG3bn4PKMxHVAHOLagKTdH5Y9Coc= X-Received: by 2002:aca:4850:: with SMTP id v77mr318550oia.70.1575459687418; Wed, 04 Dec 2019 03:41:27 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::236 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:243119 Archived-At: --00000000000006fb230598df4bf6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable So here's the first patch containing a few hundred (!!!) implementation-agnostic overlay tests. I took all Lisp-level overlay related tests in the feature-noverlay branch, removed automatically generated ones and a single test that was aware of the tree-based implementation. This should be a good basis for any further work related to overlays (and buffers in general). I did not add a single line of code, all credit goes to Andreas. Feel free to request tweaks and additions. Note that I am still in the process of pushing the papers through corporate bureaucracy. No problems, I got all the approvals needed but it'll take a week or two more. Thanks On Tue, Dec 3, 2019 at 10:43 PM Stefan Monnier w= rote: > > > https://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00488.html > > https://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00598.html > > https://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00736.html > > At least those links should be in comments somewhere in the code. > > > Stefan > --=20 Yours sincerely, Vladimir Kazanov -- =D0=A1 =D1=83=D0=B2=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC, =D0=92=D0=BB=D0=B0=D0=B4=D0=B8=D0=BC=D0=B8=D1=80 =D0=9A=D0=B0=D0=B7=D0=B0= =D0=BD=D0=BE=D0=B2 --00000000000006fb230598df4bf6 Content-Type: text/x-patch; charset="UTF-8"; name="0001-Include-overlay-tests.patch" Content-Disposition: attachment; filename="0001-Include-overlay-tests.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k3r7wttc0 ZGlmZiAtLWdpdCBhL3Rlc3Qvc3JjL2J1ZmZlci10ZXN0cy5lbCBiL3Rlc3Qvc3JjL2J1ZmZlci10 ZXN0cy5lbAppbmRleCA4NDVkNDFmOWQ2Li4xYTc4OTYwYjlkIDEwMDY0NAotLS0gYS90ZXN0L3Ny Yy9idWZmZXItdGVzdHMuZWwKKysrIGIvdGVzdC9zcmMvYnVmZmVyLXRlc3RzLmVsCkBAIC05NCw0 ICs5NCwxMjEyIEBACiAgICAgICAoaW5zZXJ0ICJ0b3RvIikKICAgICAgIChtb3ZlLW92ZXJsYXkg b2wgKHBvaW50LW1pbikgKHBvaW50LW1pbikpKSkpCiAKKworOzsgKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09KworOzsgfCBPdmVybGF5IHRlc3Qgc2V0dXAKKzs7ICs9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PSsKKworKGV2YWwtd2hlbi1jb21waWxlCisgIChkZWZ1biBtYWtlLW92ZXJsYXkt dGVzdC1uYW1lIChmbiB4IHkpCisgICAgKGludGVybiAoZm9ybWF0ICJ0ZXN0LSVzLSVzLSVzIiBm biB4IHkpKSkpCisKKyhkZWZ1biB1bm1ha2Utb3YtdGVzdC1uYW1lIChzeW1ib2wpCisgIChsZXQg KChuYW1lIChpZiAoc3RyaW5ncCBzeW1ib2wpIHN5bWJvbCAoc3ltYm9sLW5hbWUgc3ltYm9sKSkp KQorICAgICh3aGVuIChzdHJpbmctbWF0Y2ggIlxcYHRlc3QtXFwoLipcXCktXFwoLipcXCktXFwo LipcXClcXCciIG5hbWUpCisgICAgICAobGlzdCAobWF0Y2gtc3RyaW5nIDEgbmFtZSkgKG1hdGNo LXN0cmluZyAyIG5hbWUpIChtYXRjaC1zdHJpbmcgMyBuYW1lKSkpKSkKKworKGRlZm1hY3JvIGRl ZnRlc3QtbWFrZS1vdmVybGF5LTEgKGlkIGFyZ3MpCisgIChkZWNsYXJlIChpbmRlbnQgMSkpCisg IGAoZXJ0LWRlZnRlc3QgLChtYWtlLW92ZXJsYXktdGVzdC1uYW1lICdtYWtlLW92ZXJsYXkgMSBp ZCkgKCkKKyAgICAgKHdpdGgtdGVtcC1idWZmZXIKKyAgICAgICAoc2hvdWxkICwoY29ucyAnbWFr ZS1vdmVybGF5IGFyZ3MpKSkpKQorCisoZGVmbWFjcm8gZGVmdGVzdC1tYWtlLW92ZXJsYXktMiAo aWQgYXJncyBjb25kaXRpb24pCisgIChkZWNsYXJlIChpbmRlbnQgMSkpCisgIGAoZXJ0LWRlZnRl c3QgLChtYWtlLW92ZXJsYXktdGVzdC1uYW1lICdtYWtlLW92ZXJsYXkgMiBpZCkgKCkKKyAgICAg KHdpdGgtdGVtcC1idWZmZXIKKyAgICAgICAoc2hvdWxkLWVycm9yCisgICAgICAgICwoY29ucyAn bWFrZS1vdmVybGF5IGFyZ3MpCisgICAgICAgIDp0eXBlICcsY29uZGl0aW9uCisgICAgICAgIDpl eGNsdWRlLXN1YnR5cGVzIHQpKSkpCisKKyhkZWZtYWNybyBkZWZ0ZXN0LW92ZXJsYXktc3RhcnQv ZW5kLTEgKGlkIHN0YXJ0LWVuZC1hcmdzIHN0YXJ0LWVuZC1zaG91bGQpCisgIChkZWNsYXJlIChp bmRlbnQgMSkpCisgIChjbC1kZXN0cnVjdHVyaW5nLWJpbmQgKHN0YXJ0IGVuZCBzc3RhcnQgc2Vu ZCkKKyAgICAgIChhcHBlbmQgc3RhcnQtZW5kLWFyZ3Mgc3RhcnQtZW5kLXNob3VsZCkKKyAgICBg KGVydC1kZWZ0ZXN0ICwobWFrZS1vdmVybGF5LXRlc3QtbmFtZSAnb3ZlcmxheS1zdGFydC9lbmQg MSBpZCkgKCkKKyAgICAgICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgICAgKGluc2VydCAobWFr ZS1zdHJpbmcgOSA/XG4pKQorICAgICAgICAgKGxldCAoKG92IChtYWtlLW92ZXJsYXkgLHN0YXJ0 ICxlbmQpKSkKKyAgICAgICAgICAgKHNob3VsZCAoZXF1YWwgLHNzdGFydCAob3ZlcmxheS1zdGFy dCBvdikpKQorICAgICAgICAgICAoc2hvdWxkIChlcXVhbCAsc2VuZCAob3ZlcmxheS1lbmQgb3Yp KSkpKSkpKQorCisoZGVmbWFjcm8gZGVmdGVzdC1vdmVybGF5LWJ1ZmZlci0xIChpZCBhcmctZXhw ciBzaG91bGQtZXhwcikKKyAgKGRlY2xhcmUgKGluZGVudCAxKSkKKyAgYChlcnQtZGVmdGVzdCAs KG1ha2Utb3ZlcmxheS10ZXN0LW5hbWUgJ292ZXJsYXktYnVmZmVyIDEgaWQpICgpCisgICAgICh3 aXRoLXRlbXAtYnVmZmVyCisgICAgICAgKHNob3VsZCAoZXF1YWwgKG92ZXJsYXktYnVmZmVyICht YWtlLW92ZXJsYXkgMSAxICxhcmctZXhwcikpCisgICAgICAgICAgICAgICAgICAgICAgLHNob3Vs ZC1leHByKSkpKSkKKworKGRlZm1hY3JvIGRlZnRlc3Qtb3ZlcmxheXAtMSAoaWQgYXJnLWV4cHIg c2hvdWxkLWV4cHIpCisgIChkZWNsYXJlIChpbmRlbnQgMSkpCisgIGAoZXJ0LWRlZnRlc3QgLCht YWtlLW92ZXJsYXktdGVzdC1uYW1lICdvdmVybGF5LWJ1ZmZlciAxIGlkKSAoKQorICAgICAod2l0 aC10ZW1wLWJ1ZmZlcgorICAgICAgIChzaG91bGQgKGVxdWFsICxzaG91bGQtZXhwciAob3Zlcmxh eXAgLGFyZy1leHByKSkpKSkpCisKKyhkZWZtYWNybyBkZWZ0ZXN0LW5leHQtb3ZlcmxheS1jaGFu Z2UtMSAoaWQgcG9zIHJlc3VsdCAmcmVzdCBvdi10dXBsZSkKKyAgYChlcnQtZGVmdGVzdCAsKG1h a2Utb3ZlcmxheS10ZXN0LW5hbWUgJ25leHQtb3ZlcmxheS1jaGFuZ2UgMSBpZCkgKCkKKyAgICAg KGxldCAoKHR1cGxlIChjb3B5LXNlcXVlbmNlICcsb3YtdHVwbGUpKSkKKyAgICAgICAod2l0aC10 ZW1wLWJ1ZmZlcgorICAgICAgICAgKGluc2VydCAobWFrZS1zdHJpbmcgKG1heCAxMDAgKGlmIHR1 cGxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGx5ICMn bWF4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICht YXBjYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChsYW1iZGEgKG0pIChhcHBseSAjJ21heCBtKSkgdHVwbGUpKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ID9cbikpCisgICAgICAgICAoZG9saXN0ICh0dXAgdHVwbGUpCisgICAgICAgICAgIChtYWtlLW92 ZXJsYXkgKGNhciB0dXApIChjYWRyIHR1cCkpKQorICAgICAgICAgKHNob3VsZCAoZXF1YWwgKG5l eHQtb3ZlcmxheS1jaGFuZ2UgLHBvcykKKyAgICAgICAgICAgICAgICAgICAgICAgICxyZXN1bHQp KSkpKSkKKworKGRlZm1hY3JvIGRlZnRlc3QtcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSAoaWQg cG9zIHJlc3VsdCAmcmVzdCBvdi10dXBsZSkKKyAgYChlcnQtZGVmdGVzdCAsKG1ha2Utb3Zlcmxh eS10ZXN0LW5hbWUgJ3ByZXZpb3VzLW92ZXJsYXktY2hhbmdlIDEgaWQpICgpCisgICAgIChsZXQg KCh0dXBsZSAnLG92LXR1cGxlKSkKKyAgICAgICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgICAg KGluc2VydCAobWFrZS1zdHJpbmcgKG1heCAxMDAgKGlmIHR1cGxlCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGx5ICMnbWF4CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXBjYXIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKG0pIChhcHBseSAj J21heCBtKSkgdHVwbGUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID9cbikpCisgICAgICAgICAoZG9s aXN0ICh0dXAgdHVwbGUpCisgICAgICAgICAgIChtYWtlLW92ZXJsYXkgKGNhciB0dXApIChjYWRy IHR1cCkpKQorICAgICAgICAgKHNob3VsZCAoZXF1YWwgKHByZXZpb3VzLW92ZXJsYXktY2hhbmdl ICxwb3MpCisgICAgICAgICAgICAgICAgICAgICAgICAscmVzdWx0KSkpKSkpCisKKyhkZWZtYWNy byBkZWZ0ZXN0LW92ZXJsYXlzLWF0LTEgKGlkIHBvcyByZXN1bHQgJnJlc3Qgb3YtdHJpcGxlKQor ICBgKGVydC1kZWZ0ZXN0ICwobWFrZS1vdmVybGF5LXRlc3QtbmFtZSAnb3ZlcmxheXMtYXQgMSBp ZCkgKCkKKyAgICAgKGxldCAoKHBvcyogLHBvcykpCisgICAgICAgKHdpdGgtdGVtcC1idWZmZXIK KyAgICAgICAgIChpbnNlcnQgKG1ha2Utc3RyaW5nIDEwMCA/XHMpKQorICAgICAgICAgKHNob3Vs ZC1ub3QgKG1lbXEgbmlsICcscmVzdWx0KSkKKyAgICAgICAgIChkb2xpc3QgKHYgJyxvdi10cmlw bGUpCisgICAgICAgICAgIChjbC1kZXN0cnVjdHVyaW5nLWJpbmQgKHRhZyBzdGFydCBlbmQpCisg ICAgICAgICAgICAgICB2CisgICAgICAgICAgICAgKG92ZXJsYXktcHV0IChtYWtlLW92ZXJsYXkg c3RhcnQgZW5kKSAndGFnIHRhZykpKQorICAgICAgICAgKGxldCAoKG92bCAob3ZlcmxheXMtYXQg cG9zKikpKQorICAgICAgICAgICAoc2hvdWxkIChlcXVhbCAobGVuZ3RoIG92bCkgKGxlbmd0aCAn LHJlc3VsdCkpKQorICAgICAgICAgICAoZG9saXN0IChvdiBvdmwpCisgICAgICAgICAgICAgKHNo b3VsZCAobWVtcSAob3ZlcmxheS1nZXQgb3YgJ3RhZykgJyxyZXN1bHQpKSkpKSkpKQorCisoZGVm bWFjcm8gZGVmdGVzdC1vdmVybGF5cy1pbi0xIChpZCBiZWcgZW5kIHJlc3VsdCAmcmVzdCBvdi10 cmlwbGUpCisgIGAoZXJ0LWRlZnRlc3QgLChtYWtlLW92ZXJsYXktdGVzdC1uYW1lICdvdmVybGF5 cy1pbiAxIGlkKSAoKQorICAgICAobGV0ICgoYmVnKiAsYmVnKQorICAgICAgICAgICAoZW5kKiAs ZW5kKSkKKyAgICAgICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgICAgKGluc2VydCAobWFrZS1z dHJpbmcgMTAwID9ccykpCisgICAgICAgICAoc2hvdWxkLW5vdCAobWVtcSBuaWwgJyxyZXN1bHQp KQorICAgICAgICAgKGRvbGlzdCAodiAnLG92LXRyaXBsZSkKKyAgICAgICAgICAgKGNsLWRlc3Ry dWN0dXJpbmctYmluZCAodGFnIHN0YXJ0IGVuZCkKKyAgICAgICAgICAgICAgIHYKKyAgICAgICAg ICAgICAob3ZlcmxheS1wdXQgKG1ha2Utb3ZlcmxheSBzdGFydCBlbmQpICd0YWcgdGFnKSkpCisg ICAgICAgICAobGV0ICgob3ZsIChvdmVybGF5cy1pbiBiZWcqIGVuZCopKSkKKyAgICAgICAgICAg KHNob3VsZCAoZXF1YWwgKGxlbmd0aCBvdmwpIChsZW5ndGggJyxyZXN1bHQpKSkKKyAgICAgICAg ICAgKGRvbGlzdCAob3Ygb3ZsKQorICAgICAgICAgICAgIChzaG91bGQgKG1lbXEgKG92ZXJsYXkt Z2V0IG92ICd0YWcpICcscmVzdWx0KSkpKSkpKSkKKworKGRlZm1hY3JvIHRlc3Qtd2l0aC1vdmVy bGF5LWluLWJ1ZmZlciAoc3ltYm9sLWJlZy1lbmQtZmEtcmEgJnJlc3QgYm9keSkKKyAgKGRlY2xh cmUgKGluZGVudCAxKSkKKyAgKGNsLWRlc3RydWN0dXJpbmctYmluZCAoc3ltYm9sIGJlZyBlbmQg Jm9wdGlvbmFsIGZhIHJhKQorICAgICAgc3ltYm9sLWJlZy1lbmQtZmEtcmEKKyAgICBgKHdpdGgt dGVtcC1idWZmZXIKKyAgICAgICAoaW5zZXJ0IChtYWtlLXN0cmluZyAobWF4IDEwMDAgKDEtICxl bmQpKSA/XHMpKQorICAgICAgIChnb3RvLWNoYXIgMSkKKyAgICAgICAobGV0ICgoLHN5bWJvbCAo bWFrZS1vdmVybGF5ICxiZWcgLGVuZCBuaWwgLGZhICxyYSkpKQorICAgICAgICAgLEBib2R5KSkp KQorCisoZGVmbWFjcm8gZGVmdGVzdC1vdmVybGF5cy1lcXVhbC0xIChpZCByZXN1bHQgb3YxLWFy Z3Mgb3YyLWFyZ3MpCisgIGAoZXJ0LWRlZnRlc3QgLChtYWtlLW92ZXJsYXktdGVzdC1uYW1lICdv dmVybGF5cy1lcXVhbCAxIGlkKSAoKQorICAgICAoY2wtbGFiZWxzICgoY3JlYXRlLW92ZXJsYXkg KGFyZ3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2wtZGVzdHJ1Y3R1cmlu Zy1iaW5kIChzdGFydCBlbmQgJm9wdGlvbmFsIGZhIHJhICZyZXN0IHByb3BlcnRpZXMpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAobGV0ICgob3YgKG1ha2Utb3ZlcmxheSBzdGFydCBlbmQgbmlsIGZh IHJhKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHdoaWxlIHByb3Bl cnRpZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdmVybGF5LXB1 dCBvdiAocG9wIHByb3BlcnRpZXMpIChwb3AgcHJvcGVydGllcykpKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG92KSkpKQorICAgICAgICh3aXRoLXRlbXAtYnVmZmVyCisg ICAgICAgICAoaW5zZXJ0IChtYWtlLXN0cmluZyAxMDI0ID9ccykpCisgICAgICAgICAoc2hvdWxk ICgsKGlmIHJlc3VsdCAnaWRlbnRpdHkgJ25vdCkKKyAgICAgICAgICAgICAgICAgIChlcXVhbCAo Y3JlYXRlLW92ZXJsYXkgJyxvdjEtYXJncykKKyAgICAgICAgICAgICAgICAgICAgICAgICAoY3Jl YXRlLW92ZXJsYXkgJyxvdjItYXJncykpKSkpKSkpCisKKworKGRlZnVuIGZpbmQtZXJ0LW92ZXJs YXktdGVzdCAobmFtZSkKKyAgKGxldCAoKHRlc3QgKHVubWFrZS1vdi10ZXN0LW5hbWUgbmFtZSkp KQorICAgIChvciAoYW5kIHRlc3QKKyAgICAgICAgICAgICAoY2wtZGVzdHJ1Y3R1cmluZy1iaW5k IChmbiB4IHkpCisgICAgICAgICAgICAgICAgIHRlc3QKKyAgICAgICAgICAgICAgIChsZXQgKChy ZWdleHAgKGZvcm1hdCAiZGVmdGVzdC0lcy0lcyArJXMiIGZuIHggeSkpKQorICAgICAgICAgICAg ICAgICAocmUtc2VhcmNoLWZvcndhcmQgcmVnZXhwIG5pbCB0KSkpKQorICAgICAgICAobGV0ICgo ZmluZC1mdW5jdGlvbi1yZWdleHAtYWxpc3QKKyAgICAgICAgICAgICAgIChjbC1yZW1vdmUgJ2Zp bmQtZXJ0LW92ZXJsYXktdGVzdCBmaW5kLWZ1bmN0aW9uLXJlZ2V4cC1hbGlzdCA6a2V5ICMnY2Ry KSkpCisgICAgICAgICAgKGZpbmQtZnVuY3Rpb24tZG8taXQgbmFtZSAnZXJ0LWRlZnRlc3QgJ3N3 aXRjaC10by1idWZmZXItb3RoZXItd2luZG93KSkpKSkKKworKGFkZC10by1saXN0ICdmaW5kLWZ1 bmN0aW9uLXJlZ2V4cC1hbGlzdAorICAgICAgICAgICAgICcoZXJ0LWRlZnRlc3QgLiBmaW5kLWVy dC1vdmVybGF5LXRlc3QpKQorCisKKzs7ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKKzs7 IHwgbWFrZS1vdmVybGF5Cis7OyArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCisKKzs7IFRl c3QgaWYgbWFraW5nIGFuIG92ZXJsYXkgc3VjY2VlZHMuCisoZGVmdGVzdC1tYWtlLW92ZXJsYXkt MSBBICgxIDEpKQorKGRlZnRlc3QtbWFrZS1vdmVybGF5LTEgQiAoNyAyNikpCisoZGVmdGVzdC1t YWtlLW92ZXJsYXktMSBDICgyOSA3KSkKKyhkZWZ0ZXN0LW1ha2Utb3ZlcmxheS0xIEQgKG1vc3Qt cG9zaXRpdmUtZml4bnVtIDEpKQorKGRlZnRlc3QtbWFrZS1vdmVybGF5LTEgRSAobW9zdC1uZWdh dGl2ZS1maXhudW0gMSkpCisoZGVmdGVzdC1tYWtlLW92ZXJsYXktMSBGICgxIG1vc3QtcG9zaXRp dmUtZml4bnVtKSkKKyhkZWZ0ZXN0LW1ha2Utb3ZlcmxheS0xIEcgKDEgbW9zdC1uZWdhdGl2ZS1m aXhudW0pKQorKGRlZnRlc3QtbWFrZS1vdmVybGF5LTEgSCAoMSAxIG5pbCB0KSkKKyhkZWZ0ZXN0 LW1ha2Utb3ZlcmxheS0xIEkgKDEgMSBuaWwgbmlsKSkKKyhkZWZ0ZXN0LW1ha2Utb3ZlcmxheS0x IEogKDEgMSBuaWwgbmlsIG5pbCkpCisoZGVmdGVzdC1tYWtlLW92ZXJsYXktMSBLICgxIDEgbmls IG5pbCB0KSkKKyhkZWZ0ZXN0LW1ha2Utb3ZlcmxheS0xIEwgKDEgMSBuaWwgdCB0KSkKKyhkZWZ0 ZXN0LW1ha2Utb3ZlcmxheS0xIE0gKDEgMSBuaWwgInllcyIgInllcyIpKQorCis7OyBUZXN0IGlm IHRyeWluZyB0byBtYWtlIGFuIG92ZXJsYXkgc2lnbmFscyBjb25kaXRpb25zLgorKGRlZnRlc3Qt bWFrZS1vdmVybGF5LTIgQSAoKSAgICAgICAgICAgIHdyb25nLW51bWJlci1vZi1hcmd1bWVudHMp CisoZGVmdGVzdC1tYWtlLW92ZXJsYXktMiBCICgxKSAgICAgICAgICAgd3JvbmctbnVtYmVyLW9m LWFyZ3VtZW50cykKKyhkZWZ0ZXN0LW1ha2Utb3ZlcmxheS0yIEMgKDEgMiAzIDQgNSA2KSB3cm9u Zy1udW1iZXItb2YtYXJndW1lbnRzKQorKGRlZnRlc3QtbWFrZS1vdmVybGF5LTIgRCAoIjEiKSAg ICAgICAgIHdyb25nLW51bWJlci1vZi1hcmd1bWVudHMpCisoZGVmdGVzdC1tYWtlLW92ZXJsYXkt MiBFICgiMSIgIjIiKSAgICAgd3JvbmctdHlwZS1hcmd1bWVudCkKKyhkZWZ0ZXN0LW1ha2Utb3Zl cmxheS0yIEYgKDEgMiAiYiIpICAgICB3cm9uZy10eXBlLWFyZ3VtZW50KQorKGRlZnRlc3QtbWFr ZS1vdmVybGF5LTIgRyAoMSAyIDMuMTQpICAgIHdyb25nLXR5cGUtYXJndW1lbnQpCisoZGVmdGVz dC1tYWtlLW92ZXJsYXktMiBIICgzLjE0IDMpICAgICAgd3JvbmctdHlwZS1hcmd1bWVudCkKKyhk ZWZ0ZXN0LW1ha2Utb3ZlcmxheS0yIEkgKDEgWzFdKSAgICAgICB3cm9uZy10eXBlLWFyZ3VtZW50 KQorKGRlZnRlc3QtbWFrZS1vdmVybGF5LTIgSiAoMSAxICh3aXRoLXRlbXAtYnVmZmVyCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3VycmVudC1idWZmZXIpKSkKKyAgZXJyb3Ip CisKKworOzsgKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KworOzsgfCBvdmVybGF5LXN0YXJ0 L2VuZAorOzsgKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KworCis7OyBUZXN0IGlmIHRoZSBv dmVybGF5cyByZXR1cm4gcHJvcGVyIHBvc2l0aW9ucy4gIHBvaW50LW1heCBvZiB0aGUKKzs7IGJ1 ZmZlciB3aWxsIGVxdWFsIDEwLiAgICAgICAgQVJHIFJFU1VMVAorKGRlZnRlc3Qtb3ZlcmxheS1z dGFydC9lbmQtMSBBICgxIDEpICgxIDEpKQorKGRlZnRlc3Qtb3ZlcmxheS1zdGFydC9lbmQtMSBC ICgyIDcpICgyIDcpKQorKGRlZnRlc3Qtb3ZlcmxheS1zdGFydC9lbmQtMSBDICg3IDIpICgyIDcp KQorKGRlZnRlc3Qtb3ZlcmxheS1zdGFydC9lbmQtMSBEICgxIDEwKSAoMSAxMCkpCisoZGVmdGVz dC1vdmVybGF5LXN0YXJ0L2VuZC0xIEUgKDEgMTEpICgxIDEwKSkKKyhkZWZ0ZXN0LW92ZXJsYXkt c3RhcnQvZW5kLTEgRiAoMSBtb3N0LXBvc2l0aXZlLWZpeG51bSkgKDEgMTApKQorKGRlZnRlc3Qt b3ZlcmxheS1zdGFydC9lbmQtMSBHIChtb3N0LXBvc2l0aXZlLWZpeG51bSAxKSAoMSAxMCkpCiso ZGVmdGVzdC1vdmVybGF5LXN0YXJ0L2VuZC0xIEggKG1vc3QtcG9zaXRpdmUtZml4bnVtIG1vc3Qt cG9zaXRpdmUtZml4bnVtKSAoMTAgMTApKQorKGRlZnRlc3Qtb3ZlcmxheS1zdGFydC9lbmQtMSBJ ICgxMDAgMTEpICgxMCAxMCkpCisoZGVmdGVzdC1vdmVybGF5LXN0YXJ0L2VuZC0xIEogKDExIDEw MCkgKDEwIDEwKSkKKyhkZWZ0ZXN0LW92ZXJsYXktc3RhcnQvZW5kLTEgSyAoMCAxKSAoMSAxKSkK KyhkZWZ0ZXN0LW92ZXJsYXktc3RhcnQvZW5kLTEgTCAoMSAwKSAoMSAxKSkKKyhkZWZ0ZXN0LW92 ZXJsYXktc3RhcnQvZW5kLTEgTSAoMCAwKSAoMSAxKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qtb3Zl cmxheS1zdGFydC9lbmQtMiAoKQorICAoc2hvdWxkLW5vdCAob3ZlcmxheS1zdGFydCAod2l0aC10 ZW1wLWJ1ZmZlciAobWFrZS1vdmVybGF5IDEgMSkpKSkKKyAgKHNob3VsZC1ub3QgKG92ZXJsYXkt ZW5kICh3aXRoLXRlbXAtYnVmZmVyIChtYWtlLW92ZXJsYXkgMSAxKSkpKSkKKworCis7OyArPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0rCis7OyB8IG92ZXJsYXktYnVmZmVyCis7OyArPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0rCisKKzs7IFRlc3QgaWYgb3ZlcmxheS1idWZmZXIgcmV0dXJu cyBhcHByb3ByaWF0ZSB2YWx1ZXMuCisoZGVmdGVzdC1vdmVybGF5LWJ1ZmZlci0xIEEgKGN1cnJl bnQtYnVmZmVyKSAoY3VycmVudC1idWZmZXIpKQorKGRlZnRlc3Qtb3ZlcmxheS1idWZmZXItMSBC IG5pbCAoY3VycmVudC1idWZmZXIpKQorKGVydC1kZWZ0ZXN0IHRlc3Qtb3ZlcmxheS1idWZmZXIt MS1DICgpCisgIChzaG91bGQtZXJyb3IgKG1ha2Utb3ZlcmxheQorICAgICAgICAgICAgICAgICAx IDEgKHdpdGgtdGVtcC1idWZmZXIgKGN1cnJlbnQtYnVmZmVyKSkpKSkKKworCis7OyArPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0rCis7OyB8IG92ZXJsYXlwCis7OyArPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0rCisKKzs7IENoZWNrIHRoZSBvdmVybGF5IHByZWRpY2F0ZS4KKyhkZWZ0ZXN0 LW92ZXJsYXlwLTEgQSAobWFrZS1vdmVybGF5IDEgMSkgdCkKKyhkZWZ0ZXN0LW92ZXJsYXlwLTEg QiAod2l0aC10ZW1wLWJ1ZmZlciAobWFrZS1vdmVybGF5IDEgMSkpIHQpCisoZGVmdGVzdC1vdmVy bGF5cC0xIEMgbmlsICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCkKKyhkZWZ0ZXN0LW92 ZXJsYXlwLTEgRCAnc3ltYm9sICAgICAgICAgICAgICAgICAgICAgICAgbmlsKQorKGRlZnRlc3Qt b3ZlcmxheXAtMSBFICJzdHJpbmciICAgICAgICAgICAgICAgICAgICAgICBuaWwpCisoZGVmdGVz dC1vdmVybGF5cC0xIEYgNDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCkKKyhkZWZ0 ZXN0LW92ZXJsYXlwLTEgRyBbMSAyXSAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsKQorKGRl ZnRlc3Qtb3ZlcmxheXAtMSBIIChzeW1ib2wtZnVuY3Rpb24gJ2NhcikgICAgICAgICBuaWwpCiso ZGVmdGVzdC1vdmVybGF5cC0xIEkgZmxvYXQtcGkgICAgICAgICAgICAgICAgICAgICAgIG5pbCkK KyhkZWZ0ZXN0LW92ZXJsYXlwLTEgSiAoY29ucyAxIDIpICAgICAgICAgICAgICAgICAgICAgbmls KQorKGRlZnRlc3Qtb3ZlcmxheXAtMSBLIChtYWtlLWhhc2gtdGFibGUpICAgICAgICAgICAgICBu aWwpCisoZGVmdGVzdC1vdmVybGF5cC0xIEwgKHN5bWJvbC1mdW5jdGlvbiAnZXJ0LWRlZnRlc3Qp IG5pbCkKKyhkZWZ0ZXN0LW92ZXJsYXlwLTEgTSAoY3VycmVudC1idWZmZXIpICAgICAgICAgICAg ICAgbmlsKQorKGRlZnRlc3Qtb3ZlcmxheXAtMSBOIChzZWxlY3RlZC13aW5kb3cpICAgICAgICAg ICAgICBuaWwpCisoZGVmdGVzdC1vdmVybGF5cC0xIE8gKHNlbGVjdGVkLWZyYW1lKSAgICAgICAg ICAgICAgIG5pbCkKKworCis7OyArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCis7OyB8IG92 ZXJsYXkgZXF1YWxpdHkKKzs7ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKKworKGRlZnRl c3Qtb3ZlcmxheXMtZXF1YWwtMSBBIHQgKDEgMSkgKDEgMSkpCisoZGVmdGVzdC1vdmVybGF5cy1l cXVhbC0xIEIgdCAoNSAxMCkgKDUgMTApKQorKGRlZnRlc3Qtb3ZlcmxheXMtZXF1YWwtMSBDIG5p bCAoNSAxMSkgKDUgMTApKQorKGRlZnRlc3Qtb3ZlcmxheXMtZXF1YWwtMSBEIHQgKDEwIDIwIHQp ICgxMCAyMCkpCisoZGVmdGVzdC1vdmVybGF5cy1lcXVhbC0xIEUgdCAoMTAgMjAgbmlsIHQpICgx MCAyMCkpCisoZGVmdGVzdC1vdmVybGF5cy1lcXVhbC0xIEYgdCAoMTAgMjAgdCB0KSAoMTAgMjAg bmlsIHQpKQorKGRlZnRlc3Qtb3ZlcmxheXMtZXF1YWwtMSBHIHQgKDEwIDIwIHQgdCkgKDEwIDIw IHQgbmlsKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWVxdWFsLTEgSCB0ICgxMCAyMCBuaWwgbmlsIGZv byA0MikgKDEwIDIwIG5pbCBuaWwgZm9vIDQyKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWVxdWFsLTEg SSBuaWwgKDEwIDIwIG5pbCBuaWwgZm9vIDQyKSAoMTAgMjAgbmlsIG5pbCBmb28gNDMpKQorCisK Kzs7ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKKzs7IHwgb3ZlcmxheS1saXN0cworOzsg Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09KworCis7OyBDaGVjayB3aGV0aGVyIG92ZXJsYXkt bGlzdHMgcmV0dXJucyBzb21ldGhpbmcgc2Vuc2libGUuCisoZXJ0LWRlZnRlc3QgdGVzdC1vdmVy bGF5LWxpc3RzLTEgKCkKKyAgKHdpdGgtdGVtcC1idWZmZXIKKyAgICAoc2hvdWxkIChlcXVhbCAo Y29ucyBuaWwgbmlsKSAob3ZlcmxheS1saXN0cykpKQorICAgIChkb3RpbWVzIChpIDEwKSAobWFr ZS1vdmVybGF5IDEgaSkpCisgICAgKHNob3VsZCAobGlzdHAgKGNhciAob3ZlcmxheS1saXN0cykp KSkKKyAgICAoc2hvdWxkIChsaXN0cCAoY2RyIChvdmVybGF5LWxpc3RzKSkpKQorICAgIChsZXQg KChsaXN0IChhcHBlbmQgKGNhciAob3ZlcmxheS1saXN0cykpCisgICAgICAgICAgICAgICAgICAg ICAgICAoY2RyIChvdmVybGF5LWxpc3RzKSkpKSkKKyAgICAgIChzaG91bGQgKD0gMTAgKGxlbmd0 aCBsaXN0KSkpCisgICAgICAoc2hvdWxkIChzZXEtZXZlcnktcCAjJ292ZXJsYXlwIGxpc3QpKSkp KQorCisKKzs7ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKKzs7IHwgb3ZlcmxheS1wdXQv Z2V0L3Byb3BlcnRpZXMKKzs7ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKKworOzsgVGVz dCBpZiBvdmVybGF5LXB1dCBwcm9wZXJ0aWVzIGNhbiBiZSByZXRyaWV2ZWQgYnkgb3ZlcmxheS1n ZXQgYW5kCis7OyBvdmVybGF5LXByb3BlcnRpZXMuCisoZXJ0LWRlZnRlc3QgdGVzdC1vdmVybGF5 LXByb3BzLTEgKCkKKyAgKHdpdGgtdGVtcC1idWZmZXIKKyAgICAobGV0KiAoKGtleXMgJyg6azEg OmsyIDprMykpCisgICAgICAgICAgICh2YWx1ZXMgJygxICJ2MiIgdjMpKQorICAgICAgICAgICAo b3YgKG1ha2Utb3ZlcmxheSAxIDEpKQorICAgICAgICAgICAobiAobGVuZ3RoIGtleXMpKSkKKyAg ICAgIChzaG91bGQgKGVxdWFsIChsZW5ndGgga2V5cykgKGxlbmd0aCB2YWx1ZXMpKSkKKyAgICAg IChzaG91bGQgKG51bGwgKG92ZXJsYXktcHJvcGVydGllcyBvdikpKQorICAgICAgOzsgSW5zZXJ0 IGtleXMgYW5kIHZhbHVlcy4KKyAgICAgIChkb3RpbWVzIChpIG4pCisgICAgICAgIChzaG91bGQg KGVxdWFsIChvdmVybGF5LXB1dCBvdiAobnRoIGkga2V5cykgKG50aCBpIHZhbHVlcykpCisgICAg ICAgICAgICAgICAgICAgICAgIChudGggaSB2YWx1ZXMpKSkpCisgICAgICA7OyBDb21wYXJlIHdp dGggd2hhdCBvdmVybGF5LWdldCBzYXlzLgorICAgICAgKGRvdGltZXMgKGkgbikKKyAgICAgICAg KHNob3VsZCAoZXF1YWwgKG92ZXJsYXktZ2V0IG92IChudGggaSBrZXlzKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgKG50aCBpIHZhbHVlcykpKSkKKyAgICAgIDs7IFRlc3QgaWYgb3ZlcmxheS1w cm9wZXJ0aWVzIGlzIGEgc3VwZXJzZXQuCisgICAgICAoZG90aW1lcyAoaSBuKQorICAgICAgICAo c2hvdWxkIChlcXVhbCAocGxpc3QtZ2V0IChvdmVybGF5LXByb3BlcnRpZXMgb3YpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKG50aCBpIGtleXMpKQorICAgICAgICAgICAgICAg ICAgICAgICAobnRoIGkgdmFsdWVzKSkpKQorICAgICAgOzsgQ2hlY2sgaWYgb3ZlcmxheS1wcm9w ZXJ0aWVzIGlzIGEgc3Vic2V0LgorICAgICAgKHNob3VsZCAoPSAobGVuZ3RoIChvdmVybGF5LXBy b3BlcnRpZXMgb3YpKSAoKiBuIDIpKSkpKSkKKworCis7OyArPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0rCis7OyB8IG5leHQtb3ZlcmxheS1jaGFuZ2UKKzs7ICs9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PSsKKworOzsgVGVzdCBpZiBuZXh0LW92ZXJsYXktY2hhbmdlIHJldHVybnMgUkVTVUxU IGlmIGNhbGxlZCB3aXRoIFBPUyBpbiBhCis7OyBidWZmZXIgd2l0aCBvdmVybGF5cyBjb3JyZXNw b25kaW5nIHRvIE9WUyBhbmQgcG9pbnQtbWF4ID49IDEwMC4KKzs7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChQT1MgUkVTVUxUICZyZXN0IE9WUykKKzs7IDAgb3ZlcmxheXMKKyhkZWZ0 ZXN0LW5leHQtb3ZlcmxheS1jaGFuZ2UtMSBBIChwb2ludC1taW4pIChwb2ludC1tYXgpKQorKGRl ZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIEIgKHBvaW50LW1heCkgKHBvaW50LW1heCkpCis7 OyAxIG5vbi1lbXB0eSBvdmVybGF5CisoZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdlLTEgQyAx IDEwICgxMCAyMCkpCisoZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdlLTEgRCAxMCAyMCAoMTAg MjApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIEUgMTUgMjAgKDEwIDIwKSkKKyhk ZWZ0ZXN0LW5leHQtb3ZlcmxheS1jaGFuZ2UtMSBGIDIwIChwb2ludC1tYXgpICgxMCAyMCkpCiso ZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdlLTEgRyAzMCAocG9pbnQtbWF4KSAoMTAgMjApKQor OzsgMSBlbXB0eSBvdmVybGF5CisoZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdlLTEgSCAxIDEw ICgxMCAxMCkpCisoZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdlLTEgSSAxMCAocG9pbnQtbWF4 KSAoMTAgMTApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIEogMjAgKHBvaW50LW1h eCkgKDEwIDEwKSkKKzs7IDIgbm9uLWVtcHR5LCBub24taW50ZXJzZWN0aW5nCisoZGVmdGVzdC1u ZXh0LW92ZXJsYXktY2hhbmdlLTEgRCAxMCAyMCAoMjAgMzApICg0MCA1MCkpCisoZGVmdGVzdC1u ZXh0LW92ZXJsYXktY2hhbmdlLTEgRSAzNSA0MCAoMjAgMzApICg0MCA1MCkpCisoZGVmdGVzdC1u ZXh0LW92ZXJsYXktY2hhbmdlLTEgRiA2MCAocG9pbnQtbWF4KSAoMjAgMzApICg0MCA1MCkpCiso ZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdlLTEgRyAzMCA0MCAoMjAgMzApICg0MCA1MCkpCiso ZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdlLTEgSCA1MCAocG9pbnQtbWF4KSAoMjAgMzApICg0 MCA1MCkpCis7OyAyIG5vbi1lbXB0eSwgaW50ZXJzZWN0aW5nCisoZGVmdGVzdC1uZXh0LW92ZXJs YXktY2hhbmdlLTEgSSAxMCAyMCAoMjAgMzApICgyNSAzNSkpCisoZGVmdGVzdC1uZXh0LW92ZXJs YXktY2hhbmdlLTEgSiAyMCAyNSAoMjAgMzApICgyNSAzNSkpCisoZGVmdGVzdC1uZXh0LW92ZXJs YXktY2hhbmdlLTEgSyAyMyAyNSAoMjAgMzApICgyNSAzNSkpCisoZGVmdGVzdC1uZXh0LW92ZXJs YXktY2hhbmdlLTEgTCAyNSAzMCAoMjAgMzApICgyNSAzNSkpCisoZGVmdGVzdC1uZXh0LW92ZXJs YXktY2hhbmdlLTEgTSAyOCAzMCAoMjAgMzApICgyNSAzNSkpCisoZGVmdGVzdC1uZXh0LW92ZXJs YXktY2hhbmdlLTEgTiAzMCAzNSAoMjAgMzApICgyNSAzNSkpCisoZGVmdGVzdC1uZXh0LW92ZXJs YXktY2hhbmdlLTEgTyAzNSAocG9pbnQtbWF4KSAoMjAgMzApICgyNSAzNSkpCisoZGVmdGVzdC1u ZXh0LW92ZXJsYXktY2hhbmdlLTEgUCA1MCAocG9pbnQtbWF4KSAoMjAgMzApICgyNSAzNSkpCis7 OyAyIG5vbi1lbXB0eSwgY29udGludW91cworKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0x IFEgMTAgMjAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0x IFIgMjAgMzAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0x IFMgMjUgMzAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0x IFQgMzAgNDAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0x IFUgMzUgNDAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0x IFYgNDAgKHBvaW50LW1heCkgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5 LWNoYW5nZS0xIFcgNTAgKHBvaW50LW1heCkgKDIwIDMwKSAoMzAgNDApKQorOzsgMSBlbXB0eSwg MSBub24tZW1wdHksIG5vbi1pbgorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIGEgMTAg MjAgKDIwIDIwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIGIgMjAg MzAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIGMgMjUg MzAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIGQgMzAg NDAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIGUgMzUg NDAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIGYgNDAg KHBvaW50LW1heCkgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5n ZS0xIGcgNTAgKHBvaW50LW1heCkgKDIwIDMwKSAoMzAgNDApKQorOzsgMSBlbXB0eSwgMSBub24t ZW1wdHksIGludGVyc2VjdGluZyBhdCBiZWdpbgorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5n ZS0xIGggMTAgMjAgKDIwIDIwKSAoMjAgMzApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5n ZS0xIGkgMjAgMzAgKDIwIDIwKSAoMjAgMzApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5n ZS0xIGogMjUgMzAgKDIwIDIwKSAoMjAgMzApKQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5n ZS0xIGsgMzAgKHBvaW50LW1heCkgKDIwIDIwKSAoMjAgMzApKQorKGRlZnRlc3QtbmV4dC1vdmVy bGF5LWNoYW5nZS0xIGwgNDAgKHBvaW50LW1heCkgKDIwIDIwKSAoMjAgMzApKQorOzsgMSBlbXB0 eSwgMSBub24tZW1wdHksIGludGVyc2VjdGluZyBhdCBlbmQKKyhkZWZ0ZXN0LW5leHQtb3Zlcmxh eS1jaGFuZ2UtMSBoIDEwIDIwICgzMCAzMCkgKDIwIDMwKSkKKyhkZWZ0ZXN0LW5leHQtb3Zlcmxh eS1jaGFuZ2UtMSBpIDIwIDMwICgzMCAzMCkgKDIwIDMwKSkKKyhkZWZ0ZXN0LW5leHQtb3Zlcmxh eS1jaGFuZ2UtMSBqIDI1IDMwICgzMCAzMCkgKDIwIDMwKSkKKyhkZWZ0ZXN0LW5leHQtb3Zlcmxh eS1jaGFuZ2UtMSBrIDMwIChwb2ludC1tYXgpICgyMCAyMCkgKDIwIDMwKSkKKyhkZWZ0ZXN0LW5l eHQtb3ZlcmxheS1jaGFuZ2UtMSBsIDQwIChwb2ludC1tYXgpICgyMCAyMCkgKDIwIDMwKSkKKzs7 IDEgZW1wdHksIDEgbm9uLWVtcHR5LCBpbnRlcnNlY3RpbmcgaW4gdGhlIG1pZGRsZQorKGRlZnRl c3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIG0gMTAgMjAgKDI1IDI1KSAoMjAgMzApKQorKGRlZnRl c3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIG4gMjAgMjUgKDI1IDI1KSAoMjAgMzApKQorKGRlZnRl c3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIG8gMjUgMzAgKDI1IDI1KSAoMjAgMzApKQorKGRlZnRl c3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIHAgMzAgKHBvaW50LW1heCkgKDI1IDI1KSAoMjAgMzAp KQorKGRlZnRlc3QtbmV4dC1vdmVybGF5LWNoYW5nZS0xIHEgNDAgKHBvaW50LW1heCkgKDI1IDI1 KSAoMjAgMzApKQorOzsgMiBlbXB0eSwgaW50ZXJzZWN0aW5nCisoZGVmdGVzdC1uZXh0LW92ZXJs YXktY2hhbmdlLTEgciAxMCAyMCAoMjAgMjApICgyMCAyMCkpCisoZGVmdGVzdC1uZXh0LW92ZXJs YXktY2hhbmdlLTEgcyAyMCAocG9pbnQtbWF4KSAoMjAgMjApICgyMCAyMCkpCisoZGVmdGVzdC1u ZXh0LW92ZXJsYXktY2hhbmdlLTEgdCAzMCAocG9pbnQtbWF4KSAoMjAgMjApICgyMCAyMCkpCis7 OyAyIGVtcHR5LCBub24taW50ZXJzZWN0aW5nCisoZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdl LTEgdSAxMCAyMCAoMjAgMjApICgzMCAzMCkpCisoZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdl LTEgdiAyMCAzMCAoMjAgMjApICgzMCAzMCkpCisoZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdl LTEgdyAyNSAzMCAoMjAgMjApICgzMCAzMCkpCisoZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdl LTEgeCAzMCAocG9pbnQtbWF4KSAoMjAgMjApICgzMCAzMCkpCisoZGVmdGVzdC1uZXh0LW92ZXJs YXktY2hhbmdlLTEgeSA1MCAocG9pbnQtbWF4KSAoMjAgMjApICgzMCAzMCkpCis7OyAxMCByYW5k b20KKyhkZWZ0ZXN0LW5leHQtb3ZlcmxheS1jaGFuZ2UtMSBhYSAxIDUKKyAgKDU4IDY2KSAoNDEg MTApICg5IDY3KSAoMjggODgpICgyNyA0MykKKyAgKDI0IDI3KSAoNDggMzYpICg1IDkwKSAoNjEg OSkpCisoZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdlLTEgYWIgKHBvaW50LW1heCkgKHBvaW50 LW1heCkKKyAgKDU4IDY2KSAoNDEgMTApICg5IDY3KSAoMjggODgpICgyNyA0MykKKyAgKDI0IDI3 KSAoNDggMzYpICg1IDkwKSAoNjEgOSkpCisoZGVmdGVzdC1uZXh0LW92ZXJsYXktY2hhbmdlLTEg YWMgNjcgODgKKyAgKDU4IDY2KSAoNDEgMTApICg5IDY3KSAoMjggODgpICgyNyA0MykKKyAgKDI0 IDI3KSAoNDggMzYpICg1IDkwKSAoNjEgOSkpCisKKworOzsgKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09KworOzsgfCBwcmV2aW91cy1vdmVybGF5LWNoYW5nZS4KKzs7ICs9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PSsKKworOzsgU2FtZSBmb3IgcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UuCis7 OyAxIG5vbi1lbXB0eSBvdmVybGF5CisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0x IEEgKHBvaW50LW1heCkgMSkKKyhkZWZ0ZXN0LXByZXZpb3VzLW92ZXJsYXktY2hhbmdlLTEgQiAx IDEpCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIEMgMSAxICgxMCAyMCkpCiso ZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIEQgMTAgMSAoMTAgMjApKQorKGRlZnRl c3QtcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSBFIDE1IDEwICgxMCAyMCkpCisoZGVmdGVzdC1w cmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIEYgMjAgMTAgKDEwIDIwKSkKKyhkZWZ0ZXN0LXByZXZp b3VzLW92ZXJsYXktY2hhbmdlLTEgRyAzMCAyMCAoMTAgMjApKQorOzsgMSBlbXB0eSBvdmVybGF5 CisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIEggMSAxICgxMCAxMCkpCisoZGVm dGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIEkgMTAgMSAoMTAgMTApKQorKGRlZnRlc3Qt cHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSBKIDIwIDEwICgxMCAxMCkpCis7OyAyIG5vbi1lbXB0 eSwgbm9uLWludGVyc2VjdGluZworKGRlZnRlc3QtcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSBE IDEwIDEgKDIwIDMwKSAoNDAgNTApKQorKGRlZnRlc3QtcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2Ut MSBFIDM1IDMwICgyMCAzMCkgKDQwIDUwKSkKKyhkZWZ0ZXN0LXByZXZpb3VzLW92ZXJsYXktY2hh bmdlLTEgRiA2MCA1MCAoMjAgMzApICg0MCA1MCkpCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5 LWNoYW5nZS0xIEcgMzAgMjAgKDIwIDMwKSAoNDAgNTApKQorKGRlZnRlc3QtcHJldmlvdXMtb3Zl cmxheS1jaGFuZ2UtMSBIIDUwIDQwICgyMCAzMCkgKDQwIDUwKSkKKzs7IDIgbm9uLWVtcHR5LCBp bnRlcnNlY3RpbmcKKyhkZWZ0ZXN0LXByZXZpb3VzLW92ZXJsYXktY2hhbmdlLTEgSSAxMCAxICgy MCAzMCkgKDI1IDM1KSkKKyhkZWZ0ZXN0LXByZXZpb3VzLW92ZXJsYXktY2hhbmdlLTEgSiAyMCAx ICgyMCAzMCkgKDI1IDM1KSkKKyhkZWZ0ZXN0LXByZXZpb3VzLW92ZXJsYXktY2hhbmdlLTEgSyAy MyAyMCAoMjAgMzApICgyNSAzNSkpCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0x IEwgMjUgMjAgKDIwIDMwKSAoMjUgMzUpKQorKGRlZnRlc3QtcHJldmlvdXMtb3ZlcmxheS1jaGFu Z2UtMSBNIDI4IDI1ICgyMCAzMCkgKDI1IDM1KSkKKyhkZWZ0ZXN0LXByZXZpb3VzLW92ZXJsYXkt Y2hhbmdlLTEgTiAzMCAyNSAoMjAgMzApICgyNSAzNSkpCisoZGVmdGVzdC1wcmV2aW91cy1vdmVy bGF5LWNoYW5nZS0xIE8gMzUgMzAgKDIwIDMwKSAoMjUgMzUpKQorKGRlZnRlc3QtcHJldmlvdXMt b3ZlcmxheS1jaGFuZ2UtMSBQIDUwIDM1ICgyMCAzMCkgKDI1IDM1KSkKKzs7IDIgbm9uLWVtcHR5 LCBjb250aW51b3VzCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIFEgMTAgMSAo MjAgMzApICgzMCA0MCkpCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIFIgMjAg MSAoMjAgMzApICgzMCA0MCkpCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIFMg MjUgMjAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2Ut MSBUIDMwIDIwICgyMCAzMCkgKDMwIDQwKSkKKyhkZWZ0ZXN0LXByZXZpb3VzLW92ZXJsYXktY2hh bmdlLTEgVSAzNSAzMCAoMjAgMzApICgzMCA0MCkpCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5 LWNoYW5nZS0xIFYgNDAgMzAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtcHJldmlvdXMtb3Zl cmxheS1jaGFuZ2UtMSBXIDUwIDQwICgyMCAzMCkgKDMwIDQwKSkKKzs7IDEgZW1wdHksIDEgbm9u LWVtcHR5LCBub24taW50ZXJzZWN0aW5nCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5n ZS0xIGEgMTAgMSAoMjAgMjApICgzMCA0MCkpCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNo YW5nZS0xIGIgMjAgMSAoMjAgMzApICgzMCA0MCkpCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5 LWNoYW5nZS0xIGMgMjUgMjAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3QtcHJldmlvdXMtb3Zl cmxheS1jaGFuZ2UtMSBkIDMwIDIwICgyMCAzMCkgKDMwIDQwKSkKKyhkZWZ0ZXN0LXByZXZpb3Vz LW92ZXJsYXktY2hhbmdlLTEgZSAzNSAzMCAoMjAgMzApICgzMCA0MCkpCisoZGVmdGVzdC1wcmV2 aW91cy1vdmVybGF5LWNoYW5nZS0xIGYgNDAgMzAgKDIwIDMwKSAoMzAgNDApKQorKGRlZnRlc3Qt cHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSBnIDUwIDQwICgyMCAzMCkgKDMwIDQwKSkKKzs7IDEg ZW1wdHksIDEgbm9uLWVtcHR5LCBpbnRlcnNlY3RpbmcgYXQgYmVnaW4KKyhkZWZ0ZXN0LXByZXZp b3VzLW92ZXJsYXktY2hhbmdlLTEgaCAxMCAxICgyMCAyMCkgKDIwIDMwKSkKKyhkZWZ0ZXN0LXBy ZXZpb3VzLW92ZXJsYXktY2hhbmdlLTEgaSAyMCAxICgyMCAyMCkgKDIwIDMwKSkKKyhkZWZ0ZXN0 LXByZXZpb3VzLW92ZXJsYXktY2hhbmdlLTEgaiAyNSAyMCAoMjAgMjApICgyMCAzMCkpCisoZGVm dGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIGsgMzAgMjAgKDIwIDIwKSAoMjAgMzApKQor KGRlZnRlc3QtcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSBsIDQwIDMwICgyMCAyMCkgKDIwIDMw KSkKKzs7IDEgZW1wdHksIDEgbm9uLWVtcHR5LCBpbnRlcnNlY3RpbmcgYXQgZW5kCisoZGVmdGVz dC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIG0gMTAgMSAoMzAgMzApICgyMCAzMCkpCisoZGVm dGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIG4gMjAgMSAoMzAgMzApICgyMCAzMCkpCiso ZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIG8gMjUgMjAgKDMwIDMwKSAoMjAgMzAp KQorKGRlZnRlc3QtcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSBwIDMwIDIwICgyMCAyMCkgKDIw IDMwKSkKKyhkZWZ0ZXN0LXByZXZpb3VzLW92ZXJsYXktY2hhbmdlLTEgcSA0MCAzMCAoMjAgMjAp ICgyMCAzMCkpCis7OyAxIGVtcHR5LCAxIG5vbi1lbXB0eSwgaW50ZXJzZWN0aWcgaW4gdGhlIG1p ZGRsZQorKGRlZnRlc3QtcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSByIDEwIDEgKDI1IDI1KSAo MjAgMzApKQorKGRlZnRlc3QtcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSBzIDIwIDEgKDI1IDI1 KSAoMjAgMzApKQorKGRlZnRlc3QtcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSB0IDI1IDIwICgy NSAyNSkgKDIwIDMwKSkKKyhkZWZ0ZXN0LXByZXZpb3VzLW92ZXJsYXktY2hhbmdlLTEgdSAzMCAy NSAoMjUgMjUpICgyMCAzMCkpCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIHYg NDAgMzAgKDI1IDI1KSAoMjAgMzApKQorOzsgMiBlbXB0eSwgaW50ZXJzZWN0aW5nCisoZGVmdGVz dC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIHcgMTAgMSAoMjAgMjApICgyMCAyMCkpCisoZGVm dGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIHggMjAgMSAoMjAgMjApICgyMCAyMCkpCiso ZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIHkgMzAgMjAgKDIwIDIwKSAoMjAgMjAp KQorOzsgMiBlbXB0eSwgbm9uLWludGVyc2VjdGluZworKGRlZnRlc3QtcHJldmlvdXMtb3Zlcmxh eS1jaGFuZ2UtMSB6IDEwIDEgKDIwIDIwKSAoMzAgMzApKQorKGRlZnRlc3QtcHJldmlvdXMtb3Zl cmxheS1jaGFuZ2UtMSBhYSAyMCAxICgyMCAyMCkgKDMwIDMwKSkKKyhkZWZ0ZXN0LXByZXZpb3Vz LW92ZXJsYXktY2hhbmdlLTEgYWIgMjUgMjAgKDIwIDIwKSAoMzAgMzApKQorKGRlZnRlc3QtcHJl dmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSBhYyAzMCAyMCAoMjAgMjApICgzMCAzMCkpCisoZGVmdGVz dC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIGFkIDUwIDMwICgyMCAyMCkgKDMwIDMwKSkKKzs7 IDEwIHJhbmRvbQorKGRlZnRlc3QtcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSBhZSAxMDAgOTAK KyAgKDU4IDY2KSAoNDEgMTApICg5IDY3KSAoMjggODgpICgyNyA0MykKKyAgKDI0IDI3KSAoNDgg MzYpICg1IDkwKSAoNjEgOSkpCisoZGVmdGVzdC1wcmV2aW91cy1vdmVybGF5LWNoYW5nZS0xIGFm IChwb2ludC1taW4pIChwb2ludC1taW4pCisgICg1OCA2NikgKDQxIDEwKSAoOSA2NykgKDI4IDg4 KSAoMjcgNDMpCisgICgyNCAyNykgKDQ4IDM2KSAoNSA5MCkgKDYxIDkpKQorKGRlZnRlc3QtcHJl dmlvdXMtb3ZlcmxheS1jaGFuZ2UtMSBhZyAyOSAyOAorICAoNTggNjYpICg0MSAxMCkgKDkgNjcp ICgyOCA4OCkgKDI3IDQzKQorICAoMjQgMjcpICg0OCAzNikgKDUgOTApICg2MSA5KSkKKworCis7 OyArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCis7OyB8IG92ZXJsYXlzLWF0Cis7OyArPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0rCisKKworOzsgVGVzdCB3aGV0aGVyIG92ZXJsYXktYXQg cmV0dXJucyBSRVNVTFQgYXQgUE9TIGFmdGVyIG92ZXJsYXlzIE9WTCB3ZXJlCis7OyBjcmVhdGVk IGluIGEgYnVmZmVyLiAgICAgICAgIFBPUyBSRVMgT1ZMCisoZGVmdGVzdC1vdmVybGF5cy1hdC0x IEEgMSAoKSkKKzs7IDEgb3ZlcmxheQorKGRlZnRlc3Qtb3ZlcmxheXMtYXQtMSBCIDEwIChhKSAo YSAxMCAyMCkpCisoZGVmdGVzdC1vdmVybGF5cy1hdC0xIEMgMTUgKGEpIChhIDEwIDIwKSkKKyhk ZWZ0ZXN0LW92ZXJsYXlzLWF0LTEgRCAxOSAoYSkgKGEgMTAgMjApKQorKGRlZnRlc3Qtb3Zlcmxh eXMtYXQtMSBFIDIwICgpICAoYSAxMCAyMCkpCisoZGVmdGVzdC1vdmVybGF5cy1hdC0xIEYgMSAo KSAoYSAxMCAyMCkpCisKKzs7IDIgbm9uLWVtcHR5IG92ZXJsYXlzIG5vbi1pbnRlcnNlY3RpbmcK KyhkZWZ0ZXN0LW92ZXJsYXlzLWF0LTEgRyAxICgpIChhIDEwIDIwKSAoYiAzMCA0MCkpCisoZGVm dGVzdC1vdmVybGF5cy1hdC0xIEggMTAgKGEpIChhIDEwIDIwKSAoYiAzMCA0MCkpCisoZGVmdGVz dC1vdmVybGF5cy1hdC0xIEkgMTUgKGEpIChhIDEwIDIwKSAoYiAzMCA0MCkpCisoZGVmdGVzdC1v dmVybGF5cy1hdC0xIEsgMjAgKCkgKGEgMTAgMjApIChiIDMwIDQwKSkKKyhkZWZ0ZXN0LW92ZXJs YXlzLWF0LTEgTCAyNSAoKSAoYSAxMCAyMCkgKGIgMzAgNDApKQorKGRlZnRlc3Qtb3ZlcmxheXMt YXQtMSBNIDMwIChiKSAoYSAxMCAyMCkgKGIgMzAgNDApKQorKGRlZnRlc3Qtb3ZlcmxheXMtYXQt MSBOIDM1IChiKSAoYSAxMCAyMCkgKGIgMzAgNDApKQorKGRlZnRlc3Qtb3ZlcmxheXMtYXQtMSBP IDQwICgpIChhIDEwIDIwKSAoYiAzMCA0MCkpCisoZGVmdGVzdC1vdmVybGF5cy1hdC0xIFAgNTAg KCkgKGEgMTAgMjApIChiIDMwIDQwKSkKKworOzsgMiBub24tZW1wdHkgb3ZlcmxheXMgaW50ZXJz ZWN0aW5nCisoZGVmdGVzdC1vdmVybGF5cy1hdC0xIEcgMSAoKSAoYSAxMCAzMCkgKGIgMjAgNDAp KQorKGRlZnRlc3Qtb3ZlcmxheXMtYXQtMSBIIDEwIChhKSAoYSAxMCAzMCkgKGIgMjAgNDApKQor KGRlZnRlc3Qtb3ZlcmxheXMtYXQtMSBJIDE1IChhKSAoYSAxMCAzMCkgKGIgMjAgNDApKQorKGRl ZnRlc3Qtb3ZlcmxheXMtYXQtMSBLIDIwIChhIGIpIChhIDEwIDMwKSAoYiAyMCA0MCkpCisoZGVm dGVzdC1vdmVybGF5cy1hdC0xIEwgMjUgKGEgYikgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0 ZXN0LW92ZXJsYXlzLWF0LTEgTSAzMCAoYikgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0ZXN0 LW92ZXJsYXlzLWF0LTEgTiAzNSAoYikgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0ZXN0LW92 ZXJsYXlzLWF0LTEgTyA0MCAoKSAoYSAxMCAzMCkgKGIgMjAgNDApKQorKGRlZnRlc3Qtb3Zlcmxh eXMtYXQtMSBQIDUwICgpIChhIDEwIDMwKSAoYiAyMCA0MCkpCisKKzs7IDIgbm9uLWVtcHR5IG92 ZXJsYXlzIGNvbnRpbnVvdXMKKyhkZWZ0ZXN0LW92ZXJsYXlzLWF0LTEgRyAxICgpIChhIDEwIDIw KSAoYiAyMCAzMCkpCisoZGVmdGVzdC1vdmVybGF5cy1hdC0xIEggMTAgKGEpIChhIDEwIDIwKSAo YiAyMCAzMCkpCisoZGVmdGVzdC1vdmVybGF5cy1hdC0xIEkgMTUgKGEpIChhIDEwIDIwKSAoYiAy MCAzMCkpCisoZGVmdGVzdC1vdmVybGF5cy1hdC0xIEsgMjAgKGIpIChhIDEwIDIwKSAoYiAyMCAz MCkpCisoZGVmdGVzdC1vdmVybGF5cy1hdC0xIEwgMjUgKGIpIChhIDEwIDIwKSAoYiAyMCAzMCkp CisoZGVmdGVzdC1vdmVybGF5cy1hdC0xIE0gMzAgKCkgKGEgMTAgMjApIChiIDIwIDMwKSkKKwor Ozsgb3ZlcmxheXMtYXQgbmV2ZXIgcmV0dXJucyBlbXB0eSBvdmVybGF5cy4KKyhkZWZ0ZXN0LW92 ZXJsYXlzLWF0LTEgTiAxIChhKSAoYSAxIDYwKSAoYyAxIDEpIChiIDMwIDMwKSAoZCA1MCA1MCkp CisoZGVmdGVzdC1vdmVybGF5cy1hdC0xIE8gMjAgKGEpIChhIDEgNjApIChjIDEgMSkgKGIgMzAg MzApIChkIDUwIDUwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWF0LTEgUCAzMCAoYSkgKGEgMSA2MCkg KGMgMSAxKSAoYiAzMCAzMCkgKGQgNTAgNTApKQorKGRlZnRlc3Qtb3ZlcmxheXMtYXQtMSBRIDQw IChhKSAoYSAxIDYwKSAoYyAxIDEpIChiIDMwIDMwKSAoZCA1MCA1MCkpCisoZGVmdGVzdC1vdmVy bGF5cy1hdC0xIFIgNTAgKGEpIChhIDEgNjApIChjIDEgMSkgKGIgMzAgMzApIChkIDUwIDUwKSkK KyhkZWZ0ZXN0LW92ZXJsYXlzLWF0LTEgUyA2MCAoKSAoYSAxIDYwKSAoYyAxIDEpIChiIDMwIDMw KSAoZCA1MCA1MCkpCisKKzs7IGJlaGF2aW91ciBhdCBwb2ludC1taW4gYW5kIHBvaW50LW1heAor KGVydC1kZWZ0ZXN0IHRlc3Qtb3ZlcmxheXMtYXQtMiAoKQorICAoY2wtbWFjcm9sZXQgKChzaG91 bGQtbGVuZ3RoIChuIGxpc3QpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYChzaG91 bGQgKD0gLG4gKGxlbmd0aCAsbGlzdCkpKSkpCisgICAgKHdpdGgtdGVtcC1idWZmZXIKKyAgICAg IChpbnNlcnQgKG1ha2Utc3RyaW5nIDEwMCA/XHMpKQorICAgICAgKG1ha2Utb3ZlcmxheSAxIChw b2ludC1tYXgpKQorICAgICAgKG1ha2Utb3ZlcmxheSAxMCAxMCkKKyAgICAgIChtYWtlLW92ZXJs YXkgMjAgMjApCisgICAgICAobWFrZS1vdmVybGF5IChwb2ludC1tYXgpIChwb2ludC1tYXgpKQor ICAgICAgKHNob3VsZC1sZW5ndGggMSAob3ZlcmxheXMtYXQgMSkpCisgICAgICAoc2hvdWxkLWxl bmd0aCAxIChvdmVybGF5cy1hdCAxMCkpCisgICAgICAoc2hvdWxkLWxlbmd0aCAxIChvdmVybGF5 cy1hdCAyMCkpCisgICAgICAoc2hvdWxkLWxlbmd0aCAwIChvdmVybGF5cy1hdCAocG9pbnQtbWF4 KSkpCisgICAgICAobmFycm93LXRvLXJlZ2lvbiAxMCAyMCkKKyAgICAgIChzaG91bGQtbGVuZ3Ro IDEgKG92ZXJsYXlzLWF0IChwb2ludC1taW4pKSkKKyAgICAgIChzaG91bGQtbGVuZ3RoIDEgKG92 ZXJsYXlzLWF0IDE1KSkKKyAgICAgIChzaG91bGQtbGVuZ3RoIDEgKG92ZXJsYXlzLWF0IChwb2lu dC1tYXgpKSkpKSkKKworCis7OyArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCis7OyB8IG92 ZXJsYXktaW4KKzs7ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKKworCis7OyBUZXN0IHdo ZXRoZXIgb3ZlcmxheXMtaW4gcmV0dXJucyBSRVMgaW4gQkVHLEVORCBhZnRlciBvdmVybGF5cyBP Vkwgd2VyZQorOzsgY3JlYXRlZCBpbiBhIGJ1ZmZlci4KKworKGRlZnRlc3Qtb3ZlcmxheXMtaW4t MSBBIDEgKHBvaW50LW1heCkgKCkpOztQT1MgUkVTIE9WTAorOzsgMSBvdmVybGF5CisoZGVmdGVz dC1vdmVybGF5cy1pbi0xIEIgMSAxMCAoKSAoYSAxMCAyMCkpCisoZGVmdGVzdC1vdmVybGF5cy1p bi0xIEMgNSAxMCAoKSAoYSAxMCAyMCkpCisoZGVmdGVzdC1vdmVybGF5cy1pbi0xIEQgNSAxNSAo YSkgKGEgMTAgMjApKQorKGRlZnRlc3Qtb3ZlcmxheXMtaW4tMSBFIDEwIDE1IChhKSAgKGEgMTAg MjApKQorKGRlZnRlc3Qtb3ZlcmxheXMtaW4tMSBGIDEwIDIwIChhKSAoYSAxMCAyMCkpCisoZGVm dGVzdC1vdmVybGF5cy1pbi0xIEcgMTUgMjAgKGEpIChhIDEwIDIwKSkKKyhkZWZ0ZXN0LW92ZXJs YXlzLWluLTEgSCAxNSAyNSAoYSkgKGEgMTAgMjApKQorKGRlZnRlc3Qtb3ZlcmxheXMtaW4tMSBJ IDIwIDI1ICgpIChhIDEwIDIwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWluLTEgSiAzMCA1MCAoKSAo YSAxMCAyMCkpCisKKzs7IDIgbm9uLWVtcHR5IG92ZXJsYXlzIG5vbi1pbnRlcnNlY3RpbmcKKyhk ZWZ0ZXN0LW92ZXJsYXlzLWluLTEgSyAxIDUgKCkgKGEgMTAgMjApIChiIDMwIDQwKSkKKyhkZWZ0 ZXN0LW92ZXJsYXlzLWluLTEgTCA1IDEwICgpIChhIDEwIDIwKSAoYiAzMCA0MCkpCisoZGVmdGVz dC1vdmVybGF5cy1pbi0xIE0gNSAxNSAoYSkgKGEgMTAgMjApIChiIDMwIDQwKSkKKyhkZWZ0ZXN0 LW92ZXJsYXlzLWluLTEgTiAxMCAxNSAoYSkgKGEgMTAgMjApIChiIDMwIDQwKSkKKyhkZWZ0ZXN0 LW92ZXJsYXlzLWluLTEgTyAxNSAyMCAoYSkgKGEgMTAgMjApIChiIDMwIDQwKSkKKyhkZWZ0ZXN0 LW92ZXJsYXlzLWluLTEgUCAxNSAyNSAoYSkgKGEgMTAgMjApIChiIDMwIDQwKSkKKyhkZWZ0ZXN0 LW92ZXJsYXlzLWluLTEgUSAyMCAyNSAoKSAoYSAxMCAyMCkgKGIgMzAgNDApKQorKGRlZnRlc3Qt b3ZlcmxheXMtaW4tMSBSIDIwIDMwICgpIChhIDEwIDIwKSAoYiAzMCA0MCkpCisoZGVmdGVzdC1v dmVybGF5cy1pbi0xIFMgMjUgMzAgKCkgKGEgMTAgMjApIChiIDMwIDQwKSkKKyhkZWZ0ZXN0LW92 ZXJsYXlzLWluLTEgVCAyNSAzNSAoYikgKGEgMTAgMjApIChiIDMwIDQwKSkKKyhkZWZ0ZXN0LW92 ZXJsYXlzLWluLTEgVSAzMCAzNSAoYikgKGEgMTAgMjApIChiIDMwIDQwKSkKKyhkZWZ0ZXN0LW92 ZXJsYXlzLWluLTEgViA0MCA1MCAgKCkgKGEgMTAgMjApIChiIDMwIDQwKSkKKyhkZWZ0ZXN0LW92 ZXJsYXlzLWluLTEgVyA1MCA2MCAgKCkgKGEgMTAgMjApIChiIDMwIDQwKSkKKyhkZWZ0ZXN0LW92 ZXJsYXlzLWluLTEgWCAxIDUwICAoYSBiKSAoYSAxMCAyMCkgKGIgMzAgNDApKQorKGRlZnRlc3Qt b3ZlcmxheXMtaW4tMSBZIDEwIDQwICAoYSBiKSAoYSAxMCAyMCkgKGIgMzAgNDApKQorKGRlZnRl c3Qtb3ZlcmxheXMtaW4tMSBaIDEwIDQxICAoYSBiKSAoYSAxMCAyMCkgKGIgMzAgNDApKQorCis7 OyAyIG5vbi1lbXB0eSBvdmVybGF5cyBpbnRlcnNlY3RpbmcKKyhkZWZ0ZXN0LW92ZXJsYXlzLWlu LTEgYSAxIDUgKCkgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWluLTEg YiA1IDEwICgpIChhIDEwIDMwKSAoYiAyMCA0MCkpCisoZGVmdGVzdC1vdmVybGF5cy1pbi0xIGMg NSAxNSAoYSkgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWluLTEgZCAx MCAxNSAoYSkgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWluLTEgZSAx MCAyMCAoYSkgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWluLTEgZiAx NSAyMCAoYSkgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWluLTEgZyAy MCAzMCAoYSBiKSAoYSAxMCAzMCkgKGIgMjAgNDApKQorKGRlZnRlc3Qtb3ZlcmxheXMtaW4tMSBo IDIwIDQwIChhIGIpIChhIDEwIDMwKSAoYiAyMCA0MCkpCisoZGVmdGVzdC1vdmVybGF5cy1pbi0x IGkgMjUgMzAgKGEgYikgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWlu LTEgaiAzMCAzMCAoYikgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWlu LTEgayAzMCAzNSAoYikgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWlu LTEgbCAzNSA0MCAoYikgKGEgMTAgMzApIChiIDIwIDQwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWlu LTEgbSA0MCA0NSAoKSAoYSAxMCAzMCkgKGIgMjAgNDApKQorKGRlZnRlc3Qtb3ZlcmxheXMtaW4t MSBuIDQxIDQ1ICgpIChhIDEwIDMwKSAoYiAyMCA0MCkpCisoZGVmdGVzdC1vdmVybGF5cy1pbi0x IG8gNTAgNjAgKCkgKGEgMTAgMzApIChiIDIwIDQwKSkKKworOzsgMiBub24tZW1wdHkgb3Zlcmxh eXMgY29udGludW91cworKGRlZnRlc3Qtb3ZlcmxheXMtaW4tMSBwIDEgNSAoKSAoYSAxMCAyMCkg KGIgMjAgMzApKQorKGRlZnRlc3Qtb3ZlcmxheXMtaW4tMSBxIDUgMTAgKCkgKGEgMTAgMjApIChi IDIwIDMwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWluLTEgciAxNSAyMCAoYSkgKGEgMTAgMjApIChi IDIwIDMwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWluLTEgcyAxNSAyNSAoYSBiKSAoYSAxMCAyMCkg KGIgMjAgMzApKQorKGRlZnRlc3Qtb3ZlcmxheXMtaW4tMSB0IDIwIDI1IChiKSAoYSAxMCAyMCkg KGIgMjAgMzApKQorKGRlZnRlc3Qtb3ZlcmxheXMtaW4tMSB1IDI1IDMwIChiKSAoYSAxMCAyMCkg KGIgMjAgMzApKQorKGRlZnRlc3Qtb3ZlcmxheXMtaW4tMSB2IDI5IDM1IChiKSAoYSAxMCAyMCkg KGIgMjAgMzApKQorKGRlZnRlc3Qtb3ZlcmxheXMtaW4tMSB3IDMwIDM1ICgpIChhIDEwIDIwKSAo YiAyMCAzMCkpCisoZGVmdGVzdC1vdmVybGF5cy1pbi0xIHggMzUgNTAgKCkgKGEgMTAgMjApIChi IDIwIDMwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWluLTEgeSAxIDUwIChhIGIpIChhIDEwIDIwKSAo YiAyMCAzMCkpCisoZGVmdGVzdC1vdmVybGF5cy1pbi0xIHogMTUgNTAgKGEgYikgKGEgMTAgMjAp IChiIDIwIDMwKSkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWluLTEgYWEgMSAyNSAoYSBiKSAoYSAxMCAy MCkgKGIgMjAgMzApKQorCis7OyAxIGVtcHR5IG92ZXJsYXkKKyhkZWZ0ZXN0LW92ZXJsYXlzLWlu LTEgYWIgMSAxMCAoKSAoYSAxMCAxMCkpCisoZGVmdGVzdC1vdmVybGF5cy1pbi0xIGFjIDEwIDEw IChhKSAoYSAxMCAxMCkpCisoZGVmdGVzdC1vdmVybGF5cy1pbi0xIGFkIDkgMTAgKCkgKGEgMTAg MTApKQorKGRlZnRlc3Qtb3ZlcmxheXMtaW4tMSBhZSA5IDExIChhKSAoYSAxMCAxMCkpCisoZGVm dGVzdC1vdmVybGF5cy1pbi0xIGFmIDEwIDExIChhKSAoYSAxMCAxMCkpCisKKworOzsgYmVoYXZp b3VyIGF0IHBvaW50LW1heAorKGVydC1kZWZ0ZXN0IHRlc3Qtb3ZlcmxheXMtaW4tMiAoKQorICAo Y2wtbWFjcm9sZXQgKChzaG91bGQtbGVuZ3RoIChuIGxpc3QpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYChzaG91bGQgKD0gLG4gKGxlbmd0aCAsbGlzdCkpKSkpCisgICAgKHdpdGgt dGVtcC1idWZmZXIKKyAgICAgIChpbnNlcnQgKG1ha2Utc3RyaW5nIDEwMCA/XHMpKQorICAgICAg KG1ha2Utb3ZlcmxheSAocG9pbnQtbWF4KSAocG9pbnQtbWF4KSkKKyAgICAgIChtYWtlLW92ZXJs YXkgNTAgNTApCisgICAgICAoc2hvdWxkLWxlbmd0aCAxIChvdmVybGF5cy1pbiA1MCA1MCkpCisg ICAgICAoc2hvdWxkLWxlbmd0aCAyIChvdmVybGF5cy1pbiAxIChwb2ludC1tYXgpKSkKKyAgICAg IChzaG91bGQtbGVuZ3RoIDEgKG92ZXJsYXlzLWluIChwb2ludC1tYXgpIChwb2ludC1tYXgpKSkK KyAgICAgIChuYXJyb3ctdG8tcmVnaW9uIDEgNTApCisgICAgICAoc2hvdWxkLWxlbmd0aCAwIChv dmVybGF5cy1pbiAxIChwb2ludC1tYXgpKSkKKyAgICAgIChzaG91bGQtbGVuZ3RoIDEgKG92ZXJs YXlzLWluIChwb2ludC1tYXgpIChwb2ludC1tYXgpKSkpKSkKKworCis7OyArPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0rCis7OyB8IG92ZXJsYXktcmVjZW50ZXIKKzs7ICs9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PSsKKworOzsgVGhpcyBmdW5jdGlvbiBpcyBhIG5vb3AgaW4gdGhlIG92ZXJs YXkgdHJlZSBicmFuY2guCisoZXJ0LWRlZnRlc3QgdGVzdC1vdmVybGF5LXJlY2VudGVyICgpCisg ICh3aXRoLXRlbXAtYnVmZmVyCisgICAgKHNob3VsZC1ub3QgKG92ZXJsYXktcmVjZW50ZXIgMSkp CisgICAgKGluc2VydCAobWFrZS1zdHJpbmcgMTAwID9ccykpCisgICAgKGRvdGltZXMgKGkgMTAp CisgICAgICAobWFrZS1vdmVybGF5IGkgKDErIGkpKQorICAgICAgKHNob3VsZC1ub3QgKG92ZXJs YXktcmVjZW50ZXIgaSkpKSkpCisKKworOzsgKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kwor OzsgfCBtb3ZlLW92ZXJsYXkKKzs7ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKKworOzsg YnVmZmVyIG5pbCB3aXRoIGxpdmUgb3ZlcmxheQorKGVydC1kZWZ0ZXN0IHRlc3QtbW92ZS1vdmVy bGF5LTEgKCkKKyAgKHRlc3Qtd2l0aC1vdmVybGF5LWluLWJ1ZmZlciAob3YgMSAxMDApCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdmUtb3ZlcmxheSBvdiA1MCA2MCkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvdWxkICg9IDUwIChvdmVybGF5LXN0YXJ0IG92 KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3VsZCAoPSA2MCAob3Zlcmxh eS1lbmQgb3YpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvdWxkIChlcSAo Y3VycmVudC1idWZmZXIpIChvdmVybGF5LWJ1ZmZlciBvdikpKSkpCisKKzs7IGJ1ZmZlciBuaWws IGRlYWQgb3ZlcmxheQorKGVydC1kZWZ0ZXN0IHRlc3QtbW92ZS1vdmVybGF5LTIgKCkKKyAgKHdp dGgtdGVtcC1idWZmZXIKKyAgICAobGV0ICgob3YgKHRlc3Qtd2l0aC1vdmVybGF5LWluLWJ1ZmZl ciAob3YgMSAxMDApIG92KSkpCisgICAgICAoaW5zZXJ0IChtYWtlLXN0cmluZyAxMDAgP1xzKSkK KyAgICAgIChtb3ZlLW92ZXJsYXkgb3YgNTAgNjApCisgICAgICAoc2hvdWxkICg9IDUwIChvdmVy bGF5LXN0YXJ0IG92KSkpCisgICAgICAoc2hvdWxkICg9IDYwIChvdmVybGF5LWVuZCBvdikpKQor ICAgICAgKHNob3VsZCAoZXEgKGN1cnJlbnQtYnVmZmVyKSAob3ZlcmxheS1idWZmZXIgb3YpKSkp KSkKKworOzsgYnVmZmVyIG5vbi1uaWwsIGxpdmUgb3ZlcmxheQorKGVydC1kZWZ0ZXN0IHRlc3Qt bW92ZS1vdmVybGF5LTMgKCkKKyAgKHRlc3Qtd2l0aC1vdmVybGF5LWluLWJ1ZmZlciAob3YgMTAg MTAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aXRoLXRlbXAtYnVmZmVyCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW92ZS1vdmVybGF5IG92IDEgMSAoY3Vy cmVudC1idWZmZXIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3VsZCAo PSAxIChvdmVybGF5LXN0YXJ0IG92KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoc2hvdWxkICg9IDEgKG92ZXJsYXktZW5kIG92KSkpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoc2hvdWxkIChlcSAoY3VycmVudC1idWZmZXIpIChvdmVybGF5LWJ1ZmZlciBv dikpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvdWxkLW5vdCAob3Zlcmxh eS1zdGFydCBvdikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3VsZC1ub3Qg KG92ZXJsYXktZW5kIG92KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvdWxk LW5vdCAob3ZlcmxheS1idWZmZXIgb3YpKSkpCisKKzs7IGJ1ZmZlciBub24tbmlsLCBkZWFkIG92 ZXJsYXkKKyhlcnQtZGVmdGVzdCB0ZXN0LW1vdmUtb3ZlcmxheS00ICgpCisgIChsZXQgKChvdiAo dGVzdC13aXRoLW92ZXJsYXktaW4tYnVmZmVyIChvdiAxIDEpIG92KSkpCisgICAgKHdpdGgtdGVt cC1idWZmZXIKKyAgICAgIChtb3ZlLW92ZXJsYXkgb3YgMSAxIChjdXJyZW50LWJ1ZmZlcikpCisg ICAgICAoc2hvdWxkICg9IDEgKG92ZXJsYXktc3RhcnQgb3YpKSkKKyAgICAgIChzaG91bGQgKD0g MSAob3ZlcmxheS1lbmQgb3YpKSkKKyAgICAgIChzaG91bGQgKGVxIChjdXJyZW50LWJ1ZmZlcikg KG92ZXJsYXktYnVmZmVyIG92KSkpKQorICAgIChzaG91bGQtbm90IChvdmVybGF5LXN0YXJ0IG92 KSkKKyAgICAoc2hvdWxkLW5vdCAob3ZlcmxheS1lbmQgb3YpKQorICAgIChzaG91bGQtbm90IChv dmVybGF5LWJ1ZmZlciBvdikpKSkKKworOzsgKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kwor OzsgfCBkZWxldGUtKGFsbC0pb3ZlcmxheQorOzsgKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 KworCis7OyBkZWxldGUgbGl2ZSBvdmVybGF5CisoZXJ0LWRlZnRlc3QgdGVzdC1kZWxldGUtb3Zl cmxheS0xICgpCisgICh0ZXN0LXdpdGgtb3ZlcmxheS1pbi1idWZmZXIgKG92IDEwIDEwMCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvdWxkIChidWZmZXItbGl2ZS1wIChvdmVy bGF5LWJ1ZmZlciBvdikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxldGUt b3ZlcmxheSBvdikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvdWxkLW5vdCAo b3ZlcmxheS1zdGFydCBvdikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3Vs ZC1ub3QgKG92ZXJsYXktZW5kIG92KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo c2hvdWxkLW5vdCAob3ZlcmxheS1idWZmZXIgb3YpKSkpCisKKzs7IGRlbGV0ZSBkZWFkIG92ZXJs YXkKKyhlcnQtZGVmdGVzdCB0ZXN0LWRlbGV0ZS1vdmVybGF5LTIgKCkKKyAgKGxldCAoKG92ICh0 ZXN0LXdpdGgtb3ZlcmxheS1pbi1idWZmZXIgKG92IDEwIDEwMCkgb3YpKSkKKyAgICAoc2hvdWxk LW5vdCAob3ZlcmxheS1zdGFydCBvdikpCisgICAgKHNob3VsZC1ub3QgKG92ZXJsYXktZW5kIG92 KSkKKyAgICAoc2hvdWxkLW5vdCAob3ZlcmxheS1idWZmZXIgb3YpKQorICAgIChzaG91bGQtbm90 IChkZWxldGUtb3ZlcmxheSBvdikpCisgICAgKHNob3VsZC1ub3QgKG92ZXJsYXktc3RhcnQgb3Yp KQorICAgIChzaG91bGQtbm90IChvdmVybGF5LWVuZCBvdikpCisgICAgKHNob3VsZC1ub3QgKG92 ZXJsYXktYnVmZmVyIG92KSkpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1kZWxldGUtYWxsLW92ZXJs YXktMSAoKQorICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgIChzaG91bGQtbm90IChkZWxldGUtYWxs LW92ZXJsYXlzKSkKKyAgICAoc2hvdWxkLW5vdCAoZGVsZXRlLWFsbC1vdmVybGF5cyAoY3VycmVu dC1idWZmZXIpKSkKKyAgICAoaW5zZXJ0IChtYWtlLXN0cmluZyAxMDAgP1xzKSkKKyAgICAoZG90 aW1lcyAoaSAxMCkgKG1ha2Utb3ZlcmxheSBpICgxKyBpKSkpCisgICAgKHNob3VsZC1ub3QgKGRl bGV0ZS1hbGwtb3ZlcmxheXMgKGN1cnJlbnQtYnVmZmVyKSkpCisgICAgKHNob3VsZC1ub3QgKGRl bGV0ZS1hbGwtb3ZlcmxheXMpKSkpCisKKworOzsgKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 KworOzsgfCBnZXQtY2hhci1wcm9wZXJ0eSgtYW5kLW92ZXJsYXkpCis7OyArPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0rCisKKzs7IEZJWE1FOiBUQkQKKworCis7OyArPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0rCis7OyB8IE1vdmluZyBieSBpbnNlcnRpb25zCis7OyArPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0rCisKKyhkZWZtYWNybyBkZWZ0ZXN0LW1vdmluZy1pbnNlcnQtMSAoaWQg YmVnLWVuZCBpbnNlcnQgc2JlZy1zZW5kIGZhIHJhKQorICAoY2wtZGVzdHJ1Y3R1cmluZy1iaW5k IChiZWcgZW5kIGlwb3MgaWxlbiBzYmVnIHNlbmQgZmEgcmEpCisgICAgICAoYXBwZW5kIGJlZy1l bmQgaW5zZXJ0IHNiZWctc2VuZCAobGlzdCBmYSByYSkgbmlsKQorICAgIGAoZXJ0LWRlZnRlc3Qg LChtYWtlLW92ZXJsYXktdGVzdC1uYW1lICdtb3ZpbmctaW5zZXJ0IDEgaWQpICgpCisgICAgICAg KHRlc3Qtd2l0aC1vdmVybGF5LWluLWJ1ZmZlciAob3YgLGJlZyAsZW5kICxmYSAscmEpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvdWxkICg9ICxiZWcgKG92ZXJsYXkt c3RhcnQgb3YpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaG91bGQg KD0gLGVuZCAob3ZlcmxheS1lbmQgb3YpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChnb3RvLWNoYXIgLGlwb3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoaW5zZXJ0IChtYWtlLXN0cmluZyAsaWxlbiA/eCkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoc2hvdWxkICg9ICxzYmVnIChvdmVybGF5LXN0YXJ0IG92KSkpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvdWxkICg9ICxzZW5kIChvdmVy bGF5LWVuZCBvdikpKSkpKSkKKworOzsgbm9uLWVtcHR5LCBubyBmYSwgbm8gcmEKKzs7IC0tLS0t LS0tLS0tLS0tLS0tLS0tICBPViAgICAgIElOUyAgICBSRVNVTFQKKyhkZWZ0ZXN0LW1vdmluZy1p bnNlcnQtMSBBICgxMCAyMCkgKDE1IDMpICgxMCAyMykgbmlsIG5pbCkKKyhkZWZ0ZXN0LW1vdmlu Zy1pbnNlcnQtMSBCICgxMCAyMCkgKDIwIDQpICgxMCAyMCkgbmlsIG5pbCkKKyhkZWZ0ZXN0LW1v dmluZy1pbnNlcnQtMSBDICgxMCAyMCkgKDUgNSkgKDE1IDI1KSBuaWwgbmlsKQorKGRlZnRlc3Qt bW92aW5nLWluc2VydC0xIEQgKDEwIDIwKSAoMTAgMykgKDEwIDIzKSBuaWwgbmlsKQorKGRlZnRl c3QtbW92aW5nLWluc2VydC0xIEUgKDEwIDIwKSAoMjAgNCkgKDEwIDIwKSBuaWwgbmlsKQorCis7 OyBub24tZW1wdHkgbm8gZmEsIHJhCisoZGVmdGVzdC1tb3ZpbmctaW5zZXJ0LTEgRiAoMTAgMjAp ICgxNSAzKSAoMTAgMjMpIG5pbCB0KQorKGRlZnRlc3QtbW92aW5nLWluc2VydC0xIEcgKDEwIDIw KSAoMjAgNCkgKDEwIDI0KSBuaWwgdCkKKyhkZWZ0ZXN0LW1vdmluZy1pbnNlcnQtMSBIICgxMCAy MCkgKDUgNSkgKDE1IDI1KSBuaWwgdCkKKyhkZWZ0ZXN0LW1vdmluZy1pbnNlcnQtMSBJICgxMCAy MCkgKDEwIDMpICgxMCAyMykgbmlsIHQpCisoZGVmdGVzdC1tb3ZpbmctaW5zZXJ0LTEgSiAoMTAg MjApICgyMCA0KSAoMTAgMjQpIG5pbCB0KQorCis7OyBub24tZW1wdHksIGZhLCBubyByCisoZGVm dGVzdC1tb3ZpbmctaW5zZXJ0LTEgSyAoMTAgMjApICgxNSAzKSAoMTAgMjMpIHQgbmlsKQorKGRl ZnRlc3QtbW92aW5nLWluc2VydC0xIEwgKDEwIDIwKSAoMjAgNCkgKDEwIDIwKSB0IG5pbCkKKyhk ZWZ0ZXN0LW1vdmluZy1pbnNlcnQtMSBNICgxMCAyMCkgKDUgNSkgKDE1IDI1KSB0IG5pbCkKKyhk ZWZ0ZXN0LW1vdmluZy1pbnNlcnQtMSBOICgxMCAyMCkgKDEwIDMpICgxMyAyMykgdCBuaWwpCiso ZGVmdGVzdC1tb3ZpbmctaW5zZXJ0LTEgTyAoMTAgMjApICgyMCA0KSAoMTAgMjApIHQgbmlsKQor Cis7OyBUaGlzIHVzZWQgdG8gZmFpbC4KKyhlcnQtZGVmdGVzdCB0ZXN0LW1vdmluZy1pbnNlcnQt Mi1hICgpCisgICh3aXRoLXRlbXAtYnVmZmVyCisgICAgKGluc2VydCAobWFrZS1zdHJpbmcgMSA/ LikpCisgICAgKGxldCAoKG92IChtYWtlLW92ZXJsYXkgMSAxIG5pbCB0IG5pbCkpKQorICAgICAg KGluc2VydCAiKCkiKQorICAgICAgKHNob3VsZCAoPSAxIChvdmVybGF5LWVuZCBvdikpKSkpKQor Cis7OyBub24tZW1wdHksIGZhLCByYQorKGRlZnRlc3QtbW92aW5nLWluc2VydC0xIFAgKDEwIDIw KSAoMTUgMykgKDEwIDIzKSB0IHQpCisoZGVmdGVzdC1tb3ZpbmctaW5zZXJ0LTEgUSAoMTAgMjAp ICgyMCA0KSAoMTAgMjQpIHQgdCkKKyhkZWZ0ZXN0LW1vdmluZy1pbnNlcnQtMSBSICgxMCAyMCkg KDUgNSkgKDE1IDI1KSB0IHQpCisoZGVmdGVzdC1tb3ZpbmctaW5zZXJ0LTEgUyAoMTAgMjApICgx MCAzKSAoMTMgMjMpIHQgdCkKKyhkZWZ0ZXN0LW1vdmluZy1pbnNlcnQtMSBUICgxMCAyMCkgKDIw IDQpICgxMCAyNCkgdCB0KQorCis7OyBlbXB0eSwgbm8gZmEsIG5vIHJhCisoZGVmdGVzdC1tb3Zp bmctaW5zZXJ0LTEgVSAoMTUgMTUpICgyMCA0KSAoMTUgMTUpIG5pbCBuaWwpCisoZGVmdGVzdC1t b3ZpbmctaW5zZXJ0LTEgViAoMTUgMTUpICg1IDUpICgyMCAyMCkgbmlsIG5pbCkKKyhkZWZ0ZXN0 LW1vdmluZy1pbnNlcnQtMSBXICgxNSAxNSkgKDE1IDMpICgxNSAxNSkgbmlsIG5pbCkKKworOzsg ZW1wdHkgbm8gZmEsIHJhCisoZGVmdGVzdC1tb3ZpbmctaW5zZXJ0LTEgWCAoMTUgMTUpICgyMCA0 KSAoMTUgMTUpIG5pbCB0KQorKGRlZnRlc3QtbW92aW5nLWluc2VydC0xIFkgKDE1IDE1KSAoNSA1 KSAoMjAgMjApIG5pbCB0KQorKGRlZnRlc3QtbW92aW5nLWluc2VydC0xIFogKDE1IDE1KSAoMTUg MykgKDE1IDE4KSBuaWwgdCkKKworOzsgZW1wdHksIGZhLCBubyByYQorKGRlZnRlc3QtbW92aW5n LWluc2VydC0xIGEgKDE1IDE1KSAoMjAgNCkgKDE1IDE1KSB0IG5pbCkKKyhkZWZ0ZXN0LW1vdmlu Zy1pbnNlcnQtMSBiICgxNSAxNSkgKDUgNSkgKDIwIDIwKSB0IG5pbCkKKyhkZWZ0ZXN0LW1vdmlu Zy1pbnNlcnQtMSBjICgxNSAxNSkgKDE1IDMpICgxNSAxNSkgdCBuaWwpCisKKzs7IGVtcHR5LCBm YSwgcmEKKyhkZWZ0ZXN0LW1vdmluZy1pbnNlcnQtMSBkICgxNSAxNSkgKDIwIDQpICgxNSAxNSkg dCB0KQorKGRlZnRlc3QtbW92aW5nLWluc2VydC0xIGUgKDE1IDE1KSAoNSA1KSAoMjAgMjApIHQg dCkKKyhkZWZ0ZXN0LW1vdmluZy1pbnNlcnQtMSBmICgxNSAxNSkgKDE1IDMpICgxOCAxOCkgdCB0 KQorCis7OyBUcnkgdG8gdHJpZ2dlciBhIHBhdGhvbG9naWNhbCBjYXNlIHdoZXJlIHRoZSB0cmVl IGNvdWxkIGJlY29tZQorOzsgdW5vcmRlcmVkIGR1ZSB0byBhbiBpbnNlcnQgb3BlcmF0aW9uLgor CisoZXJ0LWRlZnRlc3QgdGVzdC1tb3ZpbmctaW5zZXJ0LTIgKCkKKyAgKHdpdGgtdGVtcC1idWZm ZXIKKyAgICAoaW5zZXJ0IChtYWtlLXN0cmluZyAxMDAwID94KSkKKyAgICAobGV0ICgocm9vdCAo bWFrZS1vdmVybGF5IDUwIDc1IG5pbCAgICBuaWwgICAgICAgICAgICAgJ3JlYXItYWR2YW5jZSkp CisgICAgICAgICAgKGxlZnQgKG1ha2Utb3ZlcmxheSAyNSA1MCBuaWwgICAgJ2Zyb250LWFkdmFu Y2UgICdyZWFyLWFkdmFuY2UpKQorICAgICAgICAgIChyaWdodCAobWFrZS1vdmVybGF5IDc1IDEw MCBuaWwgIG5pbCAgICAgICAgICAgICBuaWwpKSkKKyAgICAgIDs7ICAgICBbNTBdIDwtLS0gc3Rh cnQKKyAgICAgIDs7ICAgIC8gICAgXAorICAgICAgOzsgKDI1KSAgICAoNzUpCisgICAgICAoZGVs ZXRlLXJlZ2lvbiAyNSA3NSkKKyAgICAgIDs7ICAgICBbMjVdCisgICAgICA7OyAgICAvICAgIFwK KyAgICAgIDs7ICgyNSkgICAgKDI1KQorICAgICAgKHNob3VsZCAoPSAyNSAob3ZlcmxheS1zdGFy dCByb290KSkpCisgICAgICAoc2hvdWxkICg9IDI1IChvdmVybGF5LWVuZCByb290KSkpCisgICAg ICAoc2hvdWxkICg9IDI1IChvdmVybGF5LXN0YXJ0IGxlZnQpKSkKKyAgICAgIChzaG91bGQgKD0g MjUgKG92ZXJsYXktZW5kIGxlZnQpKSkKKyAgICAgIChzaG91bGQgKD0gMjUgKG92ZXJsYXktc3Rh cnQgcmlnaHQpKSkKKyAgICAgIChzaG91bGQgKD0gNTAgKG92ZXJsYXktZW5kIHJpZ2h0KSkpCisg ICAgICA7OyBJbnNlcnRpbmcgYXQgc3RhcnQgc2hvdWxkIG1ha2UgbGVmdCBhZHZhbmNlIHdoaWxl IHJpZ2h0IGFuZAorICAgICAgOzsgcm9vdCBzdGF5LCB0aHVzIHdlIHdvdWxkIGhhdmUgbGVmdCA+ IHJpZ2h0IC4KKyAgICAgIChnb3RvLWNoYXIgMjUpCisgICAgICAoaW5zZXJ0IChtYWtlLXN0cmlu ZyAyNSA/eCkpCisgICAgICA7OyAgICAgWzI1XQorICAgICAgOzsgICAgLyAgICBcCisgICAgICA7 OyAoNTApICAgICgyNSkKKyAgICAgIChzaG91bGQgKD0gMjUgKG92ZXJsYXktc3RhcnQgcm9vdCkp KQorICAgICAgKHNob3VsZCAoPSA1MCAob3ZlcmxheS1lbmQgcm9vdCkpKQorICAgICAgKHNob3Vs ZCAoPSA1MCAob3ZlcmxheS1zdGFydCBsZWZ0KSkpCisgICAgICAoc2hvdWxkICg9IDUwIChvdmVy bGF5LWVuZCBsZWZ0KSkpCisgICAgICAoc2hvdWxkICg9IDI1IChvdmVybGF5LXN0YXJ0IHJpZ2h0 KSkpCisgICAgICAoc2hvdWxkICg9IDc1IChvdmVybGF5LWVuZCByaWdodCkpKQorICAgICAgOzsg VHJ5IHRvIGRldGVjdCB0aGUgZXJyb3IsIGJ5IHJlbW92aW5nIGxlZnQuICBUaGUgc2hvdWxkIGZh aWwKKyAgICAgIDs7IGFuIGVhc3NlcnQsIHNpbmNlIGl0IHdvbid0IGJlIGZvdW5kIGJ5IGEgcmV1 bGFyIHRyZWUKKyAgICAgIDs7IHRyYXZlcnNhbCAtIGluIHRoZW9yeS4KKyAgICAgIChkZWxldGUt b3ZlcmxheSBsZWZ0KQorICAgICAgKHNob3VsZCAoPSAyIChsZW5ndGggKG92ZXJsYXlzLWluIDEg KHBvaW50LW1heCkpKSkpKSkpCisKKworCis7OyArPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0r Cis7OyB8IE1vdmluZyBieSBkZWxldGlvbnMKKzs7ICs9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PSsKKworKGRlZm1hY3JvIGRlZnRlc3QtbW92aW5nLWRlbGV0ZS0xIChpZCBiZWctZW5kIGRlbGV0 ZSBzYmVnLXNlbmQgZmEgcmEpCisgIChjbC1kZXN0cnVjdHVyaW5nLWJpbmQgKGJlZyBlbmQgZHBv cyBkbGVuIHNiZWcgc2VuZCBmYSByYSkKKyAgICAgIChhcHBlbmQgYmVnLWVuZCBkZWxldGUgc2Jl Zy1zZW5kIChsaXN0IGZhIHJhKSBuaWwpCisgICAgYChlcnQtZGVmdGVzdCAsKG1ha2Utb3Zlcmxh eS10ZXN0LW5hbWUgJ21vdmluZy1kZWxldGUgMSBpZCkgKCkKKyAgICAgICAodGVzdC13aXRoLW92 ZXJsYXktaW4tYnVmZmVyIChvdiAsYmVnICxlbmQgLGZhICxyYSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChzaG91bGQgKD0gLGJlZyAob3ZlcmxheS1zdGFydCBvdikpKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3VsZCAoPSAsZW5kIChvdmVy bGF5LWVuZCBvdikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0 ZS1yZWdpb24gLGRwb3MgKCsgLGRwb3MgLGRsZW4pKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHNob3VsZCAoPSAsc2JlZyAob3ZlcmxheS1zdGFydCBvdikpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3VsZCAoPSAsc2VuZCAob3ZlcmxheS1l bmQgb3YpKSkpKSkpCisKKzs7IG5vbi1lbXB0eSwgbm8gZmEsIG5vIHJhCis7OyAtLS0tLS0tLS0t LS0tLS0tLS0tLSAgT1YgICAgICBERUwgICAgUkVTVUxUCisoZGVmdGVzdC1tb3ZpbmctZGVsZXRl LTEgQSAoMTAgMjApICgxNSAzKSAoMTAgMTcpIG5pbCBuaWwpCisoZGVmdGVzdC1tb3ZpbmctZGVs ZXRlLTEgQiAoMTAgMjApICgyMCA0KSAoMTAgMjApIG5pbCBuaWwpCisoZGVmdGVzdC1tb3Zpbmct ZGVsZXRlLTEgQyAoMTAgMjApICg1IDUpICg1IDE1KSBuaWwgbmlsKQorKGRlZnRlc3QtbW92aW5n LWRlbGV0ZS0xIEQgKDEwIDIwKSAoMTAgMykgKDEwIDE3KSBuaWwgbmlsKQorKGRlZnRlc3QtbW92 aW5nLWRlbGV0ZS0xIEUgKDEwIDIwKSAoMjAgNCkgKDEwIDIwKSBuaWwgbmlsKQorCis7OyBub24t ZW1wdHkgbm8gZmEsIHJhCisoZGVmdGVzdC1tb3ZpbmctZGVsZXRlLTEgRiAoMTAgMjApICgxNSAz KSAoMTAgMTcpIG5pbCB0KQorKGRlZnRlc3QtbW92aW5nLWRlbGV0ZS0xIEcgKDEwIDIwKSAoMjAg NCkgKDEwIDIwKSBuaWwgdCkKKyhkZWZ0ZXN0LW1vdmluZy1kZWxldGUtMSBIICgxMCAyMCkgKDUg NSkgKDUgMTUpIG5pbCB0KQorKGRlZnRlc3QtbW92aW5nLWRlbGV0ZS0xIEkgKDEwIDIwKSAoMTAg MykgKDEwIDE3KSBuaWwgdCkKKyhkZWZ0ZXN0LW1vdmluZy1kZWxldGUtMSBKICgxMCAyMCkgKDIw IDQpICgxMCAyMCkgbmlsIHQpCisKKzs7IG5vbi1lbXB0eSwgZmEsIG5vIHJhCisoZGVmdGVzdC1t b3ZpbmctZGVsZXRlLTEgSyAoMTAgMjApICgxNSAzKSAoMTAgMTcpIHQgbmlsKQorKGRlZnRlc3Qt bW92aW5nLWRlbGV0ZS0xIEwgKDEwIDIwKSAoMjAgNCkgKDEwIDIwKSB0IG5pbCkKKyhkZWZ0ZXN0 LW1vdmluZy1kZWxldGUtMSBNICgxMCAyMCkgKDUgNSkgKDUgMTUpIHQgbmlsKQorKGRlZnRlc3Qt bW92aW5nLWRlbGV0ZS0xIE4gKDEwIDIwKSAoMTAgMykgKDEwIDE3KSB0IG5pbCkKKyhkZWZ0ZXN0 LW1vdmluZy1kZWxldGUtMSBPICgxMCAyMCkgKDIwIDQpICgxMCAyMCkgdCBuaWwpCisKKzs7IG5v bi1lbXB0eSwgZmEsIHJhCisoZGVmdGVzdC1tb3ZpbmctZGVsZXRlLTEgUCAoMTAgMjApICgxNSAz KSAoMTAgMTcpIHQgdCkKKyhkZWZ0ZXN0LW1vdmluZy1kZWxldGUtMSBRICgxMCAyMCkgKDIwIDQp ICgxMCAyMCkgdCB0KQorKGRlZnRlc3QtbW92aW5nLWRlbGV0ZS0xIFIgKDEwIDIwKSAoNSA1KSAo NSAxNSkgdCB0KQorKGRlZnRlc3QtbW92aW5nLWRlbGV0ZS0xIFMgKDEwIDIwKSAoMTAgMykgKDEw IDE3KSB0IHQpCisoZGVmdGVzdC1tb3ZpbmctZGVsZXRlLTEgVCAoMTAgMjApICgyMCA0KSAoMTAg MjApIHQgdCkKKworOzsgZW1wdHksIG5vIGZhLCBubyByYQorKGRlZnRlc3QtbW92aW5nLWRlbGV0 ZS0xIFUgKDE1IDE1KSAoMjAgNCkgKDE1IDE1KSBuaWwgbmlsKQorKGRlZnRlc3QtbW92aW5nLWRl bGV0ZS0xIFYgKDE1IDE1KSAoNSA1KSAoMTAgMTApIG5pbCBuaWwpCisoZGVmdGVzdC1tb3Zpbmct ZGVsZXRlLTEgVyAoMTUgMTUpICgxNSAzKSAoMTUgMTUpIG5pbCBuaWwpCisKKzs7IGVtcHR5IG5v IGZhLCByYQorKGRlZnRlc3QtbW92aW5nLWRlbGV0ZS0xIFggKDE1IDE1KSAoMjAgNCkgKDE1IDE1 KSBuaWwgdCkKKyhkZWZ0ZXN0LW1vdmluZy1kZWxldGUtMSBZICgxNSAxNSkgKDUgNSkgKDEwIDEw KSBuaWwgdCkKKyhkZWZ0ZXN0LW1vdmluZy1kZWxldGUtMSBaICgxNSAxNSkgKDE1IDMpICgxNSAx NSkgbmlsIHQpCisKKzs7IGVtcHR5LCBmYSwgbm8gcmEKKyhkZWZ0ZXN0LW1vdmluZy1kZWxldGUt MSBhICgxNSAxNSkgKDIwIDQpICgxNSAxNSkgdCBuaWwpCisoZGVmdGVzdC1tb3ZpbmctZGVsZXRl LTEgYiAoMTUgMTUpICg1IDUpICgxMCAxMCkgdCBuaWwpCisoZGVmdGVzdC1tb3ZpbmctZGVsZXRl LTEgYyAoMTUgMTUpICgxNSAzKSAoMTUgMTUpIHQgbmlsKQorCis7OyBlbXB0eSwgZmEsIHJhCiso ZGVmdGVzdC1tb3ZpbmctZGVsZXRlLTEgZCAoMTUgMTUpICgyMCA0KSAoMTUgMTUpIHQgdCkKKyhk ZWZ0ZXN0LW1vdmluZy1kZWxldGUtMSBlICgxNSAxNSkgKDUgNSkgKDEwIDEwKSB0IHQpCisoZGVm dGVzdC1tb3ZpbmctZGVsZXRlLTEgZiAoMTUgMTUpICgxNSAzKSAoMTUgMTUpIHQgdCkKKworCis7 OyArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCis7OyB8IG1ha2UtaW5kaXJlY3QtYnVmZmVy Cis7OyArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCisKKzs7IENoZWNrIGlmIG92ZXJsYXlz IGFyZSBjbG9uZWQvc2VwZXJhdGUgZnJvbSBpbmRpcmVjdCBidWZmZXIuCisoZXJ0LWRlZnRlc3Qg dGVzdC1tYWtlLWluZGlyZWN0LWJ1ZmZlci0xICgpCisgICh3aXRoLXRlbXAtYnVmZmVyCisgICAg KGRvdGltZXMgKF8gMTApIChtYWtlLW92ZXJsYXkgMSAxKSkKKyAgICAobGV0IChpbmRpcmVjdCBj bG9uZSkKKyAgICAgICh1bndpbmQtcHJvdGVjdAorICAgICAgICAgIChwcm9nbgorICAgICAgICAg ICAgKHNldHEgaW5kaXJlY3QgKG1ha2UtaW5kaXJlY3QtYnVmZmVyCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGN1cnJlbnQtYnVmZmVyKSAiaW5kaXJlY3QiKSkKKyAgICAgICAgICAgICh3 aXRoLWN1cnJlbnQtYnVmZmVyIGluZGlyZWN0CisgICAgICAgICAgICAgIChzaG91bGQtbm90IChv dmVybGF5cy1pbiAocG9pbnQtbWluKSAocG9pbnQtbWF4KSkpCisgICAgICAgICAgICAgIChkb3Rp bWVzIChfIDIwKSAobWFrZS1vdmVybGF5IDEgMSkpCisgICAgICAgICAgICAgIChzaG91bGQgKD0g MjAgKGxlbmd0aCAob3ZlcmxheXMtaW4gKHBvaW50LW1pbikgKHBvaW50LW1heCkpKSkpCisgICAg ICAgICAgICAgIChkZWxldGUtYWxsLW92ZXJsYXlzKQorICAgICAgICAgICAgICAoc2hvdWxkLW5v dCAob3ZlcmxheXMtaW4gKHBvaW50LW1pbikgKHBvaW50LW1heCkpKSkKKyAgICAgICAgICAgIChz aG91bGQgKD0gMTAgKGxlbmd0aCAob3ZlcmxheXMtaW4gKHBvaW50LW1pbikgKHBvaW50LW1heCkp KSkpCisgICAgICAgICAgICAoc2V0cSBjbG9uZSAobWFrZS1pbmRpcmVjdC1idWZmZXIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAoY3VycmVudC1idWZmZXIpICJjbG9uZSIgJ2Nsb25lKSkKKyAg ICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIGNsb25lCisgICAgICAgICAgICAgIChzaG91 bGQgKD0gMTAgKGxlbmd0aCAob3ZlcmxheXMtaW4gKHBvaW50LW1pbikgKHBvaW50LW1heCkpKSkp CisgICAgICAgICAgICAgIChkb3RpbWVzIChfIDMwKSAobWFrZS1vdmVybGF5IDEgMSkpCisgICAg ICAgICAgICAgIChzaG91bGQgKD0gNDAgKGxlbmd0aCAob3ZlcmxheXMtaW4gKHBvaW50LW1pbikg KHBvaW50LW1heCkpKSkpKQorICAgICAgICAgICAgOzsgYmFjayBpbiB0ZW1wIGJ1ZmZlcgorICAg ICAgICAgICAgKHNob3VsZCAoPSAxMCAobGVuZ3RoIChvdmVybGF5cy1pbiAocG9pbnQtbWluKSAo cG9pbnQtbWF4KSkpKSkKKyAgICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIGNsb25lCisg ICAgICAgICAgICAgIChtYXBjICMnZGVsZXRlLW92ZXJsYXkKKyAgICAgICAgICAgICAgICAgICAg KHNlcS10YWtlIChvdmVybGF5cy1pbiAocG9pbnQtbWluKSAocG9pbnQtbWF4KSkgMTApKQorICAg ICAgICAgICAgICAoc2hvdWxkICg9IDMwIChsZW5ndGggKG92ZXJsYXlzLWluIChwb2ludC1taW4p IChwb2ludC1tYXgpKSkpKSkKKyAgICAgICAgICAgIChzaG91bGQgKD0gMTAgKGxlbmd0aCAob3Zl cmxheXMtaW4gKHBvaW50LW1pbikgKHBvaW50LW1heCkpKSkpCisgICAgICAgICAgICAoZGVsZXRl LWFsbC1vdmVybGF5cykKKyAgICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIGNsb25lCisg ICAgICAgICAgICAgIChzaG91bGQgKD0gMzAgKGxlbmd0aCAob3ZlcmxheXMtaW4gKHBvaW50LW1p bikgKHBvaW50LW1heCkpKSkpKSkKKyAgICAgICAgKHdoZW4gKGJ1ZmZlci1saXZlLXAgY2xvbmUp CisgICAgICAgICAgKGtpbGwtYnVmZmVyIGNsb25lKSkKKyAgICAgICAgKHdoZW4gKGJ1ZmZlci1s aXZlLXAgaW5kaXJlY3QpCisgICAgICAgICAgKGtpbGwtYnVmZmVyIGluZGlyZWN0KSkpKSkpCisK KworCis7OyArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCis7OyB8IGJ1ZmZlci1zd2FwLXRl eHQKKzs7ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKKworKGRlZm1hY3JvIHRlc3Qtd2l0 aC10ZW1wLWJ1ZmZlcnMgKHZhcnMgJnJlc3QgYm9keSkKKyAgKGRlY2xhcmUgKGluZGVudCAxKSAo ZGVidWcgKHNleHAgJnJlc3QgZm9ybSkpKQorICAoaWYgKG51bGwgdmFycykKKyAgICAgIGAocHJv Z24gLEBib2R5KQorICAgIGAod2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgIChsZXQgKCgsKGNhciB2 YXJzKSAoY3VycmVudC1idWZmZXIpKSkKKyAgICAgICAgICh0ZXN0LXdpdGgtdGVtcC1idWZmZXJz ICwoY2RyIHZhcnMpICxAYm9keSkpKSkpCisKKzs7IGJhc2ljCisoZXJ0LWRlZnRlc3QgdGVzdC1i dWZmZXItc3dhcC10ZXh0LTEgKCkKKyAgKHRlc3Qtd2l0aC10ZW1wLWJ1ZmZlcnMgKGJ1ZmZlciBv dGhlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgYnVm ZmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKG92IChtYWtlLW92ZXJsYXkg MSAxKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnVmZmVyLXN3YXAtdGV4dCBv dGhlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaG91bGQtbm90IChvdmVybGF5 cy1pbiAxIDEpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHdpdGgtY3VycmVudC1i dWZmZXIgb3RoZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3VsZCAob3Zl cmxheXMtaW4gMSAxKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3VsZCAo ZXEgb3YgKGNhciAob3ZlcmxheXMtaW4gMSAxKSkpKSkpKSkpCisKKzs7IHByb3BlcnRpZXMKKyhl cnQtZGVmdGVzdCB0ZXN0LWJ1ZmZlci1zd2FwLXRleHQtMSAoKQorICAodGVzdC13aXRoLXRlbXAt YnVmZmVycyAoYnVmZmVyIG90aGVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAod2l0aC1j dXJyZW50LWJ1ZmZlciBvdGhlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdmVybGF5 LXB1dCAobWFrZS1vdmVybGF5IDEgMSkgJ2J1ZmZlciAnb3RoZXIpKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBidWZmZXIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAob3ZlcmxheS1wdXQgKG1ha2Utb3ZlcmxheSAxIDEpICdidWZmZXIgJ2J1ZmZl cikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnVmZmVyLXN3YXAtdGV4dCBvdGhlcikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvdWxkICg9IDEgKGxlbmd0aCAob3Zlcmxh eXMtaW4gMSAxKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaG91bGQgKGVxIChv dmVybGF5LWdldCAoY2FyIChvdmVybGF5cy1pbiAxIDEpKSAnYnVmZmVyKSAnb3RoZXIpKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgb3RoZXIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoc2hvdWxkICg9IDEgKGxlbmd0aCAob3ZlcmxheXMtaW4g MSAxKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaG91bGQgKGVxIChvdmVybGF5 LWdldCAoY2FyIChvdmVybGF5cy1pbiAxIDEpKSAnYnVmZmVyKSAnYnVmZmVyKSkpKSkKKworCis7 OyArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCis7OyB8IHByaW9yaXRpZXMKKzs7ICs9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PSsKKworKGVydC1kZWZ0ZXN0IHRlc3Qtb3ZlcmxheS1wcmlv cml0aWVzLTEgKCkKKyAgKHdpdGgtdGVtcC1idWZmZXIKKyAgICAoaW5zZXJ0ICIgIikKKyAgICAo ZG90aW1lcyAoaSAxMCkKKyAgICAgIChsZXQgKChvdiAobWFrZS1vdmVybGF5IDEgMikpKQorICAg ICAgICAob3ZlcmxheS1wdXQgb3YgJ3ByaW9yaXR5IGkpCisgICAgICAgIChvdmVybGF5LXB1dCBv diAndmFsdWUgaSkpKQorICAgIChzaG91bGQgKGVxIDkgKGdldC1jaGFyLXByb3BlcnR5IDEgJ3Zh bHVlKSkpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qtb3ZlcmxheS1wcmlvcml0aWVzLTIgKCkKKyAg KHdpdGgtdGVtcC1idWZmZXIKKyAgICAoaW5zZXJ0ICIgIikKKyAgICAoZG90aW1lcyAoaiAxMCkK KyAgICAgIChsZXQqICgoaSAoLSA5IGopKQorICAgICAgICAgICAgIChvdiAobWFrZS1vdmVybGF5 IDEgMikpKQorICAgICAgICAob3ZlcmxheS1wdXQgb3YgJ3ByaW9yaXR5IGkpCisgICAgICAgIChv dmVybGF5LXB1dCBvdiAndmFsdWUgaSkpKQorICAgIChzaG91bGQgKGVxIDkgKGdldC1jaGFyLXBy b3BlcnR5IDEgJ3ZhbHVlKSkpKSkKKworCis7OyArPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0r Cis7OyB8IE90aGVyCis7OyArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCisKKyhkZWZ1biB0 ZXN0LW92ZXJsYXktcmVnaW9ucyAoKQorICAoc29ydCAobWFwY2FyIChsYW1iZGEgKG92KQorICAg ICAgICAgICAgICAgICAgKGNvbnMgKG92ZXJsYXktc3RhcnQgb3YpCisgICAgICAgICAgICAgICAg ICAgICAgICAob3ZlcmxheS1lbmQgb3YpKSkKKyAgICAgICAgICAgICAgICAob3ZlcmxheXMtaW4g KHBvaW50LW1pbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvaW50LW1heCkpKQor ICAgICAgICAobGFtYmRhIChvMSBvMikKKyAgICAgICAgICAob3IgKDwgKGNhciBvMSkgKGNhciBv MikpCisgICAgICAgICAgICAgIChhbmQgKD0gKGNhciBvMSkgKGNhciBvMikpCisgICAgICAgICAg ICAgICAgICAgKDwgKGNkciBvMSkgKGNkciBvMikpKSkpKSkKKworOzsgVGhpcyB0ZXN0IHVzZWQg dG8gZmFpbC4KKyhlcnQtZGVmdGVzdCBvdmVybGF5LWNvbXBsZXgtZGVsZXRlLXdpdGgtb2Zmc2V0 ICgpCisgICh3aXRoLXRlbXAtYnVmZmVyCisgICAgKGxldCAodG9kZWxldGUpCisgICAgICAoaW5z ZXJ0IChtYWtlLXN0cmluZyAxMDAwID9ccykpCisgICAgICAobWFrZS1vdmVybGF5IDEgMiBuaWwg dCBuaWwpCisgICAgICAobWFrZS1vdmVybGF5IDIgMyBuaWwgdCBuaWwpCisgICAgICAobWFrZS1v dmVybGF5IDMgNCBuaWwgdCBuaWwpCisgICAgICAobWFrZS1vdmVybGF5IDQgNSBuaWwgdCBuaWwp CisgICAgICAoc2V0cSB0b2RlbGV0ZSAobWFrZS1vdmVybGF5IDI4MCAyODcgbmlsIHQgbmlsKSkK KyAgICAgIChtYWtlLW92ZXJsYXkgMjY1IDI3NSBuaWwgdCBuaWwpCisgICAgICAobWFrZS1vdmVy bGF5IDMyOSAzODYgbmlsIHQgbmlsKQorICAgICAgKG1ha2Utb3ZlcmxheSAzODYgMzkwIG5pbCB0 IG5pbCkKKyAgICAgIChnb3RvLWNoYXIgNTApCisgICAgICAoZGVsZXRlLWNoYXIgNTApCisgICAg ICAoZ290by1jaGFyIDEpCisgICAgICAoZGVsZXRlLWNoYXIgMikKKyAgICAgIChkZWxldGUtb3Zl cmxheSB0b2RlbGV0ZSkKKyAgICAgIChzaG91bGQgKGVxdWFsICh0ZXN0LW92ZXJsYXktcmVnaW9u cykKKyAgICAgICAgICAgICAgICAgICAgICcoKDEgLiAxKSAoMSAuIDEpICgxIC4gMikgKDIgLiAz KSAoMjEzIC4gMjIzKSAoMjc3IC4gMzM0KSAoMzM0IC4gMzM4KSkpKSkpKQorCis7OyBUaGlzIHRl c3QgdXNlZCB0byBmYWlsLgorKGVydC1kZWZ0ZXN0IG92ZXJsYXktY29tcGxleC1pbnNlcnQtMSAo KQorICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgIChpbnNlcnQgIiAgICAgICAgICAiKQorICAgICht YWtlLW92ZXJsYXkgOCAxMSBuaWwgbmlsIHQpCisgICAgKG1ha2Utb3ZlcmxheSAyIDcgbmlsIG5p bCBuaWwpCisgICAgKG1ha2Utb3ZlcmxheSAyIDQgbmlsIHQgbmlsKQorICAgIChnb3RvLWNoYXIg MSkKKyAgICAoaW5zZXJ0ICIgICAgICIpCisgICAgKHNob3VsZCAoZXF1YWwgKHRlc3Qtb3Zlcmxh eS1yZWdpb25zKQorICAgICAgICAgICAgICAgICAgICcoKDcgLiA5KQorICAgICAgICAgICAgICAg ICAgICAgKDcgLiAxMikKKyAgICAgICAgICAgICAgICAgICAgICgxMyAuIDE2KSkpKSkpCisKKzs7 IFRoaXMgdGVzdCB1c2VkIHRvIGZhaWwuCisoZXJ0LWRlZnRlc3Qgb3ZlcmxheS1jb21wbGV4LWlu c2VydC0yICgpCisgICh3aXRoLXRlbXAtYnVmZmVyCisgICAgKGluc2VydCAobWFrZS1zdHJpbmcg MTAwID9ccykpCisgICAgKG1ha2Utb3ZlcmxheSA3NyA3IG5pbCBuaWwgdCkKKyAgICAobWFrZS1v dmVybGF5IDIxIDUzIG5pbCB0IHQpCisgICAgKG1ha2Utb3ZlcmxheSA4NCAxNCBuaWwgbmlsIG5p bCkKKyAgICAobWFrZS1vdmVybGF5IDM4IDY5IG5pbCB0IG5pbCkKKyAgICAobWFrZS1vdmVybGF5 IDkzIDE1IG5pbCBuaWwgdCkKKyAgICAobWFrZS1vdmVybGF5IDczIDQ4IG5pbCB0IHQpCisgICAg KG1ha2Utb3ZlcmxheSA5NiA1MSBuaWwgdCB0KQorICAgIChtYWtlLW92ZXJsYXkgNiA0MyBuaWwg dCB0KQorICAgIChtYWtlLW92ZXJsYXkgMTUgMTAwIG5pbCB0IHQpCisgICAgKG1ha2Utb3Zlcmxh eSAyMiAxNyBuaWwgbmlsIG5pbCkKKyAgICAobWFrZS1vdmVybGF5IDcyIDQ1IG5pbCB0IG5pbCkK KyAgICAobWFrZS1vdmVybGF5IDIgNzQgbmlsIG5pbCB0KQorICAgIChtYWtlLW92ZXJsYXkgMTUg MjkgbmlsIHQgdCkKKyAgICAobWFrZS1vdmVybGF5IDE3IDM0IG5pbCB0IHQpCisgICAgKG1ha2Ut b3ZlcmxheSAxMDEgNjYgbmlsIHQgbmlsKQorICAgIChtYWtlLW92ZXJsYXkgOTQgMjQgbmlsIG5p bCBuaWwpCisgICAgKGdvdG8tY2hhciA3OCkKKyAgICAoaW5zZXJ0ICIgICAgICAgICAgICIpCisg ICAgKG5hcnJvdy10by1yZWdpb24gNDcgMTkpCisgICAgKGdvdG8tY2hhciA0NikKKyAgICAod2lk ZW4pCisgICAgKG5hcnJvdy10by1yZWdpb24gMTMgMykKKyAgICAoZ290by1jaGFyIDkpCisgICAg KGRlbGV0ZS1jaGFyIDApCisgICAgKGdvdG8tY2hhciAxMSkKKyAgICAoaW5zZXJ0ICIgICAgICAg ICAgICIpCisgICAgKGdvdG8tY2hhciAzKQorICAgIChpbnNlcnQgIiAgICAgICAgICAiKQorICAg IChnb3RvLWNoYXIgOCkKKyAgICAoaW5zZXJ0ICIgICAgICAgIikKKyAgICAoZ290by1jaGFyIDI2 KQorICAgIChpbnNlcnQgIiAgIikKKyAgICAoZ290by1jaGFyIDE0KQorICAgICh3aWRlbikKKyAg ICAobmFycm93LXRvLXJlZ2lvbiA3MSAzNSkKKyAgICAoc2hvdWxkCisgICAgIChlcXVhbCAodGVz dC1vdmVybGF5LXJlZ2lvbnMpCisgICAgICAgICAgICAnKCgyIC4gMTA0KQorICAgICAgICAgICAg ICAoMjMgLiA3MykKKyAgICAgICAgICAgICAgKDI0IC4gMTA3KQorICAgICAgICAgICAgICAoNDQg LiAxMjUpCisgICAgICAgICAgICAgICg0NSAuIDU5KQorICAgICAgICAgICAgICAoNDUgLiAxMzQp CisgICAgICAgICAgICAgICg0NSAuIDE0MSkKKyAgICAgICAgICAgICAgKDQ3IC4gNTIpCisgICAg ICAgICAgICAgICg0NyAuIDY0KQorICAgICAgICAgICAgICAoNTEgLiA4MykKKyAgICAgICAgICAg ICAgKDU0IC4gMTM1KQorICAgICAgICAgICAgICAoNjggLiA5OSkpKSkpKQorCisoZXJ0LWRlZnRl c3QgdGVzdC1vdmVybGF5LW11bHRpYnl0ZS10cmFuc2l0aW9uLTEgKCkKKyAgKHdpdGgtdGVtcC1i dWZmZXIKKyAgICAoc2V0LWJ1ZmZlci1tdWx0aWJ5dGUgdCkKKyAgICAoaW5zZXJ0ICLDpMOkw6TD pCIpCisgICAgOzsgYWVhZWFlYWUKKyAgICA7OyAxIDIgMyA0IDUKKyAgICA7OyAxMjM0NTY3ODkK KyAgICAobGV0ICgobm9uZW1wdHktYm9iIChtYWtlLW92ZXJsYXkgMSAyKSkKKyAgICAgICAgICAo ZW1wdHktYm9iICAgIChtYWtlLW92ZXJsYXkgMSAxKSkKKyAgICAgICAgICAoZW1wdHkgICAgICAg IChtYWtlLW92ZXJsYXkgMiAyKSkKKyAgICAgICAgICAobm9uZW1wdHkgICAgIChtYWtlLW92ZXJs YXkgMiA0KSkKKyAgICAgICAgICAobm9uZW1wdHktZW9iIChtYWtlLW92ZXJsYXkgNCA1KSkKKyAg ICAgICAgICAoZW1wdHktZW9iICAgIChtYWtlLW92ZXJsYXkgNSA1KSkpCisgICAgICAoc2V0LWJ1 ZmZlci1tdWx0aWJ5dGUgbmlsKQorICAgICAgKGNsLW1hY3JvbGV0ICgob3ZzaG91bGQgKG92IGJl Z2luIGVuZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoc2hvdWxkIChlcXVhbCAo bGlzdCAob3ZlcmxheS1zdGFydCAsb3YpIChvdmVybGF5LWVuZCAsb3YpKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0ICxiZWdpbiAsZW5kKSkpKSkK KyAgICAgICAgKG92c2hvdWxkIG5vbmVtcHR5LWJvYiAxIDMpCisgICAgICAgIChvdnNob3VsZCBl bXB0eS1ib2IgICAgMSAxKQorICAgICAgICAob3ZzaG91bGQgZW1wdHkgICAgICAgIDMgMykKKyAg ICAgICAgKG92c2hvdWxkIG5vbmVtcHR5ICAgICAzIDcpCisgICAgICAgIChvdnNob3VsZCBub25l bXB0eS1lb2IgNyA5KQorICAgICAgICAob3ZzaG91bGQgZW1wdHktZW9iICAgIDkgOSkpKSkpCisK KyhlcnQtZGVmdGVzdCB0ZXN0LW92ZXJsYXktbXVsdGlieXRlLXRyYW5zaXRpb24tMiAoKQorICAo d2l0aC10ZW1wLWJ1ZmZlcgorICAgIChzZXQtYnVmZmVyLW11bHRpYnl0ZSB0KQorICAgIChpbnNl cnQgIsOkw6TDpMOkIikKKyAgICAoc2V0LWJ1ZmZlci1tdWx0aWJ5dGUgbmlsKQorICAgIDs7IGFl YWVhZWFlCisgICAgOzsgMSAyIDMgNCA1CisgICAgOzsgMTIzNDU2Nzg5CisgICAgKGxldCAoKG5v bmVtcHR5LWJvYi1lbmQgKG1ha2Utb3ZlcmxheSAxIDIpKQorICAgICAgICAgIChub25lbXB0eS1i b2ItYmVnIChtYWtlLW92ZXJsYXkgMSAzKSkKKyAgICAgICAgICAoZW1wdHktYm9iICAgICAgICAo bWFrZS1vdmVybGF5IDEgMSkpCisgICAgICAgICAgKGVtcHR5LWJlZyAgICAgICAgKG1ha2Utb3Zl cmxheSAzIDMpKQorICAgICAgICAgIChlbXB0eS1lbmQgICAgICAgIChtYWtlLW92ZXJsYXkgMiAy KSkKKyAgICAgICAgICAobm9uZW1wdHktYmVnLWJlZyAobWFrZS1vdmVybGF5IDMgNykpCisgICAg ICAgICAgKG5vbmVtcHR5LWJlZy1lbmQgKG1ha2Utb3ZlcmxheSAzIDgpKQorICAgICAgICAgIChu b25lbXB0eS1lbmQtYmVnIChtYWtlLW92ZXJsYXkgNCA3KSkKKyAgICAgICAgICAobm9uZW1wdHkt ZW5kLWVuZCAobWFrZS1vdmVybGF5IDQgOCkpCisgICAgICAgICAgKG5vbmVtcHR5LWVvYi1iZWcg KG1ha2Utb3ZlcmxheSA1IDkpKQorICAgICAgICAgIChub25lbXB0eS1lb2ItZW5kIChtYWtlLW92 ZXJsYXkgNiA5KSkKKyAgICAgICAgICAoZW1wdHktZW9iICAgICAgICAobWFrZS1vdmVybGF5IDkg OSkpKQorICAgICAgKHNldC1idWZmZXItbXVsdGlieXRlIHQpCisgICAgICAoY2wtbWFjcm9sZXQg KChvdnNob3VsZCAob3YgYmVnaW4gZW5kKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YChzaG91bGQgKGVxdWFsIChsaXN0IChvdmVybGF5LXN0YXJ0ICxvdikgKG92ZXJsYXktZW5kICxv dikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3Qg LGJlZ2luICxlbmQpKSkpKQorICAgICAgICAob3ZzaG91bGQgbm9uZW1wdHktYm9iLWVuZCAxIDIp CisgICAgICAgIChvdnNob3VsZCBub25lbXB0eS1ib2ItYmVnIDEgMikKKyAgICAgICAgKG92c2hv dWxkIGVtcHR5LWJvYiAgICAgICAgMSAxKQorICAgICAgICAob3ZzaG91bGQgZW1wdHktYmVnICAg ICAgICAyIDIpCisgICAgICAgIChvdnNob3VsZCBlbXB0eS1lbmQgICAgICAgIDIgMikKKyAgICAg ICAgKG92c2hvdWxkIG5vbmVtcHR5LWJlZy1iZWcgMiA0KQorICAgICAgICAob3ZzaG91bGQgbm9u ZW1wdHktYmVnLWVuZCAyIDUpCisgICAgICAgIChvdnNob3VsZCBub25lbXB0eS1lbmQtYmVnIDMg NCkKKyAgICAgICAgKG92c2hvdWxkIG5vbmVtcHR5LWVuZC1lbmQgMyA1KQorICAgICAgICAob3Zz aG91bGQgbm9uZW1wdHktZW9iLWJlZyAzIDUpCisgICAgICAgIChvdnNob3VsZCBub25lbXB0eS1l b2ItZW5kIDQgNSkKKyAgICAgICAgKG92c2hvdWxkIGVtcHR5LWVvYiAgICAgICAgNSA1KSkpKSkK KwogOzs7IGJ1ZmZlci10ZXN0cy5lbCBlbmRzIGhlcmUK --00000000000006fb230598df4bf6--