From johndorovski at googlemail.com Wed Nov 18 14:49:27 2009 Content-Type: multipart/mixed; boundary="===============5039199416007378784==" MIME-Version: 1.0 From: John Dorovski To: users at lists.dogtagpki.org Subject: Re: [Pki-users] (forwarded) Help needed on dogtag Date: Wed, 18 Nov 2009 14:49:14 -0500 Message-ID: In-Reply-To: 4B043BBF.8000001@redhat.com --===============5039199416007378784== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I checked my server.xml file. It does not have clientAuth=3D"agent". They are all defaulted to clientAuth=3D"true". On Wed, Nov 18, 2009 at 1:23 PM, Chandrasekar Kannan = wrote: > On 11/18/2009 09:49 AM, Chandrasekar Kannan wrote: > > On 11/18/2009 09:38 AM, Adewumi, Julius-p99373 wrote: > > SSL_ERROR_BAD_MAC_ALERT -12272 "SSL peer reports incorrect Message > Authentication Code." > > The remote system has reported that it received a message with a bad > Message Authentication Code from the local system. This may indicate that= an > attack on that server is underway. > > > *The trace shows "cipher-change-request" as last capture before Error > reported.* > > ** > > > Just FYI. we noticed a similar message during dogtag 1.2.0 > development but with a different HSM(nethsm). That issue > was fixed. > https://bugzilla.redhat.com/show_bug.cgi?id=3D495597 > > FWIW, we have never tried with the mentioned > Safenet Protectserver Gold HSM.... > > > > Can you check settings for this .. > > /var/lib/pki-ca/conf/server.xml > Look for clientAuth=3D"agent" > > If you see that can you replace that with > clientAuth=3D"true" and restart the CA > and see if it addresses the bad mac problem.. > > > > > > *From: Julius Adewumi* > *@GDC4S.com* > *Ph:480-441-6768* > *Contract Corp:MTSI* > > > ------------------------------ > *From:* John Dorovski [mailto:johndorovski(a)googlemail.com] > > *Sent:* Wednesday, November 18, 2009 7:34 AM > *To:* Chandrasekar Kannan > *Cc:* Adewumi, Julius-p99373; pki-users(a)redhat.com > *Subject:* Re: [Pki-users] (forwarded) Help needed on dogtag > > Here are the two certs ssltap captured. > > > On Wed, Nov 18, 2009 at 9:20 AM, John Dorovski < > johndorovski(a)googlemail.com> wrote: > >> Here is my ssltap output: >> >> [root(a)rd1 linux-i386]# ssltap -sfxl localhost.localdomain:9545 >> SSLTAP output >>
>> Looking up "localhost.localdomain"...
>> Proxy socket ready and listening
>> 


Connection #1 [Wed Nov 18 09:14:56 2009] >>

Connected to localhost.localdomain:9545 >> --> [ >> (120 bytes of 115) >> SSLRecord { [Wed Nov 18 09:14:56 2009] >> 0: 16 03 01 00 73 | ....s >> type =3D 22 (handshake) >> version =3D { 3,1 } >> length =3D 115 (0x73) >> handshake { >> 0: 01 00 00 6f | ...o >> type =3D 1 (client_hello) >> length =3D 111 (0x00006f) >> ClientHelloV3 { >> client_version =3D {3, 1} >> random =3D {...} >> 0: 4b 04 01 60 3e dd 86 f2 6c 26 cb 29 b3 a4 eb 26 | >> K..`>...l&.)...& >> 10: c0 17 f1 8e 24 0a 75 79 03 91 78 40 7b 58 5e 7b | ....$.uy..x@ >> {X^{ >> session ID =3D { >> length =3D 0 >> contents =3D {...} >> } >> cipher_suites[18] =3D { >> (0x0088) TLS/DHE-RSA/CAMELLIA256-CBC/SHA >> (0x0087) TLS/DHE-DSS/CAMELLIA256-CBC/SHA >> (0x0039) TLS/DHE-RSA/AES256-CBC/SHA >> (0x0038) TLS/DHE-DSS/AES256-CBC/SHA >> (0x0084) TLS/RSA/CAMELLIA256-CBC/SHA >> (0x0035) TLS/RSA/AES256-CBC/SHA >> (0x0045) TLS/DHE-RSA/CAMELLIA128-CBC/SHA >> (0x0044) TLS/DHE-DSS/CAMELLIA128-CBC/SHA >> (0x0033) TLS/DHE-RSA/AES128-CBC/SHA >> (0x0032) TLS/DHE-DSS/AES128-CBC/SHA >> (0x0041) TLS/RSA/CAMELLIA128-CBC/SHA >> (0x0004) SSL3/RSA/RC4-128/MD5 >> (0x0005) SSL3/RSA/RC4-128/SHA >> (0x002f) TLS/RSA/AES128-CBC/SHA >> (0x0016) SSL3/DHE-RSA/3DES192EDE-CBC/SHA >> (0x0013) SSL3/DHE-DSS/DES192EDE3CBC/SHA >> (0xfeff) SSL3/RSA-FIPS/3DESEDE-CBC/SHA >> (0x000a) SSL3/RSA/3DES192EDE-CBC/SHA >> } >> compression[1] =3D { 00 } >> extensions[34] =3D { >> extension type server_name, length [26] =3D { >> 0: 00 18 00 00 15 6c 6f 63 61 6c 68 6f 73 74 2e 6c | >> .....localhost.l >> 10: 6f 63 61 6c 64 6f 6d 61 69 6e | ocaldomain >> } >> extension type session_ticket, length [0] >> } >> } >> } >> } >> ] >> <-- [ >> (1903 bytes of 1898) >> SSLRecord { [Wed Nov 18 09:14:56 2009] >> 0: 16 03 01 07 6a | ....j >> type =3D 22 (handshake) >> version =3D { 3,1 } >> length =3D 1898 (0x76a) >> handshake { >> 0: 02 00 00 46 | ...F >> type =3D 2 (server_hello) >> length =3D 70 (0x000046) >> ServerHello { >> server_version =3D {3, 1} >> random =3D {...} >> 0: 4b 04 01 60 d1 86 09 69 01 8d c2 5e 1a 9c 99 16 | >> K..`...i...^.... >> 10: de 0e bd 27 b6 c5 be 57 23 f1 1e 03 69 40 55 9d | >> ...'...W#...i(a)U. >> session ID =3D { >> length =3D 32 >> contents =3D {...} >> 0: 67 66 c6 7f f7 ac d6 98 45 f2 6d 9f c6 84 e1 df | gf. >> ....E.m..... >> 10: ff ff c0 87 d8 e9 97 f9 f6 37 8b 6e 09 d9 2b 25 | >> .........7.n..+% >> } >> cipher_suite =3D (0x0004) SSL3/RSA/RC4-128/MD5 >> compression method =3D 00 >> } >> 0: 0b 00 07 18 | .... >> type =3D 11 (certificate) >> length =3D 1816 (0x000718) >> CertificateChain { >> chainlength =3D 1813 (0x0715) >> Certificate { >> size =3D 890 (0x037a) >> data =3D { saved in file 'cert.001' } >> } >> Certificate { >> size =3D 917 (0x0395) >> data =3D { saved in file 'cert.002' } >> } >> } >> 0: 0e 00 00 00 | .... >> type =3D 14 (server_hello_done) >> length =3D 0 (0x000000) >> } >> } >> ] >> --> [ >> (310 bytes of 262, with 43 left over) >> SSLRecord { [Wed Nov 18 09:14:56 2009] >> 0: 16 03 01 01 06 | ..... >> type =3D 22 (handshake) >> version =3D { 3,1 } >> length =3D 262 (0x106) >> handshake { >> 0: 10 00 01 02 | .... >> type =3D 16 (client_key_exchange) >> length =3D 258 (0x000102) >> ClientKeyExchange { >> message =3D {...} >> } >> } >> } >> (310 bytes of 1, with 37 left over) >> SSLRecord { [Wed Nov 18 09:14:56 2009] >> 0: 14 03 01 00 01 | ..... >> type =3D 20 (change_cipher_spec) >> version =3D { 3,1 } >> length =3D 1 (0x1) >> 0: 01 | . >> } >> (310 bytes of 32) >> SSLRecord { [Wed Nov 18 09:14:56 2009] >> 0: 16 03 01 00 20 | .... >> type =3D 22 (handshake) >> version =3D { 3,1 } >> length =3D 32 (0x20) >> < encrypted > >> } >> ] >> ssltap: Error -5961: TCP connection reset by peer.: error on server-side >> socket. >> Connection 1 Complete [Wed Nov 18 09:14:56 2009] >>


Connection #2 [Wed Nov 18 09:14:56 2009] >>

Connected to localhost.localdomain:9545 >> --> [ >> recordLen =3D 81 bytes >> (81 bytes of 81) >> [Wed Nov 18 09:14:56 2009] [ssl2] ClientHelloV2 { >> version =3D {0x03, 0x00} >> cipher-specs-length =3D 54 (0x36) >> sid-length =3D 0 (0x00) >> challenge-length =3D 16 (0x10) >> cipher-suites =3D { >> (0x000088) TLS/DHE-RSA/CAMELLIA256-CBC/SHA >> (0x000087) TLS/DHE-DSS/CAMELLIA256-CBC/SHA >> (0x000039) TLS/DHE-RSA/AES256-CBC/SHA >> (0x000038) TLS/DHE-DSS/AES256-CBC/SHA >> (0x000084) TLS/RSA/CAMELLIA256-CBC/SHA >> (0x000035) TLS/RSA/AES256-CBC/SHA >> (0x000045) TLS/DHE-RSA/CAMELLIA128-CBC/SHA >> (0x000044) TLS/DHE-DSS/CAMELLIA128-CBC/SHA >> (0x000033) TLS/DHE-RSA/AES128-CBC/SHA >> (0x000032) TLS/DHE-DSS/AES128-CBC/SHA >> (0x000041) TLS/RSA/CAMELLIA128-CBC/SHA >> (0x000004) SSL3/RSA/RC4-128/MD5 >> (0x000005) SSL3/RSA/RC4-128/SHA >> (0x00002f) TLS/RSA/AES128-CBC/SHA >> (0x000016) SSL3/DHE-RSA/3DES192EDE-CBC/SHA >> (0x000013) SSL3/DHE-DSS/DES192EDE3CBC/SHA >> (0x00feff) SSL3/RSA-FIPS/3DESEDE-CBC/SHA >> (0x00000a) SSL3/RSA/3DES192EDE-CBC/SHA >> } >> session-id =3D { } >> challenge =3D { 0xde1b 0xaea2 0x262a 0xaae3 0x5135 0x4f6a 0x5= 742 >> 0xf716 } >> } >> ] >> <-- [ >> (1903 bytes of 1898) >> SSLRecord { [Wed Nov 18 09:14:56 2009] >> 0: 16 03 00 07 6a | ....j >> type =3D 22 (handshake) >> version =3D { 3,0 } >> length =3D 1898 (0x76a) >> handshake { >> 0: 02 00 00 46 | ...F >> type =3D 2 (server_hello) >> length =3D 70 (0x000046) >> ServerHello { >> server_version =3D {3, 0} >> random =3D {...} >> 0: 4b 04 01 60 55 ce 82 33 ab d7 da 7f bc 74 ed ca | K..`U..3... >> .t.. >> 10: 1e f3 95 26 21 fa db ce 83 94 24 0a bc 4e 89 51 | >> ...&!.....$..N.Q >> session ID =3D { >> length =3D 32 >> contents =3D {...} >> 0: 67 66 50 ba 19 6d d9 38 7d 86 a9 e0 43 cb 57 0b | >> gfP..m.8}...C.W. >> 10: 19 d5 a7 e0 90 99 e5 78 03 f6 55 26 c4 f1 bc 03 | >> .......x..U&.... >> } >> cipher_suite =3D (0x0004) SSL3/RSA/RC4-128/MD5 >> compression method =3D 00 >> } >> 0: 0b 00 07 18 | .... >> type =3D 11 (certificate) >> length =3D 1816 (0x000718) >> CertificateChain { >> chainlength =3D 1813 (0x0715) >> Certificate { >> size =3D 890 (0x037a) >> data =3D { saved in file 'cert.003' } >> } >> Certificate { >> size =3D 917 (0x0395) >> data =3D { saved in file 'cert.004' } >> } >> } >> 0: 0e 00 00 00 | .... >> type =3D 14 (server_hello_done) >> length =3D 0 (0x000000) >> } >> } >> ] >> --> [ >> (332 bytes of 260, with 67 left over) >> SSLRecord { [Wed Nov 18 09:14:56 2009] >> 0: 16 03 00 01 04 | ..... >> type =3D 22 (handshake) >> version =3D { 3,0 } >> length =3D 260 (0x104) >> handshake { >> 0: 10 00 01 00 | .... >> type =3D 16 (client_key_exchange) >> length =3D 256 (0x000100) >> ClientKeyExchange { >> message =3D {...} >> } >> } >> } >> (332 bytes of 1, with 61 left over) >> SSLRecord { [Wed Nov 18 09:14:56 2009] >> 0: 14 03 00 00 01 | ..... >> type =3D 20 (change_cipher_spec) >> version =3D { 3,0 } >> length =3D 1 (0x1) >> 0: 01 | . >> } >> (332 bytes of 56) >> SSLRecord { [Wed Nov 18 09:14:56 2009] >> 0: 16 03 00 00 38 | ....8 >> type =3D 22 (handshake) >> version =3D { 3,0 } >> length =3D 56 (0x38) >> < encrypted > >> } >> ] >> ssltap: Error -5961: TCP connection reset by peer.: error on server-side >> socket. >> Connection 2 Complete [Wed Nov 18 09:14:56 2009] >> >> >> >> >> On Tue, Nov 17, 2009 at 7:21 PM, Chandrasekar Kannan wrote: >> >>> On 11/17/2009 01:09 PM, John Dorovski wrote: >>> >>> It was not a typo. I did use the port number 9545. >>> >>> >>> Ok. one idea would be to run the utility "ssltap" as a proxy >>> and using your browser to connect to the "ssltap" port and >>> pasting the output here so folks can see what's happening >>> during the SSL handshake. >>> http://www.mozilla.org/projects/security/pki/nss/tools/ssltap.html >>> >>> >>> On a Fedora 10 system, its packaged with nss-tools rpm. >>> >>> Run ssltap like this... >>> >>> ssltap -sfxl CA_HOSTNAME:CA_PORT >>> >>> in your case, it will be >>> >>> ssltap -sfxl localhost:9545 >>> >>> Then use a browser and connect to ssltap. ssltap >>> listens on port 1924. So on the browser type.. >>> >>> https://localhost.localdomain:1924 >>> >>> >>> ssltap will capture the results of the ssl handshake. >>> >>> Copy and paste it here so we can tell what's happening >>> during that phase while you get the bad mac alert. >>> >>> Thanks, >>> --Chandra >>> >>> >>> >>> >>> >>> >>> John >>> >>> On Tue, Nov 17, 2009 at 3:51 PM, Adewumi, Julius-p99373 < >>> Julius.Adewumi(a)gdc4s.com> wrote: >>> >>>> >>>> Unless it's a typo on your part, the two port numbers are different... >>>> Could that be the problem? >>>> 8445 vs 9545 >>>> >>>> From: Julius Adewumi >>>> @GDC4S.com >>>> Ph:480-441-6768 >>>> Contract Corp:MTSI >>>> >>>> >>>> -----Original Message----- >>>> From: pki-users-bounces(a)redhat.com [mailto:pki-users-bounces(a)redha= t.com >>>> ] >>>> On Behalf Of Christina Fu >>>> Sent: Tuesday, November 17, 2009 12:56 PM >>>> To: pki-users(a)redhat.com >>>> Cc: johndorovski(a)googlemail.com >>>> Subject: [Pki-users] (forwarded) Help needed on dogtag >>>> >>>> I might have messed up when managing pki-users and this did not come >>>> through. Hence the forward. >>>> Christina >>>> >>>> Subject: >>>> Help needed on dogtag >>>> From: >>>> John Dorovski >>>> Date: >>>> Tue, 17 Nov 2009 10:58:18 -0500 >>>> >>>> To: >>>> pki-users(a)redhat.com >>>> >>>> >>>> Hi, >>>> >>>> I just installed a dogtag (1.2.0) instance on my Fedora 10 system. >>>> I used a SafeNet ProtectServer Gold HSM as keystore. >>>> The dogtag system installation and configuration were fine. No error w= as >>>> reported. >>>> All keys and certificates were generated inside the HSM. >>>> >>>> But when I tried to access the secure admin interface at >>>> https://localhost:localdomain:9545 >>>> I got error message: >>>> Secure Connection Failed >>>> An error occurred during a connection to localhost.localdomain:8445 >>>> SSL peer reports incorrect Message Authentication Code. >>>> (Error code: ssl_error_bad_mac_alert) >>>> >>>> I checked the server certificate (viewed it with IE on a Windows box). >>>> It seems fine. >>>> >>>> Does any body know what is wrong and how can I fix it? >>>> >>>> Thanks, >>>> >>>> John >>>> >>>> _______________________________________________ >>>> Pki-users mailing list >>>> Pki-users(a)redhat.com >>>> https://www.redhat.com/mailman/listinfo/pki-users >>>> >>> >>> >>> _______________________________________________ >>> Pki-users mailing listPki-users(a)redhat.comhttps://www.redhat.com/mail= man/listinfo/pki-users >>> >>> >>> >>> _______________________________________________ >>> Pki-users mailing list >>> Pki-users(a)redhat.com >>> https://www.redhat.com/mailman/listinfo/pki-users >>> >>> >> > > _______________________________________________ > Pki-users mailing listPki-users(a)redhat.comhttps://www.redhat.com/mailma= n/listinfo/pki-users > > > > _______________________________________________ > Pki-users mailing listPki-users(a)redhat.comhttps://www.redhat.com/mailma= n/listinfo/pki-users > > > > _______________________________________________ > Pki-users mailing list > Pki-users(a)redhat.com > https://www.redhat.com/mailman/listinfo/pki-users > > --===============5039199416007378784== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" SSBjaGVja2VkIG15IHNlcnZlci54bWwgZmlsZS4gSXQgZG9lcyBub3QgaGF2ZSBjbGllbnRBdXRo PSZxdW90O2FnZW50JnF1b3Q7LiA8YnI+VGhleSBhcmUgYWxsIGRlZmF1bHRlZCB0b6AgY2xpZW50 QXV0aD0mcXVvdDt0cnVlJnF1b3Q7Ljxicj48YnI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3Rl Ij5PbiBXZWQsIE5vdiAxOCwgMjAwOSBhdCAxOjIzIFBNLCBDaGFuZHJhc2VrYXIgS2FubmFuIDxz cGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmNrYW5uYW5AcmVkaGF0LmNvbSI+Y2th bm5hbkByZWRoYXQuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KPGJsb2NrcXVvdGUgY2xh c3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0iYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IoMjA0LCAy MDQsIDIwNCk7IG1hcmdpbjogMHB0IDBwdCAwcHQgMC44ZXg7IHBhZGRpbmctbGVmdDogMWV4OyI+ CgoKICAKCjxkaXYgYmdjb2xvcj0iI2ZmZmZmZiIgdGV4dD0iIzAwMDAwMCI+PGRpdiBjbGFzcz0i aW0iPgpPbiAxMS8xOC8yMDA5IDA5OjQ5IEFNLCBDaGFuZHJhc2VrYXIgS2FubmFuIHdyb3RlOgo8 YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4KICAKT24gMTEvMTgvMjAwOSAwOTozOCBBTSwgQWRld3Vt aSwgSnVsaXVzLXA5OTM3MyB3cm90ZToKICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4KICAgIAog ICAgCiAgICA8ZGl2IGRpcj0ibHRyIiBhbGlnbj0ibGVmdCI+CiAgICA8dGFibGUgYm9yZGVyPSIy IiBjZWxscGFkZGluZz0iNSI+CiAgICAgIDx0Ym9keT4KICAgICAgICA8dHI+CiAgICAgICAgICA8 dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0iYmFzZWxpbmUiPjxhIG5hbWU9IjEyNTA4ODk4NDk4M2I1 N2RfMTA0MDM1MyI+PC9hPjx0dD5TU0xfRVJST1JfQkFEX01BQ19BTEVSVDwvdHQ+PC90ZD4KICAg ICAgICAgIDx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJiYXNlbGluZSI+LTEyMjcyPC90ZD4KICAg ICAgICAgIDx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJiYXNlbGluZSI+PGEgbmFtZT0iMTI1MDg4 OTg0OTgzYjU3ZF8xMDQwMzU1Ij48L2E+JnF1b3Q7U1NMIHBlZXIgcmVwb3J0cyBpbmNvcnJlY3QK TWVzc2FnZSBBdXRoZW50aWNhdGlvbiBDb2RlLiZxdW90OwogICAgICAgICAgPHA+PGEgbmFtZT0i MTI1MDg4OTg0OTgzYjU3ZF8xMDQwMzU2Ij48L2E+VGhlIHJlbW90ZSBzeXN0ZW0gaGFzIHJlcG9y dGVkIHRoYXQgaXQgcmVjZWl2ZWQgYQptZXNzYWdlIHdpdGggYSBiYWQgTWVzc2FnZSBBdXRoZW50 aWNhdGlvbiBDb2RlIGZyb20gdGhlIGxvY2FsIHN5c3RlbS4KVGhpcyBtYXkgaW5kaWNhdGUgdGhh dCBhbiBhdHRhY2sgb24gdGhhdCBzZXJ2ZXIgaXMgdW5kZXJ3YXkuPC9wPgogICAgICAgICAgPC90 ZD4KICAgICAgICA8L3RyPgogICAgICA8L3Rib2R5PgogICAgPC90YWJsZT4KICAgIDwvZGl2Pgog ICAgPGRpdj6gPC9kaXY+CgogICAgPHA+PGk+PHNwYW4gbGFuZz0iZW4tdXMiPjxmb250IGZhY2U9 IkFyaWFsIE5hcnJvdyIgc2l6ZT0iMiI+PHNwYW4+VGhlIHRyYWNlIHNob3dzICZxdW90O2NpcGhl ci1jaGFuZ2UtcmVxdWVzdCZxdW90OyBhcwpsYXN0IGNhcHR1cmUgYmVmb3JlIEVycm9yIHJlcG9y dGVkLjwvc3Bhbj48L2ZvbnQ+PC9zcGFuPjwvaT48L3A+CiAgICA8cD48aT48c3BhbiBsYW5nPSJl bi11cyI+PC9zcGFuPjwvaT4gPGJyPgogICAgPC9wPgogIDwvYmxvY2txdW90ZT4KICA8YnI+Ckp1 c3QgRllJLiB3ZSBub3RpY2VkIGEgc2ltaWxhciBtZXNzYWdlIGR1cmluZyBkb2d0YWcgMS4yLjAg PGJyPgpkZXZlbG9wbWVudCBidXQgd2l0aCBhIGRpZmZlcmVudCBIU00obmV0aHNtKS4gVGhhdCBp c3N1ZTxicj4Kd2FzIGZpeGVkLiA8YnI+CiAgPGEgaHJlZj0iaHR0cHM6Ly9idWd6aWxsYS5yZWRo YXQuY29tL3Nob3dfYnVnLmNnaT9pZD00OTU1OTciIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2J1 Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTQ5NTU5NzwvYT48YnI+CiAgPGJyPgpG V0lXLCB3ZSBoYXZlIG5ldmVyIHRyaWVkIHdpdGggdGhlIG1lbnRpb25lZCA8YnI+ClNhZmVuZXQg UHJvdGVjdHNlcnZlciBHb2xkIEhTTS4uLi48YnI+CjwvYmxvY2txdW90ZT4KPGJyPgo8YnI+PC9k aXY+CkNhbiB5b3UgY2hlY2sgc2V0dGluZ3MgZm9yIHRoaXMgLi48YnI+Cjxicj4KoC92YXIvbGli L3BraS1jYS9jb25mL3NlcnZlci54bWw8YnI+CqBMb29rIGZvciBjbGllbnRBdXRoPSZxdW90O2Fn ZW50JnF1b3Q7PGJyPgo8YnI+CqBJZiB5b3Ugc2VlIHRoYXQgY2FuIHlvdSByZXBsYWNlIHRoYXQg d2l0aDxicj4KoGNsaWVudEF1dGg9JnF1b3Q7dHJ1ZSZxdW90OyBhbmQgcmVzdGFydCB0aGUgQ0E8 YnI+CqBhbmQgc2VlIGlmIGl0IGFkZHJlc3NlcyB0aGUgYmFkIG1hYyBwcm9ibGVtLi48ZGl2Pjxk aXY+PC9kaXY+PGRpdiBjbGFzcz0iaDUiPjxicj4KPGJyPgo8YnI+CjxibG9ja3F1b3RlIHR5cGU9 ImNpdGUiPjxicj4KICA8YnI+CiAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+CiAgICA8cD48aT48 c3BhbiBsYW5nPSJlbi11cyI+PGZvbnQgZmFjZT0iQXJpYWwgTmFycm93IiBzaXplPSIyIj5Gcm9t OgpKdWxpdXMgQWRld3VtaTwvZm9udD48L3NwYW4+PC9pPiA8YnI+CiAgICA8aT48c3BhbiBsYW5n PSJlbi11cyI+PGZvbnQgZmFjZT0iQXJpYWwgTmFycm93IiBzaXplPSIyIj5AR0RDNFMuY29tPC9m b250Pjwvc3Bhbj48L2k+CiAgICA8YnI+CiAgICA8aT48c3BhbiBsYW5nPSJlbi11cyI+PGZvbnQg ZmFjZT0iQXJpYWwgTmFycm93IiBzaXplPSIyIj5QaDo0ODAtNDQxLTY3Njg8L2ZvbnQ+PC9zcGFu PjwvaT4KICAgIDxicj4KICAgIDxpPjxzcGFuIGxhbmc9ImVuLXVzIj48Zm9udCBmYWNlPSJBcmlh bCBOYXJyb3ciIHNpemU9IjIiPkNvbnRyYWN0CkNvcnA6TVRTSTwvZm9udD48L3NwYW4+PC9pPjxz cGFuIGxhbmc9ImVuLXVzIj48L3NwYW4+IDwvcD4KICAgIDxkaXY+oDwvZGl2PgogICAgPGJyPgog ICAgPGRpdiBkaXI9Imx0ciIgYWxpZ249ImxlZnQiIGxhbmc9ImVuLXVzIj4KICAgIDxocj48Zm9u dCBmYWNlPSJUYWhvbWEiIHNpemU9IjIiPjxiPkZyb206PC9iPiBKb2huCkRvcm92c2tpIFs8YSBo cmVmPSJtYWlsdG86am9obmRvcm92c2tpQGdvb2dsZW1haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+ bWFpbHRvOmpvaG5kb3JvdnNraUBnb29nbGVtYWlsLmNvbTwvYT5dCiAgICA8YnI+CiAgICA8Yj5T ZW50OjwvYj4gV2VkbmVzZGF5LCBOb3ZlbWJlciAxOCwgMjAwOSA3OjM0IEFNPGJyPgogICAgPGI+ VG86PC9iPiBDaGFuZHJhc2VrYXIgS2FubmFuPGJyPgogICAgPGI+Q2M6PC9iPiBBZGV3dW1pLCBK dWxpdXMtcDk5MzczOyA8YSBocmVmPSJtYWlsdG86cGtpLXVzZXJzQHJlZGhhdC5jb20iIHRhcmdl dD0iX2JsYW5rIj5wa2ktdXNlcnNAcmVkaGF0LmNvbTwvYT48YnI+CiAgICA8Yj5TdWJqZWN0Ojwv Yj4gUmU6IFtQa2ktdXNlcnNdIChmb3J3YXJkZWQpIEhlbHAgbmVlZGVkIG9uIGRvZ3RhZzxicj4K ICAgIDwvZm9udD48YnI+CiAgICA8L2Rpdj4KSGVyZSBhcmUgdGhloKAgdHdvIGNlcnRzIHNzbHRh cCBjYXB0dXJlZC48YnI+CiAgICA8YnI+CiAgICA8YnI+CiAgICA8ZGl2IGNsYXNzPSJnbWFpbF9x dW90ZSI+T24gV2VkLCBOb3YgMTgsIDIwMDkgYXQgOToyMCBBTSwgSm9obgpEb3JvdnNraSA8c3Bh biBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpqb2huZG9yb3Zza2lAZ29vZ2xlbWFpbC5j b20iIHRhcmdldD0iX2JsYW5rIj5qb2huZG9yb3Zza2lAZ29vZ2xlbWFpbC5jb208L2E+Jmd0Ozwv c3Bhbj4Kd3JvdGU6PGJyPgogICAgPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHls ZT0iYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IoMjA0LCAyMDQsIDIwNCk7IG1hcmdpbjogMHB0 IDBwdCAwcHQgMC44ZXg7IHBhZGRpbmctbGVmdDogMWV4OyI+SGVyZQppcwpteSBzc2x0YXAgb3V0 cHV0Ojxicj4KICAgICAgPGJyPgpbcm9vdEByZDEgbGludXgtaTM4Nl0jIHNzbHRhcCAtc2Z4bKAg bG9jYWxob3N0LmxvY2FsZG9tYWluOjk1NDU8YnI+CiZsdDtIVE1MJmd0OyZsdDtIRUFEJmd0OyZs dDtUSVRMRSZndDtTU0xUQVAKb3V0cHV0Jmx0Oy9USVRMRSZndDsmbHQ7L0hFQUQmZ3Q7PGJyPgom bHQ7Qk9EWSZndDsmbHQ7UFJFJmd0Ozxicj4KTG9va2luZyB1cCAmcXVvdDtsb2NhbGhvc3QubG9j YWxkb21haW4mcXVvdDsuLi48YnI+ClByb3h5IHNvY2tldCByZWFkeSBhbmQgbGlzdGVuaW5nPGJy PgombHQ7cCZndDsmbHQ7SFImZ3Q7Jmx0O0gyJmd0O0Nvbm5lY3Rpb24gIzEgW1dlZCBOb3YgMTgg MDk6MTQ6NTYgMjAwOV08YnI+CiZsdDsvSDImZ3Q7Q29ubmVjdGVkIHRvIGxvY2FsaG9zdC5sb2Nh bGRvbWFpbjo5NTQ1PGJyPgotLSZndDsgWzxicj4KJmx0O2ZvbnQgY29sb3I9Ymx1ZSZndDsoMTIw IGJ5dGVzIG9mIDExNSk8YnI+ClNTTFJlY29yZCB7IFtXZWQgTm92IDE4IDA5OjE0OjU2IDIwMDld PGJyPgqgoCAwOiAxNiAwMyAwMSAwMKAgNzOgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg oKCgoKAgfCAuLi4uczxicj4KoKAgdHlwZaCgoCA9IDIyIChoYW5kc2hha2UpPGJyPgqgoCB2ZXJz aW9uID0geyAzLDEgfTxicj4KoKAgbGVuZ3RooCA9IDExNSAoMHg3Myk8YnI+CqCgIGhhbmRzaGFr ZSB7PGJyPgqgoCAwOiAwMSAwMCAwMCA2ZqCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg oKCgoKCgoKAgfCAuLi5vPGJyPgqgoKCgoCB0eXBlID0gMSAoY2xpZW50X2hlbGxvKTxicj4KoKCg oKAgbGVuZ3RoID0gMTExICgweDAwMDA2Zik8YnI+CqCgoKCgoKCgIENsaWVudEhlbGxvVjMgezxi cj4KoKCgoKCgoKCgoKAgY2xpZW50X3ZlcnNpb24gPSB7MywgMX08YnI+CqCgoKCgoKCgoKCgIHJh bmRvbSA9IHsuLi59PGJyPgqgoCAwOiA0YiAwNCAwMSA2MKAgM2UgZGQgODYgZjKgIDZjIDI2IGNi IDI5oCBiMyBhNCBlYiAyNqAgfApLLi5gJmFtcDtndDsuLi5sJmFtcDthbXA7LikuLi4mYW1wO2Ft cDs8YnI+CqAgMTA6IGMwIDE3IGYxIDhloCAyNCAwYSA3NSA3OaAgMDMgOTEgNzggNDCgIDdiIDU4 IDVlIDdioCB8Ci4uLi4kLnV5Li54QHtYXns8YnI+CqCgoKCgoKCgoKCgIHNlc3Npb24gSUQgPSB7 PGJyPgqgoKCgoKCgoKCgoKCgoKAgbGVuZ3RoID0gMDxicj4KoKCgoKCgoKCgoKCgoKCgIGNvbnRl bnRzID0gey4uLn08YnI+CqCgoKCgoKCgoKCgIH08YnI+CqCgoKCgoKCgoKCgIGNpcGhlcl9zdWl0 ZXNbMThdID0geyA8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDg4KSBUTFMvREhFLVJTQS9DQU1F TExJQTI1Ni1DQkMvU0hBPGJyPgqgoKCgoKCgoKCgoKCgoKAgKDB4MDA4NykgVExTL0RIRS1EU1Mv Q0FNRUxMSUEyNTYtQ0JDL1NIQTxicj4KoKCgoKCgoKCgoKCgoKCgICgweDAwMzkpIFRMUy9ESEUt UlNBL0FFUzI1Ni1DQkMvU0hBPGJyPgqgoKCgoKCgoKCgoKCgoKAgKDB4MDAzOCkgVExTL0RIRS1E U1MvQUVTMjU2LUNCQy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDg0KSBUTFMvUlNBL0NB TUVMTElBMjU2LUNCQy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDM1KSBUTFMvUlNBL0FF UzI1Ni1DQkMvU0hBPGJyPgqgoKCgoKCgoKCgoKCgoKAgKDB4MDA0NSkgVExTL0RIRS1SU0EvQ0FN RUxMSUExMjgtQ0JDL1NIQTxicj4KoKCgoKCgoKCgoKCgoKCgICgweDAwNDQpIFRMUy9ESEUtRFNT L0NBTUVMTElBMTI4LUNCQy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDMzKSBUTFMvREhF LVJTQS9BRVMxMjgtQ0JDL1NIQTxicj4KoKCgoKCgoKCgoKCgoKCgICgweDAwMzIpIFRMUy9ESEUt RFNTL0FFUzEyOC1DQkMvU0hBPGJyPgqgoKCgoKCgoKCgoKCgoKAgKDB4MDA0MSkgVExTL1JTQS9D QU1FTExJQTEyOC1DQkMvU0hBPGJyPgqgoKCgoKCgoKCgoKCgoKAgKDB4MDAwNCkgU1NMMy9SU0Ev UkM0LTEyOC9NRDU8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDA1KSBTU0wzL1JTQS9SQzQtMTI4 L1NIQTxicj4KoKCgoKCgoKCgoKCgoKCgICgweDAwMmYpIFRMUy9SU0EvQUVTMTI4LUNCQy9TSEE8 YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDE2KSBTU0wzL0RIRS1SU0EvM0RFUzE5MkVERS1DQkMv U0hBPGJyPgqgoKCgoKCgoKCgoKCgoKAgKDB4MDAxMykgU1NMMy9ESEUtRFNTL0RFUzE5MkVERTND QkMvU0hBPGJyPgqgoKCgoKCgoKCgoKCgoKAgKDB4ZmVmZikgU1NMMy9SU0EtRklQUy8zREVTRURF LUNCQy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDBhKSBTU0wzL1JTQS8zREVTMTkyRURF LUNCQy9TSEE8YnI+CqCgoKCgoKCgoKCgIH08YnI+CqCgoKCgoKCgoKCgIGNvbXByZXNzaW9uWzFd ID0geyAwMCB9PGJyPgqgoKCgoKCgoKCgoCBleHRlbnNpb25zWzM0XSA9IHs8YnI+CqCgoKCgoKCg oKCgoKAgZXh0ZW5zaW9uIHR5cGUgc2VydmVyX25hbWUsIGxlbmd0aCBbMjZdID0gezxicj4KoKAg MDogMDAgMTggMDAgMDCgIDE1IDZjIDZmIDYzoCA2MSA2YyA2OCA2ZqAgNzMgNzQgMmUgNmOgIHwK Li4uLi5sb2NhbGhvc3QubDxicj4KoCAxMDogNmYgNjMgNjEgNmOgIDY0IDZmIDZkIDYxoCA2OSA2 ZaCgoKCgoKCgoKCgoKCgoKCgoKCgIHwgb2NhbGRvbWFpbjxicj4KoKCgoKCgoKCgoKCgoCB9PGJy PgqgoKCgoKCgoKCgoKCgIGV4dGVuc2lvbiB0eXBlIHNlc3Npb25fdGlja2V0LCBsZW5ndGggWzBd PGJyPgqgoKCgoKCgoKCgoCB9PGJyPgqgoKCgoKCgoCB9PGJyPgqgoCB9PGJyPgp9PGJyPgombHQ7 L2ZvbnQmZ3Q7XTxicj4KJmx0Oy0tIFs8YnI+CiZsdDtmb250IGNvbG9yPXJlZCZndDsoMTkwMyBi eXRlcyBvZiAxODk4KTxicj4KU1NMUmVjb3JkIHsgW1dlZCBOb3YgMTggMDk6MTQ6NTYgMjAwOV08 YnI+CqCgIDA6IDE2IDAzIDAxIDA3oCA2YaCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg oKCgoCB8IC4uLi5qPGJyPgqgoCB0eXBloKCgID0gMjIgKGhhbmRzaGFrZSk8YnI+CqCgIHZlcnNp b24gPSB7IDMsMSB9PGJyPgqgoCBsZW5ndGigID0gMTg5OCAoMHg3NmEpPGJyPgqgoCBoYW5kc2hh a2Ugezxicj4KoKAgMDogMDIgMDAgMDAgNDagoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg oKCgoKCgoKCgIHwgLi4uRjxicj4KoKCgoKAgdHlwZSA9IDIgKHNlcnZlcl9oZWxsbyk8YnI+CqCg oKCgIGxlbmd0aCA9IDcwICgweDAwMDA0Nik8YnI+CqCgoKCgoKCgIFNlcnZlckhlbGxvIHs8YnI+ CqCgoKCgoKCgoKCgIHNlcnZlcl92ZXJzaW9uID0gezMsIDF9PGJyPgqgoKCgoKCgoKCgoCByYW5k b20gPSB7Li4ufTxicj4KoKAgMDogNGIgMDQgMDEgNjCgIGQxIDg2IDA5IDY5oCAwMSA4ZCBjMiA1 ZaAgMWEgOWMgOTkgMTagIHwKSy4uYC4uLmkuLi5eLi4uLjxicj4KoCAxMDogZGUgMGUgYmQgMjeg IGI2IGM1IGJlIDU3oCAyMyBmMSAxZSAwM6AgNjkgNDAgNTUgOWSgIHwKLi4uJiMzOTsuLi5XIy4u LmlAVS48YnI+CqCgoKCgoKCgoKCgIHNlc3Npb24gSUQgPSB7PGJyPgqgoKCgoKCgoKCgoKCgoKAg bGVuZ3RoID0gMzI8YnI+CqCgoKCgoKCgoKCgoKCgoCBjb250ZW50cyA9IHsuLi59PGJyPgqgoCAw OiA2NyA2NiBjNiA3ZqAgZjcgYWMgZDYgOTigIDQ1IGYyIDZkIDlmoCBjNiA4NCBlMSBkZqAgfCBn Zi4KLi4uLkUubS4uLi4uPGJyPgqgIDEwOiBmZiBmZiBjMCA4N6AgZDggZTkgOTcgZjmgIGY2IDM3 IDhiIDZloCAwOSBkOSAyYiAyNaAgfAouLi4uLi4uLi43Lm4uLislPGJyPgqgoKCgoKCgoKCgoCB9 PGJyPgqgoKCgoKCgoKCgoCBjaXBoZXJfc3VpdGUgPSAoMHgwMDA0KSBTU0wzL1JTQS9SQzQtMTI4 L01ENTxicj4KoKCgoKCgoKCgoKAgY29tcHJlc3Npb24gbWV0aG9kID0gMDA8YnI+CqCgoKCgoKCg IH08YnI+CqCgIDA6IDBiIDAwIDA3IDE4oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg oKCgoKCgoCB8IC4uLi48YnI+CqCgoKCgIHR5cGUgPSAxMSAoY2VydGlmaWNhdGUpPGJyPgqgoKCg oCBsZW5ndGggPSAxODE2ICgweDAwMDcxOCk8YnI+CqCgoKCgoKCgIENlcnRpZmljYXRlQ2hhaW4g ezxicj4KoKCgoKCgoKCgoKAgY2hhaW5sZW5ndGggPSAxODEzICgweDA3MTUpPGJyPgqgoKCgoKCg oKCgoCBDZXJ0aWZpY2F0ZSB7PGJyPgqgoKCgoKCgoKCgoKCgoCBzaXplID0gODkwICgweDAzN2Ep PGJyPgqgoKCgoKCgoKCgoKCgoCBkYXRhID0geyBzYXZlZCBpbiBmaWxlICYjMzk7Y2VydC4wMDEm IzM5OyB9PGJyPgqgoKCgoKCgoKCgoCB9PGJyPgqgoKCgoKCgoKCgoCBDZXJ0aWZpY2F0ZSB7PGJy PgqgoKCgoKCgoKCgoKCgoCBzaXplID0gOTE3ICgweDAzOTUpPGJyPgqgoKCgoKCgoKCgoKCgoCBk YXRhID0geyBzYXZlZCBpbiBmaWxlICYjMzk7Y2VydC4wMDImIzM5OyB9PGJyPgqgoKCgoKCgoKCg oCB9PGJyPgqgoKCgoKCgoCB9PGJyPgqgoCAwOiAwZSAwMCAwMCAwMKCgoKCgoKCgoKCgoKCgoKCg oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgfCAuLi4uPGJyPgqgoKCgoCB0eXBlID0gMTQgKHNlcnZl cl9oZWxsb19kb25lKTxicj4KoKCgoKAgbGVuZ3RoID0gMCAoMHgwMDAwMDApPGJyPgqgoCB9PGJy Pgp9PGJyPgombHQ7L2ZvbnQmZ3Q7XTxicj4KLS0mZ3Q7IFs8YnI+CiZsdDtmb250IGNvbG9yPWJs dWUmZ3Q7KDMxMCBieXRlcyBvZiAyNjIsIHdpdGggNDMgbGVmdCBvdmVyKTxicj4KU1NMUmVjb3Jk IHsgW1dlZCBOb3YgMTggMDk6MTQ6NTYgMjAwOV08YnI+CqCgIDA6IDE2IDAzIDAxIDAxoCAwNqCg oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoCB8IC4uLi4uPGJyPgqgoCB0eXBloKCg ID0gMjIgKGhhbmRzaGFrZSk8YnI+CqCgIHZlcnNpb24gPSB7IDMsMSB9PGJyPgqgoCBsZW5ndGig ID0gMjYyICgweDEwNik8YnI+CqCgIGhhbmRzaGFrZSB7PGJyPgqgoCAwOiAxMCAwMCAwMSAwMqCg oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgfCAuLi4uPGJyPgqgoKCgoCB0 eXBlID0gMTYgKGNsaWVudF9rZXlfZXhjaGFuZ2UpPGJyPgqgoKCgoCBsZW5ndGggPSAyNTggKDB4 MDAwMTAyKTxicj4KoKCgoKCgoKAgQ2xpZW50S2V5RXhjaGFuZ2Ugezxicj4KoKCgoKCgoKCgoKAg bWVzc2FnZSA9IHsuLi59PGJyPgqgoKCgoKCgoCB9PGJyPgqgoCB9PGJyPgp9PGJyPgooMzEwIGJ5 dGVzIG9mIDEsIHdpdGggMzcgbGVmdCBvdmVyKTxicj4KU1NMUmVjb3JkIHsgW1dlZCBOb3YgMTgg MDk6MTQ6NTYgMjAwOV08YnI+CqCgIDA6IDE0IDAzIDAxIDAwoCAwMaCgoKCgoKCgoKCgoKCgoKCg oKCgoKCgoKCgoKCgoKCgoKCgoCB8IC4uLi4uPGJyPgqgoCB0eXBloKCgID0gMjAgKGNoYW5nZV9j aXBoZXJfc3BlYyk8YnI+CqCgIHZlcnNpb24gPSB7IDMsMSB9PGJyPgqgoCBsZW5ndGigID0gMSAo MHgxKTxicj4KoKAgMDogMDGgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg oKCgoKCgoKCgIHwgLjxicj4KfTxicj4KKDMxMCBieXRlcyBvZiAzMik8YnI+ClNTTFJlY29yZCB7 IFtXZWQgTm92IDE4IDA5OjE0OjU2IDIwMDldPGJyPgqgoCAwOiAxNiAwMyAwMSAwMKAgMjCgoKCg oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgfCAuLi4uIDxicj4KoKAgdHlwZaCgoCA9 IDIyIChoYW5kc2hha2UpPGJyPgqgoCB2ZXJzaW9uID0geyAzLDEgfTxicj4KoKAgbGVuZ3RooCA9 IDMyICgweDIwKTxicj4KoKCgoKCgoKCgoKAgJmx0OyBlbmNyeXB0ZWQgJmd0Ozxicj4KfTxicj4K Jmx0Oy9mb250Jmd0O108YnI+CnNzbHRhcDogRXJyb3IgLTU5NjE6IFRDUCBjb25uZWN0aW9uIHJl c2V0IGJ5IHBlZXIuOiBlcnJvciBvbgpzZXJ2ZXItc2lkZSBzb2NrZXQuPGJyPgpDb25uZWN0aW9u IDEgQ29tcGxldGUgW1dlZCBOb3YgMTggMDk6MTQ6NTYgMjAwOV08YnI+CiZsdDtwJmd0OyZsdDtI UiZndDsmbHQ7SDImZ3Q7Q29ubmVjdGlvbiAjMiBbV2VkIE5vdiAxOCAwOToxNDo1NiAyMDA5XTxi cj4KJmx0Oy9IMiZndDtDb25uZWN0ZWQgdG8gbG9jYWxob3N0LmxvY2FsZG9tYWluOjk1NDU8YnI+ Ci0tJmd0OyBbPGJyPgombHQ7Zm9udCBjb2xvcj1ibHVlJmd0O3JlY29yZExlbiA9IDgxIGJ5dGVz PGJyPgooODEgYnl0ZXMgb2YgODEpPGJyPgqgW1dlZCBOb3YgMTggMDk6MTQ6NTYgMjAwOV0gW3Nz bDJdoCBDbGllbnRIZWxsb1YyIHs8YnI+CqCgoKCgoKCgoKAgdmVyc2lvbiA9IHsweDAzLCAweDAw fTxicj4KoKCgoKCgoKCgoCBjaXBoZXItc3BlY3MtbGVuZ3RoID0gNTQgKDB4MzYpPGJyPgqgoKCg oKCgoKCgIHNpZC1sZW5ndGggPSAwICgweDAwKTxicj4KoKCgoKCgoKCgoCBjaGFsbGVuZ2UtbGVu Z3RoID0gMTYgKDB4MTApPGJyPgqgoKCgoKCgoKCgIGNpcGhlci1zdWl0ZXMgPSB7IDxicj4KoKCg oKCgoKCgoKCgoKCgICgweDAwMDA4OCkgVExTL0RIRS1SU0EvQ0FNRUxMSUEyNTYtQ0JDL1NIQTxi cj4KoKCgoKCgoKCgoKCgoKCgICgweDAwMDA4NykgVExTL0RIRS1EU1MvQ0FNRUxMSUEyNTYtQ0JD L1NIQTxicj4KoKCgoKCgoKCgoKCgoKCgICgweDAwMDAzOSkgVExTL0RIRS1SU0EvQUVTMjU2LUNC Qy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDAwMzgpIFRMUy9ESEUtRFNTL0FFUzI1Ni1D QkMvU0hBPGJyPgqgoKCgoKCgoKCgoKCgoKAgKDB4MDAwMDg0KSBUTFMvUlNBL0NBTUVMTElBMjU2 LUNCQy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDAwMzUpIFRMUy9SU0EvQUVTMjU2LUNC Qy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDAwNDUpIFRMUy9ESEUtUlNBL0NBTUVMTElB MTI4LUNCQy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDAwNDQpIFRMUy9ESEUtRFNTL0NB TUVMTElBMTI4LUNCQy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDAwMzMpIFRMUy9ESEUt UlNBL0FFUzEyOC1DQkMvU0hBPGJyPgqgoKCgoKCgoKCgoKCgoKAgKDB4MDAwMDMyKSBUTFMvREhF LURTUy9BRVMxMjgtQ0JDL1NIQTxicj4KoKCgoKCgoKCgoKCgoKCgICgweDAwMDA0MSkgVExTL1JT QS9DQU1FTExJQTEyOC1DQkMvU0hBPGJyPgqgoKCgoKCgoKCgoKCgoKAgKDB4MDAwMDA0KSBTU0wz L1JTQS9SQzQtMTI4L01ENTxicj4KoKCgoKCgoKCgoKCgoKCgICgweDAwMDAwNSkgU1NMMy9SU0Ev UkM0LTEyOC9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDAwMmYpIFRMUy9SU0EvQUVTMTI4 LUNCQy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDAwMTYpIFNTTDMvREhFLVJTQS8zREVT MTkyRURFLUNCQy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDAwMTMpIFNTTDMvREhFLURT Uy9ERVMxOTJFREUzQ0JDL1NIQTxicj4KoKCgoKCgoKCgoKCgoKCgICgweDAwZmVmZikgU1NMMy9S U0EtRklQUy8zREVTRURFLUNCQy9TSEE8YnI+CqCgoKCgoKCgoKCgoKCgoCAoMHgwMDAwMGEpIFNT TDMvUlNBLzNERVMxOTJFREUtQ0JDL1NIQTxicj4KoKCgoKCgoKCgoKCgoKCgIH08YnI+CqCgoKCg oKCgoKAgc2Vzc2lvbi1pZCA9IHsgfTxicj4KoKCgoKCgoKCgoCBjaGFsbGVuZ2UgPSB7IDB4ZGUx YiAweGFlYTIgMHgyNjJhIDB4YWFlMyAweDUxMzUgMHg0ZjZhCjB4NTc0MiAweGY3MTYgfTxicj4K fTxicj4KJmx0Oy9mb250Jmd0O108YnI+CiZsdDstLSBbPGJyPgombHQ7Zm9udCBjb2xvcj1yZWQm Z3Q7KDE5MDMgYnl0ZXMgb2YgMTg5OCk8YnI+ClNTTFJlY29yZCB7IFtXZWQgTm92IDE4IDA5OjE0 OjU2IDIwMDldPGJyPgqgoCAwOiAxNiAwMyAwMCAwN6AgNmGgoKCgoKCgoKCgoKCgoKCgoKCgoKCg oKCgoKCgoKCgoKCgoKAgfCAuLi4uajxicj4KoKAgdHlwZaCgoCA9IDIyIChoYW5kc2hha2UpPGJy PgqgoCB2ZXJzaW9uID0geyAzLDAgfTxicj4KoKAgbGVuZ3RooCA9IDE4OTggKDB4NzZhKTxicj4K oKAgaGFuZHNoYWtlIHs8YnI+CqCgIDA6IDAyIDAwIDAwIDQ2oKCgoKCgoKCgoKCgoKCgoKCgoKCg oKCgoKCgoKCgoKCgoKCgoKCgoCB8IC4uLkY8YnI+CqCgoKCgIHR5cGUgPSAyIChzZXJ2ZXJfaGVs bG8pPGJyPgqgoKCgoCBsZW5ndGggPSA3MCAoMHgwMDAwNDYpPGJyPgqgoKCgoKCgoCBTZXJ2ZXJI ZWxsbyB7PGJyPgqgoKCgoKCgoKCgoCBzZXJ2ZXJfdmVyc2lvbiA9IHszLCAwfTxicj4KoKCgoKCg oKCgoKAgcmFuZG9tID0gey4uLn08YnI+CqCgIDA6IDRiIDA0IDAxIDYwoCA1NSBjZSA4MiAzM6Ag YWIgZDcgZGEgN2agIGJjIDc0IGVkIGNhoCB8IEsuLmBVLi4zLi4uCi50Li48YnI+CqAgMTA6IDFl IGYzIDk1IDI2oCAyMSBmYSBkYiBjZaAgODMgOTQgMjQgMGGgIGJjIDRlIDg5IDUxoCB8Ci4uLiZh bXA7YW1wOyEuLi4uLiQuLk4uUTxicj4KoKCgoKCgoKCgoKAgc2Vzc2lvbiBJRCA9IHs8YnI+CqCg oKCgoKCgoKCgoKCgoCBsZW5ndGggPSAzMjxicj4KoKCgoKCgoKCgoKCgoKCgIGNvbnRlbnRzID0g ey4uLn08YnI+CqCgIDA6IDY3IDY2IDUwIGJhoCAxOSA2ZCBkOSAzOKAgN2QgODYgYTkgZTCgIDQz IGNiIDU3IDBioCB8CmdmUC4ubS44fS4uLkMuVy48YnI+CqAgMTA6IDE5IGQ1IGE3IGUwoCA5MCA5 OSBlNSA3OKAgMDMgZjYgNTUgMjagIGM0IGYxIGJjIDAzoCB8Ci4uLi4uLi54Li5VJmFtcDthbXA7 Li4uLjxicj4KoKCgoKCgoKCgoKAgfTxicj4KoKCgoKCgoKCgoKAgY2lwaGVyX3N1aXRlID0gKDB4 MDAwNCkgU1NMMy9SU0EvUkM0LTEyOC9NRDU8YnI+CqCgoKCgoKCgoKCgIGNvbXByZXNzaW9uIG1l dGhvZCA9IDAwPGJyPgqgoKCgoKCgoCB9PGJyPgqgoCAwOiAwYiAwMCAwNyAxOKCgoKCgoKCgoKCg oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgfCAuLi4uPGJyPgqgoKCgoCB0eXBlID0gMTEg KGNlcnRpZmljYXRlKTxicj4KoKCgoKAgbGVuZ3RoID0gMTgxNiAoMHgwMDA3MTgpPGJyPgqgoKCg oKCgoCBDZXJ0aWZpY2F0ZUNoYWluIHs8YnI+CqCgoKCgoKCgoKCgIGNoYWlubGVuZ3RoID0gMTgx MyAoMHgwNzE1KTxicj4KoKCgoKCgoKCgoKAgQ2VydGlmaWNhdGUgezxicj4KoKCgoKCgoKCgoKCg oKAgc2l6ZSA9IDg5MCAoMHgwMzdhKTxicj4KoKCgoKCgoKCgoKCgoKAgZGF0YSA9IHsgc2F2ZWQg aW4gZmlsZSAmIzM5O2NlcnQuMDAzJiMzOTsgfTxicj4KoKCgoKCgoKCgoKAgfTxicj4KoKCgoKCg oKCgoKAgQ2VydGlmaWNhdGUgezxicj4KoKCgoKCgoKCgoKCgoKAgc2l6ZSA9IDkxNyAoMHgwMzk1 KTxicj4KoKCgoKCgoKCgoKCgoKAgZGF0YSA9IHsgc2F2ZWQgaW4gZmlsZSAmIzM5O2NlcnQuMDA0 JiMzOTsgfTxicj4KoKCgoKCgoKCgoKAgfTxicj4KoKCgoKCgoKAgfTxicj4KoKAgMDogMGUgMDAg MDAgMDCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgIHwgLi4uLjxicj4K oKCgoKAgdHlwZSA9IDE0IChzZXJ2ZXJfaGVsbG9fZG9uZSk8YnI+CqCgoKCgIGxlbmd0aCA9IDAg KDB4MDAwMDAwKTxicj4KoKAgfTxicj4KfTxicj4KJmx0Oy9mb250Jmd0O108YnI+Ci0tJmd0OyBb PGJyPgombHQ7Zm9udCBjb2xvcj1ibHVlJmd0OygzMzIgYnl0ZXMgb2YgMjYwLCB3aXRoIDY3IGxl ZnQgb3Zlcik8YnI+ClNTTFJlY29yZCB7IFtXZWQgTm92IDE4IDA5OjE0OjU2IDIwMDldPGJyPgqg oCAwOiAxNiAwMyAwMCAwMaAgMDSgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAg fCAuLi4uLjxicj4KoKAgdHlwZaCgoCA9IDIyIChoYW5kc2hha2UpPGJyPgqgoCB2ZXJzaW9uID0g eyAzLDAgfTxicj4KoKAgbGVuZ3RooCA9IDI2MCAoMHgxMDQpPGJyPgqgoCBoYW5kc2hha2Ugezxi cj4KoKAgMDogMTAgMDAgMDEgMDCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg oKCgIHwgLi4uLjxicj4KoKCgoKAgdHlwZSA9IDE2IChjbGllbnRfa2V5X2V4Y2hhbmdlKTxicj4K oKCgoKAgbGVuZ3RoID0gMjU2ICgweDAwMDEwMCk8YnI+CqCgoKCgoKCgIENsaWVudEtleUV4Y2hh bmdlIHs8YnI+CqCgoKCgoKCgoKCgIG1lc3NhZ2UgPSB7Li4ufTxicj4KoKCgoKCgoKAgfTxicj4K oKAgfTxicj4KfTxicj4KKDMzMiBieXRlcyBvZiAxLCB3aXRoIDYxIGxlZnQgb3Zlcik8YnI+ClNT TFJlY29yZCB7IFtXZWQgTm92IDE4IDA5OjE0OjU2IDIwMDldPGJyPgqgoCAwOiAxNCAwMyAwMCAw MKAgMDGgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgfCAuLi4uLjxicj4KoKAg dHlwZaCgoCA9IDIwIChjaGFuZ2VfY2lwaGVyX3NwZWMpPGJyPgqgoCB2ZXJzaW9uID0geyAzLDAg fTxicj4KoKAgbGVuZ3RooCA9IDEgKDB4MSk8YnI+CqCgIDA6IDAxoKCgoKCgoKCgoKCgoKCgoKCg oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoCB8IC48YnI+Cn08YnI+CigzMzIgYnl0ZXMg b2YgNTYpPGJyPgpTU0xSZWNvcmQgeyBbV2VkIE5vdiAxOCAwOToxNDo1NiAyMDA5XTxicj4KoKAg MDogMTYgMDMgMDAgMDCgIDM4oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgIHwg Li4uLjg8YnI+CqCgIHR5cGWgoKAgPSAyMiAoaGFuZHNoYWtlKTxicj4KoKAgdmVyc2lvbiA9IHsg MywwIH08YnI+CqCgIGxlbmd0aKAgPSA1NiAoMHgzOCk8YnI+CqCgoKCgoKCgoKCgICZsdDsgZW5j cnlwdGVkICZndDs8YnI+Cn08YnI+CiZsdDsvZm9udCZndDtdPGJyPgpzc2x0YXA6IEVycm9yIC01 OTYxOiBUQ1AgY29ubmVjdGlvbiByZXNldCBieSBwZWVyLjogZXJyb3Igb24Kc2VydmVyLXNpZGUg c29ja2V0Ljxicj4KQ29ubmVjdGlvbiAyIENvbXBsZXRlIFtXZWQgTm92IDE4IDA5OjE0OjU2IDIw MDldCiAgICAgIDxkaXY+CiAgICAgIDxkaXY+PGJyPgogICAgICA8YnI+CiAgICAgIDxicj4KICAg ICAgPGJyPgogICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gVHVlLCBOb3YgMTcsIDIw MDkgYXQgNzoyMSBQTSwKQ2hhbmRyYXNla2FyIEthbm5hbiA8c3BhbiBkaXI9Imx0ciI+Jmx0Ozxh IGhyZWY9Im1haWx0bzpja2FubmFuQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5ja2FubmFu QHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bhbj4Kd3JvdGU6PGJyPgogICAgICA8YmxvY2txdW90ZSBj bGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYigyMDQs IDIwNCwgMjA0KTsgbWFyZ2luOiAwcHQgMHB0IDBwdCAwLjhleDsgcGFkZGluZy1sZWZ0OiAxZXg7 Ij4KICAgICAgICA8ZGl2IHRleHQ9IiMwMDAwMDAiIGJnY29sb3I9IiNmZmZmZmYiPgogICAgICAg IDxkaXY+T24gMTEvMTcvMjAwOSAwMTowOSBQTSwgSm9obiBEb3JvdnNraSB3cm90ZToKICAgICAg ICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj5JdCB3YXMgbm90IGEgdHlwby4gSSBkaWQgdXNlIHRo ZSBwb3J0Cm51bWJlciA5NTQ1Ljxicj4KICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgPGJy PgogICAgICAgIDwvZGl2PgpPay4gb25lIGlkZWEgd291bGQgYmUgdG8gcnVuIHRoZSB1dGlsaXR5 ICZxdW90O3NzbHRhcCZxdW90OyBhcyBhIHByb3h5PGJyPgphbmQgdXNpbmcgeW91ciBicm93c2Vy IHRvIGNvbm5lY3QgdG8gdGhlICZxdW90O3NzbHRhcCZxdW90OyBwb3J0IGFuZDxicj4KcGFzdGlu ZyB0aGUgb3V0cHV0IGhlcmUgc28gZm9sa3MgY2FuIHNlZSB3aGF0JiMzOTtzIGhhcHBlbmluZzxi cj4KZHVyaW5nIHRoZSBTU0wgaGFuZHNoYWtlLjxicj4KICAgICAgICA8YSBocmVmPSJodHRwOi8v d3d3Lm1vemlsbGEub3JnL3Byb2plY3RzL3NlY3VyaXR5L3BraS9uc3MvdG9vbHMvc3NsdGFwLmh0 bWwiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2plY3RzL3NlY3Vy aXR5L3BraS9uc3MvdG9vbHMvc3NsdGFwLmh0bWw8L2E+PGJyPgogICAgICAgIDxicj4KICAgICAg ICA8YnI+Ck9uIGEgRmVkb3JhIDEwIHN5c3RlbSwgaXRzIHBhY2thZ2VkIHdpdGggbnNzLXRvb2xz IHJwbS48YnI+CiAgICAgICAgPGJyPgpSdW4gc3NsdGFwIGxpa2UgdGhpcy4uLjxicj4KICAgICAg ICA8YnI+CnNzbHRhcCAtc2Z4bCBDQV9IT1NUTkFNRTpDQV9QT1JUPGJyPgogICAgICAgIDxicj4K aW4geW91ciBjYXNlLCBpdCB3aWxsIGJlIDxicj4KICAgICAgICA8YnI+CnNzbHRhcCAtc2Z4bCBs b2NhbGhvc3Q6OTU0NTxicj4KICAgICAgICA8YnI+ClRoZW4gdXNlIGEgYnJvd3NlciBhbmQgY29u bmVjdCB0byBzc2x0YXAuIHNzbHRhcDxicj4KbGlzdGVucyBvbiBwb3J0IDE5MjQuIFNvIG9uIHRo ZSBicm93c2VyIHR5cGUuLjxicj4KICAgICAgICA8YnI+CqA8YSBocmVmPSJodHRwczovL2xvY2Fs aG9zdC5sb2NhbGRvbWFpbjoxOTI0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9sb2NhbGhvc3Qu bG9jYWxkb21haW46MTkyNDwvYT48YnI+CiAgICAgICAgPGJyPgogICAgICAgIDxicj4Kc3NsdGFw IHdpbGwgY2FwdHVyZSB0aGUgcmVzdWx0cyBvZiB0aGUgc3NsIGhhbmRzaGFrZS4gPGJyPgogICAg ICAgIDxicj4KQ29weSBhbmQgcGFzdGUgaXQgaGVyZSBzbyB3ZSBjYW4gdGVsbCB3aGF0JiMzOTtz IGhhcHBlbmluZzxicj4KZHVyaW5nIHRoYXQgcGhhc2Ugd2hpbGUgeW91IGdldCB0aGUgYmFkIG1h YyBhbGVydC48YnI+CiAgICAgICAgPGJyPgpUaGFua3MsPGJyPgotLUNoYW5kcmEKICAgICAgICA8 ZGl2PgogICAgICAgIDxkaXY+PGJyPgogICAgICAgIDxicj4KICAgICAgICA8YnI+CiAgICAgICAg PGJyPgogICAgICAgIDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPjxicj4KICAgICAgICAgIDxicj4K Sm9objxicj4KICAgICAgICAgIDxicj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1b3Rl Ij5PbiBUdWUsIE5vdiAxNywgMjAwOSBhdCAzOjUxIFBNLApBZGV3dW1pLCBKdWxpdXMtcDk5Mzcz IDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOkp1bGl1cy5BZGV3dW1pQGdkYzRz LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPkp1bGl1cy5BZGV3dW1pQGdkYzRzLmNvbTwvYT4mZ3Q7PC9z cGFuPgp3cm90ZTo8YnI+CiAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUi IHN0eWxlPSJib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTsgbWFyZ2lu OiAwcHQgMHB0IDBwdCAwLjhleDsgcGFkZGluZy1sZWZ0OiAxZXg7Ij48YnI+ClVubGVzcyBpdCYj Mzk7cyBhIHR5cG8gb24geW91ciBwYXJ0LCB0aGUgdHdvIHBvcnQgbnVtYmVycyBhcmUgZGlmZmVy ZW50Li4uPGJyPgpDb3VsZCB0aGF0IGJlIHRoZSBwcm9ibGVtPzxicj4KODQ0NSCgdnMgOTU0NTxi cj4KICAgICAgICAgICAgPGJyPgpGcm9tOiBKdWxpdXMgQWRld3VtaTxicj4KQEdEQzRTLmNvbTxi cj4KUGg6NDgwLTQ0MS02NzY4PGJyPgpDb250cmFjdCBDb3JwOk1UU0k8YnI+CiAgICAgICAgICAg IDxkaXY+PGJyPgogICAgICAgICAgICA8YnI+Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tPGJy PgpGcm9tOiA8YSBocmVmPSJtYWlsdG86cGtpLXVzZXJzLWJvdW5jZXNAcmVkaGF0LmNvbSIgdGFy Z2V0PSJfYmxhbmsiPnBraS11c2Vycy1ib3VuY2VzQHJlZGhhdC5jb208L2E+ClttYWlsdG86PGEg aHJlZj0ibWFpbHRvOnBraS11c2Vycy1ib3VuY2VzQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5r Ij5wa2ktdXNlcnMtYm91bmNlc0ByZWRoYXQuY29tPC9hPl08YnI+Ck9uIEJlaGFsZiBPZiBDaHJp c3RpbmEgRnU8YnI+ClNlbnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDE3LCAyMDA5IDEyOjU2IFBNPGJy PgpUbzogPGEgaHJlZj0ibWFpbHRvOnBraS11c2Vyc0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFu ayI+cGtpLXVzZXJzQHJlZGhhdC5jb208L2E+PGJyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAg ICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdj5DYzogPGEgaHJlZj0ibWFpbHRvOmpvaG5kb3Jv dnNraUBnb29nbGVtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmpvaG5kb3JvdnNraUBnb29nbGVt YWlsLmNvbTwvYT48YnI+ClN1YmplY3Q6IFtQa2ktdXNlcnNdIChmb3J3YXJkZWQpIEhlbHAgbmVl ZGVkIG9uIGRvZ3RhZzxicj4KICAgICAgICAgICAgPGJyPgpJIG1pZ2h0IGhhdmUgbWVzc2VkIHVw IHdoZW4gbWFuYWdpbmcgcGtpLXVzZXJzIGFuZCB0aGlzIGRpZCBub3QgY29tZTxicj4KdGhyb3Vn aC4goEhlbmNlIHRoZSBmb3J3YXJkLjxicj4KQ2hyaXN0aW5hPGJyPgogICAgICAgICAgICA8YnI+ ClN1YmplY3Q6PGJyPgpIZWxwIG5lZWRlZCBvbiBkb2d0YWc8YnI+CkZyb206PGJyPgpKb2huIERv cm92c2tpICZsdDs8YSBocmVmPSJtYWlsdG86am9obmRvcm92c2tpQGdvb2dsZW1haWwuY29tIiB0 YXJnZXQ9Il9ibGFuayI+am9obmRvcm92c2tpQGdvb2dsZW1haWwuY29tPC9hPiZndDs8YnI+CkRh dGU6PGJyPgpUdWUsIDE3IE5vdiAyMDA5IDEwOjU4OjE4IC0wNTAwPGJyPgogICAgICAgICAgICA8 YnI+ClRvOjxicj4KICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOnBraS11c2Vyc0ByZWRoYXQu Y29tIiB0YXJnZXQ9Il9ibGFuayI+cGtpLXVzZXJzQHJlZGhhdC5jb208L2E+PGJyPgogICAgICAg ICAgICA8YnI+CiAgICAgICAgICAgIDxicj4KSGksPGJyPgogICAgICAgICAgICA8YnI+CkkganVz dCBpbnN0YWxsZWQgYSBkb2d0YWcgKDEuMi4wKSBpbnN0YW5jZSBvbiBteSBGZWRvcmEgMTAgc3lz dGVtLjxicj4KSSB1c2VkIGEgU2FmZU5ldCBQcm90ZWN0U2VydmVyIEdvbGQgSFNNIGFzIGtleXN0 b3JlLjxicj4KVGhlIGRvZ3RhZyBzeXN0ZW0gaW5zdGFsbGF0aW9uIGFuZCBjb25maWd1cmF0aW9u IHdlcmUgZmluZS4gTm8gZXJyb3Igd2FzPGJyPgpyZXBvcnRlZC48YnI+CkFsbCBrZXlzIGFuZCBj ZXJ0aWZpY2F0ZXMgd2VyZSBnZW5lcmF0ZWQgaW5zaWRlIHRoZSBIU00uPGJyPgogICAgICAgICAg ICA8YnI+CkJ1dCB3aGVuIEkgdHJpZWQgdG8gYWNjZXNzIHRoZSBzZWN1cmUgYWRtaW4gaW50ZXJm YWNlIGF0PGJyPgqgIKAgPGEgaHJlZj0iaHR0cHM6Ly9sb2NhbGhvc3Q6bG9jYWxkb21haW46OTU0 NSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbG9jYWxob3N0OmxvY2FsZG9tYWluOjk1NDU8L2E+ PGJyPgpJIGdvdCBlcnJvciBtZXNzYWdlOjxicj4KoCCgU2VjdXJlIENvbm5lY3Rpb24gRmFpbGVk PGJyPgqgIKBBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgYSBjb25uZWN0aW9uIHRvIGxvY2FsaG9z dC5sb2NhbGRvbWFpbjo4NDQ1PGJyPgqgIKBTU0wgcGVlciByZXBvcnRzIGluY29ycmVjdCBNZXNz YWdlIEF1dGhlbnRpY2F0aW9uIENvZGUuPGJyPgqgIKAoRXJyb3IgY29kZTogc3NsX2Vycm9yX2Jh ZF9tYWNfYWxlcnQpPGJyPgogICAgICAgICAgICA8YnI+CkkgY2hlY2tlZCB0aGUgc2VydmVyIGNl cnRpZmljYXRlICh2aWV3ZWQgaXQgd2l0aCBJRSBvbiBhIFdpbmRvd3MgYm94KS48YnI+Ckl0IHNl ZW1zIGZpbmUuPGJyPgogICAgICAgICAgICA8YnI+CkRvZXMgYW55IGJvZHkga25vdyB3aGF0IGlz IHdyb25nIGFuZCBob3cgY2FuIEkgZml4IGl0Pzxicj4KICAgICAgICAgICAgPGJyPgpUaGFua3Ms PGJyPgogICAgICAgICAgICA8YnI+CkpvaG48YnI+CiAgICAgICAgICAgIDxicj4KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+ClBraS11c2VycyBtYWls aW5nIGxpc3Q8YnI+CiAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpQa2ktdXNlcnNAcmVkaGF0 LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPlBraS11c2Vyc0ByZWRoYXQuY29tPC9hPjxicj4KICAgICAg ICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL2xpc3RpbmZvL3Br aS11c2VycyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LnJlZGhhdC5jb20vbWFpbG1hbi9s aXN0aW5mby9wa2ktdXNlcnM8L2E+PGJyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg PC9kaXY+CiAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAg IDxicj4KICAgICAgICAgIDxwcmU+PGZpZWxkc2V0PjwvZmllbGRzZXQ+Cl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClBraS11c2VycyBtYWlsaW5nIGxpc3QK PGEgaHJlZj0ibWFpbHRvOlBraS11c2Vyc0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+UGtp LXVzZXJzQHJlZGhhdC5jb208L2E+CjxhIGhyZWY9Imh0dHBzOi8vd3d3LnJlZGhhdC5jb20vbWFp bG1hbi9saXN0aW5mby9wa2ktdXNlcnMiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3d3dy5yZWRo YXQuY29tL21haWxtYW4vbGlzdGluZm8vcGtpLXVzZXJzPC9hPgogIDwvcHJlPgogICAgICAgIDwv YmxvY2txdW90ZT4KICAgICAgICA8YnI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAg ICAgICAgPC9kaXY+CiAgICAgICAgPGJyPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXzxicj4KUGtpLXVzZXJzIG1haWxpbmcgbGlzdDxicj4KICAgICAgICA8 YSBocmVmPSJtYWlsdG86UGtpLXVzZXJzQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5Qa2kt dXNlcnNAcmVkaGF0LmNvbTwvYT48YnI+CiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cucmVk aGF0LmNvbS9tYWlsbWFuL2xpc3RpbmZvL3BraS11c2VycyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBz Oi8vd3d3LnJlZGhhdC5jb20vbWFpbG1hbi9saXN0aW5mby9wa2ktdXNlcnM8L2E+PGJyPgogICAg ICAgIDxicj4KICAgICAgPC9ibG9ja3F1b3RlPgogICAgICA8L2Rpdj4KICAgICAgPGJyPgogICAg ICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8L2Rpdj4KICAgIDxi cj4KICAgIDxwcmU+PGZpZWxkc2V0PjwvZmllbGRzZXQ+Cl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClBraS11c2VycyBtYWlsaW5nIGxpc3QKPGEgaHJlZj0i bWFpbHRvOlBraS11c2Vyc0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+UGtpLXVzZXJzQHJl ZGhhdC5jb208L2E+CjxhIGhyZWY9Imh0dHBzOi8vd3d3LnJlZGhhdC5jb20vbWFpbG1hbi9saXN0 aW5mby9wa2ktdXNlcnMiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3d3dy5yZWRoYXQuY29tL21h aWxtYW4vbGlzdGluZm8vcGtpLXVzZXJzPC9hPgogIDwvcHJlPgogIDwvYmxvY2txdW90ZT4KICA8 YnI+CiAgPHByZT48ZmllbGRzZXQ+PC9maWVsZHNldD4KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KUGtpLXVzZXJzIG1haWxpbmcgbGlzdAo8YSBocmVmPSJt YWlsdG86UGtpLXVzZXJzQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5Qa2ktdXNlcnNAcmVk aGF0LmNvbTwvYT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL2xpc3Rp bmZvL3BraS11c2VycyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LnJlZGhhdC5jb20vbWFp bG1hbi9saXN0aW5mby9wa2ktdXNlcnM8L2E+CiAgPC9wcmU+CjwvYmxvY2txdW90ZT4KPGJyPgo8 L2Rpdj48L2Rpdj48L2Rpdj4KCjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXzxicj4KUGtpLXVzZXJzIG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFp bHRvOlBraS11c2Vyc0ByZWRoYXQuY29tIj5Qa2ktdXNlcnNAcmVkaGF0LmNvbTwvYT48YnI+Cjxh IGhyZWY9Imh0dHBzOi8vd3d3LnJlZGhhdC5jb20vbWFpbG1hbi9saXN0aW5mby9wa2ktdXNlcnMi IHRhcmdldD0iX2JsYW5rIj5odHRwczovL3d3dy5yZWRoYXQuY29tL21haWxtYW4vbGlzdGluZm8v cGtpLXVzZXJzPC9hPjxicj4KPGJyPjwvYmxvY2txdW90ZT48L2Rpdj48YnI+Cg== --===============5039199416007378784==--