www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2014/05/07/01:02:42

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:date:message-id:subject:from:to:content-type;
bh=RnHyRcninY+Ly1gdMJJH9tzANCkrLBaywGqhgt0Fejc=;
b=MLvv1ahpJ4v1YxOlFIwHbulvQ6I970a5YqgvTkuont23yNfZU5bZI3n+lOH3vt1sac
DpMGxUYbXfMkUPIXFypSWpb5ov0N0pOhkmKc9J6LLrfMsiJhGZZcxqFrihadMBt9TByy
IZmULuysVwiS2IkuhzbUlhEtD38t8igFInItHTs769dCmHu+o4DLSozzfAxIyX1YzVoe
WVn44qFi0Z3yexh3kiyf8K7LvA0FVDgcqcr8DnNg6WoYsKd+g3QR0is+uUH3OGxfFq1H
oYdihOvXDJicSBQ46YW8ESEaLhmuUHxJZtmIZqBscSrn/CjgqjPOJmx7VIJZM+m1QVWf
uDLA==
MIME-Version: 1.0
X-Received: by 10.50.112.167 with SMTP id ir7mr39505968igb.27.1399438907774;
Tue, 06 May 2014 22:01:47 -0700 (PDT)
Date: Tue, 6 May 2014 22:01:47 -0700
Message-ID: <CAC4O8c9CyG2vC6zf5BhX7OkN_x5aRhLAYXLUai27929qOQP10g@mail.gmail.com>
Subject: [geda-user] Pcb_9 extension to put text, other symbols on silk via footprints
From: Britton Kerin <britton DOT kerin AT gmail DOT com>
To: geda-user AT delorie DOT com
Reply-To: geda-user AT delorie DOT com

--089e01184990fbd38f04f8c842d4
Content-Type: text/plain; charset=UTF-8

Hi folks,

I extended Pcb_9.pm somewhat, the major addition being arbitrary
shaped/sized text
can be drawn on footprint silk screen.  There are some other
convenient symbols too.

The module is attached, here are the header comments:

# Extend the Pcb_9 perl module.  Stick this wherever your Pcb_9.pm file lives,
# and use 'use Pcb_9_Plus;' instead of 'use Pcb_9;' and 'Pcb_9_Plus->new'
# instead of 'Pcb_9->new' in clients to get some extra methods.
#
# There are methods to add arbitrary silk screen text, round pads, an
# orientation dot, a plus sign, maybe other bits and pieces as I think
# of them.  Examples:
#
#     use Pcb_9_Plus;
#
#     my $pcb = Pcb_9_Plus->new(debug => 1);
#
#     $pcb->element_begin(
#         description => "some_fp", output_file => "some_fp", dim => 'mm');
#
#     $pcb->element_add_note(
#         chars => "HOT 120V",
#         x     => 10,
#         y     => 0,
#         scale => 2.42,     # Optional, defaults to 1.0, <1.0 not allowed
#         dir   => 'up' );   # Optional can also be 'left' etc. or degrees);
#
#     $pcb->element_add_mounting_hole(
#         x => 15,
#         y => 12,
#         diameter => 1 );
#
#     $pcb->element_add_round_pad(
#         x => 6,
#         y => 3,
#         diameter => 1,
#         clearance => 0.1,
#         mask => 0.0,
#         name => 'FOO',
#         pin_number => 1 );
#
#     $pcb->element_add_plus_mark(
#         x => 20,
#         y => 25,
#         size => 2,
#         thickness => .25 );
#
#     $pcb->element_add_dot(
#         x => 25,
#         y => 20,
#         diameter => 2);

--089e01184990fbd38f04f8c842d4
Content-Type: application/x-perl; name="Pcb_9_Plus.pm"
Content-Disposition: attachment; filename="Pcb_9_Plus.pm"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_huw5qpaa0

cGFja2FnZSBQY2JfOV9QbHVzOwoKIyB2aW06Zm9sZG1ldGhvZD1tYXJrZXIKCiMgRG9jdW1lbnRh
dGlvbiB7e3sxCgojIEV4dGVuZCB0aGUgUGNiXzkgcGVybCBtb2R1bGUuICBTdGljayB0aGlzIHdo
ZXJldmVyIHlvdXIgUGNiXzkucG0gZmlsZSBsaXZlcywKIyBhbmQgdXNlICd1c2UgUGNiXzlfUGx1
czsnIGluc3RlYWQgb2YgJ3VzZSBQY2JfOTsnIGFuZCAnUGNiXzlfUGx1cy0+bmV3JwojIGluc3Rl
YWQgb2YgJ1BjYl85LT5uZXcnIGluIGNsaWVudHMgdG8gZ2V0IHNvbWUgZXh0cmEgbWV0aG9kcy4K
IwojIFRoZXJlIGFyZSBtZXRob2RzIHRvIGFkZCBhcmJpdHJhcnkgc2lsayBzY3JlZW4gdGV4dCwg
cm91bmQgcGFkcywgYW4KIyBvcmllbnRhdGlvbiBkb3QsIGEgcGx1cyBzaWduLCBtYXliZSBvdGhl
ciBiaXRzIGFuZCBwaWVjZXMgYXMgSSB0aGluawojIG9mIHRoZW0uICBFeGFtcGxlczoKIwojICAg
ICB1c2UgUGNiXzlfUGx1czsKIwojICAgICBteSAkcGNiID0gUGNiXzlfUGx1cy0+bmV3KGRlYnVn
ID0+IDEpOwojCiMgICAgICRwY2ItPmVsZW1lbnRfYmVnaW4oCiMgICAgICAgICBkZXNjcmlwdGlv
biA9PiAic29tZV9mcCIsIG91dHB1dF9maWxlID0+ICJzb21lX2ZwIiwgZGltID0+ICdtbScpOwoj
CiMgICAgICRwY2ItPmVsZW1lbnRfYWRkX25vdGUoCiMgICAgICAgICBjaGFycyA9PiAiSE9UIDEy
MFYiLAojICAgICAgICAgeCAgICAgPT4gMTAsCiMgICAgICAgICB5ICAgICA9PiAwLAojICAgICAg
ICAgc2NhbGUgPT4gMi40MiwgICAgICMgT3B0aW9uYWwsIGRlZmF1bHRzIHRvIDEuMCwgPDEuMCBu
b3QgYWxsb3dlZAojICAgICAgICAgZGlyICAgPT4gJ3VwJyApOyAgICMgT3B0aW9uYWwgY2FuIGFs
c28gYmUgJ2xlZnQnIGV0Yy4gb3IgZGVncmVlcyk7CiMKIyAgICAgJHBjYi0+ZWxlbWVudF9hZGRf
bW91bnRpbmdfaG9sZSgKIyAgICAgICAgIHggPT4gMTUsCiMgICAgICAgICB5ID0+IDEyLAojICAg
ICAgICAgZGlhbWV0ZXIgPT4gMSApOwojCiMgICAgICRwY2ItPmVsZW1lbnRfYWRkX3JvdW5kX3Bh
ZCgKIyAgICAgICAgIHggPT4gNiwKIyAgICAgICAgIHkgPT4gMywKIyAgICAgICAgIGRpYW1ldGVy
ID0+IDEsCiMgICAgICAgICBjbGVhcmFuY2UgPT4gMC4xLAojICAgICAgICAgbWFzayA9PiAwLjAs
CiMgICAgICAgICBuYW1lID0+ICdGT08nLAojICAgICAgICAgcGluX251bWJlciA9PiAxICk7CiMg
ICAgIAojICAgICAkcGNiLT5lbGVtZW50X2FkZF9wbHVzX21hcmsoCiMgICAgICAgICB4ID0+IDIw
LAojICAgICAgICAgeSA9PiAyNSwKIyAgICAgICAgIHNpemUgPT4gMiwKIyAgICAgICAgIHRoaWNr
bmVzcyA9PiAuMjUgKTsKIyAgICAgCiMgICAgICRwY2ItPmVsZW1lbnRfYWRkX2RvdCgKIyAgICAg
ICAgIHggPT4gMjUsCiMgICAgICAgICB5ID0+IDIwLAojICAgICAgICAgZGlhbWV0ZXIgPT4gMik7
CiMKIyB9fX0xCgojIFByYWdtYXMgYW5kIG1vZHVsZXMge3t7MQoKdXNlIHBhcmVudCAnUGNiXzkn
OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzIEZBVEFMID0+ICdhbGwnOwoKdXNlIENhcnA7CnVz
ZSBEYXRhOjpEdW1wZXI7CgojIH19fTEKCiMgUGFyc2UgdGhlIGZvbnQgZGF0YSB7e3sxCgpteSAl
c3ltYm9sczsKCiMgVW5zY2FsZWQgRm9udCBIZWlnaHQuICBJbiB0aGUgZml4ZWQgZm9udCB3ZSdy
ZSBnb2luZyB0byB1c2UsIEkgdGhpbmsKIyB0aGVyZSdzIGp1c3Qgb25lIGNoYXJhY3RlciBpbiB0
aGlzIGZvbnQgdGhhdCdzIHRhbGxlciwgdGhlICdAJyBjaGFyYWN0ZXIsCiMgYnV0IGl0cyBhbHNv
IHRoZSBvbmx5IG9uZSB3aXRoIG5lZ2F0aXZlIGV4dGVuZCBzbyB3ZSBjYW4gdXNlIHRoaXMgdG8g
ZG8KIyBhIHRyYW5zbGF0aW9uIHNvIHRoZSB0ZXh0IHBvc2l0aW9uIGlzIGNvbnNpc3RlbnQgd2l0
aCB0aGUgd2F5IHRoZSByZWZkZXMKIyB0ZXh0IHdvcmtzLgpteSAkdWZoID0gNDA7CgojIFRoZSBz
dHVmZiBpbiB0aGUgX19EQVRBX18gc2VjdGlvbiBJIGdyYWJiZWQgZnJvbSBhIGZpbGUgY2FsbGVk
CiMgJ2RlZmF1bHRfZm9udCcgaW4gdGhlIHNyYyBkaXJlY3Rvcnkgb2YgYSAyMDE0IFBDQiBkaXN0
cmlidXRpb24uCm15ICRmZCA9IGpvaW4oJycsIDxEQVRBPik7ICAgIyBGb250IERhdGEKJD8gPT0g
MCBvciBkaWUgImJhY2t0aWNrIGNvbW1hbmQgZmFpbGVkIjsKCiMgTk9URTogdGhlIHdheSB0aGlz
IGlzIGRvbmUgd2UgY2FuJ3QgdG9sZXJhdGUgYmxhbmsgbGluZXMgaW4gX19EQVRBX18Kd2hpbGUg
KCAkZmQgPX4gcy9eU3ltYm9sXCgnKC4pJ1xzKFxkKylcKVxzKlxuCiAgICAgICAgICAgICAgICAg
IFwoXHMqXG4gCiAgICAgICAgICAgICAgICAgICgoPzpccytTeW1ib2xMaW5lXChbLVxkXHNdK1wp
XHMqXG4pKikKICAgICAgICAgICAgICAgICAgXClccypcbj8gICAjIE5vdGU6IG1heWJlIG5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKICAgICAgICAgICAgICAgICAvL3ggKSB7CiAgICAjIFN5bWJv
bCBOYW1lLCBTcGFjZSBBZnRlciwgU3ltYm9sIERlZmluaXRpb24KICAgICMgRklYWE1FOiBJJ20g
bm90IGFjdHVhbGx5IHN1cmUgd2hhdCB0aGUgdmFsdWUgd2UncmUgY2FsbGluZyBzcGFjZSBhZnRl
ciBpcwogICAgIyBmb3IuICBJdCBtYWtlcyBzb21lIHNlbnNlIHdoZW4gdXNlZCB0aGF0IHdheSBi
dXQgSSBoYXZlbid0IGNoZWNrZWQuCiAgICBteSAoJHNuLCAkc2EsICRzZCkgPSAoJDEsICQyLCAk
Myk7ICAKICAgIG15IEBsaW5lcyA9ICgpOwogICAgd2hpbGUgKCAkc2QgPX4gcy9eXHMqU3ltYm9s
TGluZVwoKFstXGRcc10rKVwpXHMqXG4vLyApIHsKICAgICAgICBteSAkbHQgPSAkMTsgICAjIExp
bmUgZGVmaW5pdGlvbiB0ZXh0CiAgICAgICAgJGx0ID1+IG0vXHMqKC0/XGQrKVxzKygtP1xkKylc
cysoLT9cZCspXHMrKC0/XGQrKVxzKygtP1xkKylccyovCiAgICAgICAgICAgIG9yIGRpZSAibWF0
Y2ggZmFpbHVyZSBwcm9jZXNzaW5nIG51bWJlciBzdHJpbmcgJyRsdCciOwogICAgICAgICMgTk9U
RTogdGhlc2UgY29vcmRpbmF0ZXMgYXJlIGluIG1pbHMgKGFzIHRoZXkgY29tZSB0byB1c2UgZnJv
bSB0aGUKICAgICAgICAjIGZvbnQgZGF0YS4gIFdlIGNhbid0IGNvbnZlcnQgYW55dGhpbmcgeWV0
IGJlY2F1c2Ugd2UgZG9uJ3Qga25vdwogICAgICAgICMgdW50aWwgcnVuIHRpbWUgd2hhdCB1bml0
cyB0aGUgY2xpZW50IHdhbnRzLgogICAgICAgIHB1c2goCiAgICAgICAgICAgIEBsaW5lcywKICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgeDEgICAgICAgID0+ICQxLAogICAgICAgICAgICAg
ICAgeTEgICAgICAgID0+ICQyIC0gJHVmaCwKICAgICAgICAgICAgICAgIHgyICAgICAgICA9PiAk
MywKICAgICAgICAgICAgICAgIHkyICAgICAgICA9PiAkNCAtICR1ZmgsCiAgICAgICAgICAgICAg
ICB0aGlja25lc3MgPT4gJDUgfSApOwogICAgfQogICAgJHN5bWJvbHN7JHNufSA9IHsgc3BhY2Vf
YWZ0ZXIgPT4gJHNhLCBsaW5lcyA9PiBcQGxpbmVzIH07Cn0KbGVuZ3RoKCRmZCkgPT0gMCBvciBk
aWUgImZhaWxlZCB0byBwYXJzZSBlbnRpcmUgX19EQVRBX18gc2VjdGlvbiI7CiMgfX19MQoKc3Vi
IHN5bV93aWR0aCAoJCQpICMge3t7MQp7CiAgICAjIFJldHVybiB3aWR0aCBvZiBzeW1ib2wgYXJn
MSBhcyBpdCBhcHBlYXJzIGluIHN5bWJvbCBkaWN0aW9uYXJ5CiAgICAjIHJlZmVyZW5jZWQgYnkg
YXJnMi4KCiAgICBteSAoJHN5bWJvbCwgJGRpY3QpID0gQF87CgoKICAgIG15ICRsaW5lcyA9ICRk
aWN0LT57JHN5bWJvbH17bGluZXN9OwoKICAgIGlmICggQCRsaW5lcyA9PSAwICkgewogICAgICAg
ICMgU3BhY2UgaXMgc3BlY2lhbAogICAgICAgIHJldHVybiAwOwogICAgfQogICAgZWxzZSB7CiAg
ICAgICAgbXkgKCR4bWluLCAkeG1heCkgPSAoMTAwMDQyLCAtMTAwMDQyKTsKICAgICAgICBmb3Jl
YWNoIG15ICRsaW5lICggQCRsaW5lcyApIHsKICAgICAgICAgICAgaWYgKCAkbGluZS0+e3gxfSA8
ICR4bWluICkgewogICAgICAgICAgICAgICAgJHhtaW4gPSAkbGluZS0+e3gxfTsKICAgICAgICAg
ICAgfQogICAgICAgICAgICBpZiAoICRsaW5lLT57eDJ9IDwgJHhtaW4gKSB7CiAgICAgICAgICAg
ICAgICAkeG1pbiA9ICRsaW5lLT57eDJ9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgg
JGxpbmUtPnt4MX0gPiAkeG1heCApIHsKICAgICAgICAgICAgICAgICR4bWF4ID0gJGxpbmUtPnt4
MX07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCAkbGluZS0+e3gyfSA+ICR4bWF4ICkg
ewogICAgICAgICAgICAgICAgJHhtYXggPSAkbGluZS0+e3gyfTsKICAgICAgICAgICAgfQogICAg
ICAgIH0KCiAgICAgICAgcmV0dXJuICR4bWF4IC0gJHhtaW47CiAgICB9Cn0gIyB9fX0xCgpzdWIg
cm90YXRlX2xpbmUgKCQkKSAjIHt7ezEKewogICAgIyBHaXZlbiBhbiBhbmdsZSBpbiBkZWdyZWVz
IGFuZCBhIGxpbmUgc3RydWN0dXJlIChhcyB1c2VkIGVsc2V3aGVyZSBpbgogICAgIyB0aGlzIGZp
bGUpLCByb3RhdGUgYWxsIHRoZSBwb2ludHMgb2YgbGluZSBjbG9ja3dpc2UgYnkgZGVncmVlcyBh
Ym91dAogICAgIyB0aGUgb3JpZ2luLgoKICAgIG15ICgkYW5nLCAkbGluZSkgPSBAXzsKCiAgICBt
eSAoJHgxLCAkeTEsICR4MiwgJHkyKSA9ICgKICAgICAgICAkbGluZS0+e3gxfSwKICAgICAgICAk
bGluZS0+e3kxfSwKICAgICAgICAkbGluZS0+e3gyfSwKICAgICAgICAkbGluZS0+e3kyfSApOwoK
ICAgIG15ICRhbmdyID0gJGFuZyAqICgzLjE0MTU5IC8gMTgwKTsgICAjIEFuZ2xlIGluIFJhZGlh
bnMKCiAgICBteSAkdHgxID0gJHgxICogY29zKCRhbmdyKSAtICgkeTEgKiBzaW4oJGFuZ3IpKTsK
ICAgIG15ICR0eTEgPSAkeTEgKiBjb3MoJGFuZ3IpICsgKCR4MSAqIHNpbigkYW5ncikpOwoKICAg
IG15ICR0eDIgPSAkeDIgKiBjb3MoJGFuZ3IpIC0gKCR5MiAqIHNpbigkYW5ncikpOwogICAgbXkg
JHR5MiA9ICR5MiAqIGNvcygkYW5ncikgKyAoJHgyICogc2luKCRhbmdyKSk7CgogICAgJGxpbmUt
Pnt4MX0gPSAkdHgxOwogICAgJGxpbmUtPnt5MX0gPSAkdHkxOwogICAgJGxpbmUtPnt4Mn0gPSAk
dHgyOwogICAgJGxpbmUtPnt5Mn0gPSAkdHkyOwp9ICMgfX19MQoKc3ViIHRyYW5zbGF0ZV9saW5l
ICgkJCQpICMge3t7MQp7CiAgICAjIEdpdmVuIHgsIHksIGFuZCBhIGxpbmUgc3RydWN0dXJlIChh
cyB1c2VkIGVsc2V3aGVyZSBpbiB0aGlzIGZpbGUpLAogICAgIyB0cmFuc2xhdGUgYWxsIHRoZSBw
b2ludHMgb2YgbGluZSBieSAoeCwgeSkuCgogICAgbXkgKCR4dCwgJHl0LCAkbGluZSkgPSBAXzsK
CiAgICAkbGluZS0+e3gxfSArPSAkeHQ7CiAgICAkbGluZS0+e3kxfSArPSAkeXQ7CiAgICAkbGlu
ZS0+e3gyfSArPSAkeHQ7CiAgICAkbGluZS0+e3kyfSArPSAkeXQ7Cn0gIyB9fX0xCgpzdWIgc2Nh
bGVfbGluZSAoJCQpICMge3t7MQp7CiAgICAjIEdpdmVuIGEgc2NhbGUgZmFjdG9yLCBhbmQgYSBs
aW5lIHN0cnVjdHVyZSAoYXMgdXNlZCBlbHNld2hlcmUgaW4KICAgICMgdGhpcyBmaWxlKSwgc2Nh
bGUgbGluZSBieSBzY2FsZSAocmVsYXRpdmUgdG8gdGhlIG9yaWdpbiwgbm90ZQogICAgIyB0aGF0
IHRoaXMgZWZmZWN0aXZlbHkgdHJhbnNsYXRlcyBsaW5lcyBub3QgY2VudGVyZWQgb24gdGhlIG9y
aWdpbikuCiAgICAjIFRoZSB0aGlja25lc3Mgb2YgdGhlIGxpbmUgaXMgc2NhbGVkIGFzIHdlbGwu
CgogICAgbXkgKCRzZiwgJGxpbmUpID0gQF87CgogICAgJGxpbmUtPnt4MX0gKj0gJHNmOwogICAg
JGxpbmUtPnt5MX0gKj0gJHNmOwogICAgJGxpbmUtPnt4Mn0gKj0gJHNmOwogICAgJGxpbmUtPnt5
Mn0gKj0gJHNmOwoKICAgICRsaW5lLT57dGhpY2tuZXNzfSAqPSAkc2Y7Cn0gIyB9fX0xCgpzdWIg
ZWxlbWVudF9hZGRfbm90ZSAoJCUpICMge3t7MQp7CiAgICAjIEFkZCBhIG5vdGUgdG8gdGhlIHNp
bGtzY3JlZW4uICBOYW1lZCBhcmd1bWVudHM6IGNoYXJzICh0aGUgY2hhcmFjdGVycwogICAgIyBz
dHVmZiB0byBhZGQpLCB4LCB5LCBkaXIgKG9wdGlvbmFsLCBjYW4gYmUgYSBiZWFyaW5nIG9yICd1
cCcsICdkb3duJywKICAgICMgJ2xlZnQnLCBvciAncmlnaHQnKSwgc2NhbGUgKG9wdGlvbmFsLCBt
dXN0IGJlID49IDEuMCkuICBOT1RFOiB0aGlzCiAgICAjIGRvZXNuJ3Qgd29yayB0aGUgc2FtZSB3
YXkgdGhlIHJlZmRlcyBhZGRpdGlvbiB3b3Jrcy4gIEZvciByZWZkZXNlcyB0aGUKICAgICMgZWxl
bWVudF9zZXRfdGV4dF94eSBmcm9tIFBjYl85IHNob3VsZCBiZSB1c2VkIChhbmQgdGhlIHJlZmRl
cyB0ZXh0CiAgICAjIGl0c2VsZiBpcyBzZXQgYnkgUENCIHVzaW5nIG90aGVyIG1lYW5zKS4gIFRo
aXMgbWV0aG9kIGlzIGZvciBhZGRpbmcKICAgICMgYXJiaXRyYXJ5IHRleHQgbm90ZXMgdG8gZ28g
d2l0aCBhIGZvb3RwcmludC4KCiAgICBteSAkc2VsZiA9IHNoaWZ0OwogICAgIyBOT1RFOiB3ZSBk
b24ndCBoYXZlIHRvIHNjYWxlIHRoZSB4IGFuZCB5IGFyZ3MsIGFzIHRoZSBlbGVtZW50X2FkZF9s
aW5lCiAgICAjIG1ldGhvZCB3aWxsIGVuZCB1cCBkb2luZyBpdC4KICAgIG15ICV2ID0gQF87CiAg
ICAKICAgICMgQ2hlY2sgZm9yIHRoZSByZXF1aXJlZCBhcmd1bWVudHMKICAgIG5vdCBQY2JfOTo6
X3ByaW50X21pc3NpbmdfZmllbGRzKCdlbGVtZW50X2FkZF9ub3RlJywgXCV2LCBxdyhjaGFycyB4
IHkpKQogICAgICAgIG9yIGNvbmZlc3MgInJlcXVpcmVkIGFyZ3VtZW50IGZpZWxkKHMpIG1pc3Np
bmcgKHNlZSBhYm92ZSkiOwoKICAgICMgRGVmYXVsdCBmb3Igb3B0aW9uIGRpciBhcmd1bWVudCwg
aW50ZXJwcmV0IGVuZ2xpc2ggd29yZCBkaXIgaW4gYWRkaXRpb24KICAgICMgdG8gYmVhcmluZ3Mg
aW4gZGVncmVlcy4KICAgIGlmICggbm90IGV4aXN0cygkdntkaXJ9KSApIHsKICAgICAgICAkdntk
aXJ9ID0gMDsKICAgIH0KICAgIGVsc2lmICggJHZ7ZGlyfSA9fiBtLyg/OnJpZ2h0fGRvd258bGVm
dHx1cCkvICkgewogICAgICAgICR2e2Rpcn0gPSB7cmlnaHQgPT4gMCwgZG93biA9PiA5MCwgbGVm
dCA9PiAxODAsIHVwID0+IDI3MH0tPnskdntkaXJ9fTsKICAgIH0KICAgIGVsc2UgewogICAgICAg
IGNvbmZlc3MgImludmFsaWQgZGlyIGFyZ3VtZW50ICckdntkaXJ9JyI7CiAgICB9CgogICAgIyBE
ZWZhdWx0IGZvciBvcHRpb25hbCBzY2FsZSBhcmd1bWVudAogICAgaWYgKCBub3QgZGVmaW5lZCgk
dntzY2FsZX0pICkgewogICAgICAgICR2e3NjYWxlfSA9IDEuMDsKICAgIH0KCiAgICAjIFdlJ3Jl
IG5vdCBnb2luZyB0byBzdXBwb3J0IHNjYWxlIGZhY3RvcnMgc21hbGxlciB0aGFuIDEuMCwgYXMg
SSB0aGluawogICAgIyB0aGUgZm9udCBhbHJlYWR5IHVzZXMgbGluZXMgYXMgc21hbGwgYXMgUENC
IHN1cHBvcnRzOiBJJ3ZlIGhhZCB0aGlubmVyCiAgICAjIGxpbmVzIG5vdCBzaG93IHVwIGF0IGFs
bCBJIHRoaW5rLgogICAgJHZ7c2NhbGV9ID49IDEuMCAKICAgICAgICBvciBjb25mZXNzICJzY2Fs
ZSBzZXR0aW5ncyBzbWFsbGVyIHRoYW4gMS4wIGFyZW4ndCBzdXBwb3J0ZWQiOwoKICAgICMgQWRk
IGNoYXJhY3RlcnMgdG8gdGhlIHNpbGtzY3JlZW4ge3t7MgogICAgbXkgJGNvID0gMDsgICAjIENo
YXJhY3RlciBPZmZzZXQgKGdyb3dzIGFzIHdlIHByb2dyZXNzIHRocm91Z2ggc3RyaW5nKQogICAg
Zm9yICggbXkgJGlpID0gMCA7ICRpaSA8IGxlbmd0aCgkdntjaGFyc30pIDsgJGlpKysgKSB7CiAg
ICAgICAgbXkgJGNjID0gc3Vic3RyKCR2e2NoYXJzfSwgJGlpLCAxKTsgICAjIEN1cnJlbnQgQ2hh
cgogICAgICAgIGV4aXN0cygkc3ltYm9sc3skY2N9KSBvciBkaWUgImRvbid0IGtub3cgaG93IHRv
IGRyYXcgY2hhcmFjdGVyICckY2MnIjsKICAgICAgICBteSAkc2EgPSAkc3ltYm9sc3skY2N9e3Nw
YWNlX2FmdGVyfTsgICAjIFNwYWNlIEFmdGVyIChzeW1ib2wpCiAgICAgICAgbXkgJHNsID0gJHN5
bWJvbHN7JGNjfXtsaW5lc307ICAgICAgICAgIyBTeW1ib2wgTGluZXMKICAgICAgICBmb3JlYWNo
IG15ICRsaW5lICggQCRzbCApIHsKICAgICAgICAgICAgbXkgJHRsYyA9IHsgJSRsaW5lIH07ICAg
IyBUcmFuc2xhdGVkIExpbmUgQ29weQogICAgICAgICAgICAkdGxjLT57eDF9ICs9ICRjbzsKICAg
ICAgICAgICAgJHRsYy0+e3gyfSArPSAkY287CiAgICAgICAgICAgIGZvcmVhY2ggbXkgJHRsY19k
aW1fa2V5ICgga2V5cyAlJHRsYyApIHsKICAgICAgICAgICAgICAgICMgV2UgaGF2ZSB0byBjYWxs
IHNjYWxlZF92YWx1ZSBoZXJlIGJlY2F1c2UgdGhlIGNvbnZlcnNpb24KICAgICAgICAgICAgICAg
ICMgZGlyZWN0aW9uIGFzc3VtcHRpb25zIHRoYXQgc2NhbGVfZGltIGFuZCBfc2NhbGVfZGltIGZy
b20KICAgICAgICAgICAgICAgICMgUGNiXzkgbWFrZSBhcmVuJ3QgcmlnaHQgZm9yIHRoZXNlIHZh
bHVlcyB0aGF0IG9yaWdpbmF0ZWQKICAgICAgICAgICAgICAgICMgaW4gdGhlIGZvbnQgZGF0YSAo
d2hpY2ggaXMgaW4gbWlscykuCiAgICAgICAgICAgICAgICAkdGxjLT57JHRsY19kaW1fa2V5fQog
ICAgICAgICAgICAgICAgICAgID0gUGNiXzk6OnNjYWxlZF92YWx1ZSgKICAgICAgICAgICAgICAg
ICAgICAgICAgJHRsYy0+eyR0bGNfZGltX2tleX0sCiAgICAgICAgICAgICAgICAgICAgICAgICdt
aWxzJywKICAgICAgICAgICAgICAgICAgICAgICAgJHNlbGYtPmVsZW1lbnRfZ2V0KCdkaW0nKSAp
OwogICAgICAgICAgICB9CiAgICAgICAgICAgIHNjYWxlX2xpbmUoJHZ7c2NhbGV9LCAkdGxjKTsK
ICAgICAgICAgICAgcm90YXRlX2xpbmUoJHZ7ZGlyfSwgJHRsYyk7CiAgICAgICAgICAgIHRyYW5z
bGF0ZV9saW5lKCR2e3h9LCAkdnt5fSwgJHRsYyk7CiAgICAgICAgICAgICRzZWxmLT5lbGVtZW50
X2FkZF9saW5lKCUkdGxjKTsKICAgICAgICB9CiAgICAgICAgJGNvICs9IHN5bV93aWR0aCgkY2Ms
IFwlc3ltYm9scykgKyAkc2E7CiAgICB9CiAgICAjIH19fTIKCn0gIyB9fX0xCgpzdWIgZWxlbWVu
dF9hZGRfcm91bmRfcGFkICgkJSkgIyB7e3sxCnsKICAgICMgQWRkIGEgcm91bmQgcGFkLiAgVGhl
IGZvbGxvd2luZyBhcmd1bWVudHMgYXJlIHJlcXVpcmVkOgogICAgIwogICAgIyAgICAgeAogICAg
IyAgICAgeQogICAgIyAgICAgZGlhbWV0ZXIKICAgICMgICAgIGNsZWFyYW5jZQogICAgIyAgICAg
bWFzawogICAgIyAgICAgbmFtZQogICAgIyAgICAgcGluX251bWJlcgogICAgIwogICAgIyBNb3N0
IG9mIHRoZSBhcmd1bWVudHMgYXJlIHBhc3NlZCBvbiB0byB0aGUgZWxlbWVudF9hZGRfcGFkKCkg
bWV0aG9kCiAgICAjIGFzIGV4cGVjdGVkLgoKICAgIG15ICRzZWxmID0gc2hpZnQ7CiAgICAjIE5P
VEU6IHdlIGRvbid0IGhhdmUgdG8gc2NhbGUgdGhlIHggYW5kIHkgYXJncywgYXMgdGhlIGVsZW1l
bnRfYWRkX2xpbmUKICAgICMgbWV0aG9kIHdpbGwgZW5kIHVwIGRvaW5nIGl0LgogICAgbXkgJXYg
PSBAXzsKIAogICAgIyBDaGVjayBmb3IgdGhlIHJlcXVpcmVkIGFyZ3VtZW50cwogICAgbm90IFBj
Yl85OjpfcHJpbnRfbWlzc2luZ19maWVsZHMoCiAgICAgICAgICAgICdlbGVtZW50X2FkZF9yb3Vu
ZF9wYWQnLAogICAgICAgICAgICBcJXYsCiAgICAgICAgICAgIHF3KHggeSBkaWFtZXRlciBjbGVh
cmFuY2UgbWFzayBuYW1lIHBpbl9udW1iZXIpICkKICAgICAgICBvciBjb25mZXNzICJyZXF1aXJl
ZCBhcmd1bWVudCBmaWVsZChzKSBtaXNzaW5nIChzZWUgYWJvdmUpIjsKCiAgICAjIEluIHRydXRo
IEknbSBnb2luZyB0byBtYWtlIHRoZSBwYWQgbm90IGFic29sdXRlbHkgcm91bmQuICBUaGlzIGlz
CiAgICAjIGJlY2F1c2UgSSBmZWFyIHplcm8tbGVuZ2ggcGFkcyBnZXR0aW5nIG51a2VkIGJ5IGFj
Y2lkZW50IHNvbWV3aGVyZS4KICAgIG15ICRydGwgPSAwLjAwMTsgICAjIFJlYWxseSBUaW55IExl
bmd0aAogICAgCiAgICAkc2VsZi0+ZWxlbWVudF9hZGRfcGFkKAogICAgICAgIHgxID0+ICR2e3h9
IC0gJHJ0bCAvIDIuMCwKICAgICAgICB5MSA9PiAkdnt5fSwKICAgICAgICB4MiA9PiAkdnt4fSAr
ICRydGwgLyAyLjAsCiAgICAgICAgeTIgPT4gJHZ7eX0sCiAgICAgICAgdGhpY2tuZXNzID0+ICR2
e2RpYW1ldGVyfSwKICAgICAgICBjbGVhcmFuY2UgPT4gJHZ7Y2xlYXJhbmNlfSwKICAgICAgICBt
YXNrID0+ICR2e21hc2t9LAogICAgICAgIG5hbWUgPT4gJHZ7bmFtZX0sCiAgICAgICAgcGluX251
bWJlciA9PiAkdntwaW5fbnVtYmVyfSwKICAgICAgICBmbGFncyA9PiBQY2JfOTo6UEFEX1JPVU5E
RUQgKTsKCn0gIyB9fX0xCgojIE5leHQgTW91bnRpbmcgSG9sZSBOdW1iZXIuICBXZSBnaXZlIG1v
dW50aW5nIGhvbGVzIGxhcmdlIHBpbiBudW1iZXJzIHRvCiMga2VlcCB0aGVtIG91dCBvZiB0aGUg
d2F5LCBzaW5jZSB3ZSBkb24ndCByZWFsbHkgY2FyZSB3aGF0IHRoZXkgYXJlLgpteSAkbm1obiA9
IDIwNDI7CgpzdWIgZWxlbWVudF9hZGRfbW91bnRpbmdfaG9sZSAoJCUpICMge3t7MQp7CiAgICAj
IEFkZCBhIG1vdW50aW5nIGhvbGUgKHdpdGggbm8gY29wcGVyIGFubnVsdXMpLiAgVGhlIHBpbiBu
dW1iZXIgd2lsbCBiZQogICAgIyBhdXRvbWF0aWNhbGx5IHNldCB0byBhIGhpZ2ggdmFsdWUsIHNv
IGl0IGRvZXNuJ3QgaW50ZXJmZXJlIHdpdGggcGlucwogICAgIyB5b3UgY2FyZSBhYm91dC4gIFRo
ZSBwaW4gd2lsbCBiZSBuYW1lZCAiTU9VTlRJTkdfSE9MRSIuICBUaGUgcmVxdWlyZWQKICAgICMg
bmFtZXMgYXJndW1lbnRzIGFyZSAieCIsICJ5IiwgYW5kLCAiZGlhbWV0ZXIiLgoKICAgIG15ICRz
ZWxmID0gc2hpZnQ7CiAgICAjIE5PVEU6IHdlIGRvbid0IGhhdmUgdG8gc2NhbGUgdGhlIHggYW5k
IHkgYXJncywgYXMgdGhlIGVsZW1lbnRfYWRkX3BpbgogICAgIyBtZXRob2Qgd2lsbCBlbmQgdXAg
ZG9pbmcgaXQuCiAgICBteSAldiA9IEBfOwoKICAgIG5vdCBQY2JfOTo6X3ByaW50X21pc3Npbmdf
ZmllbGRzKAogICAgICAgICAgICAnZWxlbWVudF9hZGRfbW91bnRpbmdfaG9sZScsCiAgICAgICAg
ICAgIFwldiwKICAgICAgICAgICAgcXcoeCB5IGRpYW1ldGVyKSApCiAgICAgICAgb3IgY29uZmVz
cyAicmVxdWlyZWQgYXJndW1lbnQgZmllbGQocykgbWlzc2luZyAoc2VlIGFib3ZlKSI7CgogICAg
JHNlbGYtPmVsZW1lbnRfYWRkX3BpbigKICAgICAgICB4ID0+ICR2e3h9LAogICAgICAgIHkgPT4g
JHZ7eX0sCiAgICAgICAgdGhpY2tuZXNzID0+IDAuMCwgICAjIDAuMCBiZWNhdXNlIGl0cyBqdXN0
IGhvbGUsIG5vIGFubnVsYXIgcmluZwogICAgICAgIGNsZWFyYW5jZSA9PiAwLjAsICAgIyBMZXQg
dXNlciBlbnN1cmUgdHJhY2VzIGRvbid0IGZhbGwgaW4gaG9sZXMKICAgICAgICBtYXNrID0+IDAu
MCwKICAgICAgICBkcmlsbF9ob2xlID0+ICR2e2RpYW1ldGVyfSwKICAgICAgICBuYW1lID0+ICJN
T1VOVElOR19IT0xFIiwKICAgICAgICBwaW5fbnVtYmVyID0+ICRubWhuLAogICAgICAgIGZsYWdz
ID0+IFBjYl85OjpQSU5fTU9VTlRJTkdfSE9MRSApOwoKICAgICRubWhuICs9IDEwMDsgICAjIEdv
IG9uIHRvIGFub3RoZXIgYmlnIG51bWJlciB3ZSBkb24ndCBjYXJlIGFib3V0Lgp9ICMgfX19MQoK
c3ViIGVsZW1lbnRfYWRkX3BsdXNfbWFyayAoJCUpICMge3t7MQp7CiAgICAjIEFkZCBhIHBsdXMg
bWFyayBhdCB4LCB5IG9mIHNpemUgc2l6ZSB3aXRoIHN0cm9rZSB0aGlja25lc3MgdGhpY2tuZXNz
LgoKICAgIG15ICRzZWxmID0gc2hpZnQ7CiAgICAjIE5PVEU6IHdlIGRvbid0IGhhdmUgdG8gc2Nh
bGUgdGhlIGFyZ3MsIGFzIHRoZSBlbGVtZW50X2FkZF9waW4gbWV0aG9kCiAgICAjIHdpbGwgZW5k
IHVwIGRvaW5nIGl0LgogICAgbXkgJXYgPSBAXzsKICAgIAogICAgbm90IFBjYl85OjpfcHJpbnRf
bWlzc2luZ19maWVsZHMoCiAgICAgICAgICAgICdlbGVtZW50X2FkZF9wbHVzX21hcmsnLCBcJXYs
IHF3KHggeSBzaXplIHRoaWNrbmVzcykgKQogICAgICAgIG9yIGNvbmZlc3MgInJlcXVpcmVkIGFy
Z3VtZW50IGZpZWxkKHMpIG1pc3NpbmcgKHNlZSBhYm92ZSkiOwoKICAgICRzZWxmLT5lbGVtZW50
X2FkZF9saW5lKAogICAgICAgIHgxID0+ICR2e3h9IC0gJHZ7c2l6ZX0gLyAyLjAsCiAgICAgICAg
eTEgPT4gJHZ7eX0sCiAgICAgICAgeDIgPT4gJHZ7eH0gKyAkdntzaXplfSAvIDIuMCwKICAgICAg
ICB5MiA9PiAkdnt5fSwKICAgICAgICB0aGlja25lc3MgPT4gJHZ7dGhpY2tuZXNzfSApOwogICAg
CiAgICAkc2VsZi0+ZWxlbWVudF9hZGRfbGluZSgKICAgICAgICB4MSA9PiAkdnt4fSwKICAgICAg
ICB5MSA9PiAkdnt5fSAtICR2e3NpemV9IC8gMi4wLAogICAgICAgIHgyID0+ICR2e3h9LAogICAg
ICAgIHkyID0+ICR2e3l9ICsgJHZ7c2l6ZX0gLyAyLjAsCiAgICAgICAgdGhpY2tuZXNzID0+ICR2
e3RoaWNrbmVzc30gKTsKfSAjIH19fTEKCnN1YiBlbGVtZW50X2FkZF9kb3QgKCQlKSAjIHt7ezEK
ewogICAgIyBEcmF3IGEgZG90IGF0IHgsIHkgd2l0aCBkaWFtYXRlciBkaWFtZXRlci4KCiAgICBt
eSAkc2VsZiA9IHNoaWZ0OwogICAgIyBOT1RFOiB3ZSBkb24ndCBoYXZlIHRvIHNjYWxlIHRoZSBh
cmdzLCBhcyB0aGUgZWxlbWVudF9hZGRfYXJjIG1ldGhvZAogICAgIyB3aWxsIGVuZCB1cCBkb2lu
ZyBpdC4KICAgIG15ICV2ID0gQF87CiAgICAKICAgIG5vdCBQY2JfOTo6X3ByaW50X21pc3Npbmdf
ZmllbGRzKAogICAgICAgICAgICAnZWxlbWVudF9hZGRfZG90JywgXCV2LCBxdyh4IHkgZGlhbWV0
ZXIpICkKICAgICAgICBvciBjb25mZXNzICJyZXF1aXJlZCBhcmd1bWVudCBmaWVsZChzKSBtaXNz
aW5nIChzZWUgYWJvdmUpIjsKCiAgICAkc2VsZi0+ZWxlbWVudF9hZGRfYXJjKAogICAgICAgIHgg
PT4gJHZ7eH0sCiAgICAgICAgeSA9PiAkdnt5fSwKICAgICAgICB3aWR0aCA9PiAgJHZ7ZGlhbWV0
ZXJ9IC8gNC4wLAogICAgICAgIGhlaWdodCA9PiAkdntkaWFtZXRlcn0gLyA0LjAsCiAgICAgICAg
c3RhcnRfYW5nbGUgPT4gMC4wLAogICAgICAgIGRlbHRhX2FuZ2xlID0+IDM2MC4wLAogICAgICAg
IHRoaWNrbmVzcyA9PiAkdntkaWFtZXRlcn0gLyAyLjAgKTsKfSAjIH19fTEKCnJldHVybiAibW9k
dWxlIHJldHVybiB0cnVlIjsKCl9fREFUQV9fClN5bWJvbCgnICcgMTgpCigKKQpTeW1ib2woJyEn
IDEyKQooCglTeW1ib2xMaW5lKDAgMzUgMCA0MCA4KQoJU3ltYm9sTGluZSgwIDAgMCAyNSA4KQop
ClN5bWJvbCgnIicgMTIpCigKCVN5bWJvbExpbmUoMCAwIDAgMTAgOCkKCVN5bWJvbExpbmUoMTAg
MCAxMCAxMCA4KQopClN5bWJvbCgnIycgMTIpCigKCVN5bWJvbExpbmUoMCAyNSAyMCAyNSA4KQoJ
U3ltYm9sTGluZSgwIDE1IDIwIDE1IDgpCglTeW1ib2xMaW5lKDE1IDEwIDE1IDMwIDgpCglTeW1i
b2xMaW5lKDUgMTAgNSAzMCA4KQopClN5bWJvbCgnJCcgMTIpCigKCVN5bWJvbExpbmUoMTUgNSAy
MCAxMCA4KQoJU3ltYm9sTGluZSg1IDUgMTUgNSA4KQoJU3ltYm9sTGluZSgwIDEwIDUgNSA4KQoJ
U3ltYm9sTGluZSgwIDEwIDAgMTUgOCkKCVN5bWJvbExpbmUoMCAxNSA1IDIwIDgpCglTeW1ib2xM
aW5lKDUgMjAgMTUgMjAgOCkKCVN5bWJvbExpbmUoMTUgMjAgMjAgMjUgOCkKCVN5bWJvbExpbmUo
MjAgMjUgMjAgMzAgOCkKCVN5bWJvbExpbmUoMTUgMzUgMjAgMzAgOCkKCVN5bWJvbExpbmUoNSAz
NSAxNSAzNSA4KQoJU3ltYm9sTGluZSgwIDMwIDUgMzUgOCkKCVN5bWJvbExpbmUoMTAgMCAxMCA0
MCA4KQopClN5bWJvbCgnJScgMTIpCigKCVN5bWJvbExpbmUoMCA1IDAgMTAgOCkKCVN5bWJvbExp
bmUoMCA1IDUgMCA4KQoJU3ltYm9sTGluZSg1IDAgMTAgMCA4KQoJU3ltYm9sTGluZSgxMCAwIDE1
IDUgOCkKCVN5bWJvbExpbmUoMTUgNSAxNSAxMCA4KQoJU3ltYm9sTGluZSgxMCAxNSAxNSAxMCA4
KQoJU3ltYm9sTGluZSg1IDE1IDEwIDE1IDgpCglTeW1ib2xMaW5lKDAgMTAgNSAxNSA4KQoJU3lt
Ym9sTGluZSgwIDQwIDQwIDAgOCkKCVN5bWJvbExpbmUoMzUgNDAgNDAgMzUgOCkKCVN5bWJvbExp
bmUoNDAgMzAgNDAgMzUgOCkKCVN5bWJvbExpbmUoMzUgMjUgNDAgMzAgOCkKCVN5bWJvbExpbmUo
MzAgMjUgMzUgMjUgOCkKCVN5bWJvbExpbmUoMjUgMzAgMzAgMjUgOCkKCVN5bWJvbExpbmUoMjUg
MzAgMjUgMzUgOCkKCVN5bWJvbExpbmUoMjUgMzUgMzAgNDAgOCkKCVN5bWJvbExpbmUoMzAgNDAg
MzUgNDAgOCkKKQpTeW1ib2woJyYnIDEyKQooCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQoJU3lt
Ym9sTGluZSgwIDUgMCAxNSA4KQoJU3ltYm9sTGluZSgwIDUgNSAwIDgpCglTeW1ib2xMaW5lKDAg
MjUgMTUgMTAgOCkKCVN5bWJvbExpbmUoNSA0MCAxMCA0MCA4KQoJU3ltYm9sTGluZSgxMCA0MCAy
MCAzMCA4KQoJU3ltYm9sTGluZSgwIDE1IDI1IDQwIDgpCglTeW1ib2xMaW5lKDUgMCAxMCAwIDgp
CglTeW1ib2xMaW5lKDEwIDAgMTUgNSA4KQoJU3ltYm9sTGluZSgxNSA1IDE1IDEwIDgpCglTeW1i
b2xMaW5lKDAgMjUgMCAzNSA4KQopClN5bWJvbCgnJycgMTIpCigKCVN5bWJvbExpbmUoMCAxMCAx
MCAwIDgpCikKU3ltYm9sKCcoJyAxMikKKAoJU3ltYm9sTGluZSgwIDM1IDUgNDAgOCkKCVN5bWJv
bExpbmUoMCA1IDUgMCA4KQoJU3ltYm9sTGluZSgwIDUgMCAzNSA4KQopClN5bWJvbCgnKScgMTIp
CigKCVN5bWJvbExpbmUoMCAwIDUgNSA4KQoJU3ltYm9sTGluZSg1IDUgNSAzNSA4KQoJU3ltYm9s
TGluZSgwIDQwIDUgMzUgOCkKKQpTeW1ib2woJyonIDEyKQooCglTeW1ib2xMaW5lKDAgMTAgMjAg
MzAgOCkKCVN5bWJvbExpbmUoMCAzMCAyMCAxMCA4KQoJU3ltYm9sTGluZSgwIDIwIDIwIDIwIDgp
CglTeW1ib2xMaW5lKDEwIDEwIDEwIDMwIDgpCikKU3ltYm9sKCcrJyAxMikKKAoJU3ltYm9sTGlu
ZSgwIDIwIDIwIDIwIDgpCglTeW1ib2xMaW5lKDEwIDEwIDEwIDMwIDgpCikKU3ltYm9sKCcsJyAx
MikKKAoJU3ltYm9sTGluZSgwIDUwIDEwIDQwIDgpCikKU3ltYm9sKCctJyAxMikKKAoJU3ltYm9s
TGluZSgwIDIwIDIwIDIwIDgpCikKU3ltYm9sKCcuJyAxMikKKAoJU3ltYm9sTGluZSgwIDQwIDUg
NDAgOCkKKQpTeW1ib2woJy8nIDEyKQooCglTeW1ib2xMaW5lKDAgMzUgMzAgNSA4KQopClN5bWJv
bCgnMCcgMTIpCigKCVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCglTeW1ib2xMaW5lKDAgNSAwIDM1
IDgpCglTeW1ib2xMaW5lKDAgNSA1IDAgOCkKCVN5bWJvbExpbmUoNSAwIDE1IDAgOCkKCVN5bWJv
bExpbmUoMTUgMCAyMCA1IDgpCglTeW1ib2xMaW5lKDIwIDUgMjAgMzUgOCkKCVN5bWJvbExpbmUo
MTUgNDAgMjAgMzUgOCkKCVN5bWJvbExpbmUoNSA0MCAxNSA0MCA4KQoJU3ltYm9sTGluZSgwIDMw
IDIwIDEwIDgpCikKU3ltYm9sKCcxJyAxMikKKAoJU3ltYm9sTGluZSggMCAgOCAgOCAgMCA4KQoJ
U3ltYm9sTGluZSggOCAgMCAgOCA0MCA4KQoJU3ltYm9sTGluZSggMCA0MCAxNSA0MCA4KQopClN5
bWJvbCgnMicgMTIpCigKCVN5bWJvbExpbmUoMCA1IDUgMCA4KQoJU3ltYm9sTGluZSg1IDAgMjAg
MCA4KQoJU3ltYm9sTGluZSgyMCAwIDI1IDUgOCkKCVN5bWJvbExpbmUoMjUgNSAyNSAxNSA4KQoJ
U3ltYm9sTGluZSgwIDQwIDI1IDE1IDgpCglTeW1ib2xMaW5lKDAgNDAgMjUgNDAgOCkKKQpTeW1i
b2woJzMnIDEyKQooCglTeW1ib2xMaW5lKCAwICA1ICA1ICAwIDgpCglTeW1ib2xMaW5lKCA1ICAw
IDE1ICAwIDgpCglTeW1ib2xMaW5lKDE1ICAwIDIwICA1IDgpCglTeW1ib2xMaW5lKDE1IDQwIDIw
IDM1IDgpCglTeW1ib2xMaW5lKCA1IDQwIDE1IDQwIDgpCglTeW1ib2xMaW5lKCAwIDM1ICA1IDQw
IDgpCgoJU3ltYm9sTGluZSggNSAxOCAxNSAxOCA4KQoJU3ltYm9sTGluZSgyMCAgNSAyMCAxMyA4
KQoJU3ltYm9sTGluZSgyMCAyMyAyMCAzNSA4KQoJU3ltYm9sTGluZSgyMCAyMyAxNSAxOCA4KQoJ
U3ltYm9sTGluZSgyMCAxMyAxNSAxOCA4KQopClN5bWJvbCgnNCcgMTIpCigKCVN5bWJvbExpbmUo
MCAyNSAyMCAwIDgpCglTeW1ib2xMaW5lKDAgMjUgMjUgMjUgOCkKCVN5bWJvbExpbmUoMjAgMCAy
MCA0MCA4KQopClN5bWJvbCgnNScgMTIpCigKCVN5bWJvbExpbmUoMCAwIDIwIDAgOCkKCVN5bWJv
bExpbmUoMCAwIDAgMjAgOCkKCVN5bWJvbExpbmUoMCAyMCA1IDE1IDgpCglTeW1ib2xMaW5lKDUg
MTUgMTUgMTUgOCkKCVN5bWJvbExpbmUoMTUgMTUgMjAgMjAgOCkKCVN5bWJvbExpbmUoMjAgMjAg
MjAgMzUgOCkKCVN5bWJvbExpbmUoMTUgNDAgMjAgMzUgOCkKCVN5bWJvbExpbmUoNSA0MCAxNSA0
MCA4KQoJU3ltYm9sTGluZSgwIDM1IDUgNDAgOCkKKQpTeW1ib2woJzYnIDEyKQooCglTeW1ib2xM
aW5lKDE1ICAwIDIwICA1IDgpCglTeW1ib2xMaW5lKCA1ICAwIDE1ICAwIDgpCglTeW1ib2xMaW5l
KCAwICA1ICA1ICAwIDgpCglTeW1ib2xMaW5lKCAwICA1ICAwIDM1IDgpCglTeW1ib2xMaW5lKCAw
IDM1ICA1IDQwIDgpCglTeW1ib2xMaW5lKDE1IDE4IDIwIDIzIDgpCglTeW1ib2xMaW5lKCAwIDE4
IDE1IDE4IDgpCglTeW1ib2xMaW5lKCA1IDQwIDE1IDQwIDgpCglTeW1ib2xMaW5lKDE1IDQwIDIw
IDM1IDgpCglTeW1ib2xMaW5lKDIwIDIzIDIwIDM1IDgpCikKU3ltYm9sKCc3JyAxMikKKAoJU3lt
Ym9sTGluZSggNSA0MCAyNSAgMCA4KQoJU3ltYm9sTGluZSggMCAgMCAyNSAgMCA4KQopClN5bWJv
bCgnOCcgMTIpCigKCVN5bWJvbExpbmUoIDAgMzUgIDUgNDAgOCkKCVN5bWJvbExpbmUoIDAgMjcg
IDAgMzUgOCkKCVN5bWJvbExpbmUoIDAgMjcgIDcgMjAgOCkKCVN5bWJvbExpbmUoIDcgMjAgMTMg
MjAgOCkKCVN5bWJvbExpbmUoMTMgMjAgMjAgMjcgOCkKCVN5bWJvbExpbmUoMjAgMjcgMjAgMzUg
OCkKCVN5bWJvbExpbmUoMTUgNDAgMjAgMzUgOCkKCVN5bWJvbExpbmUoIDUgNDAgMTUgNDAgOCkK
CVN5bWJvbExpbmUoIDAgMTMgIDcgMjAgOCkKCVN5bWJvbExpbmUoIDAgIDUgIDAgMTMgOCkKCVN5
bWJvbExpbmUoIDAgIDUgIDUgIDAgOCkKCVN5bWJvbExpbmUoIDUgIDAgMTUgIDAgOCkKCVN5bWJv
bExpbmUoMTUgIDAgMjAgIDUgOCkKCVN5bWJvbExpbmUoMjAgIDUgMjAgMTMgOCkKCVN5bWJvbExp
bmUoMTMgMjAgMjAgMTMgOCkKKQpTeW1ib2woJzknIDEyKQooCglTeW1ib2xMaW5lKDUgNDAgMjAg
MjAgOCkKCVN5bWJvbExpbmUoMjAgNSAyMCAyMCA4KQoJU3ltYm9sTGluZSgxNSAwIDIwIDUgOCkK
CVN5bWJvbExpbmUoNSAwIDE1IDAgOCkKCVN5bWJvbExpbmUoMCA1IDUgMCA4KQoJU3ltYm9sTGlu
ZSgwIDUgMCAxNSA4KQoJU3ltYm9sTGluZSgwIDE1IDUgMjAgOCkKCVN5bWJvbExpbmUoNSAyMCAy
MCAyMCA4KQopClN5bWJvbCgnOicgMTIpCigKCVN5bWJvbExpbmUoMCAxNSA1IDE1IDgpCglTeW1i
b2xMaW5lKDAgMjUgNSAyNSA4KQopClN5bWJvbCgnOycgMTIpCigKCVN5bWJvbExpbmUoMCA0MCAx
MCAzMCA4KQoJU3ltYm9sTGluZSgxMCAxNSAxMCAyMCA4KQopClN5bWJvbCgnPCcgMTIpCigKCVN5
bWJvbExpbmUoMCAyMCAxMCAxMCA4KQoJU3ltYm9sTGluZSgwIDIwIDEwIDMwIDgpCikKU3ltYm9s
KCc9JyAxMikKKAoJU3ltYm9sTGluZSgwIDE1IDIwIDE1IDgpCglTeW1ib2xMaW5lKDAgMjUgMjAg
MjUgOCkKKQpTeW1ib2woJz4nIDEyKQooCglTeW1ib2xMaW5lKDAgMTAgMTAgMjAgOCkKCVN5bWJv
bExpbmUoMCAzMCAxMCAyMCA4KQopClN5bWJvbCgnPycgMTIpCigKCVN5bWJvbExpbmUoMTAgMjAg
MTAgMjUgOCkKCVN5bWJvbExpbmUoMTAgMzUgMTAgNDAgOCkKCVN5bWJvbExpbmUoMCA1IDAgMTAg
OCkKCVN5bWJvbExpbmUoMCA1IDUgMCA4KQoJU3ltYm9sTGluZSg1IDAgMTUgMCA4KQoJU3ltYm9s
TGluZSgxNSAwIDIwIDUgOCkKCVN5bWJvbExpbmUoMjAgNSAyMCAxMCA4KQoJU3ltYm9sTGluZSgx
MCAyMCAyMCAxMCA4KQopClN5bWJvbCgnQScgMTIpCigKCVN5bWJvbExpbmUoIDAgMTAgIDAgNDAg
OCkKCVN5bWJvbExpbmUoIDAgMTAgIDcgIDAgOCkKCVN5bWJvbExpbmUoIDcgIDAgMTggIDAgOCkK
CVN5bWJvbExpbmUoMTggIDAgMjUgMTAgOCkKCVN5bWJvbExpbmUoMjUgMTAgMjUgNDAgOCkKCVN5
bWJvbExpbmUoIDAgMjAgMjUgMjAgOCkKKQpTeW1ib2woJ0InIDEyKQooCglTeW1ib2xMaW5lKCAw
IDQwIDIwIDQwIDgpCglTeW1ib2xMaW5lKDIwIDQwIDI1IDM1IDgpCglTeW1ib2xMaW5lKDI1IDIz
IDI1IDM1IDgpCglTeW1ib2xMaW5lKDIwIDE4IDI1IDIzIDgpCglTeW1ib2xMaW5lKCA1IDE4IDIw
IDE4IDgpCglTeW1ib2xMaW5lKCA1ICAwICA1IDQwIDgpCglTeW1ib2xMaW5lKCAwICAwIDIwICAw
IDgpCglTeW1ib2xMaW5lKDIwICAwIDI1ICA1IDgpCglTeW1ib2xMaW5lKDI1ICA1IDI1IDEzIDgp
CglTeW1ib2xMaW5lKDIwIDE4IDI1IDEzIDgpCikKU3ltYm9sKCdDJyAxMikKKAoJU3ltYm9sTGlu
ZSg3IDQwIDIwIDQwIDgpCglTeW1ib2xMaW5lKDAgMzMgIDcgNDAgOCkKCVN5bWJvbExpbmUoMCAg
NyAgMCAzMyA4KQoJU3ltYm9sTGluZSgwICA3ICA3ICAwIDgpCglTeW1ib2xMaW5lKDcgIDAgMjAg
IDAgOCkKKQpTeW1ib2woJ0QnIDEyKQooCglTeW1ib2xMaW5lKCA1ICAwICA1IDQwIDgpCglTeW1i
b2xMaW5lKDE4ICAwIDI1ICA3IDgpCglTeW1ib2xMaW5lKDI1ICA3IDI1IDMzIDgpCglTeW1ib2xM
aW5lKDE4IDQwIDI1IDMzIDgpCglTeW1ib2xMaW5lKCAwIDQwIDE4IDQwIDgpCglTeW1ib2xMaW5l
KCAwICAwIDE4ICAwIDgpCikKU3ltYm9sKCdFJyAxMikKKAoJU3ltYm9sTGluZSgwIDE4IDE1IDE4
IDgpCglTeW1ib2xMaW5lKDAgNDAgMjAgNDAgOCkKCVN5bWJvbExpbmUoMCAgMCAgMCA0MCA4KQoJ
U3ltYm9sTGluZSgwICAwIDIwICAwIDgpCikKU3ltYm9sKCdGJyAxMikKKAoJU3ltYm9sTGluZSgw
ICAwICAwIDQwIDgpCglTeW1ib2xMaW5lKDAgIDAgMjAgIDAgOCkKCVN5bWJvbExpbmUoMCAxOCAx
NSAxOCA4KQopClN5bWJvbCgnRycgMTIpCigKCVN5bWJvbExpbmUoMjAgMCAyNSA1IDgpCglTeW1i
b2xMaW5lKDUgMCAyMCAwIDgpCglTeW1ib2xMaW5lKDAgNSA1IDAgOCkKCVN5bWJvbExpbmUoMCA1
IDAgMzUgOCkKCVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCglTeW1ib2xMaW5lKDUgNDAgMjAgNDAg
OCkKCVN5bWJvbExpbmUoMjAgNDAgMjUgMzUgOCkKCVN5bWJvbExpbmUoMjUgMjUgMjUgMzUgOCkK
CVN5bWJvbExpbmUoMjAgMjAgMjUgMjUgOCkKCVN5bWJvbExpbmUoMTAgMjAgMjAgMjAgOCkKKQpT
eW1ib2woJ0gnIDEyKQooCglTeW1ib2xMaW5lKDAgMCAwIDQwIDgpCglTeW1ib2xMaW5lKDI1IDAg
MjUgNDAgOCkKCVN5bWJvbExpbmUoMCAyMCAyNSAyMCA4KQopClN5bWJvbCgnSScgMTIpCigKCVN5
bWJvbExpbmUoMCAwIDEwIDAgOCkKCVN5bWJvbExpbmUoNSAwIDUgNDAgOCkKCVN5bWJvbExpbmUo
MCA0MCAxMCA0MCA4KQopClN5bWJvbCgnSicgMTIpCigKCVN5bWJvbExpbmUoIDcgIDAgMTUgIDAg
OCkKCVN5bWJvbExpbmUoMTUgIDAgMTUgMzUgOCkKCVN5bWJvbExpbmUoMTAgNDAgMTUgMzUgOCkK
CVN5bWJvbExpbmUoIDUgNDAgMTAgNDAgOCkKCVN5bWJvbExpbmUoIDAgMzUgIDUgNDAgOCkKCVN5
bWJvbExpbmUoIDAgMzUgIDAgMzAgOCkKKQpTeW1ib2woJ0snIDEyKQooCglTeW1ib2xMaW5lKDAg
MCAwIDQwIDgpCglTeW1ib2xMaW5lKDAgMjAgMjAgMCA4KQoJU3ltYm9sTGluZSgwIDIwIDIwIDQw
IDgpCikKU3ltYm9sKCdMJyAxMikKKAoJU3ltYm9sTGluZSgwIDAgMCA0MCA4KQoJU3ltYm9sTGlu
ZSgwIDQwIDIwIDQwIDgpCikKU3ltYm9sKCdNJyAxMikKKAoJU3ltYm9sTGluZSgwIDAgMCA0MCA4
KQoJU3ltYm9sTGluZSgwIDAgMTUgMjAgOCkKCVN5bWJvbExpbmUoMTUgMjAgMzAgMCA4KQoJU3lt
Ym9sTGluZSgzMCAwIDMwIDQwIDgpCikKU3ltYm9sKCdOJyAxMikKKAoJU3ltYm9sTGluZSgwIDAg
MCA0MCA4KQoJU3ltYm9sTGluZSgwIDAgMjUgNDAgOCkKCVN5bWJvbExpbmUoMjUgMCAyNSA0MCA4
KQopClN5bWJvbCgnTycgMTIpCigKCVN5bWJvbExpbmUoMCA1IDAgMzUgOCkKCVN5bWJvbExpbmUo
MCA1IDUgMCA4KQoJU3ltYm9sTGluZSg1IDAgMTUgMCA4KQoJU3ltYm9sTGluZSgxNSAwIDIwIDUg
OCkKCVN5bWJvbExpbmUoMjAgNSAyMCAzNSA4KQoJU3ltYm9sTGluZSgxNSA0MCAyMCAzNSA4KQoJ
U3ltYm9sTGluZSg1IDQwIDE1IDQwIDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQopClN5bWJv
bCgnUCcgMTIpCigKCVN5bWJvbExpbmUoNSAwIDUgNDAgOCkKCVN5bWJvbExpbmUoMCAwIDIwIDAg
OCkKCVN5bWJvbExpbmUoMjAgMCAyNSA1IDgpCglTeW1ib2xMaW5lKDI1IDUgMjUgMTUgOCkKCVN5
bWJvbExpbmUoMjAgMjAgMjUgMTUgOCkKCVN5bWJvbExpbmUoNSAyMCAyMCAyMCA4KQopClN5bWJv
bCgnUScgMTIpCigKCVN5bWJvbExpbmUoIDAgIDUgIDAgMzUgOCkKCVN5bWJvbExpbmUoIDAgIDUg
IDUgIDAgOCkKCVN5bWJvbExpbmUoIDUgIDAgMTUgIDAgOCkKCVN5bWJvbExpbmUoMTUgIDAgMjAg
IDUgOCkKCVN5bWJvbExpbmUoMjAgIDUgMjAgMzAgOCkKCVN5bWJvbExpbmUoMTAgNDAgMjAgMzAg
OCkKCVN5bWJvbExpbmUoIDUgNDAgMTAgNDAgOCkKCVN5bWJvbExpbmUoIDAgMzUgIDUgNDAgOCkK
CVN5bWJvbExpbmUoMTAgMjUgMjAgNDAgOCkKKQpTeW1ib2woJ1InIDEyKQooCglTeW1ib2xMaW5l
KCAwICAwIDIwICAwIDgpCglTeW1ib2xMaW5lKDIwICAwIDI1ICA1IDgpCglTeW1ib2xMaW5lKDI1
ICA1IDI1IDE1IDgpCglTeW1ib2xMaW5lKDIwIDIwIDI1IDE1IDgpCglTeW1ib2xMaW5lKCA1IDIw
IDIwIDIwIDgpCglTeW1ib2xMaW5lKCA1ICAwICA1IDQwIDgpCglTeW1ib2xMaW5lKDEzIDIwIDI1
IDQwIDgpCikKU3ltYm9sKCdTJyAxMikKKAoJU3ltYm9sTGluZSgyMCAwIDI1IDUgOCkKCVN5bWJv
bExpbmUoNSAwIDIwIDAgOCkKCVN5bWJvbExpbmUoMCA1IDUgMCA4KQoJU3ltYm9sTGluZSgwIDUg
MCAxNSA4KQoJU3ltYm9sTGluZSgwIDE1IDUgMjAgOCkKCVN5bWJvbExpbmUoNSAyMCAyMCAyMCA4
KQoJU3ltYm9sTGluZSgyMCAyMCAyNSAyNSA4KQoJU3ltYm9sTGluZSgyNSAyNSAyNSAzNSA4KQoJ
U3ltYm9sTGluZSgyMCA0MCAyNSAzNSA4KQoJU3ltYm9sTGluZSg1IDQwIDIwIDQwIDgpCglTeW1i
b2xMaW5lKDAgMzUgNSA0MCA4KQopClN5bWJvbCgnVCcgMTIpCigKCVN5bWJvbExpbmUoMCAwIDIw
IDAgOCkKCVN5bWJvbExpbmUoMTAgMCAxMCA0MCA4KQopClN5bWJvbCgnVScgMTIpCigKCVN5bWJv
bExpbmUoMCAwIDAgMzUgOCkKCVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCglTeW1ib2xMaW5lKDUg
NDAgMTUgNDAgOCkKCVN5bWJvbExpbmUoMTUgNDAgMjAgMzUgOCkKCVN5bWJvbExpbmUoMjAgMCAy
MCAzNSA4KQopClN5bWJvbCgnVicgMTIpCigKCVN5bWJvbExpbmUoIDAgIDAgMTAgNDAgOCkKCVN5
bWJvbExpbmUoMTAgNDAgMjAgIDAgOCkKKQpTeW1ib2woJ1cnIDEyKQooCglTeW1ib2xMaW5lKCAw
ICAwICAwIDIwIDgpCglTeW1ib2xMaW5lKCAwIDIwICA1IDQwIDgpCglTeW1ib2xMaW5lKCA1IDQw
IDE1IDIwIDgpCglTeW1ib2xMaW5lKDE1IDIwIDI1IDQwIDgpCglTeW1ib2xMaW5lKDI1IDQwIDMw
IDIwIDgpCglTeW1ib2xMaW5lKDMwIDIwIDMwICAwIDgpCikKU3ltYm9sKCdYJyAxMikKKAoJU3lt
Ym9sTGluZSggMCA0MCAyNSAgMCA4KQoJU3ltYm9sTGluZSggMCAgMCAyNSA0MCA4KQopClN5bWJv
bCgnWScgMTIpCigKCVN5bWJvbExpbmUoIDAgIDAgMTAgMjAgOCkKCVN5bWJvbExpbmUoMTAgMjAg
MjAgIDAgOCkKCVN5bWJvbExpbmUoMTAgMjAgMTAgNDAgOCkKKQpTeW1ib2woJ1onIDEyKQooCglT
eW1ib2xMaW5lKCAwICAwIDI1ICAwIDgpCglTeW1ib2xMaW5lKCAwIDQwIDI1ICAwIDgpCglTeW1i
b2xMaW5lKCAwIDQwIDI1IDQwIDgpCikKU3ltYm9sKCdbJyAxMikKKAoJU3ltYm9sTGluZSgwIDAg
NSAwIDgpCglTeW1ib2xMaW5lKDAgMCAwIDQwIDgpCglTeW1ib2xMaW5lKDAgNDAgNSA0MCA4KQop
ClN5bWJvbCgnXCcgMTIpCigKCVN5bWJvbExpbmUoMCA1IDMwIDM1IDgpCikKU3ltYm9sKCddJyAx
MikKKAoJU3ltYm9sTGluZSgwIDAgNSAwIDgpCglTeW1ib2xMaW5lKDUgMCA1IDQwIDgpCglTeW1i
b2xMaW5lKDAgNDAgNSA0MCA4KQopClN5bWJvbCgnXicgMTIpCigKCVN5bWJvbExpbmUoMCA1IDUg
MCA4KQoJU3ltYm9sTGluZSg1IDAgMTAgNSA4KQopClN5bWJvbCgnXycgMTIpCigKCVN5bWJvbExp
bmUoMCA0MCAyMCA0MCA4KQopClN5bWJvbCgnYScgMTIpCigKCVN5bWJvbExpbmUoMTUgMjAgMjAg
MjUgOCkKCVN5bWJvbExpbmUoNSAyMCAxNSAyMCA4KQoJU3ltYm9sTGluZSgwIDI1IDUgMjAgOCkK
CVN5bWJvbExpbmUoMCAyNSAwIDM1IDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQoJU3ltYm9s
TGluZSgyMCAyMCAyMCAzNSA4KQoJU3ltYm9sTGluZSgyMCAzNSAyNSA0MCA4KQoJU3ltYm9sTGlu
ZSg1IDQwIDE1IDQwIDgpCglTeW1ib2xMaW5lKDE1IDQwIDIwIDM1IDgpCikKU3ltYm9sKCdiJyAx
MikKKAoJU3ltYm9sTGluZSgwIDAgMCA0MCA4KQoJU3ltYm9sTGluZSgwIDM1IDUgNDAgOCkKCVN5
bWJvbExpbmUoNSA0MCAxNSA0MCA4KQoJU3ltYm9sTGluZSgxNSA0MCAyMCAzNSA4KQoJU3ltYm9s
TGluZSgyMCAyNSAyMCAzNSA4KQoJU3ltYm9sTGluZSgxNSAyMCAyMCAyNSA4KQoJU3ltYm9sTGlu
ZSg1IDIwIDE1IDIwIDgpCglTeW1ib2xMaW5lKDAgMjUgNSAyMCA4KQopClN5bWJvbCgnYycgMTIp
CigKCVN5bWJvbExpbmUoNSAyMCAyMCAyMCA4KQoJU3ltYm9sTGluZSgwIDI1IDUgMjAgOCkKCVN5
bWJvbExpbmUoMCAyNSAwIDM1IDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQoJU3ltYm9sTGlu
ZSg1IDQwIDIwIDQwIDgpCikKU3ltYm9sKCdkJyAxMikKKAoJU3ltYm9sTGluZSgyMCAwIDIwIDQw
IDgpCglTeW1ib2xMaW5lKDE1IDQwIDIwIDM1IDgpCglTeW1ib2xMaW5lKDUgNDAgMTUgNDAgOCkK
CVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCglTeW1ib2xMaW5lKDAgMjUgMCAzNSA4KQoJU3ltYm9s
TGluZSgwIDI1IDUgMjAgOCkKCVN5bWJvbExpbmUoNSAyMCAxNSAyMCA4KQoJU3ltYm9sTGluZSgx
NSAyMCAyMCAyNSA4KQopClN5bWJvbCgnZScgMTIpCigKCVN5bWJvbExpbmUoNSA0MCAyMCA0MCA4
KQoJU3ltYm9sTGluZSgwIDM1IDUgNDAgOCkKCVN5bWJvbExpbmUoMCAyNSAwIDM1IDgpCglTeW1i
b2xMaW5lKDAgMjUgNSAyMCA4KQoJU3ltYm9sTGluZSg1IDIwIDE1IDIwIDgpCglTeW1ib2xMaW5l
KDE1IDIwIDIwIDI1IDgpCglTeW1ib2xMaW5lKDAgMzAgMjAgMzAgOCkKCVN5bWJvbExpbmUoMjAg
MzAgMjAgMjUgOCkKKQpTeW1ib2woJ2YnIDEwKQooCglTeW1ib2xMaW5lKDUgNSA1IDQwIDgpCglT
eW1ib2xMaW5lKDUgNSAxMCAwIDgpCglTeW1ib2xMaW5lKDEwIDAgMTUgMCA4KQoJU3ltYm9sTGlu
ZSgwIDIwIDEwIDIwIDgpCikKU3ltYm9sKCdnJyAxMikKKAoJU3ltYm9sTGluZSgxNSAyMCAyMCAy
NSA4KQoJU3ltYm9sTGluZSg1IDIwIDE1IDIwIDgpCglTeW1ib2xMaW5lKDAgMjUgNSAyMCA4KQoJ
U3ltYm9sTGluZSgwIDI1IDAgMzUgOCkKCVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCglTeW1ib2xM
aW5lKDUgNDAgMTUgNDAgOCkKCVN5bWJvbExpbmUoMTUgNDAgMjAgMzUgOCkKCVN5bWJvbExpbmUo
MCA1MCA1IDU1IDgpCglTeW1ib2xMaW5lKDUgNTUgMTUgNTUgOCkKCVN5bWJvbExpbmUoMTUgNTUg
MjAgNTAgOCkKCVN5bWJvbExpbmUoMjAgMjAgMjAgNTAgOCkKKQpTeW1ib2woJ2gnIDEyKQooCglT
eW1ib2xMaW5lKDAgMCAwIDQwIDgpCglTeW1ib2xMaW5lKDAgMjUgNSAyMCA4KQoJU3ltYm9sTGlu
ZSg1IDIwIDE1IDIwIDgpCglTeW1ib2xMaW5lKDE1IDIwIDIwIDI1IDgpCglTeW1ib2xMaW5lKDIw
IDI1IDIwIDQwIDgpCikKU3ltYm9sKCdpJyAxMCkKKAoJU3ltYm9sTGluZSgwIDEwIDAgMTEgMTAp
CglTeW1ib2xMaW5lKDAgMjUgMCA0MCA4KQopClN5bWJvbCgnaicgMTApCigKCVN5bWJvbExpbmUo
NSAxMCA1IDExIDEwKQoJU3ltYm9sTGluZSg1IDI1IDUgNTAgOCkKCVN5bWJvbExpbmUoMCA1NSA1
IDUwIDgpCikKU3ltYm9sKCdrJyAxMikKKAoJU3ltYm9sTGluZSgwIDAgMCA0MCA4KQoJU3ltYm9s
TGluZSgwIDI1IDE1IDQwIDgpCglTeW1ib2xMaW5lKDAgMjUgMTAgMTUgOCkKKQpTeW1ib2woJ2wn
IDEwKQooCglTeW1ib2xMaW5lKDAgMCAwIDM1IDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQop
ClN5bWJvbCgnbScgMTIpCigKCVN5bWJvbExpbmUoNSAyNSA1IDQwIDgpCglTeW1ib2xMaW5lKDUg
MjUgMTAgMjAgOCkKCVN5bWJvbExpbmUoMTAgMjAgMTUgMjAgOCkKCVN5bWJvbExpbmUoMTUgMjAg
MjAgMjUgOCkKCVN5bWJvbExpbmUoMjAgMjUgMjAgNDAgOCkKCVN5bWJvbExpbmUoMjAgMjUgMjUg
MjAgOCkKCVN5bWJvbExpbmUoMjUgMjAgMzAgMjAgOCkKCVN5bWJvbExpbmUoMzAgMjAgMzUgMjUg
OCkKCVN5bWJvbExpbmUoMzUgMjUgMzUgNDAgOCkKCVN5bWJvbExpbmUoMCAyMCA1IDI1IDgpCikK
U3ltYm9sKCduJyAxMikKKAoJU3ltYm9sTGluZSg1IDI1IDUgNDAgOCkKCVN5bWJvbExpbmUoNSAy
NSAxMCAyMCA4KQoJU3ltYm9sTGluZSgxMCAyMCAxNSAyMCA4KQoJU3ltYm9sTGluZSgxNSAyMCAy
MCAyNSA4KQoJU3ltYm9sTGluZSgyMCAyNSAyMCA0MCA4KQoJU3ltYm9sTGluZSgwIDIwIDUgMjUg
OCkKKQpTeW1ib2woJ28nIDEyKQooCglTeW1ib2xMaW5lKDAgMjUgMCAzNSA4KQoJU3ltYm9sTGlu
ZSgwIDI1IDUgMjAgOCkKCVN5bWJvbExpbmUoNSAyMCAxNSAyMCA4KQoJU3ltYm9sTGluZSgxNSAy
MCAyMCAyNSA4KQoJU3ltYm9sTGluZSgyMCAyNSAyMCAzNSA4KQoJU3ltYm9sTGluZSgxNSA0MCAy
MCAzNSA4KQoJU3ltYm9sTGluZSg1IDQwIDE1IDQwIDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4
KQopClN5bWJvbCgncCcgMTIpCigKCVN5bWJvbExpbmUoNSAyNSA1IDU1IDgpCglTeW1ib2xMaW5l
KDAgMjAgNSAyNSA4KQoJU3ltYm9sTGluZSg1IDI1IDEwIDIwIDgpCglTeW1ib2xMaW5lKDEwIDIw
IDIwIDIwIDgpCglTeW1ib2xMaW5lKDIwIDIwIDI1IDI1IDgpCglTeW1ib2xMaW5lKDI1IDI1IDI1
IDM1IDgpCglTeW1ib2xMaW5lKDIwIDQwIDI1IDM1IDgpCglTeW1ib2xMaW5lKDEwIDQwIDIwIDQw
IDgpCglTeW1ib2xMaW5lKDUgMzUgMTAgNDAgOCkKKQpTeW1ib2woJ3EnIDEyKQooCglTeW1ib2xM
aW5lKDIwIDI1IDIwIDU1IDgpCglTeW1ib2xMaW5lKDE1IDIwIDIwIDI1IDgpCglTeW1ib2xMaW5l
KDUgMjAgMTUgMjAgOCkKCVN5bWJvbExpbmUoMCAyNSA1IDIwIDgpCglTeW1ib2xMaW5lKDAgMjUg
MCAzNSA4KQoJU3ltYm9sTGluZSgwIDM1IDUgNDAgOCkKCVN5bWJvbExpbmUoNSA0MCAxNSA0MCA4
KQoJU3ltYm9sTGluZSgxNSA0MCAyMCAzNSA4KQopClN5bWJvbCgncicgMTIpCigKCVN5bWJvbExp
bmUoNSAyNSA1IDQwIDgpCglTeW1ib2xMaW5lKDUgMjUgMTAgMjAgOCkKCVN5bWJvbExpbmUoMTAg
MjAgMjAgMjAgOCkKCVN5bWJvbExpbmUoMCAyMCA1IDI1IDgpCikKU3ltYm9sKCdzJyAxMikKKAoJ
U3ltYm9sTGluZSg1IDQwIDIwIDQwIDgpCglTeW1ib2xMaW5lKDIwIDQwIDI1IDM1IDgpCglTeW1i
b2xMaW5lKDIwIDMwIDI1IDM1IDgpCglTeW1ib2xMaW5lKDUgMzAgMjAgMzAgOCkKCVN5bWJvbExp
bmUoMCAyNSA1IDMwIDgpCglTeW1ib2xMaW5lKDAgMjUgNSAyMCA4KQoJU3ltYm9sTGluZSg1IDIw
IDIwIDIwIDgpCglTeW1ib2xMaW5lKDIwIDIwIDI1IDI1IDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0
MCA4KQopClN5bWJvbCgndCcgMTApCigKCVN5bWJvbExpbmUoNSAwIDUgMzUgOCkKCVN5bWJvbExp
bmUoNSAzNSAxMCA0MCA4KQoJU3ltYm9sTGluZSgwIDE1IDEwIDE1IDgpCikKU3ltYm9sKCd1JyAx
MikKKAoJU3ltYm9sTGluZSgwIDIwIDAgMzUgOCkKCVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCglT
eW1ib2xMaW5lKDUgNDAgMTUgNDAgOCkKCVN5bWJvbExpbmUoMTUgNDAgMjAgMzUgOCkKCVN5bWJv
bExpbmUoMjAgMjAgMjAgMzUgOCkKKQpTeW1ib2woJ3YnIDEyKQooCglTeW1ib2xMaW5lKCAwIDIw
IDEwIDQwIDgpCglTeW1ib2xMaW5lKDIwIDIwIDEwIDQwIDgpCikKU3ltYm9sKCd3JyAxMikKKAoJ
U3ltYm9sTGluZSgwIDIwIDAgMzUgOCkKCVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCglTeW1ib2xM
aW5lKDUgNDAgMTAgNDAgOCkKCVN5bWJvbExpbmUoMTAgNDAgMTUgMzUgOCkKCVN5bWJvbExpbmUo
MTUgMjAgMTUgMzUgOCkKCVN5bWJvbExpbmUoMTUgMzUgMjAgNDAgOCkKCVN5bWJvbExpbmUoMjAg
NDAgMjUgNDAgOCkKCVN5bWJvbExpbmUoMjUgNDAgMzAgMzUgOCkKCVN5bWJvbExpbmUoMzAgMjAg
MzAgMzUgOCkKKQpTeW1ib2woJ3gnIDEyKQooCglTeW1ib2xMaW5lKDAgMjAgMjAgNDAgOCkKCVN5
bWJvbExpbmUoMCA0MCAyMCAyMCA4KQopClN5bWJvbCgneScgMTIpCigKCVN5bWJvbExpbmUoMCAy
MCAwIDM1IDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQoJU3ltYm9sTGluZSgyMCAyMCAyMCA1
MCA4KQoJU3ltYm9sTGluZSgxNSA1NSAyMCA1MCA4KQoJU3ltYm9sTGluZSg1IDU1IDE1IDU1IDgp
CglTeW1ib2xMaW5lKDAgNTAgNSA1NSA4KQoJU3ltYm9sTGluZSg1IDQwIDE1IDQwIDgpCglTeW1i
b2xMaW5lKDE1IDQwIDIwIDM1IDgpCikKU3ltYm9sKCd6JyAxMikKKAoJU3ltYm9sTGluZSgwIDIw
IDIwIDIwIDgpCglTeW1ib2xMaW5lKDAgNDAgMjAgMjAgOCkKCVN5bWJvbExpbmUoMCA0MCAyMCA0
MCA4KQopClN5bWJvbCgneycgMTIpCigKCVN5bWJvbExpbmUoNSA1IDEwIDAgOCkKCVN5bWJvbExp
bmUoNSA1IDUgMTUgOCkKCVN5bWJvbExpbmUoMCAyMCA1IDE1IDgpCglTeW1ib2xMaW5lKDAgMjAg
NSAyNSA4KQoJU3ltYm9sTGluZSg1IDI1IDUgMzUgOCkKCVN5bWJvbExpbmUoNSAzNSAxMCA0MCA4
KQopClN5bWJvbCgnfCcgMTIpCigKCVN5bWJvbExpbmUoMCAwIDAgNDAgOCkKKQpTeW1ib2woJ30n
IDEyKQooCglTeW1ib2xMaW5lKDAgMCA1IDUgOCkKCVN5bWJvbExpbmUoNSA1IDUgMTUgOCkKCVN5
bWJvbExpbmUoNSAxNSAxMCAyMCA4KQoJU3ltYm9sTGluZSg1IDI1IDEwIDIwIDgpCglTeW1ib2xM
aW5lKDUgMjUgNSAzNSA4KQoJU3ltYm9sTGluZSgwIDQwIDUgMzUgOCkKKQpTeW1ib2woJ34nIDEy
KQooCglTeW1ib2xMaW5lKDAgMjUgNSAyMCA4KQoJU3ltYm9sTGluZSg1IDIwIDEwIDIwIDgpCglT
eW1ib2xMaW5lKDEwIDIwIDE1IDI1IDgpCglTeW1ib2xMaW5lKDE1IDI1IDIwIDI1IDgpCglTeW1i
b2xMaW5lKDIwIDI1IDI1IDIwIDgpCikKU3ltYm9sKCdAJyAxMikKKCAKCVN5bWJvbExpbmUoMCAw
IDAgMzAgOCkKCVN5bWJvbExpbmUoMCAzMCAxMCA0MCA4KQoJU3ltYm9sTGluZSgxMCA0MCA0MCA0
MCA4KQoJU3ltYm9sTGluZSg1MCAyNSA1MCAwIDgpCglTeW1ib2xMaW5lKDUwIDAgNDAgLTEwIDgp
CglTeW1ib2xMaW5lKDQwIC0xMCAxMCAtMTAgOCkKCVN5bWJvbExpbmUoMTAgLTEwIDAgMCA4KQoJ
U3ltYm9sTGluZSgxNSAxMCAxNSAyMCA4KQoJU3ltYm9sTGluZSgxNSAyMCAyMCAyNSA4KQoJU3lt
Ym9sTGluZSgyMCAyNSAzMCAyNSA4KQoJU3ltYm9sTGluZSgzMCAyNSAzNSAyMCA4KQoJU3ltYm9s
TGluZSgzNSAyMCA0MCAyNSA4KQoJU3ltYm9sTGluZSgzNSAyMCAzNSA1IDgpCglTeW1ib2xMaW5l
KDM1IDEwIDMwIDUgOCkKCVN5bWJvbExpbmUoMjAgNSAzMCA1IDgpCglTeW1ib2xMaW5lKDIwIDUg
MTUgMTAgOCkKCVN5bWJvbExpbmUoNDAgMjUgNTAgMjUgOCkKKQo=
--089e01184990fbd38f04f8c842d4--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019