Event Details

This is a KIND 5391 event created on 2023-11-03 04:31:38 (10 months, 2 weeks ago). Debug this event chain.

{
  "id": "9b7c0009d2cac6aa37e154ac1874d2697f9fc58bc1704dfade79b0525b0bf176",
  "pubkey": "e8ed3798c6ffebffa08501ac39e271662bfd160f688f94c45d692d8767dd345a",
  "created_at": 1698985898,
  "kind": "5391",
  "tags": [
    [
      "e",
      "7c90faab92915b934eaeac038f4d0d188fbe66569268d3acfe47add69bc9c638",
      "wss://dashglow-test.nostr1.com",
      "root"
    ],
    [
      "m",
      "text/javascript"
    ],
    [
      "alt",
      "This is a binary chunk of a web-based video game. Play the full game at https://crashglow.com/game/nevent1qqs8ey864wffzkunf6h2cqu0f5x33ra7vetfy6xn4nly0twkn0yuvwqpremhxue69uhkgctndpnkcmmh946x2um59ehx7um5wgcjucm0d5q3vamnwvaz7tmjv4kxz7fwwpexjmtpdshxuet5qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszymhwden5te0wfjkcctev93xcefwdaexwqg5waehxw309aex2mrp0yhxummnw3ezumt9qyxhwumn8ghj7mn0wvhxcmmvqyt8wumn8ghj7un9d3shjtnwdaehgu3wvfskueqzyr5w6duccml7hlaqs5q6cw0zw9nzhlgkpa5gl9xyt45jmpm8m5695qcyqqqqqqgk7zq5g"
    ],
    [
      "index",
      "2"
    ],
    [
      "x",
      "7c8a57a48656f34ac9a8dd31ca419e155b5ed28df1bd279c74ccdb220579e243"
    ]
  ],
  "content": "LCAxLCAwLCAzLCA1MiwgNywgNywgNywgOCwgMCwgMzYsIDcsIDcsIDgsIDAsIDQ3LCA3LCA3LCA5LCAwLCAxLCA1LCAzNiwgMCwgNiwgNTQsIDAsIDMsIDY5LCAwLCAxNSwgMTA5LCAwLCAxOSwgMTQsIDkxLCAwLCAxNSwgOSwgMCwgMjYsIDE1LCAxMDksIDAsIDI4LCAzLCAyLCAwLCAxNSwgMTgsIDAsIDQ0LCAxNSwgMTA5LCAwLCAxNCwgODEsIDE2LCAxNiwgMTYsIDE2LCAwLCA0LCAwLCAzMiwgNywgNywgNSwgMCwgNCwgOSwgMCwgMiwgMjIsIDAsIDI1LCAxNiwgNDEsIDAsIDEsIDQsIDAsIDMsIDM2LCAwLCAyMywgMTYsIDE4LCAwLCAxNSwgMjE4LCAwLCAyNywgMTUsIDczLCAwLCAxNiwgNiwgMTI3LCAwLCAxMCwgMTQ1LCAwLCAwLCA5LCAwLCA0LCAxODEsIDAsIDE1LCAxMDksIDAsIDU0LCAxNSwgMiwgMSwgMTcsIDAsIDEwOSwgMCwgOTgsIDE4NCwgMzEsIDAsIDAsIDkwLCAwLCA0LCAwLCA0NywgOCwgMCwgMSwgMCwgMjU1LCAyNSwgNjUsIDE0LCAxNCwgMTQsIDAsIDIsIDAsIDE4LCAxNCwgNCwgMCwgMTcsIDAsIDgsIDAsIDEzLCAzOCwgMCwgNCwgMzQsIDAsIDQ3LCAwLCAxNCwgOTAsIDAsIDIzLCAzLCAyLCAwLCAxLCA1MSwgMCwgMjMsIDE0LCAxNiwgMCwgMTUsIDM4LCAwLCAwLCAzMSwgMCwgOTAsIDAsIDI3LCA0NywgMTQsIDAsIDkwLCAwLCAxNywgMjAsIDE0LCA0LCAwLCAxNSwgMTgwLCAwLCA2OSwgMzEsIDAsIDE4MCwgMCwgMjYsIDQsIDE0MywgMCwgMywgOTAsIDAsIDQ3LCAxNCwgMCwgOTAsIDAsIDUsIDQsIDEzOCwgMSwgMTUsIDI4LCAyLCAxMTMsIDE1LCAxLCAwLCA5LCAxNSwgMzgsIDAsIDE1LCAzMSwgMCwgMSwgMCwgMjU1LCAyMzksIDE5LCAxMywgMTM3LCAxNSwgMTksIDEzLCAxMzksIDE1LCAyMywgMTMsIDEyLCAwLCAxNSwgODksIDAsIDQzLCA5LCAyMzMsIDE1LCAxMCwgMTIsIDAsIDE1LCA5MCwgMCwgNTIsIDEsIDE2NywgMCwgMjUsIDEzLCAxMiwgMCwgMTUsIDE4MCwgMCwgNTUsIDEyLCAxOTAsIDAsIDcsIDEsIDAsIDE1LCA2MywgMywgMzMsIDQsIDkyLCAxLCA1LCAxNzIsIDAsIDYsIDE5NiwgMCwgOSwgOTUsIDQsIDUsIDEyNCwgNCwgMTUsIDEsIDAsIDYwLCAyLCAxODUsIDQsIDE1LCA5MCwgMCwgNjcsIDMxLCAwLCA5MCwgMCwgNzAsIDQ3LCAxNCwgMTQsIDkwLCAwLCA3MiwgMTQsIDMxLCA2LCAxNSwgMTQ3LCA1LCA0OCwgMTUsIDkxLCA1LCAxMjIsIDQsIDE4LCAzLCAyLCAxOTYsIDIsIDU3LCA1LCAwLCAwLCAxNiwgMCwgMTUsIDQ0LCAzLCA0NywgMywgNzQsIDAsIDIyLCA1LCAzMiwgMywgMTQsIDkwLCAwLCAxNSwgODksIDAsIDM2LCAyLCA4LCAwLCAxNSwgOTAsIDAsIDU4LCA5LCA3NCwgMCwgOCwgMTgwLCAwLCA0NywgMTMsIDEzLCAxMDQsIDEsIDU2LCAyMCwgNSwgMjM4LCAzLCA4LCAxMTUsIDAsIDE1LCA0NCwgNywgMjU1LCAxODIsIDE1LCAxLCAwLCA2MSwgNDcsIDAsIDAsIDEyNiwgOSwgMjU1LCAyMzksIDIsIDcsIDAsIDEyLCA4LCAwLCAzMSwgMCwgNjksIDUsIDU2LCA0NywgMCwgMCwgNzAsIDUsIDU4LCAxMSwgMTY0LCAwLCA2LCAyMzUsIDQsIDE1LCA4NCwgNiwgNTUsIDE0LCAxODAsIDAsIDE1LCAxMjYsIDksIDQzLCAxMiwgMTQzLCA1LCAxMiwgMTEyLCAxLCAyNSwgMCwgMTI2LCA5LCAzMSwgMCwgMTI2LCA5LCA2OSwgMzEsIDE0LCA5MCwgMCwgNTIsIDE1LCAxODAsIDAsIDg2LCAxNCwgMjMzLCAxNCwgMTUsIDEyNiwgOSwgMTkxLCAxLCA2NiwgMTIsIDMsIDQsIDAsIDgsIDM3LCAyLCAxNSwgMjAyLCA4LCA1MSwgOCwgMjQ0LCAxMiwgNCwgMTE4LCA5LCAxNSwgOTAsIDAsIDUyLCA0NSwgMTMsIDEzLCAxMjQsIDMsIDE1LCAxODAsIDAsIDY0LCA1LCAyMzAsIDMsIDE1LCA5MCwgMCwgNTQsIDExLCA1NywgNCwgMTQsIDkwLCAwLCAxNSwgMSwgMCwgNTUsIDE1LCAxMjYsIDksIDI1NSwgMjU1LCAyNTUsIDQwLCA1LCAyMCwgNSwgMywgMTYxLCAzMywgNCwgMjgsIDUsIDYsIDQ0LCA1LCAxMCwgMTA4LCA0LCAyLCAyMCwgOCwgMjIsIDUsIDI4LCAwLCAxMiwgODQsIDUsIDYsIDQyLCAwLCA0NywgMCwgMTMsIDg4LCAxNywgMiwgNDIsIDEzLCAxMywgMTE2LCAxNywgNDYsIDAsIDEzLCAxNzIsIDEzLCA0LCAyNCwgMCwgNSwgMTIsIDAsIDE1LCAxODAsIDAsIDYsIDEyLCAyOCwgNSwgNSwgMTEwLCAxNywgMTIsIDE4MCwgMCwgMywgMTksIDE1LCA1LCA5MCwgMCwgMTQsIDI0OSwgMTgsIDE1LCAyMiwgMTgsIDIsIDgsIDIwNCwgMCwgMTUsIDE4MCwgMCwgMSwgMzEsIDAsIDE4MCwgMCwgMjEsIDUsIDM0LCAwLCAxMCwgMTk0LCAxOCwgNDIsIDEzLCAwLCAxMjgsIDEsIDI2LCAwLCAxOSwgMTUsIDcsIDI4LCAwLCA3LCAxMiwgMCwgMzEsIDAsIDE4MiwgMTMsIDI1NSwgODgsIDE1LCAxLCAwLCAyNTUsIDI1NSwgMjU1LCAyNTUsIDIyNCwgMTUsIDE3OCwgMzcsIDksIDEyOCwgMCwgMCwgMSwgMSwgMCwgMCwgMSwgNywgNCwgMCwgMTksIDEsIDgsIDAsIDM1LCA3LCAxLCA4LCAwLCAyNywgNywgOCwgMCwgMjUsIDEsIDQwLCAwLCAxLCA1NiwgMCwgMTUsIDkyLCAwLCA5LCAzNCwgNywgMSwgMzgsIDAsIDEsIDQ5LCAwLCAxLCA4LCAwLCAzNCwgMSwgNywgOCwgMCwgMjcsIDcsIDgsIDAsIDQsIDI0LCAwLCA0LCA0MCwgMCwgOTYsIDAsIDAsIDEsIDEsIDAsIDAsIDk5LCA3MCwgNzMsIDc2LCAwLCAwLCAwLCAwLCA3NiwgNTMsIDAsIDAsIDExMiwgMTExLCAxMDAsIDQ3LCAxMDIsIDk1LCAxMTIsIDEwNSwgOTksIDExMSwgNTYsIDQ2LCAxMTIsIDExMSwgMTAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDMsIDgsIDAsIDAsIDI0MSwgMTIsIDY3LCA4MCwgNzksIDY4LCA2OCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMTAyLCA5NSwgMTEyLCAxMDUsIDk5LCAxMTEsIDU2LCA0NiwgMTEyLCAxMTEsIDEwMCwgMCwgOTgsIDk3LCA0NywgMTMsIDAsIDgzLCA0NywgMTEyLCAxMTEsIDEwMCwgNDcsIDI1LCAwLCAxLCAzNywgMCwgMTUsIDEsIDAsIDgsIDI0NywgMiwgNjcsIDY2LCA3NywgODAsIDM1LCAwLCAwLCAwLCAzLCAwLCAwLCAwLCA1LCAwLCAwLCAwLCA4LCAyOCwgMCwgNjYsIDI1NSwgMjU1LCAyNTUsIDI1NSwgNSwgMCwgMSwgMTIsIDAsIDE1LCA0MywgMCwgMTEsIDc5LCAwLCAwLCAyNTUsIDAsIDQzLCAwLCAyNCwgMzEsIDAsIDQzLCAwLCAxOSwgMiwgMTI4LCAwLCAxNSwgMTI5LCAwLCAxNywgMywgMTY5LCAwLCAxNSwgNDMsIDAsIDE2LCAwLCAxMjMsIDAsIDE4LCAyNTUsIDEyOCwgMCwgMTUsIDg2LCAwLCAxNSwgNDcsIDAsIDI1NSwgMTI5LCAwLCAyMSwgNCwgMjE2LCAwLCAxNSwgMTI5LCAwLCAxOCwgNCwgODUsIDAsIDE1LCAxMjksIDAsIDIsIDE1LCAxNzQsIDEsIDcsIDE1LCA0MywgMCwgNTIsIDQ3LCAyNTUsIDI1NSwgMjE1LCAwLCAyNSwgMiwgNSwgMSwgMTUsIDE3MiwgMCwgNTgsIDIsIDEyNSwgMCwgMTUsIDEyOSwgMCwgMjIsIDAsIDE3NiwgMSwgMzEsIDAsIDQzLCAwLCAyMCwgNiwgMSwgMCwgMTUsIDE3MiwgMCwgMTIsIDUsIDQwLCAwLCAxNSwgODgsIDEsIDQsIDE0LCA5LCAzLCAxNSwgNDMsIDAsIDE4LCA1LCAyLCAwLCAxNSwgNDMsIDAsIDE4LCAzMSwgMCwgNDMsIDAsIDIyLCAyLCAzLCAwLCAxNSwgNDMsIDAsIDE0LCAyMSwgMjU1LCA5MiwgMSwgNDcsIDAsIDAsIDIxOSwgMiwgMTUsIDYsIDk0LCAxLCAxNSwgNCwgMiwgMTYsIDIsIDIyMCwgMiwgMTUsIDEzMywgMiwgMTYsIDQsIDIyNSwgMywgMTUsIDE3OCwgMywgMTgsIDIsIDcsIDIsIDMxLCAyNTUsIDIxOSwgMiwgMTcsIDMxLCAyNTUsIDYsIDMsIDI1LCAyLCA5MiwgMSwgMTUsIDQzLCAwLCAxOSwgMSwgNDcsIDEsIDE1LCAxNzIsIDAsIDEzLCA0NywgMCwgMjU1LCAyMTksIDIsIDE4LCA3LCAwLCAyLCAxNCwgMTcyLCAwLCAxNSwgNDksIDMsIDM4LCAyNCwgMCwgMTI5LCAxLCAxNSwgMTcyLCAwLCA1NCwgNiwgNDUsIDIsIDEsIDYsIDAsIDE1LCAxMzUsIDMsIDE1LCA1LCA0OCwgMiwgMTUsIDEyOSwgMCwgMTIsIDQsIDYsIDEsIDMxLCAwLCA4NiwgMCwgMTQsIDIsIDE2OSwgMiwgNDcsIDI1NSwgMjU1LCA0NywgMiwgMTQsIDcsIDg0LCAxLCAxNSwgMTMxLCAxLCAxOCwgNDcsIDAsIDI1NSwgNCwgMiwgMTgsIDIzLCAyNTUsIDkyLCAxLCAxNSwgMjE1LCAwLCAxNSwgNCwgMTczLCAyLCAxNSwgMjE1LCAwLCAzLCAxNCwgMTM3LCAzLCA0NywgMCwgMjU1LCA0LCAyLCAyMywgMTQsIDEzNSwgMywgMTUsIDQzLCAwLCAyLCAzLCA1NiwgNiwgMTUsIDkwLCAyLCAyNCwgMzEsIDI1NSwgNTEsIDQsIDE1LCA1LCAxLCAxLCAxNSwgMTYsIDgsIDE3LCA0LCA1NiwgNCwgMTUsIDIyOSwgNywgMTcsIDMsIDgsIDEsIDE1LCA1NywgNywgMTUsIDUsIDk1LCAyLCAxNSwgMTAwLCA3LCAxNiwgMzEsIDI1NSwgOTQsIDQsIDIwLCA3LCAxODUsIDQsIDE1LCAyMjcsIDYsIDIwLCAzMSwgMjU1LCAxNiwgOCwgMTYsIDcsIDE1LCA2LCAxNSwgMTYsIDgsIDE3LCAxNSwgMTI5LCAwLCAyMSwgMzEsIDI1NSwgODYsIDAsIDIxLCAxNSwgMjE1LCAwLCAyMSwgNCwgMjIyLCAyLCAzLCA2LCAwLCAxNSwgNDMsIDAsIDIxLCA0NywgMjU1LCAwLCA0NywgMiwgMTYsIDMsIDU0LCAzLCAzMSwgMCwgMTAwLCA3LCAxNiwgNSwgNiwgMCwgMTUsIDg4LCAxLCAxMiwgNSwgMTMsIDcsIDE0LCAxMzMsIDIsIDE1LCA0LCAyLCA1LCAxNSwgMjIxLCAzLCAxNiwgNCwgMTc2LCAyLCA0NywgMCwgMCwgMTg4LCA4LCAxNSwgMTUsIDEwLCA1LCAyMCwgNSwgMTgzLCA0LCAxNCwgMTgwLCA0LCAxNSwgODYsIDAsIDUsIDMxLCAwLCAxMjksIDAsIDE4LCAyMSwgMjU1LCAxNzUsIDAsIDMxLCAyNTUsIDE0NSwgOCwgMTcsIDMxLCAyNTUsIDg2LCAwLCAyMSwgMywgNDMsIDAsIDE0LCA5NCwgNCwgMTUsIDE3MiwgMCwgMiwgMTUsIDIxNSwgMCwgMTksIDQ3LCAyNTUsIDAsIDQ1LCAxLCAyNCwgMzAsIDI1NSwgOCwgNCwgMTUsIDQzLCAwLCAxNCwgMTUsIDE4LCA5LCAxNywgNCwgNDgsIDEsIDE1LCA0MywgMCwgMTQsIDYsIDE1MiwgMTEsIDE1LCAyMCwgMTAsIDE5LCAxNCwgODYsIDAsIDE1LCAxNzQsIDEsIDksIDMxLCAwLCA5MCwgMiwgMTYsIDE0LCAyMTcsIDEsIDE1LCAxMzMsIDIsIDE0LCAxNSwgMTc4LCAzLCAxNiwgMywgNjcsIDExLCAxNSwgOTAsIDIsIDIxLCA0NywgMjU1LCAwLCAxNzIsIDAsIDIwLCAzLCA3LCAwLCAxNSwgMTc0LCAxLCAyMSwgNDcsIDAsIDI1NSwgMTkyLCAxMCwgMjMsIDE1LCA5MCwgMiwgMjMsIDE1LCA4NiwgMCwgMjIsIDMxLCAyNTUsIDE3NiwgMiwgMTksIDUsIDE1MCwgOCwgMTUsIDkwLCAyLCAxNywgMzEsIDI1NSwgMiwgMSwgMjIsIDMxLCAwLCAxODQsIDYsIDE4LCA3LCAxMCwgNiwgMzEsIDI1NSwgMTAsIDUsIDE3LCAzMSwgMjU1LCA5NiwgNSwgMTcsIDEwLCAxMDEsIDcsIDE1LCAxNDksIDEwLCAxMiwgMTUsIDE5MiwgMTAsIDIyLCAxMCwgMjI0LCAwLCAzMSwgNjcsIDYxLCA5LCAxNCwgMTUsIDc1LCAxNiwgMjcsIDE0LCA0OSwgMywgMTUsIDE0LCA3LCA1LCAxNSwgMTM3LCA0LCAxNywgNDcsIDI1NSwgMjU1LCAyMjEsIDMsIDIxLCA4LCAxNzUsIDMsIDE1LCAyNDMsIDE0LCAyMCwgMywgMjM1LCA3LCAxNSwgNDMsIDAsIDIyLCA0NywgMCwgMCwgMTcyLCAwLCAyMCwgMTUsIDE4OCwgOCwgMTUsIDE1LCA0NSwgMSwgMjUsIDE1LCAxMDQsIDksIDI1LCA2LCA0MywgMCwgMTUsIDIzOSwgMTIsIDEzLCAxNSwgOTYsIDUsIDIxLCA5LCAyMjksIDgsIDE1LCAxNTksIDE1LCAxOCBdKTsNCiAgIGZpbGVEYXRhMC5wdXNoLmFwcGx5KGZpbGVEYXRhMCwgWyAxNCwgNTMsIDUsIDE1LCAxNzQsIDEsIDQsIDE1LCA0MywgMCwgMTksIDYsIDkzLCA1LCAxNCwgOTYsIDUsIDE1LCAxMzMsIDIsIDcsIDE0LCAxNzQsIDEsIDE1LCA1OSwgOCwgMSwgMTUsIDk2LCA1LCAxOCwgNDcsIDI1NSwgMjU1LCA0NSwgMSwgMjIsIDUsIDEwMSwgMTAsIDE0LCA5NCwgNCwgMTUsIDE3NCwgMSwgOCwgMTUsIDI0MSwgMTMsIDE2LCAxNSwgOTYsIDUsIDIxLCA4LCAzLCAzLCAxNSwgODYsIDAsIDIyLCAzMSwgMjU1LCAxNzYsIDIsIDE5LCA1LCA1MSwgMSwgMTUsIDE1MSwgMTEsIDIxLCAxNSwgMjM3LCAxMSwgMjAsIDQ3LCAwLCAyNTUsIDIxMCwgMTksIDI0LCAxNSwgMTQsIDcsIDE1LCA0NywgMjU1LCAwLCA4OCwgMSwgMjIsIDUsIDE3NywgNSwgMTUsIDE0NSwgOCwgMTcsIDUsIDE5NiwgMTIsIDE1LCAxMCwgNSwgNCwgMTUsIDM1LCAxNiwgNCwgMCwgNDMsIDAsIDk1LCA1NSwgMCwgMCwgMCwgNywgMjA4LCAxOCwgMTUsIDE1LCAxLCAwLCAxLCAxNSwgNjMsIDAsIDEwLCAxNSwgMiwgMCwgMTUsIDE1LCA2MywgMCwgMTEsIDksIDEzMiwgMCwgOCwgMTk3LCA4LCA0LCA3MCwgMywgMTUsIDYzLCAwLCA5LCA3LCAxMzYsIDE4LCA3LCA2OCwgMjIsIDMsIDI0NiwgMTksIDE1LCA2MywgMCwgMTUsIDUsIDkxLCA2LCAyLCA1NywgMCwgMTUsIDE0LCAwLCAxLCAxNSwgMTI2LCAwLCAxMCwgNCwgMTUyLCA2LCAyNCwgMjU1LCAxMzEsIDEyLCA1LCAxNjEsIDEsIDE1LCA2MywgMCwgMTYsIDUsIDU1LCAwLCAyNywgMjU1LCAyNTMsIDE2LCAzLCAyOCwgMCwgMTUsIDI1MiwgMCwgMTIsIDQ3LCAwLCAyNTUsIDU2LCAwLCA0LCAzLCAxNTUsIDAsIDE1LCAxMjYsIDAsIDE5LCA1LCAxMTMsIDEsIDQsIDEyNCwgMSwgMTQsIDEyNiwgMCwgMTUsIDE4OSwgMCwgNywgNywgMjQ1LCAwLCA3LCAxMjYsIDAsIDMxLCAyNTUsIDI1MiwgMCwgMjQsIDYsIDI1NSwgMywgNywgNjUsIDksIDE1LCAyNDgsIDEsIDIxLCAyNywgMjU1LCAyNDgsIDEsIDMxLCAwLCAyNDgsIDEsIDE5LCA0MywgMjU1LCAyNTUsIDM5LCAyLCA1LCAxODEsIDEsIDE1LCAyNDQsIDIsIDE3LCA4LCAyMzIsIDAsIDYsIDcsIDIsIDksIDE2LCAxLCAxNSwgMTgxLCAyLCAyNiwgNywgMCwgMjUsIDE1LCAyNDQsIDIsIDE3LCA3LCA1NCwgMywgMzEsIDAsIDI0OCwgMSwgMzMsIDE1LCAzNywgNCwgNCwgNiwgMSwgMCwgMTUsIDE4OSwgMCwgMjAsIDcsIDEyMiwgMCwgMywgMjE5LCAxNiwgMTUsIDE4OSwgMCwgMjksIDcsIDEzNSwgMSwgMjUsIDI1NSwgNzQsIDE5LCAxNSwgMjQ4LCAxLCAxMiwgMTAsIDIzOCwgMCwgMTAsIDEwLCAxLCAxNSwgNTUsIDIsIDIwLCAxMCwgMTg5LCAwLCAxNSwgMTIyLCAxLCAyMiwgNSwgMjIxLCAyLCA0LCAyMjksIDUsIDI1LCAyNTUsIDUzLCAyMiwgMTUsIDYzLCAwLCAxOSwgOSwgMTM1LCAxNiwgMiwgMjI3LCAxNiwgMTUsIDEyMiwgMSwgMjYsIDExLCA4MiwgMjEsIDE1LCAyNDQsIDIsIDI2LCAxNSwgMTQsIDAsIDIsIDE1LCAyMzIsIDUsIDIzLCAxNSwgNywgMCwgMiwgMTUsIDIzMiwgNSwgMTYsIDE0LCAxNzcsIDEsIDIyLCAyNTUsIDY5LCAyMiwgMiwgMTIsIDAsIDE1LCAxNjksIDUsIDE2LCA2LCA5MiwgNCwgNywgMTA5LCAxMywgNDcsIDAsIDI1NSwgMTIyLCAxLCAxNiwgNSwgMTU2LCAzLCAzLCAxNTUsIDUsIDgsIDE4NiwgMywgMTQsIDIzNiwgNCwgMTUsIDE4MSwgMiwgNCwgMjcsIDI1NSwgMTk3LCAwLCA2LCAyMzIsIDEwLCAzMSwgMCwgMjUyLCAwLCAxNSwgMjUsIDI1NSwgMjM3LCA2LCA2LCAxNTIsIDI1LCAzMSwgMjU1LCAyNDQsIDIsIDE1LCA4LCA2OSwgMjMsIDYsIDExNCwgMjIsIDExLCAyMTcsIDI1LCAxNSwgMTEwLCA0LCAxMCwgMTIsIDEyMywgMSwgMjQsIDI1NSwgMjMwLCA2LCAxNSwgMTgxLCAyLCAxNCwgMywgMjUzLCAwLCA3LCAyNDEsIDQsIDMsIDgwLCAxLCAxNCwgMjI4LCA2LCAxNSwgMjUxLCAyMiwgNywgOCwgMTIwLCAwLCA5LCAxMjgsIDE0LCAxNSwgMTg5LCAwLCAxOSwgOCwgNCwgMTQsIDQsIDE2MywgMjUsIDE1LCAxMTAsIDQsIDI2LCAyOSwgMjU1LCA3NywgMTQsIDE1LCAxNjksIDUsIDE2LCAxNSwgNywgMCwgMiwgMTUsIDU1LCAyLCAzMywgNywgNjEsIDEsIDQsIDU5LCAxLCAxNSwgMTI2LCAwLCAxNywgNywgMjcsIDMwLCAyOCwgMjU1LCAxODksIDAsIDE1LCAxNjEsIDcsIDE3LCA3LCAyNDUsIDAsIDYsIDcxLCAwLCA1LCA2NCwgMCwgMTUsIDI1MiwgMCwgMTYsIDcsIDY3LCAwLCA0MCwgMjU1LCAyNTUsIDMsIDEsIDE1LCAxMTAsIDQsIDE2LCA4LCA1MiwgMSwgNDMsIDI1NSwgMjU1LCAxOCwgMSwgMzEsIDAsIDIzMiwgNSwgMTksIDEzLCAxMjcsIDEsIDUsIDE0MCwgMiwgMTUsIDYzLCAwLCAyMCwgOSwgMTYwLCA1LCAxNSwgMTgxLCAyLCAyMSwgMTEsIDE4NCwgMCwgMzEsIDI1NSwgMTE4LCAyLCAyOCwgNSwgMTM1LCA4LCA1LCA1OSwgMSwgOCwgMTMzLCAyLCAxNSwgMTg5LCAwLCAxNSwgNiwgNDQsIDMsIDQsIDIzNywgNCwgNywgMjQ2LCA0LCAzMSwgMCwgMTY5LCA1LCAxNCwgNDMsIDAsIDI1NSwgNDYsIDYsIDcsIDE4NywgMTMsIDUsIDE4NywgMTIsIDE1LCAxMjYsIDAsIDEwLCAxMSwgMjQ0LCAxNiwgNiwgNjMsIDI3LCAxNCwgMjQ4LCAxLCAxNSwgMTE4LCAyLCA0LCA3LCAyMTYsIDUsIDQwLCAwLCAyNTUsIDQxLCA1LCA0NywgMCwgMjU1LCAyNDQsIDIsIDE2LCA1LCAxMTYsIDIwLCAxMSwgMTQsIDAsIDE1LCAxMDYsIDUsIDEzLCAyNCwgMjU1LCA5NiwgNCwgMTIsIDExMCwgNCwgMTUsIDUxLCAzLCAxOSwgMTUsIDE5MSwgMywgMCwgNiwgMjUyLCA2LCA0NywgMCwgMjU1LCA5MCwgOSwgMTgsIDQzLCAyNTUsIDI1NSwgNzcsIDI5LCA1LCA1OSwgMiwgMTUsIDk4LCA3LCAxMiwgMTIsIDIwMywgMTEsIDI3LCAwLCAxOTIsIDMwLCAxNSwgMjcsIDksIDIxLCAyOCwgMjU1LCAxNzksIDYsIDYsIDEzOCwgMTUsIDE1LCA3OCwgMTIsIDksIDI5LCAwLCAxMTgsIDQsIDYsIDI0NCwgMywgMTUsIDExLCAxMywgMTcsIDExLCA1NiwgMiwgNywgMTQ0LCAxLCAxNSwgNTEsIDMsIDE2LCAxNSwgMjUsIDgsIDAsIDcsIDE0NiwgMTMsIDMxLCAyNTUsIDM5LCA2LCAxOSwgMjksIDI1NSwgMTQsIDAsIDMxLCAyNTUsIDIzNiwgNCwgMTcsIDQsIDE0MiwgNywgOCwgMTIwLCAxLCA2LCAxODMsIDEsIDQ3LCAyNTUsIDAsIDE3NywgMywgMTcsIDQxLCAwLCAwLCAxOTMsIDEyLCAxMCwgNTEsIDcsIDE1LCA3MCwgMTQsIDIxLCAxMywgMTk2LCAwLCAxNCwgMTYxLCA3LCAxNSwgMTAyLCA2LCA2LCAxMCwgNiwgMiwgMTUsIDI0NCwgMiwgMjIsIDExLCAxNDcsIDcsIDksIDIyOSwgNSwgMTUsIDEwNiwgNSwgMjUsIDExLCAyNDUsIDIsIDQ3LCAyNTUsIDI1NSwgMTg1LCAxLCAxOCwgNDAsIDAsIDI1NSwgMjAzLCAxNCwgOSwgMTYsIDEwLCA3LCAxMDQsIDE3LCAxNSwgMTI2LCAwLCAzMCwgMTQsIDU1LCAyLCAxNSwgMjM2LCA0LCAyNiwgMTUsIDE1NywgOCwgMjMsIDI0LCAwLCAyOSwgNywgNDEsIDI1NSwgMjU1LCAxNzEsIDUsIDE0LCA3MCwgMTQsIDE1LCAyNTIsIDAsIDMsIDksIDUzLCA0LCA2LCA2OCwgMiwgMTUsIDEyMiwgMSwgMiwgMTUsIDIwMSwgMTMsIDcsIDExLCA0NywgNywgMTUsIDcsIDE0LCAyMSwgMTUsIDI1MCwgMiwgNSwgMTUsIDcwLCAxNCwgMjEsIDksIDEwMiwgNCwgNiwgMTkxLCAxNSwgMTUsIDYzLCAwLCAyNiwgNywgMjUzLCAwLCAxNSwgNjYsIDE1LCAyNiwgNywgMTkyLCAyLCAyOCwgMjU1LCA4MCwgMSwgMTUsIDEyNiwgMCwgMTMsIDQ0LCAyNTUsIDI1NSwgMTg1LCAxNSwgMTUsIDI0MCwgMywgMjMsIDEwLCAyMTYsIDksIDQ3LCAyNTUsIDAsIDUxLCAzLCAzOCwgMTMsIDExOSwgMCwgMTUsIDE5NiwgMTQsIDE3LCAxMSwgMjA5LCA5LCA1LCAyMDIsIDAsIDYsIDIzOCwgNiwgMTUsIDExNCwgMywgMTksIDgsIDI0MiwgMSwgNywgMTQ1LCAxMSwgMzEsIDI1NSwgMjUyLCAwLCAyNSwgMTQsIDE0LCAwLCAxNSwgMTQ5LCAxMCwgMjAsIDEyLCAyMDksIDEwLCA0NywgMjU1LCAwLCA0MywgNSwgMjksIDUsIDE4NywgMjIsIDE0LCAyNDQsIDIsIDE1LCA1NSwgMiwgMjEsIDksIDcsIDAsIDE1LCAxMjIsIDEsIDUsIDE1LCAxNDYsIDExLCAxNCwgMzEsIDAsIDM1LCA3LCAyMSwgNywgOTMsIDgsIDksIDc5LCAxMSwgNSwgMjExLCAxMCwgMTUsIDE4OSwgMCwgMjgsIDgsIDEwMCwgNywgMTQsIDcwLCAxNCwgMTUsIDI0OCwgMSwgMTgsIDE1LCAxNSwgMTIsIDI3LCA4LCAzNCwgNCwgMTUsIDE4OSwgMCwgMzUsIDUsIDM4LCA0LCAyOCwgMjU1LCAxOTAsIDAsIDE1LCAxNzIsIDIwLCAxOCwgMTQsIDgxLCAxMywgMTUsIDE3MywgNCwgMTksIDgsIDE1MywgMjksIDE1LCAxODksIDAsIDMyLCA3LCA5MywgNSwgMTUsIDEyNiwgMCwgMzMsIDQ3LCAwLCAyNTUsIDIzMSwgNywgNCwgNSwgMTI5LCAxLCAxNSwgNzAsIDE0LCAzMiwgMTUsIDEyNiwgMCwgMjMsIDE1LCAxOTYsIDAsIDEsIDksIDIwMywgMCwgMTUsIDExOCwgMiwgMjYsIDksIDI0MiwgMTgsIDE0LCA4NiwgMTAsIDE1LCAxODksIDAsIDEzLCA1LCA1NywgMjAsIDQ3LCAwLCAyNTUsIDE2NSwgNiwgMjEsIDMxLCAyNTUsIDYsIDE0LCAxLCAxNSwgMzksIDYsIDE5LCA3LCAyOCwgOSwgMTIsIDEyLCAxMiwgMywgMjUsIDAsIDE1LCAyNTUsIDE1LCAxOCwgOCwgNiwgMTQsIDYsIDY4LCAxNCwgMTUsIDE5NiwgMTQsIDI0LCAxNSwgMTE4LCAyLCAzNywgMzEsIDAsIDcxLCAxMiwgNCwgMywgOCwgMCwgMTUsIDE2OSwgNSwgMzIsIDgsIDksIDMsIDE1LCA5OCwgNywgMzIsIDE1LCA2NiwgMTUsIDIzLCA3LCAxOTIsIDE1LCA5LCA3NywgMCwgMywgMTQsIDAsIDE1LCA1OCwgMTcsIDE5LCA4LCAxNTksIDUsIDUsIDQsIDEsIDE1LCAxNjAsIDIzLCAxOCwgMTUsIDE4MywgMCwgMiwgNiwgMjIzLCAyNCwgMTUsIDc4LCAxMiwgMzcsIDQsIDE1LCAwLCAxNSwgMTA2LCA1LCAzOSwgNDcsIDI1NSwgMCwgMTEwLCA0LCAyMywgMTQsIDcsIDAsIDE0LCAyMjcsIDIyLCAxNSwgMTEsIDEzLCA2LCA2LCA0OSwgMCwgMTIsIDE0LCAwLCAxNSwgMTIxLCAxNywgMjIsIDE1LCAyNTQsIDMsIDAsIDE0LCAyMjAsIDgsIDE1LCAzNSwgNywgMiwgMTEsIDcsIDAsIDMxLCAwLCA3MCwgMTQsIDI0LCAzMSwgMjU1LCA3LCAwLCAzLCAxNSwgMTI1LCAxNiwgMTgsIDE1LCA0OSwgMSwgMCwgNywgMTYsIDE2LCAxNSwgMTY1LCA2LCAyNywgMTMsIDI1LCAxMywgMTUsIDQzLCA1LCAyMSwgNDcsIDI1NSwgMCwgMzUsIDcsIDQyLCAxNSwgMTg2LCAxLCAzLCA0NywgMCwgMjU1LCA5NCwgOCwgMjcsIDMxLCAwLCA0MywgNSwgMzIsIDYsIDMyLCA0LCAxNCwgMTg4LCAwLCAxNSwgNjMsIDAsIDE5LCAxNCwgNTEsIDMsIDE1LCA3OCwgMTIsIDI4LCAxMSwgMjA0LCAwLCAzMSwgMjU1LCA0NywgNCwgMjIsIDEwLCA1OCwgMywgMTIsIDY0LCAwLCAxNSwgMTEwLCA0LCAyNSwgOSwgODQsIDExLCAxNSwgMTUsIDEyLCAyNSwgNiwgMjE1LCA5LCAzLCAxNDMsIDksIDE2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMjU1LCAwLCAwLCAwIF0pOw0KICAgTW9kdWxlWyJGU19jcmVhdGVEYXRhRmlsZSJdKCIvIiwgImRhdGEucG9kIiwgZmlsZURhdGEwLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogIH0NCiAgaWYgKE1vZHVsZVsiY2FsbGVkUnVuIl0pIHsNCiAgIHJ1bldpdGhGUygpOw0KICB9IGVsc2Ugew0KICAgaWYgKCFNb2R1bGVbInByZVJ1biJdKSBNb2R1bGVbInByZVJ1biJdID0gW107DQogICBNb2R1bGVbInByZVJ1biJdLnB1c2gocnVuV2l0aEZTKTsNCiAgfQ0KIH07DQogbG9hZFBhY2thZ2Uoew0KICAiZmlsZXMiOiBbXQ0KIH0pOw0KfSkoKTsNCg0KdmFyIG1vZHVsZU92ZXJyaWRlcyA9IHt9Ow0KDQp2YXIga2V5Ow0KDQpmb3IgKGtleSBpbiBNb2R1bGUpIHsNCiBpZiAoTW9kdWxlLmhhc093blByb3BlcnR5KGtleSkpIHsNCiAgbW9kdWxlT3ZlcnJpZGVzW2tleV0gPSBNb2R1bGVba2V5XTsNCiB9DQp9DQoNCk1vZHVsZVsiYXJndW1lbnRzIl0gPSBbXTsNCg0KTW9kdWxlWyJ0aGlzUHJvZ3JhbSJdID0gIi4vdGhpcy5wcm9ncmFtIjsNCg0KTW9kdWxlWyJxdWl0Il0gPSBmdW5jdGlvbihzdGF0dXMsIHRvVGhyb3cpIHsNCiB0aHJvdyB0b1Rocm93Ow0KfTsNCg0KTW9kdWxlWyJwcmVSdW4iXSA9IFtdOw0KDQpNb2R1bGVbInBvc3RSdW4iXSA9IFtdOw0KDQp2YXIgRU5WSVJPTk1FTlRfSVNfV0VCID0gZmFsc2U7DQoNCnZhciBFTlZJUk9OTUVOVF9JU19XT1JLRVIgPSBmYWxzZTsNCg0KdmFyIEVOVklST05NRU5UX0lTX05PREUgPSBmYWxzZTsNCg0KdmFyIEVOVklST05NRU5UX0lTX1NIRUxMID0gZmFsc2U7DQoNCkVOVklST05NRU5UX0lTX1dFQiA9IHR5cGVvZiB3aW5kb3cgPT09ICJvYmplY3QiOw0KDQpFTlZJUk9OTUVOVF9JU19XT1JLRVIgPSB0eXBlb2YgaW1wb3J0U2NyaXB0cyA9PT0gImZ1bmN0aW9uIjsNCg0KRU5WSVJPTk1FTlRfSVNfTk9ERSA9IHR5cGVvZiBwcm9jZXNzID09PSAib2JqZWN0IiAmJiB0eXBlb2YgcmVxdWlyZSA9PT0gImZ1bmN0aW9uIiAmJiAhRU5WSVJPTk1FTlRfSVNfV0VCICYmICFFTlZJUk9OTUVOVF9JU19XT1JLRVI7DQoNCkVOVklST05NRU5UX0lTX1NIRUxMID0gIUVOVklST05NRU5UX0lTX1dFQiAmJiAhRU5WSVJPTk1FTlRfSVNfTk9ERSAmJiAhRU5WSVJPTk1FTlRfSVNfV09SS0VSOw0KDQp2YXIgc2NyaXB0RGlyZWN0b3J5ID0gIiI7DQoNCmZ1bmN0aW9uIGxvY2F0ZUZpbGUocGF0aCkgew0KIGlmIChNb2R1bGVbImxvY2F0ZUZpbGUiXSkgew0KICByZXR1cm4gTW9kdWxlWyJsb2NhdGVGaWxlIl0ocGF0aCwgc2NyaXB0RGlyZWN0b3J5KTsNCiB9IGVsc2Ugew0KICByZXR1cm4gc2NyaXB0RGlyZWN0b3J5ICsgcGF0aDsNCiB9DQp9DQoNCmlmIChFTlZJUk9OTUVOVF9JU19OT0RFKSB7DQogc2NyaXB0RGlyZWN0b3J5ID0gX19kaXJuYW1lICsgIi8iOw0KIHZhciBub2RlRlM7DQogdmFyIG5vZGVQYXRoOw0KIE1vZHVsZVsicmVhZCJdID0gZnVuY3Rpb24gc2hlbGxfcmVhZChmaWxlbmFtZSwgYmluYXJ5KSB7DQogIHZhciByZXQ7DQogIHJldCA9IHRyeVBhcnNlQXNEYXRhVVJJKGZpbGVuYW1lKTsNCiAgaWYgKCFyZXQpIHsNCiAgIGlmICghbm9kZUZTKSBub2RlRlMgPSByZXF1aXJlKCJmcyIpOw0KICAgaWYgKCFub2RlUGF0aCkgbm9kZVBhdGggPSByZXF1aXJlKCJwYXRoIik7DQogICBmaWxlbmFtZSA9IG5vZGVQYXRoWyJub3JtYWxpemUiXShmaWxlbmFtZSk7DQogICByZXQgPSBub2RlRlNbInJlYWRGaWxlU3luYyJdKGZpbGVuYW1lKTsNCiAgfQ0KICByZXR1cm4gYmluYXJ5ID8gcmV0IDogcmV0LnRvU3RyaW5nKCk7DQogfTsNCiBNb2R1bGVbInJlYWRCaW5hcnkiXSA9IGZ1bmN0aW9uIHJlYWRCaW5hcnkoZmlsZW5hbWUpIHsNCiAgdmFyIHJldCA9IE1vZHVsZVsicmVhZCJdKGZpbGVuYW1lLCB0cnVlKTsNCiAgaWYgKCFyZXQuYnVmZmVyKSB7DQogICByZXQgPSBuZXcgVWludDhBcnJheShyZXQpOw0KICB9DQogIGFzc2VydChyZXQuYnVmZmVyKTsNCiAgcmV0dXJuIHJldDsNCiB9Ow0KIGlmIChwcm9jZXNzWyJhcmd2Il0ubGVuZ3RoID4gMSkgew0KICBNb2R1bGVbInRoaXNQcm9ncmFtIl0gPSBwcm9jZXNzWyJhcmd2Il1bMV0ucmVwbGFjZSgvXFwvZywgIi8iKTsNCiB9DQogTW9kdWxlWyJhcmd1bWVudHMiXSA9IHByb2Nlc3NbImFyZ3YiXS5zbGljZSgyKTsNCiBpZiAodHlwZW9mIG1vZHVsZSAhPT0gInVuZGVmaW5lZCIpIHsNCiAgbW9kdWxlWyJleHBvcnRzIl0gPSBNb2R1bGU7DQogfQ0KIHByb2Nlc3NbIm9uIl0oInVuY2F1Z2h0RXhjZXB0aW9uIiwgZnVuY3Rpb24oZXgpIHsNCiAgaWYgKCEoZXggaW5zdGFuY2VvZiBFeGl0U3RhdHVzKSkgew0KICAgdGhyb3cgZXg7DQogIH0NCiB9KTsNCiBwcm9jZXNzWyJvbiJdKCJ1bmhhbmRsZWRSZWplY3Rpb24iLCBhYm9ydCk7DQogTW9kdWxlWyJxdWl0Il0gPSBmdW5jdGlvbihzdGF0dXMpIHsNCiAgcHJvY2Vzc1siZXhpdCJdKHN0YXR1cyk7DQogfTsNCiBNb2R1bGVbImluc3BlY3QiXSA9IGZ1bmN0aW9uKCkgew0KICByZXR1cm4gIltFbXNjcmlwdGVuIE1vZHVsZSBvYmplY3RdIjsNCiB9Ow0KfSBlbHNlIGlmIChFTlZJUk9OTUVOVF9JU19TSEVMTCkgew0KIGlmICh0eXBlb2YgcmVhZCAhPSAidW5kZWZpbmVkIikgew0KICBNb2R1bGVbInJlYWQiXSA9IGZ1bmN0aW9uIHNoZWxsX3JlYWQoZikgew0KICAgdmFyIGRhdGEgPSB0cnlQYXJzZUFzRGF0YVVSSShmKTsNCiAgIGlmIChkYXRhKSB7DQogICAgcmV0dXJuIGludEFycmF5VG9TdHJpbmcoZGF0YSk7DQogICB9DQogICByZXR1cm4gcmVhZChmKTsNCiAgfTsNCiB9DQogTW9kdWxlWyJyZWFkQmluYXJ5Il0gPSBmdW5jdGlvbiByZWFkQmluYXJ5KGYpIHsNCiAgdmFyIGRhdGE7DQogIGRhdGEgPSB0cnlQYXJzZUFzRGF0YVVSSShmKTsNCiAgaWYgKGRhdGEpIHsNCiAgIHJldHVybiBkYXRhOw0KICB9DQogIGlmICh0eXBlb2YgcmVhZGJ1ZmZlciA9PT0gImZ1bmN0aW9uIikgew0KICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHJlYWRidWZmZXIoZikpOw0KICB9DQogIGRhdGEgPSByZWFkKGYsICJiaW5hcnkiKTsNCiAgYXNzZXJ0KHR5cGVvZiBkYXRhID09PSAib2JqZWN0Iik7DQogIHJldHVybiBkYXRhOw0KIH07DQogaWYgKHR5cGVvZiBzY3JpcHRBcmdzICE9ICJ1bmRlZmluZWQiKSB7DQogIE1vZHVsZVsiYXJndW1lbnRzIl0gPSBzY3JpcHRBcmdzOw0KIH0gZWxzZSBpZiAodHlwZW9mIGFyZ3VtZW50cyAhPSAidW5kZWZpbmVkIikgew0KICBNb2R1bGVbImFyZ3VtZW50cyJdID0gYXJndW1lbnRzOw0KIH0NCiBpZiAodHlwZW9mIHF1aXQgPT09ICJmdW5jdGlvbiIpIHsNCiAgTW9kdWxlWyJxdWl0Il0gPSBmdW5jdGlvbihzdGF0dXMpIHsNCiAgIHF1aXQoc3RhdHVzKTsNCiAgfTsNCiB9DQp9IGVsc2UgaWYgKEVOVklST05NRU5UX0lTX1dFQiB8fCBFTlZJUk9OTUVOVF9JU19XT1JLRVIpIHsNCiBpZiAoRU5WSVJPTk1FTlRfSVNfV09SS0VSKSB7DQogIHNjcmlwdERpcmVjdG9yeSA9IHNlbGYubG9jYXRpb24uaHJlZjsNCiB9IGVsc2UgaWYgKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpIHsNCiAgc2NyaXB0RGlyZWN0b3J5ID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM7DQogfQ0KIGlmIChzY3JpcHREaXJlY3RvcnkuaW5kZXhPZigiYmxvYjoiKSAhPT0gMCkgew0KICBzY3JpcHREaXJlY3RvcnkgPSBzY3JpcHREaXJlY3Rvcnkuc3Vic3RyKDAsIHNjcmlwdERpcmVjdG9yeS5sYXN0SW5kZXhPZigiLyIpICsgMSk7DQogfSBlbHNlIHsNCiAgc2NyaXB0RGlyZWN0b3J5ID0gIiI7DQogfQ0KIE1vZHVsZVsicmVhZCJdID0gZnVuY3Rpb24gc2hlbGxfcmVhZCh1cmwpIHsNCiAgdHJ5IHsNCiAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsNCiAgIHhoci5vcGVuKCJHRVQiLCB1cmwsIGZhbHNlKTsNCiAgIHhoci5zZW5kKG51bGwpOw0KICAgcmV0dXJuIHhoci5yZXNwb25zZVRleHQ7DQogIH0gY2F0Y2ggKGVycikgew0KICAgdmFyIGRhdGEgPSB0cnlQYXJzZUFzRGF0YVVSSSh1cmwpOw0KICAgaWYgKGRhdGEpIHsNCiAgICByZXR1cm4gaW50QXJyYXlUb1N0cmluZyhkYXRhKTsNCiAgIH0NCiAgIHRocm93IGVycjsNCiAgfQ0KIH07DQogaWYgKEVOVklST05NRU5UX0lTX1dPUktFUikgew0KICBNb2R1bGVbInJlYWRCaW5hcnkiXSA9IGZ1bmN0aW9uIHJlYWRCaW5hcnkodXJsKSB7DQogICB0cnkgew0KICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsNCiAgICB4aHIub3BlbigiR0VUIiwgdXJsLCBmYWxzZSk7DQogICAgeGhyLnJlc3BvbnNlVHlwZSA9ICJhcnJheWJ1ZmZlciI7DQogICAgeGhyLnNlbmQobnVsbCk7DQogICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHhoci5yZXNwb25zZSk7DQogICB9IGNhdGNoIChlcnIpIHsNCiAgICB2YXIgZGF0YSA9IHRyeVBhcnNlQXNEYXRhVVJJKHVybCk7DQogICAgaWYgKGRhdGEpIHsNCiAgICAgcmV0dXJuIGRhdGE7DQogICAgfQ0KICAgIHRocm93IGVycjsNCiAgIH0NCiAgfTsNCiB9DQogTW9kdWxlWyJyZWFkQXN5bmMiXSA9IGZ1bmN0aW9uIHJlYWRBc3luYyh1cmwsIG9ubG9hZCwgb25lcnJvcikgew0KICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7DQogIHhoci5vcGVuKCJHRVQiLCB1cmwsIHRydWUpOw0KICB4aHIucmVzcG9uc2VUeXBlID0gImFycmF5YnVmZmVyIjsNCiAgeGhyLm9ubG9hZCA9IGZ1bmN0aW9uIHhocl9vbmxvYWQoKSB7DQogICBpZiAoeGhyLnN0YXR1cyA9PSAyMDAgfHwgeGhyLnN0YXR1cyA9PSAwICYmIHhoci5yZXNwb25zZSkgew0KICAgIG9ubG9hZCh4aHIucmVzcG9uc2UpOw0KICAgIHJldHVybjsNCiAgIH0NCiAgIHZhciBkYXRhID0gdHJ5UGFyc2VBc0RhdGFVUkkodXJsKTsNCiAgIGlmIChkYXRhKSB7DQogICAgb25sb2FkKGRhdGEuYnVmZmVyKTsNCiAgICByZXR1cm47DQogICB9DQogICBvbmVycm9yKCk7DQogIH07DQogIHhoci5vbmVycm9yID0gb25lcnJvcjsNCiAgeGhyLnNlbmQobnVsbCk7DQogfTsNCiBNb2R1bGVbInNldFdpbmRvd1RpdGxlIl0gPSBmdW5jdGlvbih0aXRsZSkgew0KICBkb2N1bWVudC50aXRsZSA9IHRpdGxlOw0KIH07DQp9IGVsc2Uge30NCg0KdmFyIG91dCA9IE1vZHVsZVsicHJpbnQiXSB8fCAodHlwZW9mIGNvbnNvbGUgIT09ICJ1bmRlZmluZWQiID8gY29uc29sZS5sb2cuYmluZChjb25zb2xlKSA6IHR5cGVvZiBwcmludCAhPT0gInVuZGVmaW5lZCIgPyBwcmludCA6IG51bGwpOw0KDQp2YXIgZXJyID0gTW9kdWxlWyJwcmludEVyciJdIHx8ICh0eXBlb2YgcHJpbnRFcnIgIT09ICJ1bmRlZmluZWQiID8gcHJpbnRFcnIgOiB0eXBlb2YgY29uc29sZSAhPT0gInVuZGVmaW5lZCIgJiYgY29uc29sZS53YXJuLmJpbmQoY29uc29sZSkgfHwgb3V0KTsNCg0KZm9yIChrZXkgaW4gbW9kdWxlT3ZlcnJpZGVzKSB7DQogaWYgKG1vZHVsZU92ZXJyaWRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7DQogIE1vZHVsZVtrZXldID0gbW9kdWxlT3ZlcnJpZGVzW2tleV07DQogfQ0KfQ0KDQptb2R1bGVPdmVycmlkZXMgPSB1bmRlZmluZWQ7DQoNCnZhciBTVEFDS19BTElHTiA9IDE2Ow0KDQpmdW5jdGlvbiBkeW5hbWljQWxsb2Moc2l6ZSkgew0KIHZhciByZXQgPSBIRUFQMzJbRFlOQU1JQ1RPUF9QVFIgPj4gMl07DQogdmFyIGVuZCA9IHJldCArIHNpemUgKyAxNSAmIC0xNjsNCiBpZiAoZW5kIDw9IF9lbXNjcmlwdGVuX2dldF9oZWFwX3NpemUoKSkgew0KICBIRUFQMzJbRFlOQU1JQ1RPUF9QVFIgPj4gMl0gPSBlbmQ7DQogfSBlbHNlIHsNCiAgcmV0dXJuIDA7DQogfQ0KIHJldHVybiByZXQ7DQp9DQoNCmZ1bmN0aW9uIGdldE5hdGl2ZVR5cGVTaXplKHR5cGUpIHsNCiBzd2l0Y2ggKHR5cGUpIHsNCiBjYXNlICJpMSI6DQogY2FzZSAiaTgiOg0KICByZXR1cm4gMTsNCg0KIGNhc2UgImkxNiI6DQogIHJldHVybiAyOw0KDQogY2FzZSAiaTMyIjoNCiAgcmV0dXJuIDQ7DQoNCiBjYXNlICJpNjQiOg0KICByZXR1cm4gODsNCg0KIGNhc2UgImZsb2F0IjoNCiAgcmV0dXJuIDQ7DQoNCiBjYXNlICJkb3VibGUiOg0KICByZXR1cm4gODsNCg0KIGRlZmF1bHQ6DQogIHsNCiAgIGlmICh0eXBlW3R5cGUubGVuZ3RoIC0gMV0gPT09ICIqIikgew0KICAgIHJldHVybiA0Ow0KICAgfSBlbHNlIGlmICh0eXBlWzBdID09PSAiaSIpIHsNCiAgICB2YXIgYml0cyA9IHBhcnNlSW50KHR5cGUuc3Vic3RyKDEpKTsNCiAgICBhc3NlcnQoYml0cyAlIDggPT09IDAsICJnZXROYXRpdmVUeXBlU2l6ZSBpbnZhbGlkIGJpdHMgIiArIGJpdHMgKyAiLCB0eXBlICIgKyB0eXBlKTsNCiAgICByZXR1cm4gYml0cyAvIDg7DQogICB9IGVsc2Ugew0KICAgIHJldHVybiAwOw0KICAgfQ0KICB9DQogfQ0KfQ0KDQpmdW5jdGlvbiB3YXJuT25jZSh0ZXh0KSB7DQogaWYgKCF3YXJuT25jZS5zaG93bikgd2Fybk9uY2Uuc2hvd24gPSB7fTsNCiBpZiAoIXdhcm5PbmNlLnNob3duW3RleHRdKSB7DQogIHdhcm5PbmNlLnNob3duW3RleHRdID0gMTsNCiAgZXJyKHRleHQpOw0KIH0NCn0NCg0KdmFyIGpzQ2FsbFN0YXJ0SW5kZXggPSAxOw0KDQp2YXIgZnVuY3Rpb25Qb2ludGVycyA9IG5ldyBBcnJheSgwKTsNCg0KdmFyIGZ1bmNXcmFwcGVycyA9IHt9Ow0KDQpmdW5jdGlvbiBkeW5DYWxsKHNpZywgcHRyLCBhcmdzKSB7DQogaWYgKGFyZ3MgJiYgYXJncy5sZW5ndGgpIHsNCiAgcmV0dXJuIE1vZHVsZVsiZHluQ2FsbF8iICsgc2lnXS5hcHBseShudWxsLCBbIHB0ciBdLmNvbmNhdChhcmdzKSk7DQogfSBlbHNlIHsNCiAgcmV0dXJuIE1vZHVsZVsiZHluQ2FsbF8iICsgc2lnXS5jYWxsKG51bGwsIHB0cik7DQogfQ0KfQ0KDQp2YXIgdGVtcFJldDAgPSAwOw0KDQp2YXIgc2V0VGVtcFJldDAgPSBmdW5jdGlvbih2YWx1ZSkgew0KIHRlbXBSZXQwID0gdmFsdWU7DQp9Ow0KDQp2YXIgZ2V0VGVtcFJldDAgPSBmdW5jdGlvbigpIHsNCiByZXR1cm4gdGVtcFJldDA7DQp9Ow0KDQp2YXIgR0xPQkFMX0JBU0UgPSA4Ow0KDQpmdW5jdGlvbiBnZXRWYWx1ZShwdHIsIHR5cGUsIG5vU2FmZSkgew0KIHR5cGUgPSB0eXBlIHx8ICJpOCI7DQogaWYgKHR5cGUuY2hhckF0KHR5cGUubGVuZ3RoIC0gMSkgPT09ICIqIikgdHlwZSA9ICJpMzIiOw0KIHN3aXRjaCAodHlwZSkgew0KIGNhc2UgImkxIjoNCiAgcmV0dXJuIEhFQVA4W3B0ciA+PiAwXTsNCg0KIGNhc2UgImk4IjoNCiAgcmV0dXJuIEhFQVA4W3B0ciA+PiAwXTsNCg0KIGNhc2UgImkxNiI6DQogIHJldHVybiBIRUFQMTZbcHRyID4+IDFdOw0KDQogY2FzZSAiaTMyIjoNCiAgcmV0dXJuIEhFQVAzMltwdHIgPj4gMl07DQoNCiBjYXNlICJpNjQiOg0KICByZXR1cm4gSEVBUDMyW3B0ciA+PiAyXTsNCg0KIGNhc2UgImZsb2F0IjoNCiAgcmV0dXJuIEhFQVBGMzJbcHRyID4+IDJdOw0KDQogY2FzZSAiZG91YmxlIjoNCiAgcmV0dXJuIEhFQVBGNjRbcHRyID4+IDNdOw0KDQogZGVmYXVsdDoNCiAgYWJvcnQoImludmFsaWQgdHlwZSBmb3IgZ2V0VmFsdWU6ICIgKyB0eXBlKTsNCiB9DQogcmV0dXJuIG51bGw7DQp9DQoNCnZhciBBQk9SVCA9IGZhbHNlOw0KDQp2YXIgRVhJVFNUQVRVUyA9IDA7DQoNCmZ1bmN0aW9uIGFzc2VydChjb25kaXRpb24sIHRleHQpIHsNCiBpZiAoIWNvbmRpdGlvbikgew0KICBhYm9ydCgiQXNzZXJ0aW9uIGZhaWxlZDogIiArIHRleHQpOw0KIH0NCn0NCg0KZnVuY3Rpb24gZ2V0Q0Z1bmMoaWRlbnQpIHsNCiB2YXIgZnVuYyA9IE1vZHVsZVsiXyIgKyBpZGVudF07DQogYXNzZXJ0KGZ1bmMsICJDYW5ub3QgY2FsbCB1bmtub3duIGZ1bmN0aW9uICIgKyBpZGVudCArICIsIG1ha2Ugc3VyZSBpdCBpcyBleHBvcnRlZCIpOw0KIHJldHVybiBmdW5jOw0KfQ0KDQpmdW5jdGlvbiBjY2FsbChpZGVudCwgcmV0dXJuVHlwZSwgYXJnVHlwZXMsIGFyZ3MsIG9wdHMpIHsNCiB2YXIgdG9DID0gew0KICAic3RyaW5nIjogZnVuY3Rpb24oc3RyKSB7DQogICB2YXIgcmV0ID0gMDsNCiAgIGlmIChzdHIgIT09IG51bGwgJiYgc3RyICE9PSB1bmRlZmluZWQgJiYgc3RyICE9PSAwKSB7DQogICAgdmFyIGxlbiA9IChzdHIubGVuZ3RoIDw8IDIpICsgMTsNCiAgICByZXQgPSBzdGFja0FsbG9jKGxlbik7DQogICAgc3RyaW5nVG9VVEY4KHN0ciwgcmV0LCBsZW4pOw0KICAgfQ0KICAgcmV0dXJuIHJldDsNCiAgfSwNCiAgImFycmF5IjogZnVuY3Rpb24oYXJyKSB7DQogICB2YXIgcmV0ID0gc3RhY2tBbGxvYyhhcnIubGVuZ3RoKTsNCiAgIHdyaXRlQXJyYXlUb01lbW9yeShhcnIsIHJldCk7DQogICByZXR1cm4gcmV0Ow0KICB9DQogfTsNCiBmdW5jdGlvbiBjb252ZXJ0UmV0dXJuVmFsdWUocmV0KSB7DQogIGlmIChyZXR1cm5UeXBlID09PSAic3RyaW5nIikgcmV0dXJuIFVURjhUb1N0cmluZyhyZXQpOw0KICBpZiAocmV0dXJuVHlwZSA9PT0gImJvb2xlYW4iKSByZXR1cm4gQm9vbGVhbihyZXQpOw0KICByZXR1cm4gcmV0Ow0KIH0NCiB2YXIgZnVuYyA9IGdldENGdW5jKGlkZW50KTsNCiB2YXIgY0FyZ3MgPSBbXTsNCiB2YXIgc3RhY2sgPSAwOw0KIGlmIChhcmdzKSB7DQogIGZvciAodmFyIGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykgew0KICAgdmFyIGNvbnZlcnRlciA9IHRvQ1thcmdUeXBlc1tpXV07DQogICBpZiAoY29udmVydGVyKSB7DQogICAgaWYgKHN0YWNrID09PSAwKSBzdGFjayA9IHN0YWNrU2F2ZSgpOw0KICAgIGNBcmdzW2ldID0gY29udmVydGVyKGFyZ3NbaV0pOw0KICAgfSBlbHNlIHsNCiAgICBjQXJnc1tpXSA9IGFyZ3NbaV07DQogICB9DQogIH0NCiB9DQogdmFyIHJldCA9IGZ1bmMuYXBwbHkobnVsbCwgY0FyZ3MpOw0KIHJldCA9IGNvbnZlcnRSZXR1cm5WYWx1ZShyZXQpOw0KIGlmIChzdGFjayAhPT0gMCkgc3RhY2tSZXN0b3JlKHN0YWNrKTsNCiByZXR1cm4gcmV0Ow0KfQ0KDQpmdW5jdGlvbiBzZXRWYWx1ZShwdHIsIHZhbHVlLCB0eXBlLCBub1NhZmUpIHsNCiB0eXBlID0gdHlwZSB8fCAiaTgiOw0KIGlmICh0eXBlLmNoYXJBdCh0eXBlLmxlbmd0aCAtIDEpID09PSAiKiIpIHR5cGUgPSAiaTMyIjsNCiBzd2l0Y2ggKHR5cGUpIHsNCiBjYXNlICJpMSI6DQogIEhFQVA4W3B0ciA+PiAwXSA9IHZhbHVlOw0KICBicmVhazsNCg0KIGNhc2UgImk4IjoNCiAgSEVBUDhbcHRyID4+IDBdID0gdmFsdWU7DQogIGJyZWFrOw0KDQogY2FzZSAiaTE2IjoNCiAgSEVBUDE2W3B0ciA+PiAxXSA9IHZhbHVlOw0KICBicmVhazsNCg0KIGNhc2UgImkzMiI6DQogIEhFQVAzMltwdHIgPj4gMl0gPSB2YWx1ZTsNCiAgYnJlYWs7DQoNCiBjYXNlICJpNjQiOg0KICB0ZW1wSTY0ID0gWyB2YWx1ZSA+Pj4gMCwgKHRlbXBEb3VibGUgPSB2YWx1ZSwgK01hdGhfYWJzKHRlbXBEb3VibGUpID49ICsxID8gdGVtcERvdWJsZSA+ICswID8gKE1hdGhfbWluKCtNYXRoX2Zsb29yKHRlbXBEb3VibGUgLyArNDI5NDk2NzI5NiksICs0Mjk0OTY3Mjk1KSB8IDApID4+PiAwIDogfn4rTWF0aF9jZWlsKCh0ZW1wRG91YmxlIC0gKyh+fnRlbXBEb3VibGUgPj4+IDApKSAvICs0Mjk0OTY3Mjk2KSA+Pj4gMCA6IDApIF0sIA0KICBIRUFQMzJbcHRyID4+IDJdID0gdGVtcEk2NFswXSwgSEVBUDMyW3B0ciArIDQgPj4gMl0gPSB0ZW1wSTY0WzFdOw0KICBicmVhazsNCg0KIGNhc2UgImZsb2F0IjoNCiAgSEVBUEYzMltwdHIgPj4gMl0gPSB2YWx1ZTsNCiAgYnJlYWs7DQoNCiBjYXNlICJkb3VibGUiOg0KICBIRUFQRjY0W3B0ciA+PiAzXSA9IHZhbHVlOw0KICBicmVhazsNCg0KIGRlZmF1bHQ6DQogIGFib3J0KCJpbnZhbGlkIHR5cGUgZm9yIHNldFZhbHVlOiAiICsgdHlwZSk7DQogfQ0KfQ0KDQp2YXIgQUxMT0NfTk9STUFMID0gMDsNCg0KdmFyIEFMTE9DX05PTkUgPSAzOw0KDQpmdW5jdGlvbiBhbGxvY2F0ZShzbGFiLCB0eXBlcywgYWxsb2NhdG9yLCBwdHIpIHsNCiB2YXIgemVyb2luaXQsIHNpemU7DQogaWYgKHR5cGVvZiBzbGFiID09PSAibnVtYmVyIikgew0KICB6ZXJvaW5pdCA9IHRydWU7DQogIHNpemUgPSBzbGFiOw0KIH0gZWxzZSB7DQogIHplcm9pbml0ID0gZmFsc2U7DQogIHNpemUgPSBzbGFiLmxlbmd0aDsNCiB9DQogdmFyIHNpbmdsZVR5cGUgPSB0eXBlb2YgdHlwZXMgPT09ICJzdHJpbmciID8gdHlwZXMgOiBudWxsOw0KIHZhciByZXQ7DQogaWYgKGFsbG9jYXRvciA9PSBBTExPQ19OT05FKSB7DQogIHJldCA9IHB0cjsNCiB9IGVsc2Ugew0KICByZXQgPSBbIF9tYWxsb2MsIHN0YWNrQWxsb2MsIGR5bmFtaWNBbGxvYyBdW2FsbG9jYXRvcl0oTWF0aC5tYXgoc2l6ZSwgc2luZ2xlVHlwZSA/IDEgOiB0eXBlcy5sZW5ndGgpKTsNCiB9DQogaWYgKHplcm9pbml0KSB7DQogIHZhciBzdG9wOw0KICBwdHIgPSByZXQ7DQogIGFzc2VydCgocmV0ICYgMykgPT0gMCk7DQogIHN0b3AgPSByZXQgKyAoc2l6ZSAmIH4zKTsNCiAgZm9yICg7cHRyIDwgc3RvcDsgcHRyICs9IDQpIHsNCiAgIEhFQVAzMltwdHIgPj4gMl0gPSAwOw0KICB9DQogIHN0b3AgPSByZXQgKyBzaXplOw0KICB3aGlsZSAocHRyIDwgc3RvcCkgew0KICAgSEVBUDhbcHRyKysgPj4gMF0gPSAwOw0KICB9DQogIHJldHVybiByZXQ7DQogfQ0KIGlmIChzaW5nbGVUeXBlID09PSAiaTgiKSB7DQogIGlmIChzbGFiLnN1YmFycmF5IHx8IHNsYWIuc2xpY2UpIHsNCiAgIEhFQVBVOC5zZXQoc2xhYiwgcmV0KTsNCiAgfSBlbHNlIHsNCiAgIEhFQVBVOC5zZXQobmV3IFVpbnQ4QXJyYXkoc2xhYiksIHJldCk7DQogIH0NCiAgcmV0dXJuIHJldDsNCiB9DQogdmFyIGkgPSAwLCB0eXBlLCB0eXBlU2l6ZSwgcHJldmlvdXNUeXBlOw0KIHdoaWxlIChpIDwgc2l6ZSkgew0KICB2YXIgY3VyciA9IHNsYWJbaV07DQogIHR5cGUgPSBzaW5nbGVUeXBlIHx8IHR5cGVzW2ldOw0KICBpZiAodHlwZSA9PT0gMCkgew0KICAgaSsrOw0KICAgY29udGludWU7DQogIH0NCiAgaWYgKHR5cGUgPT0gImk2NCIpIHR5cGUgPSAiaTMyIjsNCiAgc2V0VmFsdWUocmV0ICsgaSwgY3VyciwgdHlwZSk7DQogIGlmIChwcmV2aW91c1R5cGUgIT09IHR5cGUpIHsNCiAgIHR5cGVTaXplID0gZ2V0TmF0aXZlVHlwZVNpemUodHlwZSk7DQogICBwcmV2aW91c1R5cGUgPSB0eXBlOw0KICB9DQogIGkgKz0gdHlwZVNpemU7DQogfQ0KIHJldHVybiByZXQ7DQp9DQoNCmZ1bmN0aW9uIGdldE1lbW9yeShzaXplKSB7DQogaWYgKCFydW50aW1lSW5pdGlhbGl6ZWQpIHJldHVybiBkeW5hbWljQWxsb2Moc2l6ZSk7DQogcmV0dXJuIF9tYWxsb2Moc2l6ZSk7DQp9DQoNCnZhciBVVEY4RGVjb2RlciA9IHR5cGVvZiBUZXh0RGVjb2RlciAhPT0gInVuZGVmaW5lZCIgPyBuZXcgVGV4dERlY29kZXIoInV0ZjgiKSA6IHVuZGVmaW5lZDsNCg0KZnVuY3Rpb24gVVRGOEFycmF5VG9TdHJpbmcodThBcnJheSwgaWR4LCBtYXhCeXRlc1RvUmVhZCkgew0KIHZhciBlbmRJZHggPSBpZHggKyBtYXhCeXRlc1RvUmVhZDsNCiB2YXIgZW5kUHRyID0gaWR4Ow0KIHdoaWxlICh1OEFycmF5W2VuZFB0cl0gJiYgIShlbmRQdHIgPj0gZW5kSWR4KSkgKytlbmRQdHI7DQogaWYgKGVuZFB0ciAtIGlkeCA+IDE2ICYmIHU4QXJyYXkuc3ViYXJyYXkgJiYgVVRGOERlY29kZXIpIHsNCiAgcmV0dXJuIFVURjhEZWNvZGVyLmRlY29kZSh1OEFycmF5LnN1YmFycmF5KGlkeCwgZW5kUHRyKSk7DQogfSBlbHNlIHsNCiAgdmFyIHN0ciA9ICIiOw0KICB3aGlsZSAoaWR4IDwgZW5kUHRyKSB7DQogICB2YXIgdTAgPSB1OEFycmF5W2lkeCsrXTsNCiAgIGlmICghKHUwICYgMTI4KSkgew0KICAgIHN0ciArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKHUwKTsNCiAgICBjb250aW51ZTsNCiAgIH0NCiAgIHZhciB1MSA9IHU4QXJyYXlbaWR4KytdICYgNjM7DQogICBpZiAoKHUwICYgMjI0KSA9PSAxOTIpIHsNCiAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgodTAgJiAzMSkgPDwgNiB8IHUxKTsNCiAgICBjb250aW51ZTsNCiAgIH0NCiAgIHZhciB1MiA9IHU4QXJyYXlbaWR4KytdICYgNjM7DQogICBpZiAoKHUwICYgMjQwKSA9PSAyMjQpIHsNCiAgICB1MCA9ICh1MCAmIDE1KSA8PCAxMiB8IHUxIDw8IDYgfCB1MjsNCiAgIH0gZWxzZSB7DQogICAgdTAgPSAodTAgJiA3KSA8PCAxOCB8IHUxIDw8IDEyIHwgdTIgPDwgNiB8IHU4QXJyYXlbaWR4KytdICYgNjM7DQogICB9DQogICBpZiAodTAgPCA2NTUzNikgew0KICAgIHN0ciArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKHUwKTsNCiAgIH0gZWxzZSB7DQogICAgdmFyIGNoID0gdTAgLSA2NTUzNjsNCiAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NiB8IGNoID4+IDEwLCA1NjMyMCB8IGNoICYgMTAyMyk7DQogICB9DQogIH0NCiB9DQogcmV0dXJuIHN0cjsNCn0NCg0KZnVuY3Rpb24gVVRGOFRvU3RyaW5nKHB0ciwgbWF4Qnl0ZXNUb1JlYWQpIHsNCiByZXR1cm4gcHRyID8gVVRGOEFycmF5VG9TdHJpbmcoSEVBUFU4LCBwdHIsIG1heEJ5dGVzVG9SZWFkKSA6ICIiOw0KfQ0KDQpmdW5jdGlvbiBzdHJpbmdUb1VURjhBcnJheShzdHIsIG91dFU4QXJyYXksIG91dElkeCwgbWF4Qnl0ZXNUb1dyaXRlKSB7DQogaWYgKCEobWF4Qnl0ZXNUb1dyaXRlID4gMCkpIHJldHVybiAwOw0KIHZhciBzdGFydElkeCA9IG91dElkeDsNCiB2YXIgZW5kSWR4ID0gb3V0SWR4ICsgbWF4Qnl0ZXNUb1dyaXRlIC0gMTsNCiBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSkgew0KICB2YXIgdSA9IHN0ci5jaGFyQ29kZUF0KGkpOw0KICBpZiAodSA+PSA1NTI5NiAmJiB1IDw9IDU3MzQzKSB7DQogICB2YXIgdTEgPSBzdHIuY2hhckNvZGVBdCgrK2kpOw0KICAgdSA9IDY1NTM2ICsgKCh1ICYgMTAyMykgPDwgMTApIHwgdTEgJiAxMDIzOw0KICB9DQogIGlmICh1IDw9IDEyNykgew0KICAgaWYgKG91dElkeCA+PSBlbmRJZHgpIGJyZWFrOw0KICAgb3V0VThBcnJheVtvdXRJZHgrK10gPSB1Ow0KICB9IGVsc2UgaWYgKHUgPD0gMjA0Nykgew0KICAgaWYgKG91dElkeCArIDEgPj0gZW5kSWR4KSBicmVhazsNCiAgIG91dFU4QXJyYXlbb3V0SWR4KytdID0gMTkyIHwgdSA+PiA2Ow0KICAgb3V0VThBcnJheVtvdXRJZHgrK10gPSAxMjggfCB1ICYgNjM7DQogIH0gZWxzZSBpZiAodSA8PSA2NTUzNSkgew0KICAgaWYgKG91dElkeCArIDIgPj0gZW5kSWR4KSBicmVhazsNCiAgIG91dFU4QXJyYXlbb3V0SWR4KytdID0gMjI0IHwgdSA+PiAxMjsNCiAgIG91dFU4QXJyYXlbb3V0SWR4KytdID0gMTI4IHwgdSA+PiA2ICYgNjM7DQogICBvdXRVOEFycmF5W291dElkeCsrXSA9IDEyOCB8IHUgJiA2MzsNCiAgfSBlbHNlIHsNCiAgIGlmIChvdXRJZHggKyAzID49IGVuZElkeCkgYnJlYWs7DQogICBvdXRVOEFycmF5W291dElkeCsrXSA9IDI0MCB8IHUgPj4gMTg7DQogICBvdXRVOEFycmF5W291dElkeCsrXSA9IDEyOCB8IHUgPj4gMTIgJiA2MzsNCiAgIG91dFU4QXJyYXlbb3V0SWR4KytdID0gMTI4IHwgdSA+PiA2ICYgNjM7DQogICBvdXRVOEFycmF5W291dElkeCsrXSA9IDEyOCB8IHUgJiA2MzsNCiAgfQ0KIH0NCiBvdXRVOEFycmF5W291dElkeF0gPSAwOw0KIHJldHVybiBvdXRJZHggLSBzdGFydElkeDsNCn0NCg0KZnVuY3Rpb24gc3RyaW5nVG9VVEY4KHN0ciwgb3V0UHRyLCBtYXhCeXRlc1RvV3JpdGUpIHsNCiByZXR1cm4gc3RyaW5nVG9VVEY4QXJyYXkoc3RyLCBIRUFQVTgsIG91dFB0ciwgbWF4Qnl0ZXNUb1dyaXRlKTsNCn0NCg0KZnVuY3Rpb24gbGVuZ3RoQnl0ZXNVVEY4KHN0cikgew0KIHZhciBsZW4gPSAwOw0KIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgKytpKSB7DQogIHZhciB1ID0gc3RyLmNoYXJDb2RlQXQoaSk7DQogIGlmICh1ID49IDU1Mjk2ICYmIHUgPD0gNTczNDMpIHUgPSA2NTUzNiArICgodSAmIDEwMjMpIDw8IDEwKSB8IHN0ci5jaGFyQ29kZUF0KCsraSkgJiAxMDIzOw0KICBpZiAodSA8PSAxMjcpICsrbGVuOyBlbHNlIGlmICh1IDw9IDIwNDcpIGxlbiArPSAyOyBlbHNlIGlmICh1IDw9IDY1NTM1KSBsZW4gKz0gMzsgZWxzZSBsZW4gKz0gNDsNCiB9DQogcmV0dXJuIGxlbjsNCn0NCg0KdmFyIFVURjE2RGVjb2RlciA9IHR5cGVvZiBUZXh0RGVjb2RlciAhPT0gInVuZGVmaW5lZCIgPyBuZXcgVGV4dERlY29kZXIoInV0Zi0xNmxlIikgOiB1bmRlZmluZWQ7DQoNCmZ1bmN0aW9uIGFsbG9jYXRlVVRGOE9uU3RhY2soc3RyKSB7DQogdmFyIHNpemUgPSBsZW5ndGhCeXRlc1VURjgoc3RyKSArIDE7DQogdmFyIHJldCA9IHN0YWNrQWxsb2Moc2l6ZSk7DQogc3RyaW5nVG9VVEY4QXJyYXkoc3RyLCBIRUFQOCwgcmV0LCBzaXplKTsNCiByZXR1cm4gcmV0Ow0KfQ0KDQpmdW5jdGlvbiB3cml0ZUFycmF5VG9NZW1vcnkoYXJyYXksIGJ1ZmZlcikgew0KIEhFQVA4LnNldChhcnJheSwgYnVmZmVyKTsNCn0NCg0KZnVuY3Rpb24gd3JpdGVBc2NpaVRvTWVtb3J5KHN0ciwgYnVmZmVyLCBkb250QWRkTnVsbCkgew0KIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgKytpKSB7DQogIEhFQVA4W2J1ZmZlcisrID4+IDBdID0gc3RyLmNoYXJDb2RlQXQoaSk7DQogfQ0KIGlmICghZG9udEFkZE51bGwpIEhFQVA4W2J1ZmZlciA+PiAwXSA9IDA7DQp9DQoNCmZ1bmN0aW9uIGRlbWFuZ2xlKGZ1bmMpIHsNCiByZXR1cm4gZnVuYzsNCn0NCg0KZnVuY3Rpb24gZGVtYW5nbGVBbGwodGV4dCkgew0KIHZhciByZWdleCA9IC9fX1pbXHdcZF9dKy9nOw0KIHJldHVybiB0ZXh0LnJlcGxhY2UocmVnZXgsIGZ1bmN0aW9uKHgpIHsNCiAgdmFyIHkgPSBkZW1hbmdsZSh4KTsNCiAgcmV0dXJuIHggPT09IHkgPyB4IDogeSArICIgWyIgKyB4ICsgIl0iOw0KIH0pOw0KfQ0KDQpmdW5jdGlvbiBqc1N0YWNrVHJhY2UoKSB7DQogdmFyIGVyciA9IG5ldyBFcnJvcigpOw0KIGlmICghZXJyLnN0YWNrKSB7DQogIHRyeSB7DQogICB0aHJvdyBuZXcgRXJyb3IoMCk7DQogIH0gY2F0Y2ggKGUpIHsNCiAgIGVyciA9IGU7DQogIH0NCiAgaWYgKCFlcnIuc3RhY2spIHsNCiAgIHJldHVybiAiKG5vIHN0YWNrIHRyYWNlIGF2YWlsYWJsZSkiOw0KICB9DQogfQ0KIHJldHVybiBlcnIuc3RhY2sudG9TdHJpbmcoKTsNCn0NCg0KZnVuY3Rpb24gc3RhY2tUcmFjZSgpIHsNCiB2YXIganMgPSBqc1N0YWNrVHJhY2UoKTsNCiBpZiAoTW9kdWxlWyJleHRyYVN0YWNrVHJhY2UiXSkganMgKz0gIlxuIiArIE1vZHVsZVsiZXh0cmFTdGFja1RyYWNlIl0oKTsNCiByZXR1cm4gZGVtYW5nbGVBbGwoanMpOw0KfQ0KDQp2YXIgYnVmZmVyLCBIRUFQOCwgSEVBUFU4LCBIRUFQMTYsIEhFQVBVMTYsIEhFQVAzMiwgSEVBUFUzMiwgSEVBUEYzMiwgSEVBUEY2NDsNCg0KZnVuY3Rpb24gdXBkYXRlR2xvYmFsQnVmZmVyVmlld3MoKSB7DQogTW9kdWxlWyJIRUFQOCJdID0gSEVBUDggPSBuZXcgSW50OEFycmF5KGJ1ZmZlcik7DQogTW9kdWxlWyJIRUFQMTYiXSA9IEhFQVAxNiA9IG5ldyBJbnQxNkFycmF5KGJ1ZmZlcik7DQogTW9kdWxlWyJIRUFQMzIiXSA9IEhFQVAzMiA9IG5ldyBJbnQzMkFycmF5KGJ1ZmZlcik7DQogTW9kdWxlWyJIRUFQVTgiXSA9IEhFQVBVOCA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlcik7DQogTW9kdWxlWyJIRUFQVTE2Il0gPSBIRUFQVTE2ID0gbmV3IFVpbnQxNkFycmF5KGJ1ZmZlcik7DQogTW9kdWxlWyJIRUFQVTMyIl0gPSBIRUFQVTMyID0gbmV3IFVpbnQzMkFycmF5KGJ1ZmZlcik7DQogTW9kdWxlWyJIRUFQRjMyIl0gPSBIRUFQRjMyID0gbmV3IEZsb2F0MzJBcnJheShidWZmZXIpOw0KIE1vZHVsZVsiSEVBUEY2NCJdID0gSEVBUEY2NCA9IG5ldyBGbG9hdDY0QXJyYXkoYnVmZmVyKTsNCn0NCg0KdmFyIFNUQUNLX0JBU0UgPSAzMjI5MzI4LCBEWU5BTUlDX0JBU0UgPSA4NDcyMjA4LCBEWU5BTUlDVE9QX1BUUiA9IDMyMjkwNzI7DQoNCnZhciBUT1RBTF9TVEFDSyA9IDUyNDI4ODA7DQoNCnZhciBUT1RBTF9NRU1PUlkgPSBNb2R1bGVbIlRPVEFMX01FTU9SWSJdIHx8IDEzNDIxNzcyODsNCg0KaWYgKFRPVEFMX01FTU9SWSA8IFRPVEFMX1NUQUNLKSBlcnIoIlRPVEFMX01FTU9SWSBzaG91bGQgYmUgbGFyZ2VyIHRoYW4gVE9UQUxfU1RBQ0ssIHdhcyAiICsgVE9UQUxfTUVNT1JZICsgIiEgKFRPVEFMX1NUQUNLPSIgKyBUT1RBTF9TVEFDSyArICIpIik7DQoNCmlmIChNb2R1bGVbImJ1ZmZlciJdKSB7DQogYnVmZmVyID0gTW9kdWxlWyJidWZmZXIiXTsNCn0gZWxzZSB7DQogew0KICBidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoVE9UQUxfTUVNT1JZKTsNCiB9DQogTW9kdWxlWyJidWZmZXIiXSA9IGJ1ZmZlcjsNCn0NCg0KdXBkYXRlR2xvYmFsQnVmZmVyVmlld3MoKTsNCg0KSEVBUDMyW0RZTkFNSUNUT1BfUFRSID4+IDJdID0gRFlOQU1JQ19CQVNFOw0KDQpmdW5jdGlvbiBjYWxsUnVudGltZUNhbGxiYWNrcyhjYWxsYmFja3MpIHsNCiB3aGlsZSAoY2FsbGJhY2tzLmxlbmd0aCA+IDApIHsNCiAgdmFyIGNhbGxiYWNrID0gY2FsbGJhY2tzLnNoaWZ0KCk7DQogIGlmICh0eXBlb2YgY2FsbGJhY2sgPT0gImZ1bmN0aW9uIikgew0KICAgY2FsbGJhY2soKTsNCiAgIGNvbnRpbnVlOw0KICB9DQogIHZhciBmdW5jID0gY2FsbGJhY2suZnVuYzsNCiAgaWYgKHR5cGVvZiBmdW5jID09PSAibnVtYmVyIikgew0KICAgaWYgKGNhbGxiYWNrLmFyZyA9PT0gdW5kZWZpbmVkKSB7DQogICAgTW9kdWxlWyJkeW5DYWxsX3YiXShmdW5jKTsNCiAgIH0gZWxzZSB7DQogICAgTW9kdWxlWyJkeW5DYWxsX3ZpIl0oZnVuYywgY2FsbGJhY2suYXJnKTsNCiAgIH0NCiAgfSBlbHNlIHsNCiAgIGZ1bmMoY2FsbGJhY2suYXJnID09PSB1bmRlZmluZWQgPyBudWxsIDogY2FsbGJhY2suYXJnKTsNCiAgfQ0KIH0NCn0NCg0KdmFyIF9fQVRQUkVSVU5fXyA9IFtdOw0KDQp2YXIgX19BVElOSVRfXyA9IFtdOw0KDQp2YXIgX19BVE1BSU5fXyA9IFtdOw0KDQp2YXIgX19BVEVYSVRfXyA9IFtdOw0KDQp2YXIgX19BVFBPU1RSVU5fXyA9IFtdOw0KDQp2YXIgcnVudGltZUluaXRpYWxpemVkID0gZmFsc2U7DQoNCnZhciBydW50aW1lRXhpdGVkID0gZmFsc2U7DQoNCmZ1bmN0aW9uIHByZVJ1bigpIHsNCiBpZiAoTW9kdWxlWyJwcmVSdW4iXSkgew0KICBpZiAodHlwZW9mIE1vZHVsZVsicHJlUnVuIl0gPT0gImZ1bmN0aW9uIikgTW9kdWxlWyJwcmVSdW4iXSA9IFsgTW9kdWxlWyJwcmVSdW4iXSBdOw0KICB3aGlsZSAoTW9kdWxlWyJwcmVSdW4iXS5sZW5ndGgpIHsNCiAgIGFkZE9uUHJlUnVuKE1vZHVsZVsicHJlUnVuIl0uc2hpZnQoKSk7DQogIH0NCiB9DQogY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVFBSRVJVTl9fKTsNCn0NCg0KZnVuY3Rpb24gZW5zdXJlSW5pdFJ1bnRpbWUoKSB7DQogaWYgKHJ1bnRpbWVJbml0aWFsaXplZCkgcmV0dXJuOw0KIHJ1bnRpbWVJbml0aWFsaXplZCA9IHRydWU7DQogY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVElOSVRfXyk7DQp9DQoNCmZ1bmN0aW9uIHByZU1haW4oKSB7DQogY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVE1BSU5fXyk7DQp9DQoNCmZ1bmN0aW9uIGV4aXRSdW50aW1lKCkgew0KIGNhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRFWElUX18pOw0KIHJ1bnRpbWVFeGl0ZWQgPSB0cnVlOw0KfQ0KDQpmdW5jdGlvbiBwb3N0UnVuKCkgew0KIGlmIChNb2R1bGVbInBvc3RSdW4iXSkgew0KICBpZiAodHlwZW9mIE1vZHVsZVsicG9zdFJ1biJdID09ICJmdW5jdGlvbiIpIE1vZHVsZVsicG9zdFJ1biJdID0gWyBNb2R1bGVbInBvc3RSdW4iXSBdOw0KICB3aGlsZSAoTW9kdWxlWyJwb3N0UnVuIl0ubGVuZ3RoKSB7DQogICBhZGRPblBvc3RSdW4oTW9kdWxlWyJwb3N0UnVuIl0uc2hpZnQoKSk7DQogIH0NCiB9DQogY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVFBPU1RSVU5fXyk7DQp9DQoNCmZ1bmN0aW9uIGFkZE9uUHJlUnVuKGNiKSB7DQogX19BVFBSRVJVTl9fLnVuc2hpZnQoY2IpOw0KfQ0KDQpmdW5jdGlvbiBhZGRPblBvc3RSdW4oY2IpIHsNCiBfX0FUUE9TVFJVTl9fLnVuc2hpZnQoY2IpOw0KfQ0KDQp2YXIgTWF0aF9hYnMgPSBNYXRoLmFiczsNCg0KdmFyIE1hdGhfY2VpbCA9IE1hdGguY2VpbDsNCg0KdmFyIE1hdGhfZmxvb3IgPSBNYXRoLmZsb29yOw0KDQp2YXIgTWF0aF9taW4gPSBNYXRoLm1pbjsNCg0KdmFyIHJ1bkRlcGVuZGVuY2llcyA9IDA7DQoNCnZhciBydW5EZXBlbmRlbmN5V2F0Y2hlciA9IG51bGw7DQoNCnZhciBkZXBlbmRlbmNpZXNGdWxmaWxsZWQgPSBudWxsOw0KDQpmdW5jdGlvbiBnZXRVbmlxdWVSdW5EZXBlbmRlbmN5KGlkKSB7DQogcmV0dXJuIGlkOw0KfQ0KDQpmdW5jdGlvbiBhZGRSdW5EZXBlbmRlbmN5KGlkKSB7DQogcnVuRGVwZW5kZW5jaWVzKys7DQogaWYgKE1vZHVsZVsibW9uaXRvclJ1bkRlcGVuZGVuY2llcyJdKSB7DQogIE1vZHVsZVsibW9uaXRvclJ1bkRlcGVuZGVuY2llcyJdKHJ1bkRlcGVuZGVuY2llcyk7DQogfQ0KfQ0KDQpmdW5jdGlvbiByZW1vdmVSdW5EZXBlbmRlbmN5KGlkKSB7DQogcnVuRGVwZW5kZW5jaWVzLS07DQogaWYgKE1vZHVsZVsibW9uaXRvclJ1bkRlcGVuZGVuY2llcyJdKSB7DQogIE1vZHVsZVsibW9uaXRvclJ1bkRlcGVuZGVuY2llcyJdKHJ1bkRlcGVuZGVuY2llcyk7DQogfQ0KIGlmIChydW5EZXBlbmRlbmNpZXMgPT0gMCkgew0KICBpZiAocnVuRGVwZW5kZW5jeVdhdGNoZXIgIT09IG51bGwpIHsNCiAgIGNsZWFySW50ZXJ2YWwocnVuRGVwZW5kZW5jeVdhdGNoZXIpOw0KICAgcnVuRGVwZW5kZW5jeVdhdGNoZXIgPSBudWxsOw0KICB9DQogIGlmIChkZXBlbmRlbmNpZXNGdWxmaWxsZWQpIHsNCiAgIHZhciBjYWxsYmFjayA9IGRlcGVuZGVuY2llc0Z1bGZpbGxlZDsNCiAgIGRlcGVuZGVuY2llc0Z1bGZpbGxlZCA9IG51bGw7DQogICBjYWxsYmFjaygpOw0KICB9DQogfQ0KfQ0KDQpNb2R1bGVbInByZWxvYWRlZEltYWdlcyJdID0ge307DQoNCk1vZHVsZVsicHJlbG9hZGVkQXVkaW9zIl0gPSB7fTsNCg0KdmFyIG1lbW9yeUluaXRpYWxpemVyID0gbnVsbDsNCg0KdmFyIGRhdGFVUklQcmVmaXggPSAiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LCI7DQoNCmZ1bmN0aW9uIGlzRGF0YVVSSShmaWxlbmFtZSkgew0KIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGggPyBmaWxlbmFtZS5zdGFydHNXaXRoKGRhdGFVUklQcmVmaXgpIDogZmlsZW5hbWUuaW5kZXhPZihkYXRhVVJJUHJlZml4KSA9PT0gMDsNCn0NCg0KdmFyIEFTTV9DT05TVFMgPSBbIGZ1bmN0aW9uKCkgew0KIGlmICh0eXBlb2YgX2NhcnRkYXQgIT09ICJ1bmRlZmluZWQiKSByZXR1cm4gMTsNCiByZXR1cm4gMDsNCn0sIGZ1bmN0aW9uKCkgew0KIHJldHVybiBfY2FydGRhdC5sZW5ndGggLyAzMjc2ODsNCn0sIGZ1bmN0aW9uKCkgew0KIF9jZHBvcyA9IF9jZHBvcyArIDE7DQogcmV0dXJuIF9jYXJ0ZGF0W19jZHBvcyAtIDFdOw0KfSwgZnVuY3Rpb24oJDApIHsNCiBjaWlpID0gJDA7DQogaWlpID0gMDsNCn0sIGZ1bmN0aW9uKCkgew0KIGlpaSA9IGlpaSArIDE7DQogcmV0dXJuIF9jYXJ0bmFtZVtjaWlpXS5jaGFyQ29kZUF0KGlpaSAtIDEpOw0KfSwgZnVuY3Rpb24oKSB7DQogTW9kdWxlLnBpY284UmVzZXQgPSBmdW5jdGlvbigpIHsNCiAgY29kb19jb21tYW5kID0gMTsNCiB9Ow0KIE1vZHVsZS5waWNvOFRvZ2dsZVNvdW5kID0gZnVuY3Rpb24oKSB7DQogIGNvZG9fY29tbWFuZCA9IDM7DQogfTsNCiBNb2R1bGUucGljbzhUb2dnbGVQYXVzZWQgPSBmdW5jdGlvbigpIHsNCiAgY29kb19jb21tYW5kID0gNDsNCiB9Ow0KIE1vZHVsZS5waWNvOFNldFBhdXNlZCA9IGZ1bmN0aW9uKHApIHsNCiAgY29kb19jb21tYW5kID0gNTsNCiAgY29kb19jb21tYW5kX3AgPSAwOw0KICBpZiAocCkgY29kb19jb21tYW5kX3AgPSAxOw0KIH07DQogTW9kdWxlLnBpY284VG9nZ2xlQ29udHJvbE1lbnUgPSBmdW5jdGlvbigpIHsNCiAgY29kb19jb21tYW5kID0gNzsNCiB9Ow0KIE1vZHVsZS5waWNvOERyYWdPdmVyID0gZnVuY3Rpb24oKSB7DQogIGNvZG9fY29tbWFuZCA9IDEwOw0KIH07DQogTW9kdWxlLnBpY284RHJhZ1N0b3AgPSBmdW5jdGlvbigpIHsNCiAgY29kb19jb21tYW5kID0gMTE7DQogfTsNCn0sIGZ1bmN0aW9uKCkgew0KIGZ1bmN0aW9uIG1rZGlyXzAoZCkgew0KICB0cnkgew0KICAgc3RhdCA9IEZTLnN0YXQoZCk7DQogICBjb25zb2xlLmxvZygiZm91bmQgZGlyZWN0b3J5OiAiICsgZCk7DQogIH0gY2F0Y2ggKGUpIHsNCiAgIEZTLm1rZGlyKGQpOw0KICAgY29uc29sZS5sb2coImNyZWF0ZWQgZGlyZWN0b3J5OiAiICsgZCk7DQogIH0NCiB9DQogY29uc29sZS5sb2coIm1vdW50aW5nIC91c2VyX2RhdGEiKTsNCiBta2Rpcl8wKCIvdXNlcl9kYXRhIik7DQogRlMubW91bnQoSURCRlMsIHt9LCAiL3VzZXJfZGF0YSIpOw0KIEZTLnN5bmNmcyh0cnVlLCBmdW5jdGlvbihlcnIpIHsNCiAgaWYgKCFlcnIpIHsNCiAgIGNvbnNvbGUubG9nKCJjb2RvOiBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iKTsNCiAgIGNvZG9fbW91bnRlZF9maWxlc3lzdGVtID0gMTsNCiAgIG1rZGlyXzAoIi91c2VyX2RhdGEvY2RhdGEiKTsNCiAgIG1rZGlyXzAoIi91c2VyX2RhdGEvY3N0b3JlIik7DQogICBta2Rpcl8wKCIvdXNlcl9kYXRhL2NhcnRzIik7DQogICBta2Rpcl8wKCIvdXNlcl9kYXRhL2JhY2t1cCIpOw0KICAgbWtkaXJfMCgiL3VzZXJfZGF0YS9wbGF0ZXMiKTsNCiAgIG1rZGlyXzAoIi91c2VyX2RhdGEvYmJzIik7DQogICBta2Rpcl8wKCIvdXNlcl9kYXRhL2Jicy9jYXJ0cyIpOw0KICAgbWtkaXJfMCgiL3VzZXJfZGF0YS9iYnMvbGFiZWxzIik7DQogIH0gZWxzZSB7DQogICBjb25zb2xlLmxvZygiKiogY291bGQgbm90IG1vdW50IGZpbGVzeXN0ZW1cbiIpOw0KICAgY29uc29sZS5sb2coZXJyKTsNCiAgfQ0KIH0pOw0KfSwgZnVuY3Rpb24oKSB7DQogdmFyIHZhbCA9IDA7DQogaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKCJ3aWRnZXQucGhwIikgPj0gMCkgdmFsID0gMTsNCiByZXR1cm4gdmFsOw0KfSwgZnVuY3Rpb24oKSB7DQogdmFyIHZhbCA9IDA7DQogaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKCJwaWNvLTgucGhwIikgPj0gMCkgdmFsID0gMTsNCiByZXR1cm4gdmFsOw0KfSwgZnVuY3Rpb24oJDAsICQxLCAkMiwgJDMsICQ0LCAkNSwgJDYsICQ3KSB7DQogaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZSAhPT0gInVuZGVmaW5lZCIpIHsNCiAgcGljbzhfc3RhdGUuaXNfcGF1c2VkID0gJDA7DQogIHBpY284X3N0YXRlLnNvdW5kX3ZvbHVtZSA9ICQxOw0KICBwaWNvOF9zdGF0ZS5mcmFtZV9udW1iZXIgPSAkMjsNCiAgcGljbzhfc3RhdGUuaGFzX2ZvY3VzID0gJDM7DQogIHBpY284X3N0YXRlLnNob3dfZHBhZCA9ICQ0Ow0KICBwaWNvOF9zdGF0ZS5yZXF1ZXN0X3BvaW50ZXJfbG9jayA9ICQ1Ow0KICBwaWNvOF9zdGF0ZS5yZXF1aXJlX3BhZ2VfbmF2aWdhdGVfY29uZmlybWF0aW9uID0gJDY7DQogIHBpY284X3N0YXRlLnNodXRkb3duX3JlcXVlc3RlZCA9ICQ3Ow0KIH0NCn0sIGZ1bmN0aW9uKCkgew0KIHZhciB2YWwgPSAwOw0KIGlmICh0eXBlb2YgY29kb19jb21tYW5kICE9PSAidW5kZWZpbmVkIikgew0KICB2YWwgPSBjb2RvX2NvbW1hbmQ7DQogIGNvZG9fY29tbWFuZCA9IDA7DQogfQ0KIHJldHVybiB2YWw7DQp9LCBmdW5jdGlvbigpIHsNCiB2YXIgdmFsID0gMDsNCiBpZiAodHlwZW9mIGNvZG9fY29tbWFuZF9wICE9PSAidW5kZWZpbmVkIikgew0KICB2YWwgPSBjb2RvX2NvbW1hbmRfcDsNCiAgY29kb19jb21tYW5kX3AgPSAwOw0KIH0NCiByZXR1cm4gdmFsOw0KfSwgZnVuY3Rpb24oKSB7DQogYnV0dG9uX2kgPSAwOw0KfSwgZnVuY3Rpb24oKSB7DQogdmFyIHZhbCA9IC0xOw0KIGlmICh0eXBlb2YgcGljbzhfYnV0dG9ucyAhPT0gInVuZGVmaW5lZCIpIHsNCiAgdmFsID0gcGljbzhfYnV0dG9uc1tidXR0b25faV07DQogIGJ1dHRvbl9pKys7DQogfQ0KIHJldHVybiB2YWw7DQp9LCBmdW5jdGlvbigpIHsNCiB2YXIgdmFsID0gMDsNCiBpZiAodHlwZW9mIHBpY284X2dhbWVwYWRzICE9PSAidW5kZWZpbmVkIikgew0KICB2YWwgPSBwaWNvOF9nYW1lcGFkcy5jb3VudDsNCiB9DQogcmV0dXJuIHZhbDsNCn0sIGZ1bmN0aW9uKCkgew0KIGlmICh0eXBlb2Ygb25fbW9kdWxlX2xvYWQgIT09ICJ1bmRlZmluZWQiKSB7DQogIGlmIChvbl9tb2R1bGVfbG9hZCkgb25fbW9kdWxlX2xvYWQoKTsNCiB9DQp9LCBmdW5jdGlvbigkMCwgJDEsICQyLCAkMykgew0KIGRvd25sb2FkX2Jyb3dzZXJfZmlsZShVVEY4VG9TdHJpbmcoJDAsICQxKSwgVVRGOFRvU3RyaW5nKCQyLCAkMykpOw0KfSwgZnVuY3Rpb24oJDAsICQxLCAkMiwgJDMsICQ0LCAkNSkgew0KIGlmICh0eXBlb2YgcDhpbWcgIT09ICJ1bmRlZmluZWQiKSB7DQogIHA4aW1nLnNyYyA9ICIiOw0KIH0NCiBwOGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOw0KIHA4aW1nLnNyYyA9IFVURjhUb1N0cmluZygkMCwgJDEpOw0KIHA4aW1nLnN0eWxlID0gIndpZHRoOjEyOHB4OyBoZWlnaHQ6MTI4cHg7IGltYWdlLXJlbmRlcmluZzogcGl4ZWxhdGVkOyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyI7DQogaWYgKHR5cGVvZiBwOGltZ2hvbGRlciA9PT0gInVuZGVmaW5lZCIgfHwgIXA4aW1naG9sZGVyKSB7DQogIHA4aW1naG9sZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7DQogIHA4aW1naG9sZGVyLnN0eWxlLmNzc1RleHQgPSAibWluLXdpZHRoOjE2MHB4OyBkaXNwbGF5OnRhYmxlOyBwb3NpdGlvbjpmaXhlZDsgdG9wOjIwcHg7IGxlZnQ6MjBweDsgcGFkZGluZzoxMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7IGJveC1zaGFkb3c6IDJweCAycHggOHB4IHJnYmEoMTYsIDAsIDQ4LCAwLjQpOyI7DQogIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocDhpbWdob2xkZXIpOw0KIH0NCiBpZiAocDhpbWdob2xkZXIpIHsNCiAgd2hpbGUgKHA4aW1naG9sZGVyLmNoaWxkRWxlbWVudENvdW50ID4gMCkgcDhpbWdob2xkZXIucmVtb3ZlQ2hpbGQocDhpbWdob2xkZXIuZmlyc3RDaGlsZCk7DQogIHZhciBkaXNtaXNzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7DQogIGRpc21pc3Muc3R5bGUuY3NzVGV4dCA9ICJkaXNwbGF5OnRhYmxlOyBmb250LXNpemU6MTBwdDsgY29sb3I6I2ZmZjsgcGFkZGluZzo0cHg7IGN1cnNvcjpwb2ludGVyOyBtYXJnaW4tbGVmdDoxMHB4OyBmbG9hdDpyaWdodCI7DQogIGRpc21pc3MuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbigpIHsNCiAgIHA4aW1nLnNyYyA9ICIiOw0KICAgd2hpbGUgKHA4aW1naG9sZGVyLmNoaWxkRWxlbWVudENvdW50ID4gMCkgcDhpbWdob2xkZXIucmVtb3ZlQ2hpbGQocDhpbWdob2xkZXIuZmlyc3RDaGlsZCk7DQogICBwOGltZ2hvbGRlci5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOw0KICB9LCBmYWxzZSk7DQogIGRpc21pc3MuaW5uZXJIVE1MID0gIlgiOw0KICBwOGltZ2hvbGRlci5hcHBlbmRDaGlsZChkaXNtaXNzKTsNCiAgcDhpbWdob2xkZXIuYXBwZW5kQ2hpbGQocDhpbWcpOw0KICB2YXIgaW5mbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICBpbmZvLmlubmVySFRNTCA9ICc8YnI+IDxmb250IHN0eWxlPSJjb2xvcjojYmJiOyBmb250LXNpemU6OHB0Ij48Y2VudGVyPiAocmlnaHQtY2xpY2sgdG8gc2F2ZSkgPC9jZW50ZXI+PC9mb250Pic7DQogIHA4aW1naG9sZGVyLmFwcGVuZENoaWxkKGluZm8pOw0KICBpZiAocDhpbWdob2xkZXIuc3R5bGUuZGlzcGxheSA9PSAibm9uZSIpIHA4aW1naG9sZGVyLnN0eWxlLmRpc3BsYXkgPSAiIjsNCiB9DQp9LCBmdW5jdGlvbigpIHsNCiBqc1N0cmluZyA9IHA4X2Ryb3BwZWRfY2FydDsNCiBpZiAoIWpzU3RyaW5nKSByZXR1cm4gMDsNCiB2YXIgbGVuZ3RoQnl0ZXMgPSBsZW5ndGhCeXRlc1VURjgoanNTdHJpbmcpICsgMTsNCiB2YXIgc3RyaW5nT25XYXNtSGVhcCA9IF9tYWxsb2MobGVuZ3RoQnl0ZXMpOw0KIHN0cmluZ1RvVVRGOChqc1N0cmluZywgc3RyaW5nT25XYXNtSGVhcCwgbGVuZ3RoQnl0ZXMpOw0KIHJldHVybiBzdHJpbmdPbldhc21IZWFwOw0KfSwgZnVuY3Rpb24oKSB7DQoganNTdHJpbmcgPSBwOF9kcm9wcGVkX2NhcnRfbmFtZTsNCiBpZiAoIWpzU3RyaW5nKSByZXR1cm4gMDsNCiB2YXIgbGVuZ3RoQnl0ZXMgPSBsZW5ndGhCeXRlc1VURjgoanNTdHJpbmcpICsgMTsNCiB2YXIgc3RyaW5nT25XYXNtSGVhcDIgPSBfbWFsbG9jKGxlbmd0aEJ5dGVzKTsNCiBzdHJpbmdUb1VURjgoanNTdHJpbmcsIHN0cmluZ09uV2FzbUhlYXAyLCBsZW5ndGhCeXRlcyk7DQogcmV0dXJuIHN0cmluZ09uV2FzbUhlYXAyOw0KfSwgZnVuY3Rpb24oJDAsICQxKSB7DQogaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZSAhPT0gInVuZGVmaW5lZCIpIHsNCiAgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMgPT09ICJ1bmRlZmluZWQiKSBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMgPSBuZXcgQXJyYXkoKTsNCiAgcGljbzhfc3RhdGUuc3lzdGVtX21lc3NhZ2VzLnB1c2goVVRGOFRvU3RyaW5nKCQwLCAkMSkpOw0KIH0NCn0sIGZ1bmN0aW9uKCQwKSB7DQogdmFyIHN0ciA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTsNCiByZXR1cm4gYWxsb2NhdGUoaW50QXJyYXlGcm9tU3RyaW5nKHN0ciksICJpOCIsIEFMTE9DX05PUk1BTCk7DQp9LCBmdW5jdGlvbigkMCwgJDEpIHsNCiBpZiAodHlwZW9mIHBpY284X2dwaW8gIT09ICJ1bmRlZmluZWQiKSBwaWNvOF9ncGlvWyQwXSA9ICQxOw0KfSwgZnVuY3Rpb24oJDApIHsNCiB2YXIgdmFsID0gMDsNCiBpZiAodHlwZW9mIHBpY284X2dwaW8gIT09ICJ1bmRlZmluZWQiKSB2YWwgPSBwaWNvOF9ncGlvWyQwXTsNCiByZXR1cm4gdmFsOw0KfSwgZnVuY3Rpb24oKSB7DQogRlMuc3luY2ZzKGZhbHNlLCBmdW5jdGlvbihlcnIpIHt9KTsNCn0sIGZ1bmN0aW9uKCkgew0KIHZhciB2YWwgPSAwOw0KIGlmICh0eXBlb2YgY29kb19tb3VudGVkX2ZpbGVzeXN0ZW0gIT09ICJ1bmRlZmluZWQiKSB2YWwgPSAxOw0KIHJldHVybiB2YWw7DQp9LCBmdW5jdGlvbigpIHsNCiByZXR1cm4gdHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAidW5kZWZpbmVkIiB8fCAhcDhfdG91Y2hfZGV0ZWN0ZWQgPyAwIDogMTsNCn0sIGZ1bmN0aW9uKCkgew0KIHJldHVybiBkb2N1bWVudC5oaWRkZW4gPyAxIDogMDsNCn0sIGZ1bmN0aW9uKCkgew0KIGlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAidW5kZWZpbmVkIikgY29kb19rZXlfYnVmZmVyID0gW107DQogZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIGZ1bmN0aW9uKGUpIHsNCiAgdmFyIHZhbCA9IC0xOw0KICBpZiAoZS5rZXkubGVuZ3RoID09IDEpIHsNCiAgIHZhbCA9IGUua2V5LmNoYXJDb2RlQXQoMCk7DQogIH0gZWxzZSB7DQogICBpZiAoZS5rZXkgPT0gIlRhYiIpIHZhbCA9IDk7DQogICBpZiAoZS5rZXkgPT0gIkVudGVyIikgdmFsID0gMTM7DQogICBpZiAoZS5rZXkgPT0gIkJhY2tzcGFjZSIpIHZhbCA9IDg7DQogICBpZiAoZS5rZXkgPT0gIkVzY2FwZSIpIHZhbCA9IDI3Ow0KICAgaWYgKHZhbCA9PSAtMSkge30NCiAgfQ0KICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpOw0KICBjb2RvX2tleV9idWZmZXIucHVzaCh2YWwpOw0KIH0pOw0KfSwgZnVuY3Rpb24oKSB7DQp9LCBmdW5jdGlvbigpIHsNCiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsIGZ1bmN0aW9uKGUpIHsNCiAgZHggPSBlLmRlbHRhWDsNCiAgaWYgKGR4IDwgMCkgZHggPSAtMTsNCiAgaWYgKGR4ID4gMCkgZHggPSAxOw0KICBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHggKj0gNDsNCiAgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R4ICE9PSAidW5kZWZpbmVkIikgY29kb193aGVlbF9keCAtPSBkeDsNCiAgZHkgPSBlLmRlbHRhWTsNCiAgaWYgKGR5IDwgMCkgZHkgPSAtMTsNCiAgaWYgKGR5ID4gMCkgZHkgPSAxOw0KICBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHkgKj0gNDsNCiAgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R5ICE9PSAidW5kZWZpbmVkIikgY29kb193aGVlbF9keSAtPSBkeTsNCiB9KTsNCn0sIGZ1bmN0aW9uKCQwKSB7DQogZnVuY3Rpb24gYXVkaW9fbG9nKG1zZykgew0KICBpZiAod2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nKSB7DQogICB3aW5kb3cuY29uc29sZS5sb2coIltjb2RvXSBhdWRpb19pbml0X3dlYmF1ZGlvICIgKyBtc2cpOw0KICB9DQogfQ0KIGF1ZGlvX2xvZygiYXVkaW9faW5pdCIpOw0KIHZhciBjb2RvX2F1ZGlvX2NvbnRleHQ7DQogaWYgKHR5cGVvZiBNb2R1bGUgPT09ICJ1bmRlZmluZWQiKSBhdWRpb19sb2coIiAqKiogTW9kdWxlIHVuZGVmaW5lZCIpOyBlbHNlIGlmICh0eXBlb2YgTW9kdWxlLmNjYWxsID09PSAidW5kZWZpbmVkIikgYXVkaW9fbG9nKCIgKioqKiBNb2R1bGUuY2NhbGwgdW5kZWZpbmVkIik7IGVsc2Ugew0KICB2YXIgd2ViQXVkaW9BUEkgPSB3aW5kb3cuQXVkaW9Db250ZXh0IHx8IHdpbmRvdy53ZWJraXRBdWRpb0NvbnRleHQgfHwgd2luZG93Lm1vekF1ZGlvQ29udGV4dCB8fCB3aW5kb3cub0F1ZGlvQ29udGV4dCB8fCB3aW5kb3cubXNBdWRpb0NvbnRleHQ7DQogIGlmICh3ZWJBdWRpb0FQSSkgew0KICAgaWYgKHR5cGVvZiBwaWNvOF9hdWRpb19jb250ZXh0ICE9PSAidW5kZWZpbmVkIikgew0KICAgIGNvZG9fYXVkaW9fY29udGV4dCA9IHBpY284X2F1ZGlvX2NvbnRleHQ7DQogICAgYXVkaW9fbG9nKCJmb3VuZCBwaWNvOF9hdWRpb19jb250ZXh0Iik7DQogICB9IGVsc2UgaWYgKHR5cGVvZiB2b3hhdHJvbl9hdWRpb19jb250ZXh0ICE9PSAidW5kZWZpbmVkIikgew0KICAgIGNvZG9fYXVkaW9fY29udGV4dCA9IHZveGF0cm9uX2F1ZGlvX2NvbnRleHQ7DQogICAgYXVkaW9fbG9nKCJmb3VuZCB2b3hhdHJvbl9hdWRpb19jb250ZXh0Iik7DQogICB9IGVsc2Ugew0KICAgIGNvZG9fYXVkaW9fY29udGV4dCA9IG5ldyB3ZWJBdWRpb0FQSSgpOw0KICAgIGF1ZGlvX2xvZygiY3JlYXRpbmcgb3duIGF1ZGlvIGNvbnRleHQiKTsNCiAgIH0NCiAgIGlmIChjb2RvX2F1ZGlvX2NvbnRleHQpIHsNCiAgICBhdWRpb19sb2coIlNhbXBsZSBSYXRlOiAiICsgY29kb19hdWRpb19jb250ZXh0LnNhbXBsZVJhdGUpOw0KICAgIGF1ZGlvX2xvZygiQnVmZmVyIFNpemU6ICIgKyAkMCk7DQogICAgbm9kZSA9IGNvZG9fYXVkaW9fY29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNzb3IoJDAsIDEsIDEpOw0KICAgIG5vZGUub25hdWRpb3Byb2Nlc3MgPSBmdW5jdGlvbihlKSB7DQogICAgIHZhciBkYXRhID0gZS5vdXRwdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7DQogICAgIHZhciByID0gMjIwNTAgLyBjb2RvX2F1ZGlvX2NvbnRleHQuc2FtcGxlUmF0ZTsNCiAgICAgdmFyIGxlbjAgPSBNYXRoLmZsb29yKGRhdGEubGVuZ3RoICogcik7DQogICAgIHZhciBsZW4xID0gZGF0YS5sZW5ndGg7DQogICAgIHZhciBwdHIgPSBNb2R1bGUuY2NhbGwoIm1peF8wIiwgIm51bWJlciIsIFsgIm51bWJlciIsICJudW1iZXIiIF0sIFsgbGVuMCwgbGVuMSBdKTsNCiAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBkYXRhLmxlbmd0aDsgaisrKSBkYXRhW2pdID0gTW9kdWxlLmdldFZhbHVlKHB0ciArIGogKiAyLCAiaTE2IikgLyAzMjc2ODsNCiAgICB9Ow0KICAgIG5vZGUuY29ubmVjdChjb2RvX2F1ZGlvX2NvbnRleHQuZGVzdGluYXRpb24pOw0KICAgfSBlbHNlIHsNCiAgICBhdWRpb19sb2coIioqIGZhaWxlZCB0byBjcmVhdGUgY29kb19hdWRpb19jb250ZXh0Iik7DQogICB9DQogIH0gZWxzZSB7DQogICBhdWRpb19sb2coIioqIHdlYkF1ZGlvQVBJIG5vdCBmb3VuZCIpOw0KICB9DQogfQ0KfSwgZnVuY3Rpb24oKSB7DQogcmV0dXJuIGRvY3VtZW50LnBvaW50ZXJMb2NrRWxlbWVudCA/IDEgOiAwOw0KfSwgZnVuY3Rpb24oKSB7DQogdmFyIHJldCA9IDA7DQogaWYgKHR5cGVvZiBwaWNvOF9tb3VzZSAhPT0gInVuZGVmaW5lZCIgJiYgcGljbzhfbW91c2UubGVuZ3RoID4gMCkgcmV0ID0gMTsNCiByZXR1cm4gcmV0Ow0KfSwgZnVuY3Rpb24oKSB7DQogcmV0dXJuIHBpY284X21vdXNlWzBdOw0KfSwgZnVuY3Rpb24oKSB7DQogcmV0dXJuIHBpY284X21vdXNlWzFdOw0KfSwgZnVuY3Rpb24oKSB7DQogaWYgKHR5cGVvZiBjb2RvX2tleV9idWZmZXIgPT09ICJ1bmRlZmluZWQiKSBjb2RvX2tleV9idWZmZXIgPSBbXTsNCiByZXR1cm4gY29kb19rZXlfYnVmZmVyLmxlbmd0aCA+IDAgPyAxIDogMDsNCn0sIGZ1bmN0aW9uKCkgew0KIGlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAidW5kZWZpbmVkIikgY29kb19rZXlfYnVmZmVyID0gW107DQogbGV0IHZhbCA9IGNvZG9fa2V5X2J1ZmZlci5zaGlmdCgpIHwgMDsNCiByZXR1cm4gdmFsOw0KfSwgZnVuY3Rpb24oKSB7DQogdGVtcCA9IHR5cGVvZiBjb2RvX3doZWVsX2R4ICE9PSAidW5kZWZpbmVkIiA/IGNvZG9fd2hlZWxfZHggOiAwOw0KIGNvZG9fd2hlZWxfZHggPSAwOw0KIHJldHVybiB0ZW1wOw0KfSwgZnVuY3Rpb24oKSB7DQogdGVtcCA9IHR5cGVvZiBjb2RvX3doZWVsX2R5ICE9PSAidW5kZWZpbmVkIiA/IGNvZG9fd2hlZWxfZHkgOiAwOw0KIGNvZG9fd2hlZWxfZHkgPSAwOw0KIHJldHVybiB0ZW1wOw0KfSwgZnVuY3Rpb24oKSB7DQogaWYgKGRvY3VtZW50LmhpZGRlbikgcmV0dXJuIDA7DQogZWwgPSB0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gInVuZGVmaW5lZCIgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsNCiBpZiAoZWwpIHsNCiAgaWYgKGVsID09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHJldHVybiAxOw0KIH0NCiBlbCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7DQogcmV0dXJuICFlbCB8fCBlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gImlucHV0IiAmJiBlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gInRleHRhcmVhIjsNCn0sIGZ1bmN0aW9uKCkgew0KIGVsID0gdHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICJ1bmRlZmluZWQiID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKSA6IGNvZG9fdGV4dGFyZWE7DQogaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gIm5vbmUiKSB7DQogIGVsLmZvY3VzKCk7DQogIGVsLnNlbGVjdCgpOw0KIH0NCn0sIGZ1bmN0aW9uKCkgew0KIGVsID0gdHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICJ1bmRlZmluZWQiID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKSA6IGNvZG9fdGV4dGFyZWE7DQogaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gIm5vbmUiKSB7DQogIGVsLnNlbGVjdCgpOw0KIH0NCn0sIGZ1bmN0aW9uKCkgew0KIHJldHVybiBwaWNvOF9tb3VzZVsyXTsNCn0sIGZ1bmN0aW9uKCkgew0KIF9kaXJfbmFtZSA9ICIiOw0KfSwgZnVuY3Rpb24oJDApIHsNCiBfZGlyX25hbWUgPSBfZGlyX25hbWUgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKCQwKTsNCn0sIGZ1bmN0aW9uKCkgew0KIGNvbnNvbGUubG9nKCJAQCBta2RpciBkaXJlY3RvcnkgKG5vY2hlY2spOiAiICsgX2Rpcl9uYW1lKTsNCiBGUy5jcmVhdGVQYXRoKCIiLCBfZGlyX25hbWUsIHRydWUsIHRydWUpOw0KfSwgZnVuY3Rpb24oKSB7DQogTW9kdWxlWyJjYW52YXMiXS5leGl0UG9pbnRlckxvY2soKTsNCn0sIGZ1bmN0aW9uKCkgew0KIGVsID0gdHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICJ1bmRlZmluZWQiID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKSA6IGNvZG9fdGV4dGFyZWE7DQogaWYgKGVsKSB7fQ0KfSwgZnVuY3Rpb24oKSB7DQogX2NvZG9fc3RyX291dCA9ICIiOw0KfSwgZnVuY3Rpb24oJDApIHsNCiBfY29kb19zdHJfb3V0ID0gX2NvZG9fc3RyX291dCArIFN0cmluZy5mcm9tQ2hhckNvZGUoJDApOw0KfSwgZnVuY3Rpb24oKSB7DQogZWwgPSB0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gInVuZGVmaW5lZCIgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsNCiBpZiAoZWwpIHsNCiAgZWwudmFsdWUgPSBfY29kb19zdHJfb3V0Ow0KICByZXR1cm4gMDsNCiB9IGVsc2UgcmV0dXJuIDE7DQp9LCBmdW5jdGlvbigpIHsNCiBlbCA9IHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAidW5kZWZpbmVkIiA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOw0KIGlmIChlbCAmJiBlbC5zdHlsZS5kaXNwbGF5ID09ICJub25lIiAmJiAodHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAidW5kZWZpbmVkIiB8fCAhcDhfdG91Y2hfZGV0ZWN0ZWQpKSB7DQogIGNvbnNvbGUubG9nKCJAQCBlbmFibGluZyBjb2RvX3RleHRmaWVsZCIpOw0KICBlbC5zdHlsZS5kaXNwbGF5ID0gIiI7DQogIGVsLmZvY3VzKCk7DQogIGVsLnNlbGVjdCgpOw0KIH0NCn0sIGZ1bmN0aW9uKCkgew0KIGVsID0gdHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICJ1bmRlZmluZWQiID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKSA6IGNvZG9fdGV4dGFyZWE7DQogaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gIm5vbmUiICYmIGVsLnZhbHVlICE9ICIiKSB7DQogIF9jb2RvX3RleHRfdmFsdWUgPSBlbC52YWx1ZTsNCiAgcmV0dXJuIDE7DQogfQ0KIHJldHVybiAwOw0KfSwgZnVuY3Rpb24oKSB7DQogcmV0dXJuIHR5cGVvZiBfY29kb190ZXh0X3ZhbHVlID09PSAidW5kZWZpbmVkIiA/IDEgOiAwOw0KfSwgZnVuY3Rpb24oKSB7DQogaWlpID0gMDsNCn0sIGZ1bmN0aW9uKCkgew0KIGlpaSA9IGlpaSArIDE7DQogcmV0dXJuIF9jb2RvX3RleHRfdmFsdWUuY2hhckNvZGVBdChpaWkgLSAxKTsNCn0gXTsNCg0KZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fYXNtX2NvbnN0X2koY29kZSkgew0KIHJldHVybiBBU01fQ09OU1RTW2NvZGVdKCk7DQp9DQoNCmZ1bmN0aW9uIF9lbXNjcmlwdGVuX2FzbV9jb25zdF9paShjb2RlLCBhMCkgew0KIHJldHVybiBBU01fQ09OU1RTW2NvZGVdKGEwKTsNCn0NCg0KZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fYXNtX2NvbnN0X2lpaWlpKGNvZGUsIGEwLCBhMSwgYTIsIGEzKSB7DQogcmV0dXJuIEFTTV9DT05TVFNbY29kZV0oYTAsIGExLCBhMiwgYTMpOw0KfQ0KDQpmdW5jdGlvbiBfZW1zY3JpcHRlbl9hc21fY29uc3RfaWlpaWlpaShjb2RlLCBhMCwgYTEsIGEyLCBhMywgYTQsIGE1KSB7DQogcmV0dXJuIEFTTV9DT05TVFNbY29kZV0oYTAsIGExLCBhMiwgYTMsIGE0LCBhNSk7DQp9DQoNCmZ1bmN0aW9uIF9lbXNjcmlwdGVuX2FzbV9jb25zdF9paWkoY29kZSwgYTAsIGExKSB7DQogcmV0dXJuIEFTTV9DT05TVFNbY29kZV0oYTAsIGExKTsNCn0NCg0KZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fYXNtX2NvbnN0X2lpaWlpaWlpaShjb2RlLCBhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcpIHsNCiByZXR1cm4gQVNNX0NPTlNUU1tjb2RlXShhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcpOw0KfQ0KDQpfX0FUSU5JVF9fLnB1c2goew0KIGZ1bmM6IGZ1bmN0aW9uKCkgew0KICBfX19lbXNjcmlwdGVuX2Vudmlyb25fY29uc3RydWN0b3IoKTsNCiB9DQp9KTsNCg0KbWVtb3J5SW5pdGlhbGl6ZXIgPSAiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LEFBQUFBQUFBQUFBWnVBQUFldVFBQUNLNEFBQXF1QUFBTTdnQUFEcTRBQUJCdUFBQUhPUUFBQ3E0QUFCSHVBQUFUcmdBQUZTNEFBQUFBQUFBQUFBQUFBQUFDQWdJQ0FnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTUJBUUVCQVFFQkFRRUJBUUVCQVFFRmhZV0ZoWVdGaFlXRmdRRUJBUUVCQVFWRlJVVkZSVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVFFQkFRRkJCVVZGUlVWRlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJBUUVCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBR0J4UVZSUVVGeHNQQkE4Vkd4OGZIeDhmSHg4Zkh4OGZIeDhmR0I4WUdCZ1lHQmdhQ0s4dkx5RTVGUlVFR0ppQkdJVVVWQVhBQUFBQUFBQUFBQUFBQUFBQVFJQ0F3TURBd1FFQkFRRUJBUUVCUVVGQlFVRkJRVUZCUVVGQlFVRkJRWUdCZ1lHQmdZR0JnWUdCZ1lHQmdZR0JnWUdCZ1lHQmdZR0JnWUdCZ1lHQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSVMrUUFBSFRrQUFCUzVBQUFOZVFBQURya0FBQWw1QUFBYU9VQUFDbmtBQUFjNUFBQWIrUUFBQzNrQUFCKzVBQUFWZVFBQUhya0FBQkg1QUFBVCtRQUFHTGtBQUJiNUFBQU1PUUFBR1BsQUFCcDVBQUFRZVFBQUZzQkFRQzN1Z0FBZjd3QUFJSzhBQUNGdkFBQWlMd0FBSXU4QUFBYnhRQUFqcndBQUplOEFBQ2V2QUFBQUFBQUFBQUFBQUFBQUFBQUVCQVFFQkVSRVJFUkVSUVRDQWdHQmdjSENRa0pDUWtKQ1FrSkNRVUZFUkVvS0Nnb0tDZ1BEZ01EQXdNREF3TURBd01EQXdJQ0FRRUFBQUFBQUFBQUFFckJBQUJTd1FBQVhjRUFBR0xCQUFCcHdRQUFiOEVBQUhUQkFBQjZ3UUFBZ01FQUFJYkJBQUNNd1FBQWtzRUFBSmpCQUFDZXdRQUFvOEVBQUtuQkFBQ3Z3UUFBdGNFQUFMekJBQUREd1FBQXlzRUFBTkRCQUFEWHdRQUEzc0VBQU9iQkFBRHV3UUFBOU1FQUFQbkJBQUQrd1FBQUI4SUFBQUFBQUFBQUFBQUFYK1lBQUVqbUFBQ083UUFBa3UwQUFHVG1BQUJ4NWdBQVRPWUFBSm50QUFCQzVnQUFQK1lBQUZYbUFBQmE1Z0FBcE8wQUFMTHRBQUIvNWdBQWhPWUFBTUR0QUFESzdRQUFpK1lBQUUvbUFBQXQ3d0FBb3NNQUFKM3RBQUJyNWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQUFBQUFBUUFCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUFBQUFBQUFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQVFFQkFRRUJBUUVCQUFBQUFBQUFBQUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBQUFBQUFFQUFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQUFBQUFBQUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCUHYvLy96ODBOVFkzT0RrNk96dzkvLy8vL3YvLy93QUJBZ01FQlFZSENBa0tDd3dORGc4UUVSSVRGQlVXRnhnWi8vLy8vLy8vR2hzY0hSNGZJQ0VpSXlRbEppY29LU29yTEMwdUx6QXhNak51NVFBQWMrVUFBSGpsQUFCOTVRQUFndVVBQUlmbEFBQ001UUFBa2VVQUFKYmxBQUFBQUFBQUFBQUFBQUFBQUFBUUFRSURCQVVHQndnSkNnc01EUTRQQUFFQ0F3UUZCZ2NJQ1FvTERBME9Ed0FBZ0lBQUJnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0VoSVNFaElTRWhBQUFBQUFBQUFBQUFZQ0NBQUFBQUFBQUEvd0FBQVJJVEpCWFdaMGhKbWp2Y1hZN3ZBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUJBQUFBQVFBQUFBRUFBQUFCQUFBQUFRQUFBQUVBQUFBQkFBQUFBUUFBQUFFQUFBQUFBQUFBQUFBQUFBRUFBQUFCQUFBQUFBQUFBQUFBQUFBQkFBQUFCUUFBQUFFQUFBQUZBQUFBQlFBQUFBVUFBQUFCQUFBQUFRQUFBQUVBQUFBRkFBQUFBQUFBQUFFQUFBQURBQUFBQlFBQUFBUUFBQUFDQUFBQUN3QUFBQThBQUFBSEFBQUFEQUFBQUEwQUFBQUpBQUFBQ0FBQUFBWUFBQUFLQUFBQURnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQWdBQUFBTUFBQUFFQUFBQUJRQUFBQVlBQUFBSEFBQUFDQUFBQUFrQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDZ0FBQUFzQUFBQU1BQUFBRFFBQUFBNEFBQUFQQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQUFBQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LQ2dvS0Nnb0tDZ29LeXZVQUFOYjFBQURpOVFBQTd2VUFBUHIxQUFBRjlnQUFFUFlBQUJ6MkFBQW85Z0FBTlBZQUFFRDJBQUJMOWdBQVZ2WUFBQUFBQUFBQUFBQUFBQUFBQUl2MUFBQ1E5UUFBbHZVQUFKbjFBQUNlOVFBQXFQVUFBTEwxQUFDMDlRQUF0dlVBQUxqMUFBQzY5UUFBdnZVQUFNRDFBQUFBQUFBQUFBQUFBQUFBQUFENCtRQUFBZm9BQUFqNkFBQVUrZ0FBSHZvQUFDYjZBQUF4K2dBQU8vb0FBRVg2QUFCTytnQUFWdm9BQUdENkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWRFVXhBR242QUFCditnQUFkZm9BQUh2NkFBQ0IrZ0FBaC9vQUFJMzZBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFkRVV4QUpQNkFBQ2krZ0FBcy9vQUFNVDZBQURUK2dBQTVmb0FBUHY2QUFCMFJURUFDdnNBQUJMN0FBQWMrd0FBSnZzQUFEZjdBQUJDK3dBQVVmc0FBR052Wkc4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFFQkFBRUNnb0FBQUFLSHdvZkNoOFVId1VmRVFJRUNCRUlGQjBTRFFRRUFBQUFCQWdJQ0FRRUFnSUNCQlVPSHc0VkJBUWZCQVFBQUFBSUVBQUFId0FBQUFBQUFBUUJBZ1FJRUI4UkVSRWZCQXdFQkI4ZkFSOFFIeDhCQndFZkVSRWZBUUVmRUI4Qkh4QVFIeEVmSHdFQkFRRWZFUjhSSHg4Ukh3RUJBQVFBQkFBQUJBQUVDQU1NRUF3REFBNEFEZ0FZQmdFR0dCOEJCd0FFSHhFZEZSMGZFUjhSRVI0UkhoRWZEeEFRRUE4ZUVSRVJIeDhRSEJBZkh4QWVFQkFPRUJBUkR4RVJIeEVSRGdRRUJBNENBZ0lTREJJVUdCUVNFQkFRRUI4Ukd4VVJFUkVaRlJNUkRoRVJFUTRlRVI0UUVCOFJFUk1mSGhFZUVSRVBFQTRCSGg4RUJBUUVFUkVSRVE0UkVSRUtCQkVSRlJzUkVRb0VDaEVSRVE0RUJCOENCQWdmREFnSUNBd1FDQVFDQVFZQ0FnSUdCQW9BQUFBQUFBQUFId1FDQUFBQUh4RWZFUkVlRVI0Ukh3OFFFQkFQSGhFUkVSOGZFQndRSHg4UUhoQVFEaEFRRVE4UkVSOFJFUTRFQkFRT0FnSUNFZ3dTRkJnVUVoQVFFQkFmRVJzVkVSRVJHUlVURVE0UkVSRU9IaEVlRUJBZkVSRVRIeDRSSGhFUkR4QU9BUjRmQkFRRUJCRVJFUkVPRVJFUkNnUVJFUlViRVJFS0JBb1JFUkVPQkFRZkFnUUlId1FFQ0FRRUJBUUVCQVFFQkFJRUJBVUtBQUFBQUFBQUFCOEFBQUVBQUFBQkFBQUFBUUFBQUFFQUFBQUJBQUFBQVFBQUFBRUFBQUFCQUFBQUFRQUFBQUVBQUFBQkFQLy9BQUQvL3dBQS8vOEFBUC8vQUFELy93QUEvLzhBQVAvL0FBRCsvd0FBL3Y4QUFQNy9BQUQrL3dBQS92OEFBUDMvQUFEOS93QUEvZjhBQVAzL0FBRDgvd0FBL1A4QUFQei9BQUQ4L3dBQSsvOEFBUHYvQUFENy93QUErdjhBQVByL0FBRDYvd0FBK2Y4QUFQbi9BQUQ1L3dBQStQOEFBUGovQUFEMy93QUE5LzhBQVBmL0FBRDIvd0FBOXY4QUFQWC9BQUQxL3dBQTlQOEFBUFQvQUFEei93QUE4LzhBQVBML0FBRHkvd0FBOGY4QUFQSC9BQUR3L3dBQThQOEFBTy8vQUFEdi93QUE3djhBQU8zL0FBRHQvd0FBN1A4QUFPei9BQURyL3dBQTZ2OEFBT3IvQUFEcC93QUE2UDhBQU9qL0FBRG4vd0FBNXY4QUFPYi9BQURsL3dBQTVQOEFBT1AvQUFEai93QUE0djhBQU9IL0FBRGcvd0FBNFA4QUFOLy9BQURlL3dBQTNmOEFBTnovQUFEYy93QUEyLzhBQU5yL0FBRFovd0FBMlA4QUFOZi9BQURXL3dBQTFmOEFBTlgvQUFEVS93QUEwLzhBQU5ML0FBRFIvd0FBMFA4QUFNLy9BQURPL3dBQXpmOEFBTXovQUFETC93QUF5djhBQU1uL0FBREkvd0FBeC84QUFNYi9BQURGL3dBQXhQOEFBTUwvQUFEQi93QUF3UDhBQUwvL0FBQysvd0FBdmY4QUFMei9BQUM3L3dBQXVmOEFBTGovQUFDMy93QUF0djhBQUxYL0FBQzAvd0FBc3Y4QUFMSC9BQUN3L3dBQXIvOEFBSzMvQUFDcy93QUFxLzhBQUtuL0FBQ28vd0FBcC84QUFLYi9BQUNrL3dBQW8vOEFBS0wvQUFDZy93QUFuLzhBQUozL0FBQ2Mvd0FBbS84QUFKbi9BQUNZL3dBQWx2OEFBSlgvQUFDVS93QUFrdjhBQUpIL0FBQ1Avd0FBanY4QUFJei9BQUNML3dBQWlmOEFBSWovQUFDRy93QUFoZjhBQUlQL0FBQ0Mvd0FBZ1A4QUFINy9BQUI5L3dBQWUvOEFBSHIvQUFCNC93QUFkdjhBQUhYL0FBQnovd0FBY2Y4QUFIRC9BQUJ1L3dBQWJQOEFBR3YvQUFCcC93QUFaLzhBQUdiL0FBQmsvd0FBWXY4QUFHRC9BQUJmL3dBQVhmOEFBRnYvQUFCWi93QUFXUDhBQUZiL0FBQlUvd0FBVXY4QUFGRC9BQUJPL3dBQVRmOEFBRXYvQUFCSi93QUFSLzhBQUVYL0FBQkQvd0FBUWY4QUFELy9BQUE5L3dBQU8vOEFBRHIvQUFBNC93QUFOdjhBQURUL0FBQXkvd0FBTVA4QUFDNy9BQUFzL3dBQUt2OEFBQ2ovQUFBbC93QUFJLzhBQUNIL0FBQWYvd0FBSGY4QUFCdi9BQUFaL3dBQUYvOEFBQlgvQUFBVC93QUFFUDhBQUE3L0FBQU0vd0FBQ3Y4QUFBai9BQUFHL3dBQUEvOEFBQUgvQUFELy9nQUEvZjRBQVB2K0FBRDQvZ0FBOXY0QUFQVCtBQUR4L2dBQTcvNEFBTzMrQUFEci9nQUE2UDRBQU9iK0FBRGsvZ0FBNGY0QUFOLytBQURkL2dBQTJ2NEFBTmorQUFEVi9nQUEwLzRBQU5IK0FBRE8vZ0FBelA0QUFNbitBQURIL2dBQXhQNEFBTUwrQUFDLy9nQUF2ZjRBQUxyK0FBQzQvZ0FBdGY0QUFMUCtBQUN3L2dBQXJ2NEFBS3YrQUFDcC9nQUFwdjRBQUtUK0FBQ2gvZ0FBbnY0QUFKeitBQUNaL2dBQWwvNEFBSlQrQUFDUi9nQUFqLzRBQUl6K0FBQ0ovZ0FBaC80QUFJVCtBQUNCL2dBQWZ2NEFBSHorQUFCNS9nQUFkdjRBQUhQK0FBQngvZ0FBYnY0QUFHditBQUJvL2dBQVp2NEFBR1ArQUFCZy9nQUFYZjRBQUZyK0FBQlgvZ0FBVmY0QUFGTCtBQUJQL2dBQVRQNEFBRW4rQUFCRy9nQUFRLzRBQUVEK0FBQTkvZ0FBT3Y0QUFEZitBQUEwL2dBQU1mNEFBQzcrQUFBci9nQUFLUDRBQUNYK0FBQWkvZ0FBSC80QUFCeitBQUFaL2dBQUZ2NEFBQlArQUFBUS9nQUFEZjRBQUFyK0FBQUgvZ0FBQlA0QUFBSCtBQUQ5L1FBQSt2MEFBUGY5QUFEMC9RQUE4ZjBBQU83OUFBRHEvUUFBNS8wQUFPVDlBQURoL1FBQTNmMEFBTnI5QUFEWC9RQUExUDBBQU5EOUFBRE4vUUFBeXYwQUFNZjlBQUREL1FBQXdQMEFBTDM5QUFDNS9RQUF0djBBQUxQOUFBQ3YvUUFBclAwQUFLajlBQUNsL1FBQW92MEFBSjc5QUFDYi9RQUFsLzBBQUpUOUFBQ1EvUUFBamYwQUFJbjlBQUNHL1FBQWcvMEFBSC85QUFCOC9RQUFlUDBBQUhUOUFBQngvUUFBYmYwQUFHcjlBQUJtL1FBQVkvMEFBRi85QUFCYi9RQUFXUDBBQUZUOUFBQlIvUUFBVGYwQUFFbjlBQUJHL1FBQVF2MEFBRDc5QUFBNy9RQUFOLzBBQURQOUFBQXcvUUFBTFAwQUFDajlBQUFrL1FBQUlmMEFBQjM5QUFBWi9RQUFGZjBBQUJMOUFBQU8vUUFBQ3YwQUFBYjlBQUFDL1FBQS92d0FBUHY4QUFEMy9BQUE4L3dBQU8vOEFBRHIvQUFBNS93QUFPUDhBQURmL0FBQTNQd0FBTmo4QUFEVS9BQUEwUHdBQU16OEFBREkvQUFBeFB3QUFNRDhBQUM4L0FBQXVQd0FBTFQ4QUFDdy9BQUFyUHdBQUtqOEFBQ2svQUFBb1B3QUFKdjhBQUNYL0FBQWsvd0FBSS84QUFDTC9BQUFoL3dBQUlQOEFBQi8vQUFBZS93QUFIYjhBQUJ5L0FBQWJ2d0FBR3I4QUFCbS9BQUFZZndBQUYzOEFBQlovQUFBVmZ3QUFGSDhBQUJNL0FBQVNQd0FBRVQ4QUFBLy9BQUFPL3dBQURmOEFBQXovQUFBTHZ3QUFDcjhBQUFtL0FBQUlmd0FBQjM4QUFBWS9BQUFGUHdBQUJEOEFBQUwvQUFBQi93QUFBTDhBQUQrK3dBQSt2c0FBUFg3QUFEeCt3QUE3UHNBQU9qN0FBRGord0FBMy9zQUFOcjdBQURXK3dBQTBmc0FBTTM3QUFESSt3QUF4UHNBQUwvN0FBQzcrd0FBdHZzQUFMSDdBQUN0K3dBQXFQc0FBS1Q3QUFDZit3QUFtdnNBQUpiN0FBQ1Ird0FBalBzQUFJajdBQUNEK3dBQWZ2c0FBSHI3QUFCMSt3QUFjUHNBQUd2N0FBQm4rd0FBWXZzQUFGMzdBQUJZK3dBQVZQc0FBRS83QUFCSyt3QUFSZnNBQUVEN0FBQTgrd0FBTi9zQUFETDdBQUF0K3dBQUtQc0FBQ1A3QUFBZit3QUFHdnNBQUJYN0FBQVErd0FBQy9zQUFBYjdBQUFCK3dBQS9Qb0FBUGY2QUFEeStnQUE3Zm9BQU9qNkFBRGorZ0FBM3ZvQUFObjZBQURVK2dBQXovb0FBTXI2QUFERitnQUF3UG9BQUx2NkFBQzIrZ0FBc2ZvQUFLejZBQUNuK2dBQW9mb0FBSno2QUFDWCtnQUFrdm9BQUkzNkFBQ0krZ0FBZy9vQUFIMzZBQUI0K2dBQWMvb0FBRzc2QUFCcCtnQUFZL29BQUY3NkFBQlorZ0FBVlBvQUFFNzZBQUJKK2dBQVJQb0FBRDc2QUFBNStnQUFOUG9BQUMvNkFBQXArZ0FBSlBvQUFCLzZBQUFaK2dBQUZQb0FBQTc2QUFBSitnQUFCUG9BQVA3NUFBRDUrUUFBOC9rQUFPNzVBQURvK1FBQTQva0FBTjc1QUFEWStRQUEwL2tBQU0zNUFBREkrUUFBd3ZrQUFMMzVBQUMzK1FBQXN2a0FBS3o1QUFDbStRQUFvZmtBQUp2NUFBQ1crUUFBa1BrQUFJcjVBQUNGK1FBQWYva0FBSHI1QUFCMCtRQUFidmtBQUduNUFBQmorUUFBWGZrQUFGajVBQUJTK1FBQVRQa0FBRWI1QUFCQitRQUFPL2tBQURYNUFBQXcrUUFBS3ZrQUFDVDVBQUFlK1FBQUdQa0FBQlA1QUFBTitRQUFCL2tBQUFINUFBRDcrQUFBOWZnQUFQRDRBQURxK0FBQTVQZ0FBTjc0QUFEWStBQUEwdmdBQU16NEFBREcrQUFBd1BnQUFMcjRBQUMwK0FBQXIvZ0FBS240QUFDaitBQUFuZmdBQUpmNEFBQ1IrQUFBaS9nQUFJWDRBQUIrK0FBQWVQZ0FBSEw0QUFCcytBQUFadmdBQUdENEFBQmErQUFBVlBnQUFFNzRBQUJJK0FBQVF2Z0FBRHY0QUFBMStBQUFML2dBQUNuNEFBQWorQUFBSGZnQUFCYjRBQUFRK0FBQUN2Z0FBQVQ0QUFEKzl3QUE5L2NBQVBIM0FBRHI5d0FBNWZjQUFONzNBQURZOXdBQTB2Y0FBTXYzQUFERjl3QUF2L2NBQUxqM0FBQ3k5d0FBclBjQUFLWDNBQUNmOXdBQW1mY0FBSkwzQUFDTTl3QUFoZmNBQUgvM0FBQjU5d0FBY3ZjQUFHejNBQUJsOXdBQVgvY0FBRmozQUFCUzl3QUFTL2NBQUVYM0FBQSs5d0FBT1BjQUFESDNBQUFyOXdBQUpQY0FBQjczQUFBWDl3QUFFUGNBQUFyM0FBQUQ5d0FBL2ZZQUFQYjJBQUR2OWdBQTZmWUFBT0wyQUFEYjlnQUExZllBQU03MkFBREg5Z0FBd2ZZQUFMcjJBQUN6OWdBQXJmWUFBS2IyQUFDZjlnQUFtUFlBQUpMMkFBQ0w5Z0FBaFBZQUFIMzJBQUIzOWdBQWNQWUFBR24yQUFCaTlnQUFXL1lBQUZUMkFBQk85Z0FBUi9ZQUFFRDJBQUE1OWdBQU12WUFBQ3YyQUFBazlnQUFIZllBQUJiMkFBQVE5Z0FBQ2ZZQUFBTDJBQUQ3OVFBQTlQVUFBTzMxQUFEbTlRQUEzL1VBQU5qMUFBRFI5UUFBeXZVQUFNUDFBQUM4OVFBQXRmVUFBSzcxQUFDbTlRQUFuL1VBQUpqMUFBQ1I5UUFBaXZVQUFJUDFBQUI4OVFBQWRmVUFBRzcxQUFCbTlRQUFYL1VBQUZqMUFBQlI5UUFBU3ZVQUFFUDFBQUE3OVFBQU5QVUFBQzMxQUFBbTlRQUFIdlVBQUJmMUFBQVE5UUFBQ2ZVQUFBSDFBQUQ2OUFBQTgvUUFBT3YwQUFEazlBQUEzZlFBQU5YMEFBRE85QUFBeC9RQUFMLzBBQUM0OUFBQXNmUUFBS24wQUFDaTlBQUFtdlFBQUpQMEFBQ005QUFBaFBRQUFIMzBBQUIxOUFBQWJ2UUFBR2IwQUFCZjlBQUFWL1FBQUZEMEFBQkk5QUFBUWZRQUFEbjBBQUF5OUFBQUt2UUFBQ1AwQUFBYjlBQUFFL1FBQUF6MEFBQUU5QUFBL2ZNQUFQWHpBQUR0OHdBQTV2TUFBTjd6QUFEWDh3QUF6L01BQU1mekFBREE4d0FBdVBNQUFMRHpBQUNvOHdBQW9mTUFBSm56QUFDUjh3QUFpdk1BQUlMekFBQjY4d0FBY3ZNQUFHcnpBQUJqOHdBQVcvTUFBRlB6QUFCTDh3QUFRL01BQUR6ekFBQTA4d0FBTFBNQUFDVHpBQUFjOHdBQUZQTUFBQXp6QUFBRTh3QUEvZklBQVBYeUFBRHQ4Z0FBNWZJQUFOM3lBQURWOGdBQXpmSUFBTVh5QUFDOThnQUF0ZklBQUszeUFBQ2w4Z0FBbmZJQUFKWHlBQUNOOGdBQWhmSUFBSDN5QUFCMThnQUFiZklBQUdYeUFBQmQ4Z0FBVlBJQUFFenlBQUJFOGdBQVBQSUFBRFR5QUFBczhnQUFKUElBQUJ2eUFBQVQ4Z0FBQy9JQUFBUHlBQUQ3OFFBQTgvRUFBT3J4QUFEaThRQUEydkVBQU5MeEFBREo4UUFBd2ZFQUFMbnhBQUN4OFFBQXFQRUFBS0R4QUFDWThRQUFqL0VBQUlmeEFBQi84UUFBZHZFQUFHN3hBQUJtOFFBQVhmRUFBRlh4QUFCTThRQUFSUEVBQUR6eEFBQXo4UUFBSy9FQUFDTHhBQUFhOFFBQUVmRUFBQW54QUFBQjhRQUErUEFBQVBEd0FBRG44QUFBMy9BQUFOYndBQURPOEFBQXhmQUFBTHp3QUFDMDhBQUFxL0FBQUtQd0FBQ2E4QUFBa3ZBQUFJbndBQUNBOEFBQWVQQUFBRy93QUFCbjhBQUFYdkFBQUZYd0FBQk44QUFBUlBBQUFEdndBQUF6OEFBQUt2QUFBQ0h3QUFBWThBQUFFUEFBQUFmd0FBRCs3d0FBOWU4QUFPM3ZBQURrN3dBQTIrOEFBTkx2QUFESzd3QUF3ZThBQUxqdkFBQ3Y3d0FBcHU4QUFKM3ZBQUNWN3dBQWpPOEFBSVB2QUFCNjd3QUFjZThBQUdqdkFBQmY3d0FBVnU4QUFFM3ZBQUJGN3dBQVBPOEFBRFB2QUFBcTd3QUFJZThBQUJqdkFBQVA3d0FBQnU4QUFQM3VBQUQwN2dBQTYrNEFBT0x1QUFEWjdnQUEwTzRBQU1mdUFBQzk3Z0FBdE80QUFLdnVBQUNpN2dBQW1lNEFBSkR1QUFDSDdnQUFmdTRBQUhYdUFBQnI3Z0FBWXU0QUFGbnVBQUJRN2dBQVIrNEFBRDd1QUFBMDdnQUFLKzRBQUNMdUFBQVo3Z0FBRCs0QUFBYnVBQUQ5N1FBQTlPMEFBT3J0QUFEaDdRQUEyTzBBQU0vdEFBREY3UUFBdk8wQUFMUHRBQUNwN1FBQW9PMEFBSmZ0QUFDTjdRQUFoTzBBQUhydEFBQng3UUFBYU8wQUFGN3RBQUJWN1FBQVMrMEFBRUx0QUFBNDdRQUFMKzBBQUNidEFBQWM3UUFBRSswQUFBbnRBQUFBN1FBQTl1d0FBTzNzQUFEajdBQUEydXdBQU5Ec0FBREc3QUFBdmV3QUFMUHNBQUNxN0FBQW9Pd0FBSmZzQUFDTjdBQUFnK3dBQUhyc0FBQnc3QUFBWnV3QUFGM3NBQUJUN0FBQVN1d0FBRURzQUFBMjdBQUFMT3dBQUNQc0FBQVo3QUFBRCt3QUFBYnNBQUQ4NndBQTh1c0FBT2pyQUFEZjZ3QUExZXNBQU12ckFBREI2d0FBdCtzQUFLN3JBQUNrNndBQW11c0FBSkRyQUFDRzZ3QUFmT3NBQUhQckFBQnA2d0FBWCtzQUFGWHJBQUJMNndBQVFlc0FBRGZyQUFBdDZ3QUFJK3NBQUJuckFBQVA2d0FBQnVzQUFQenFBQUR5NmdBQTZPb0FBTjdxQUFEVTZnQUF5dW9BQU1EcUFBQzI2Z0FBcStvQUFLSHFBQUNYNmdBQWplb0FBSVBxQUFCNTZnQUFiK29BQUdYcUFBQmI2Z0FBVWVvQUFFZnFBQUE4NmdBQU11b0FBQ2pxQUFBZTZnQUFGT29BQUFycUFBRC82UUFBOWVrQUFPdnBBQURoNlFBQTEra0FBTXpwQUFEQzZRQUF1T2tBQUs3cEFBQ2o2UUFBbWVrQUFJL3BBQUNGNlFBQWV1a0FBSERwQUFCbTZRQUFXK2tBQUZIcEFBQkg2UUFBUE9rQUFETHBBQUFuNlFBQUhla0FBQlBwQUFBSTZRQUEvdWdBQVBQb0FBRHA2QUFBMytnQUFOVG9BQURLNkFBQXYrZ0FBTFhvQUFDcTZBQUFvT2dBQUpYb0FBQ0w2QUFBZ09nQUFIYm9BQUJyNkFBQVllZ0FBRmJvQUFCTTZBQUFRZWdBQURib0FBQXM2QUFBSWVnQUFCZm9BQUFNNkFBQUFlZ0FBUGZuQUFEczV3QUE0dWNBQU5mbkFBRE01d0FBd3VjQUFMZm5BQUNzNXdBQW9lY0FBSmZuQUFDTTV3QUFnZWNBQUhmbkFBQnM1d0FBWWVjQUFGYm5BQUJNNXdBQVFlY0FBRGJuQUFBcjV3QUFJT2NBQUJibkFBQUw1d0FBQU9jQUFQWG1BQURxNWdBQTMrWUFBTlhtQUFESzVnQUF2K1lBQUxUbUFBQ3A1Z0FBbnVZQUFKUG1BQUNJNWdBQWZlWUFBSExtQUFCbjVnQUFYT1lBQUZMbUFBQkg1Z0FBUE9ZQUFESG1BQUFtNWdBQUcrWUFBQkRtQUFBRjVnQUErZVVBQU83bEFBRGo1UUFBMk9VQUFNM2xBQURDNVFBQXQrVUFBS3psQUFDaDVRQUFsdVVBQUl2bEFBQi81UUFBZE9VQUFHbmxBQUJlNVFBQVUrVUFBRWpsQUFBOTVRQUFNZVVBQUNibEFBQWI1UUFBRU9VQUFBVGxBQUQ1NUFBQTd1UUFBT1BrQUFEWDVBQUF6T1FBQU1Ia0FBQzI1QUFBcXVRQUFKL2tBQUNVNUFBQWlPUUFBSDNrQUFCeTVBQUFadVFBQUZ2a0FBQlE1QUFBUk9RQUFEbmtBQUF1NUFBQUl1UUFBQmZrQUFBTDVBQUFBT1FBQVBUakFBRHA0d0FBM3VNQUFOTGpBQURINHdBQXUrTUFBTERqQUFDazR3QUFtZU1BQUkzakFBQ0M0d0FBZHVNQUFHdmpBQUJmNHdBQVUrTUFBRWpqQUFBODR3QUFNZU1BQUNYakFBQWE0d0FBRHVNQUFBTGpBQUQzNGdBQTYrSUFBTi9pQUFEVTRnQUF5T0lBQUwzaUFBQ3g0Z0FBcGVJQUFKbmlBQUNPNGdBQWd1SUFBSGJpQUFCcjRnQUFYK0lBQUZQaUFBQkg0Z0FBUE9JQUFERGlBQUFrNGdBQUdPSUFBQTNpQUFBQjRnQUE5ZUVBQU9uaEFBRGQ0UUFBMGVFQUFNYmhBQUM2NFFBQXJ1RUFBS0xoQUFDVzRRQUFpdUVBQUg3aEFBQnk0UUFBWitFQUFGdmhBQUJQNFFBQVErRUFBRGZoQUFBcjRRQUFIK0VBQUJQaEFBQUg0UUFBKytBQUFPL2dBQURqNEFBQTErQUFBTXZnQUFDLzRBQUFzK0FBQUtmZ0FBQ2I0QUFBaitBQUFJUGdBQUIzNEFBQWF1QUFBRjdnQUFCUzRBQUFSdUFBQURyZ0FBQXU0QUFBSXVBQUFCYmdBQUFKNEFBQS9kOEFBUEhmQUFEbDN3QUEyZDhBQU0zZkFBREEzd0FBdE44QUFLamZBQUNjM3dBQWo5OEFBSVBmQUFCMzN3QUFhOThBQUY3ZkFBQlMzd0FBUnQ4QUFEbmZBQUF0M3dBQUlkOEFBQlhmQUFBSTN3QUEvTjRBQVBEZUFBRGozZ0FBMTk0QUFNcmVBQUMrM2dBQXN0NEFBS1hlQUFDWjNnQUFqTjRBQUlEZUFBQjAzZ0FBWjk0QUFGdmVBQUJPM2dBQVF0NEFBRFhlQUFBcDNnQUFITjRBQUJEZUFBQUQzZ0FBOTkwQUFPcmRBQURlM1FBQTBkMEFBTVhkQUFDNDNRQUFxOTBBQUovZEFBQ1MzUUFBaHQwQUFIbmRBQUJzM1FBQVlOMEFBRlBkQUFCSDNRQUFPdDBBQUMzZEFBQWgzUUFBRk4wQUFBZmRBQUQ3M0FBQTd0d0FBT0hjQUFEVjNBQUF5TndBQUx2Y0FBQ3UzQUFBb3R3QUFKWGNBQUNJM0FBQWU5d0FBRy9jQUFCaTNBQUFWZHdBQUVqY0FBQTczQUFBTDl3QUFDTGNBQUFWM0FBQUNOd0FBUHZiQUFEdTJ3QUE0ZHNBQU5YYkFBREkyd0FBdTlzQUFLN2JBQUNoMndBQWxOc0FBSWZiQUFCNjJ3QUFiZHNBQUdEYkFBQlQyd0FBUnRzQUFEbmJBQUFzMndBQUg5c0FBQkxiQUFBRjJ3QUErTm9BQU92YUFBRGUyZ0FBMGRvQUFNVGFBQUMzMmdBQXF0b0FBSjNhQUFDUTJnQUFnOW9BQUhiYUFBQnAyZ0FBWE5vQUFFL2FBQUJCMmdBQU5Ob0FBQ2ZhQUFBYTJnQUFEZG9BQUFEYUFBRHkyUUFBNWRrQUFOalpBQURMMlFBQXZ0a0FBTERaQUFDajJRQUFsdGtBQUluWkFBQjcyUUFBYnRrQUFHSFpBQUJVMlFBQVJ0a0FBRG5aQUFBczJRQUFIdGtBQUJIWkFBQUUyUUFBOXRnQUFPbllBQURjMkFBQXp0Z0FBTUhZQUFDMDJBQUFwdGdBQUpuWUFBQ0wyQUFBZnRnQUFISFlBQUJqMkFBQVZ0Z0FBRWpZQUFBNzJBQUFMZGdBQUNEWUFBQVMyQUFBQmRnQUFQalhBQURxMXdBQTNOY0FBTS9YQUFEQjF3QUF0TmNBQUtiWEFBQ1oxd0FBaTljQUFIN1hBQUJ3MXdBQVk5Y0FBRlhYQUFCSDF3QUFPdGNBQUN6WEFBQWYxd0FBRWRjQUFBUFhBQUQyMWdBQTZOWUFBTnJXQUFETjFnQUF2OVlBQUxIV0FBQ2sxZ0FBbHRZQUFJaldBQUI2MWdBQWJkWUFBRi9XQUFCUjFnQUFSTllBQURiV0FBQW8xZ0FBR3RZQUFBeldBQUQvMVFBQThkVUFBT1BWQUFEVjFRQUF4OVVBQUxyVkFBQ3MxUUFBbnRVQUFKRFZBQUNDMVFBQWROVUFBR2JWQUFCWjFRQUFTOVVBQUQzVkFBQXYxUUFBSWRVQUFCUFZBQUFGMVFBQTk5UUFBT25VQUFEYjFBQUF6ZFFBQUwvVUFBQ3gxQUFBbzlRQUFKWFVBQUNIMUFBQWVkUUFBR3ZVQUFCZDFBQUFUOVFBQUVIVUFBQXoxQUFBSmRRQUFCZlVBQUFKMUFBQSs5TUFBTzNUQUFEZjB3QUEwTk1BQU1MVEFBQzAwd0FBcHRNQUFKalRBQUNLMHdBQWZOTUFBRzNUQUFCZjB3QUFVZE1BQUVQVEFBQTEwd0FBSnRNQUFCalRBQUFLMHdBQS9OSUFBTzdTQUFEZjBnQUEwZElBQU1QU0FBQzEwZ0FBcHRJQUFKalNBQUNLMGdBQWU5SUFBRzNTQUFCZjBnQUFVTklBQUVMU0FBQTAwZ0FBSmRJQUFCZlNBQUFKMGdBQSt0RUFBT3pSQUFEZTBRQUF6OUVBQU1IUkFBQ3kwUUFBcE5FQUFKWFJBQUNIMFFBQWVkRUFBR3JSQUFCYzBRQUFUZEVBQUQvUkFBQXcwUUFBSXRFQUFCUFJBQUFGMFFBQTl0QUFBT2pRQUFEWjBBQUF5OUFBQUx6UUFBQ3UwQUFBbjlBQUFKRFFBQUNDMEFBQWM5QUFBR1hRQUFCVzBBQUFSOUFBQURuUUFBQXEwQUFBSE5BQUFBM1FBQUQrendBQThNOEFBT0hQQUFEU3p3QUF4TThBQUxYUEFBQ216d0FBbU04QUFJblBBQUI2endBQWE4OEFBRjNQQUFCT3p3QUFQODhBQUREUEFBQWl6d0FBRTg4QUFBVFBBQUQxemdBQTU4NEFBTmpPQUFESnpnQUF1czRBQUt2T0FBQ2N6Z0FBanM0QUFIL09BQUJ3emdBQVljNEFBRkxPQUFCRHpnQUFOTTRBQUNYT0FBQVh6Z0FBQ000QUFQbk5BQURxelFBQTI4MEFBTXpOQUFDOXpRQUFyczBBQUovTkFBQ1F6UUFBZ2MwQUFITE5BQUJqelFBQVZNMEFBRVhOQUFBMnpRQUFKODBBQUJqTkFBQUp6UUFBK3N3QUFPdk1BQURjekFBQXpjd0FBTDdNQUFDdXpBQUFuOHdBQUpETUFBQ0J6QUFBY3N3QUFHUE1BQUJVekFBQVJjd0FBRFhNQUFBbXpBQUFGOHdBQUFqTUFBRDV5d0FBNnNzQUFOckxBQURMeXdBQXZNc0FBSzNMQUFDZXl3QUFqc3NBQUgvTEFBQnd5d0FBWWNzQUFGSExBQUJDeXdBQU04c0FBQ1BMQUFBVXl3QUFCY3NBQVBYS0FBRG15Z0FBMThvQUFNZktBQUM0eWdBQXFjb0FBSm5LQUFDS3lnQUFlOG9BQUd2S0FBQmN5Z0FBVGNvQUFEM0tBQUF1eWdBQUhzb0FBQS9LQUFEL3lRQUE4TWtBQU9ISkFBRFJ5UUFBd3NrQUFMTEpBQUNqeVFBQWs4a0FBSVRKQUFCMHlRQUFaY2tBQUZYSkFBQkd5UUFBTnNrQUFDZkpBQUFYeVFBQUI4a0FBUGpJQUFEb3lBQUEyY2dBQU1uSUFBQzZ5QUFBcXNnQUFKcklBQUNMeUFBQWU4Z0FBR3ZJQUFCY3lBQUFUTWdBQUR6SUFBQXR5QUFBSGNnQUFBM0lBQUQreHdBQTdzY0FBTjdIQUFEUHh3QUF2OGNBQUsvSEFBQ2d4d0FBa01jQUFJREhBQUJ3eHdBQVljY0FBRkhIQUFCQnh3QUFNY2NBQUNISEFBQVN4d0FBQXNjQUFQTEdBQURpeGdBQTBzWUFBTUxHQUFDenhnQUFvOFlBQUpQR0FBQ0R4Z0FBYzhZQUFHUEdBQUJUeGdBQVJNWUFBRFRHQUFBa3hnQUFGTVlBQUFUR0FBRDB4UUFBNU1VQUFOVEZBQURFeFFBQXRNVUFBS1RGQUFDVXhRQUFoTVVBQUhURkFBQmt4UUFBVk1VQUFFVEZBQUEweFFBQUpNVUFBQlRGQUFBRXhRQUE5TVFBQU9URUFBRFV4QUFBeE1RQUFMVEVBQUNreEFBQWxNUUFBSVBFQUFCenhBQUFZOFFBQUZQRUFBQkR4QUFBTThRQUFDUEVBQUFUeEFBQUFzUUFBUExEQUFEaXd3QUEwc01BQU1MREFBQ3h3d0FBb2NNQUFKSERBQUNCd3dBQWNjTUFBR0REQUFCUXd3QUFRTU1BQUREREFBQWZ3d0FBRDhNQUFQL0NBQUR1d2dBQTNzSUFBTTdDQUFDK3dnQUFyY0lBQUozQ0FBQ053Z0FBZk1JQUFHekNBQUJjd2dBQVM4SUFBRHZDQUFBcXdnQUFHc0lBQUFyQ0FBRDV3UUFBNmNFQUFOakJBQURJd1FBQXVNRUFBS2ZCQUFDWHdRQUFoc0VBQUhiQkFBQmx3UUFBVmNFQUFFVEJBQUEwd1FBQUk4RUFBQlBCQUFBQ3dRQUE4c0FBQU9IQUFBRFJ3QUFBd01BQUFMREFBQUNmd0FBQWo4QUFBSDdBQUFCdXdBQUFYY0FBQUV6QUFBQTh3QUFBSzhBQUFCdkFBQUFLd0FBQStiOEFBT20vQUFEWXZ3QUF4NzhBQUxlL0FBQ212d0FBbGI4QUFJVy9BQUIwdndBQVk3OEFBRk8vQUFCQ3Z3QUFNYjhBQUNHL0FBQVF2d0FBLzc0QUFPNitBQURldmdBQXpiNEFBTHkrQUFDcnZnQUFtNzRBQUlxK0FBQjV2Z0FBYUw0QUFGZStBQUJIdmdBQU5yNEFBQ1crQUFBVXZnQUFBNzRBQVBLOUFBRGl2UUFBMGIwQUFNQzlBQUN2dlFBQW5yMEFBSTI5QUFCOHZRQUFhNzBBQUZxOUFBQkt2UUFBT2IwQUFDaTlBQUFYdlFBQUJyMEFBUFc4QUFEa3ZBQUEwN3dBQU1LOEFBQ3h2QUFBb0x3QUFJKzhBQUIrdkFBQWJid0FBRnk4QUFCTHZBQUFPcndBQUNtOEFBQVl2QUFBQjd3QUFQYTdBQURsdXdBQTFMc0FBTU83QUFDeHV3QUFvTHNBQUkrN0FBQit1d0FBYmJzQUFGeTdBQUJMdXdBQU9yc0FBQ2k3QUFBWHV3QUFCcnNBQVBXNkFBRGt1Z0FBMDdvQUFNRzZBQUN3dWdBQW43b0FBSTY2QUFCOXVnQUFhN29BQUZxNkFBQkp1Z0FBT0xvQUFDYTZBQUFWdWdBQUJMb0FBUE81QUFEaHVRQUEwTGtBQUwrNUFBQ3V1UUFBbkxrQUFJdTVBQUI2dVFBQWFMa0FBRmU1QUFCR3VRQUFOTGtBQUNPNUFBQVN1UUFBQUxrQUFPKzRBQURkdUFBQXpMZ0FBTHU0QUFDcHVBQUFtTGdBQUlhNEFBQjF1QUFBWkxnQUFGSzRBQUJCdUFBQUw3Z0FBQjY0QUFBTXVBQUErN2NBQU9tM0FBRFl0d0FBeHJjQUFMVzNBQUNqdHdBQWtyY0FBSUMzQUFCdnR3QUFYYmNBQUV5M0FBQTZ0d0FBS2JjQUFCZTNBQUFGdHdBQTlMWUFBT0syQUFEUnRnQUF2N1lBQUsyMkFBQ2N0Z0FBaXJZQUFIbTJBQUJudGdBQVZiWUFBRVMyQUFBeXRnQUFJTFlBQUErMkFBRDl0UUFBNjdVQUFOcTFBQURJdFFBQXRyVUFBS1cxQUFDVHRRQUFnYlVBQUcrMUFBQmV0UUFBVExVQUFEcTFBQUFvdFFBQUY3VUFBQVcxQUFEenRBQUE0YlFBQU5DMEFBQyt0QUFBckxRQUFKcTBBQUNJdEFBQWQ3UUFBR1cwQUFCVHRBQUFRYlFBQUMrMEFBQWR0QUFBQzdRQUFQcXpBQURvc3dBQTFyTUFBTVN6QUFDeXN3QUFvTE1BQUk2ekFBQjhzd0FBYXJNQUFGaXpBQUJIc3dBQU5iTUFBQ096QUFBUnN3QUEvN0lBQU8yeUFBRGJzZ0FBeWJJQUFMZXlBQUNsc2dBQWs3SUFBSUd5QUFCdnNnQUFYYklBQUV1eUFBQTVzZ0FBSjdJQUFCV3lBQUFEc2dBQThMRUFBTjZ4QUFETXNRQUF1ckVBQUtpeEFBQ1dzUUFBaExFQUFIS3hBQUJnc1FBQVRyRUFBRHV4QUFBcHNRQUFGN0VBQUFXeEFBRHpzQUFBNGJBQUFNNndBQUM4c0FBQXFyQUFBSml3QUFDR3NBQUFkTEFBQUdHd0FBQlBzQUFBUGJBQUFDdXdBQUFZc0FBQUJyQUFBUFN2QUFEaXJ3QUF6NjhBQUwydkFBQ3Jyd0FBbWE4QUFJYXZBQUIwcndBQVlxOEFBRSt2QUFBOXJ3QUFLNjhBQUJpdkFBQUdyd0FBOUs0QUFPR3VBQURQcmdBQXZhNEFBS3F1QUFDWXJnQUFoYTRBQUhPdUFBQmhyZ0FBVHE0QUFEeXVBQUFwcmdBQUY2NEFBQVd1QUFEeXJRQUE0SzBBQU0ydEFBQzdyUUFBcUswQUFKYXRBQUNEclFBQWNhMEFBRjZ0QUFCTXJRQUFPYTBBQUNldEFBQVVyUUFBQXEwQUFPK3NBQURkckFBQXlxd0FBTGlzQUFDbHJBQUFrNndBQUlDc0FBQnRyQUFBVzZ3QUFFaXNBQUEyckFBQUk2d0FBQkdzQUFEK3F3QUE2NnNBQU5tckFBREdxd0FBczZzQUFLR3JBQUNPcXdBQWU2c0FBR21yQUFCV3F3QUFRNnNBQURHckFBQWVxd0FBQzZzQUFQbXFBQURtcWdBQTA2b0FBTUdxQUFDdXFnQUFtNm9BQUlpcUFBQjJxZ0FBWTZvQUFGQ3FBQUE5cWdBQUtxb0FBQmlxQUFBRnFnQUE4cWtBQU4rcEFBRE5xUUFBdXFrQUFLZXBBQUNVcVFBQWdha0FBRzZwQUFCY3FRQUFTYWtBQURhcEFBQWpxUUFBRUtrQUFQMm9BQURxcUFBQTE2Z0FBTVdvQUFDeXFBQUFuNmdBQUl5b0FBQjVxQUFBWnFnQUFGT29BQUJBcUFBQUxhZ0FBQnFvQUFBSHFBQUE5S2NBQU9HbkFBRE9wd0FBdTZjQUFLaW5BQUNWcHdBQWdxY0FBRytuQUFCY3B3QUFTYWNBQURhbkFBQWpwd0FBRUtjQUFQMm1BQURxcGdBQTE2WUFBTVNtQUFDeHBnQUFucVlBQUl1bUFBQjRwZ0FBWmFZQUFGS21BQUErcGdBQUs2WUFBQmltQUFBRnBnQUE4cVVBQU4rbEFBRE1wUUFBdUtVQUFLV2xBQUNTcFFBQWY2VUFBR3lsQUFCWnBRQUFSYVVBQURLbEFBQWZwUUFBREtVQUFQbWtBQURscEFBQTBxUUFBTCtrQUFDc3BBQUFtS1FBQUlXa0FBQnlwQUFBWDZRQUFFdWtBQUE0cEFBQUphUUFBQktrQUFEK293QUE2Nk1BQU5pakFBREVvd0FBc2FNQUFKNmpBQUNLb3dBQWQ2TUFBR1NqQUFCUW93QUFQYU1BQUNxakFBQVdvd0FBQTZNQUFPK2lBQURjb2dBQXlhSUFBTFdpQUFDaW9nQUFqcUlBQUh1aUFBQm9vZ0FBVktJQUFFR2lBQUF0b2dBQUdxSUFBQWFpQUFEem9RQUEzNkVBQU15aEFBQzVvUUFBcGFFQUFKS2hBQUIrb1FBQWE2RUFBRmVoQUFCRG9RQUFNS0VBQUJ5aEFBQUpvUUFBOWFBQUFPS2dBQURPb0FBQXU2QUFBS2VnQUFDVW9BQUFnS0FBQUd5Z0FBQlpvQUFBUmFBQUFES2dBQUFlb0FBQUNxQUFBUGVmQUFEam53QUEwSjhBQUx5ZkFBQ29ud0FBbFo4QUFJR2ZBQUJ0bndBQVdwOEFBRWFmQUFBeW53QUFINThBQUF1ZkFBRDNuZ0FBNDU0QUFOQ2VBQUM4bmdBQXFKNEFBSldlQUFDQm5nQUFiWjRBQUZtZUFBQkduZ0FBTXA0QUFCNmVBQUFLbmdBQTk1MEFBT09kQUFEUG5RQUF1NTBBQUtlZEFBQ1VuUUFBZ0owQUFHeWRBQUJZblFBQVJKMEFBREdkQUFBZG5RQUFDWjBBQVBXY0FBRGhuQUFBelp3QUFMbWNBQUNtbkFBQWtwd0FBSDZjQUFCcW5BQUFWcHdBQUVLY0FBQXVuQUFBR3B3QUFBYWNBQUR5bXdBQTNwc0FBTXFiQUFDM213QUFvNXNBQUkrYkFBQjdtd0FBWjVzQUFGT2JBQUEvbXdBQUs1c0FBQmViQUFBRG13QUE3NW9BQU51YUFBREhtZ0FBczVvQUFKK2FBQUNMbWdBQWQ1b0FBR09hQUFCUG1nQUFPcG9BQUNhYUFBQVNtZ0FBL3BrQUFPcVpBQURXbVFBQXdwa0FBSzZaQUFDYW1RQUFocGtBQUhLWkFBQmRtUUFBU1prQUFEV1pBQUFobVFBQURaa0FBUG1ZQUFEbG1BQUEwSmdBQUx5WUFBQ29tQUFBbEpnQUFJQ1lBQUJzbUFBQVY1Z0FBRU9ZQUFBdm1BQUFHNWdBQUFlWUFBRHlsd0FBM3BjQUFNcVhBQUMybHdBQW9aY0FBSTJYQUFCNWx3QUFaWmNBQUZDWEFBQThsd0FBS0pjQUFCT1hBQUQvbGdBQTY1WUFBTmVXQUFEQ2xnQUFycFlBQUpxV0FBQ0ZsZ0FBY1pZQUFGMldBQUJJbGdBQU5KWUFBQ0NXQUFBTGxnQUE5NVVBQU9LVkFBRE9sUUFBdXBVQUFLV1ZBQUNSbFFBQWZaVUFBR2lWQUFCVWxRQUFQNVVBQUN1VkFBQVdsUUFBQXBVQUFPNlVBQURabEFBQXhaUUFBTENVQUFDY2xBQUFoNVFBQUhPVUFBQmVsQUFBU3BRQUFEV1VBQUFobEFBQURKUUFBUGlUQUFEamt3QUF6NU1BQUxxVEFBQ21rd0FBa1pNQUFIMlRBQUJva3dBQVZKTUFBRCtUQUFBcWt3QUFGcE1BQUFHVEFBRHRrZ0FBMkpJQUFNU1NBQUN2a2dBQW1wSUFBSWFTQUFCeGtnQUFYWklBQUVpU0FBQXprZ0FBSDVJQUFBcVNBQUQxa1FBQTRaRUFBTXlSQUFDM2tRQUFvNUVBQUk2UkFBQjVrUUFBWlpFQUFGQ1JBQUE3a1FBQUo1RUFBQktSQUFEOWtBQUE2WkFBQU5TUUFBQy9rQUFBcXBBQUFKYVFBQUNCa0FBQWJKQUFBRmVRQUFCRGtBQUFMcEFBQUJtUUFBQUVrQUFBOEk4QUFOdVBBQURHandBQXNZOEFBSnlQQUFDSWp3QUFjNDhBQUY2UEFBQkpqd0FBTkk4QUFCK1BBQUFMandBQTlvNEFBT0dPQUFETWpnQUF0NDRBQUtLT0FBQ05qZ0FBZVk0QUFHU09BQUJQamdBQU9vNEFBQ1dPQUFBUWpnQUErNDBBQU9hTkFBRFJqUUFBdkkwQUFLZU5BQUNUalFBQWZvMEFBR21OQUFCVWpRQUFQNDBBQUNxTkFBQVZqUUFBQUkwQUFPdU1BQURXakFBQXdZd0FBS3lNQUFDWGpBQUFnb3dBQUcyTUFBQllqQUFBUTR3QUFDNk1BQUFaakFBQUJJd0FBTytMQUFEYWl3QUF4WXNBQUsrTEFBQ2Fpd0FBaFlzQUFIQ0xBQUJiaXdBQVJvc0FBREdMQUFBY2l3QUFCNHNBQVBLS0FBRGRpZ0FBeDRvQUFMS0tBQUNkaWdBQWlJb0FBSE9LQUFCZWlnQUFTWW9BQURTS0FBQWVpZ0FBQ1lvQUFQU0pBQURmaVFBQXlva0FBTFNKQUFDZmlRQUFpb2tBQUhXSkFBQmdpUUFBU29rQUFEV0pBQUFnaVFBQUM0a0FBUGFJQUFEZ2lBQUF5NGdBQUxhSUFBQ2hpQUFBaTRnQUFIYUlBQUJoaUFBQVRJZ0FBRGFJQUFBaGlBQUFESWdBQVBhSEFBRGhod0FBekljQUFMZUhBQUNoaHdBQWpJY0FBSGVIQUFCaGh3QUFUSWNBQURlSEFBQWhod0FBREljQUFQZUdBQURoaGdBQXpJWUFBTGFHQUFDaGhnQUFqSVlBQUhhR0FBQmhoZ0FBVElZQUFEYUdBQUFoaGdBQUM0WUFBUGFGQUFEZ2hRQUF5NFVBQUxhRkFBQ2doUUFBaTRVQUFIV0ZBQUJnaFFBQVNvVUFBRFdGQUFBZmhRQUFDb1VBQVBXRUFBRGZoQUFBeW9RQUFMU0VBQUNmaEFBQWlZUUFBSFNFQUFCZWhBQUFTWVFBQURPRUFBQWRoQUFBQ0lRQUFQS0RBQURkZ3dBQXg0TUFBTEtEQUFDY2d3QUFoNE1BQUhHREFBQmNnd0FBUm9NQUFEQ0RBQUFiZ3dBQUJZTUFBUENDQUFEYWdnQUF4SUlBQUsrQ0FBQ1pnZ0FBaElJQUFHNkNBQUJZZ2dBQVE0SUFBQzJDQUFBWGdnQUFBb0lBQU95QkFBRFdnUUFBd1lFQUFLdUJBQUNWZ1FBQWdJRUFBR3FCQUFCVWdRQUFQNEVBQUNtQkFBQVRnUUFBL29BQUFPaUFBQURTZ0FBQXZJQUFBS2VBQUFDUmdBQUFlNEFBQUdhQUFBQlFnQUFBT29BQUFDU0FBQUFQZ0FBQStYOEFBT04vQUFETmZ3QUF0MzhBQUtKL0FBQ01md0FBZG44QUFHQi9BQUJLZndBQU5YOEFBQjkvQUFBSmZ3QUE4MzRBQU4xK0FBRElmZ0FBc240QUFKeCtBQUNHZmdBQWNINEFBRnArQUFCRWZnQUFMMzRBQUJsK0FBQURmZ0FBN1gwQUFOZDlBQURCZlFBQXEzMEFBSlY5QUFCL2ZRQUFhbjBBQUZSOUFBQStmUUFBS0gwQUFCSjlBQUQ4ZkFBQTVud0FBTkI4QUFDNmZBQUFwSHdBQUk1OEFBQjRmQUFBWW53QUFFeDhBQUEyZkFBQUlId0FBQXA4QUFEMGV3QUEzbnNBQU1oN0FBQ3lld0FBbkhzQUFJWjdBQUJ3ZXdBQVduc0FBRVI3QUFBdWV3QUFHSHNBQUFKN0FBRHNlZ0FBMW5vQUFNQjZBQUNxZWdBQWxIb0FBSDU2QUFCb2VnQUFVbm9BQUR4NkFBQW1lZ0FBRUhvQUFQbDVBQURqZVFBQXpYa0FBTGQ1QUFDaGVRQUFpM2tBQUhWNUFBQmZlUUFBU1hrQUFESjVBQUFjZVFBQUJua0FBUEI0QUFEYWVBQUF4SGdBQUsxNEFBQ1hlQUFBZ1hnQUFHdDRBQUJWZUFBQVAzZ0FBQ2g0QUFBU2VBQUEvSGNBQU9aM0FBRFFkd0FBdVhjQUFLTjNBQUNOZHdBQWQzY0FBR0IzQUFCS2R3QUFOSGNBQUI1M0FBQUlkd0FBOFhZQUFOdDJBQURGZGdBQXJuWUFBSmgyQUFDQ2RnQUFiSFlBQUZWMkFBQS9kZ0FBS1hZQUFCSjJBQUQ4ZFFBQTVuVUFBTkIxQUFDNWRRQUFvM1VBQUkxMUFBQjJkUUFBWUhVQUFFcDFBQUF6ZFFBQUhYVUFBQWQxQUFEd2RBQUEyblFBQU1OMEFBQ3RkQUFBbDNRQUFJQjBBQUJxZEFBQVZIUUFBRDEwQUFBbmRBQUFFSFFBQVBwekFBRGtjd0FBelhNQUFMZHpBQUNnY3dBQWluTUFBSE56QUFCZGN3QUFSM01BQURCekFBQWFjd0FBQTNNQUFPMXlBQURXY2dBQXdISUFBS2x5QUFDVGNnQUFmSElBQUdaeUFBQlFjZ0FBT1hJQUFDTnlBQUFNY2dBQTluRUFBTjl4QUFESmNRQUFzbkVBQUp0eEFBQ0ZjUUFBYm5FQUFGaHhBQUJCY1FBQUszRUFBQlJ4QUFEK2NBQUE1M0FBQU5Gd0FBQzZjQUFBbzNBQUFJMXdBQUIyY0FBQVlIQUFBRWx3QUFBemNBQUFISEFBQUFWd0FBRHZid0FBMkc4QUFNSnZBQUNyYndBQWxHOEFBSDV2QUFCbmJ3QUFVRzhBQURwdkFBQWpid0FBRFc4QUFQWnVBQURmYmdBQXlXNEFBTEp1QUFDYmJnQUFoVzRBQUc1dUFBQlhiZ0FBUVc0QUFDcHVBQUFUYmdBQS9HMEFBT1p0QUFEUGJRQUF1RzBBQUtKdEFBQ0xiUUFBZEcwQUFGNXRBQUJIYlFBQU1HMEFBQmx0QUFBRGJRQUE3R3dBQU5Wc0FBQytiQUFBcUd3QUFKRnNBQUI2YkFBQVkyd0FBRTFzQUFBMmJBQUFIMndBQUFoc0FBRHhhd0FBMjJzQUFNUnJBQUN0YXdBQWxtc0FBSDlyQUFCcGF3QUFVbXNBQUR0ckFBQWthd0FBRFdzQUFQWnFBQURnYWdBQXlXb0FBTEpxQUFDYmFnQUFoR29BQUcxcUFBQlhhZ0FBUUdvQUFDbHFBQUFTYWdBQSsya0FBT1JwQUFETmFRQUF0bWtBQUtCcEFBQ0phUUFBY21rQUFGdHBBQUJFYVFBQUxXa0FBQlpwQUFEL2FBQUE2R2dBQU5Gb0FBQzZhQUFBbzJnQUFJMW9BQUIyYUFBQVgyZ0FBRWhvQUFBeGFBQUFHbWdBQUFOb0FBRHNad0FBMVdjQUFMNW5BQUNuWndBQWtHY0FBSGxuQUFCaVp3QUFTMmNBQURSbkFBQWRad0FBQm1jQUFPOW1BQURZWmdBQXdXWUFBS3BtQUFDVFpnQUFmR1lBQUdWbUFBQk9aZ0FBTjJZQUFDQm1BQUFKWmdBQThtVUFBTnRsQUFERFpRQUFyR1VBQUpWbEFBQitaUUFBWjJVQUFGQmxBQUE1WlFBQUltVUFBQXRsQUFEMFpBQUEzV1FBQU1aa0FBQ3VaQUFBbDJRQUFJQmtBQUJwWkFBQVVtUUFBRHRrQUFBa1pBQUFEV1FBQVBWakFBRGVZd0FBeDJNQUFMQmpBQUNaWXdBQWdtTUFBR3RqQUFCVFl3QUFQR01BQUNWakFBQU9Zd0FBOTJJQUFPQmlBQURJWWdBQXNXSUFBSnBpQUFDRFlnQUFiR0lBQUZSaUFBQTlZZ0FBSm1JQUFBOWlBQUQ0WVFBQTRHRUFBTWxoQUFDeVlRQUFtMkVBQUlOaEFBQnNZUUFBVldFQUFENWhBQUFtWVFBQUQyRUFBUGhnQUFEaFlBQUF5V0FBQUxKZ0FBQ2JZQUFBaEdBQUFHeGdBQUJWWUFBQVBtQUFBQ1pnQUFBUFlBQUErRjhBQU9GZkFBREpYd0FBc2w4QUFKdGZBQUNEWHdBQWJGOEFBRlZmQUFBOVh3QUFKbDhBQUE5ZkFBRDNYZ0FBNEY0QUFNbGVBQUN4WGdBQW1sNEFBSU5lQUFCclhnQUFWRjRBQUR4ZUFBQWxYZ0FBRGw0QUFQWmRBQURmWFFBQXlGMEFBTEJkQUFDWlhRQUFnVjBBQUdwZEFBQlRYUUFBTzEwQUFDUmRBQUFNWFFBQTlWd0FBTjVjQUFER1hBQUFyMXdBQUpkY0FBQ0FYQUFBYUZ3QUFGRmNBQUE2WEFBQUlsd0FBQXRjQUFEeld3QUEzRnNBQU1SYkFBQ3RXd0FBbFZzQUFINWJBQUJtV3dBQVQxc0FBRGRiQUFBZ1d3QUFDRnNBQVBGYUFBRFpXZ0FBd2xvQUFLcGFBQUNUV2dBQWUxb0FBR1JhQUFCTVdnQUFOVm9BQUIxYUFBQUdXZ0FBN2xrQUFOZFpBQUMvV1FBQXFGa0FBSkJaQUFCNVdRQUFZVmtBQUVwWkFBQXlXUUFBR2xrQUFBTlpBQURyV0FBQTFGZ0FBTHhZQUFDbFdBQUFqVmdBQUhWWUFBQmVXQUFBUmxnQUFDOVlBQUFYV0FBQS8xY0FBT2hYQUFEUVZ3QUF1VmNBQUtGWEFBQ0pWd0FBY2xjQUFGcFhBQUJEVndBQUsxY0FBQk5YQUFEOFZnQUE1RllBQU14V0FBQzFWZ0FBblZZQUFJVldBQUJ1VmdBQVZsWUFBRDVXQUFBblZnQUFEMVlBQVBkVkFBRGdWUUFBeUZVQUFMQlZBQUNaVlFBQWdWVUFBR2xWQUFCU1ZRQUFPbFVBQUNKVkFBQUxWUUFBODFRQUFOdFVBQUREVkFBQXJGUUFBSlJVQUFCOFZBQUFaRlFBQUUxVUFBQTFWQUFBSFZRQUFBWlVBQUR1VXdBQTFsTUFBTDVUQUFDblV3QUFqMU1BQUhkVEFBQmZVd0FBU0ZNQUFEQlRBQUFZVXdBQUFGTUFBT2hTQUFEUlVnQUF1VklBQUtGU0FBQ0pVZ0FBY2xJQUFGcFNBQUJDVWdBQUtsSUFBQkpTQUFEN1VRQUE0MUVBQU10UkFBQ3pVUUFBbTFFQUFJTlJBQUJzVVFBQVZGRUFBRHhSQUFBa1VRQUFERkVBQVBSUUFBRGRVQUFBeFZBQUFLMVFBQUNWVUFBQWZWQUFBR1ZRQUFCTlVBQUFObEFBQUI1UUFBQUdVQUFBN2s4QUFOWlBBQUMrVHdBQXBrOEFBSTVQQUFCM1R3QUFYMDhBQUVkUEFBQXZUd0FBRjA4QUFQOU9BQURuVGdBQXowNEFBTGRPQUFDZlRnQUFoMDRBQUhCT0FBQllUZ0FBUUU0QUFDaE9BQUFRVGdBQStFMEFBT0JOQUFESVRRQUFzRTBBQUpoTkFBQ0FUUUFBYUUwQUFGQk5BQUE0VFFBQUlFMEFBQWhOQUFEd1RBQUEyRXdBQU1CTUFBQ29UQUFBa0V3QUFIbE1BQUJoVEFBQVNVd0FBREZNQUFBWlRBQUFBVXdBQU9sTEFBRFJTd0FBdVVzQUFLRkxBQUNKU3dBQWNVc0FBRmhMQUFCQVN3QUFLRXNBQUJCTEFBRDRTZ0FBNEVvQUFNaEtBQUN3U2dBQW1Fb0FBSUJLQUFCb1NnQUFVRW9BQURoS0FBQWdTZ0FBQ0VvQUFQQkpBQURZU1FBQXdFa0FBS2hKQUFDUVNRQUFlRWtBQUY5SkFBQkhTUUFBTDBrQUFCZEpBQUQvU0FBQTUwZ0FBTTlJQUFDM1NBQUFuMGdBQUlkSUFBQnZTQUFBVmtnQUFENUlBQUFtU0FBQURrZ0FBUFpIQUFEZVJ3QUF4a2NBQUs1SEFBQ1ZSd0FBZlVjQUFHVkhBQUJOUndBQU5VY0FBQjFIQUFBRlJ3QUE3RVlBQU5SR0FBQzhSZ0FBcEVZQUFJeEdBQUIwUmdBQVhFWUFBRU5HQUFBclJnQUFFMFlBQVB0RkFBRGpSUUFBeTBVQUFMSkZBQUNhUlFBQWdrVUFBR3BGQUFCU1JRQUFPVVVBQUNGRkFBQUpSUUFBOFVRQUFObEVBQURBUkFBQXFFUUFBSkJFQUFCNFJBQUFZRVFBQUVkRUFBQXZSQUFBRjBRQUFQOURBQURtUXdBQXprTUFBTFpEQUFDZVF3QUFoVU1BQUcxREFBQlZRd0FBUFVNQUFDUkRBQUFNUXdBQTlFSUFBTnhDQUFERFFnQUFxMElBQUpOQ0FBQjdRZ0FBWWtJQUFFcENBQUF5UWdBQUdrSUFBQUZDQUFEcFFRQUEwVUVBQUxoQkFBQ2dRUUFBaUVFQUFHOUJBQUJYUVFBQVAwRUFBQ2RCQUFBT1FRQUE5a0FBQU41QUFBREZRQUFBclVBQUFKVkFBQUI4UUFBQVpFQUFBRXhBQUFBelFBQUFHMEFBQUFOQUFBRHFQd0FBMGo4QUFMby9BQUNoUHdBQWlUOEFBSEUvQUFCWVB3QUFRRDhBQUNnL0FBQVBQd0FBOXo0QUFOOCtBQURHUGdBQXJqNEFBSlUrQUFCOVBnQUFaVDRBQUV3K0FBQTBQZ0FBSEQ0QUFBTStBQURyUFFBQTBqMEFBTG85QUFDaVBRQUFpVDBBQUhFOUFBQllQUUFBUUQwQUFDZzlBQUFQUFFBQTl6d0FBTjQ4QUFER1BBQUFyandBQUpVOEFBQjlQQUFBWkR3QUFFdzhBQUF6UEFBQUd6d0FBQU04QUFEcU93QUEwanNBQUxrN0FBQ2hPd0FBaURzQUFIQTdBQUJZT3dBQVB6c0FBQ2M3QUFBT093QUE5am9BQU4wNkFBREZPZ0FBckRvQUFKUTZBQUI3T2dBQVl6b0FBRW82QUFBeU9nQUFHam9BQUFFNkFBRHBPUUFBMERrQUFMZzVBQUNmT1FBQWh6a0FBRzQ1QUFCV09RQUFQVGtBQUNVNUFBQU1PUUFBOURnQUFOczRBQURET0FBQXFqZ0FBSkk0QUFCNU9BQUFZVGdBQUVnNEFBQXdPQUFBRnpnQUFQNDNBQURtTndBQXpUY0FBTFUzQUFDY053QUFoRGNBQUdzM0FBQlROd0FBT2pjQUFDSTNBQUFKTndBQThUWUFBTmcyQUFEQU5nQUFwellBQUk0MkFBQjJOZ0FBWFRZQUFFVTJBQUFzTmdBQUZEWUFBUHMxQUFEaU5RQUF5alVBQUxFMUFBQ1pOUUFBZ0RVQUFHZzFBQUJQTlFBQU5qVUFBQjQxQUFBRk5RQUE3VFFBQU5RMEFBQzdOQUFBb3pRQUFJbzBBQUJ5TkFBQVdUUUFBRUEwQUFBb05BQUFEelFBQVBjekFBRGVNd0FBeFRNQUFLMHpBQUNVTXdBQWZETUFBR016QUFCS013QUFNak1BQUJrekFBQUFNd0FBNkRJQUFNOHlBQUMzTWdBQW5qSUFBSVV5QUFCdE1nQUFWRElBQURzeUFBQWpNZ0FBQ2pJQUFQRXhBQURaTVFBQXdERUFBS2N4QUFDUE1RQUFkakVBQUY0eEFBQkZNUUFBTERFQUFCUXhBQUQ3TUFBQTRqQUFBTW93QUFDeE1BQUFtREFBQUg4d0FBQm5NQUFBVGpBQUFEVXdBQUFkTUFBQUJEQUFBT3N2QUFEVEx3QUF1aThBQUtFdkFBQ0pMd0FBY0M4QUFGY3ZBQUEvTHdBQUppOEFBQTB2QUFEMExnQUEzQzRBQU1NdUFBQ3FMZ0FBa2k0QUFIa3VBQUJnTGdBQVJ5NEFBQzh1QUFBV0xnQUEvUzBBQU9VdEFBRE1MUUFBc3kwQUFKb3RBQUNDTFFBQWFTMEFBRkF0QUFBM0xRQUFIeTBBQUFZdEFBRHRMQUFBMUN3QUFMd3NBQUNqTEFBQWlpd0FBSEVzQUFCWkxBQUFRQ3dBQUNjc0FBQU9MQUFBOWlzQUFOMHJBQURFS3dBQXF5c0FBSk1yQUFCNkt3QUFZU3NBQUVnckFBQXdLd0FBRnlzQUFQNHFBQURsS2dBQXpDb0FBTFFxQUFDYktnQUFnaW9BQUdrcUFBQlJLZ0FBT0NvQUFCOHFBQUFHS2dBQTdTa0FBTlVwQUFDOEtRQUFveWtBQUlvcEFBQnhLUUFBV1NrQUFFQXBBQUFuS1FBQURpa0FBUFVvQUFEZEtBQUF4Q2dBQUtzb0FBQ1NLQUFBZVNnQUFHQW9BQUJJS0FBQUx5Z0FBQllvQUFEOUp3QUE1Q2NBQU13bkFBQ3pKd0FBbWljQUFJRW5BQUJvSndBQVR5Y0FBRGNuQUFBZUp3QUFCU2NBQU93bUFBRFRKZ0FBdWlZQUFLSW1BQUNKSmdBQWNDWUFBRmNtQUFBK0pnQUFKU1lBQUF3bUFBRDBKUUFBMnlVQUFNSWxBQUNwSlFBQWtDVUFBSGNsQUFCZUpRQUFSaVVBQUMwbEFBQVVKUUFBK3lRQUFPSWtBQURKSkFBQXNDUUFBSmNrQUFCL0pBQUFaaVFBQUUwa0FBQTBKQUFBR3lRQUFBSWtBQURwSXdBQTBDTUFBTGdqQUFDZkl3QUFoaU1BQUcwakFBQlVJd0FBT3lNQUFDSWpBQUFKSXdBQThDSUFBTmNpQUFDL0lnQUFwaUlBQUkwaUFBQjBJZ0FBV3lJQUFFSWlBQUFwSWdBQUVDSUFBUGNoQUFEZUlRQUF4aUVBQUswaEFBQ1VJUUFBZXlFQUFHSWhBQUJKSVFBQU1DRUFBQmNoQUFEK0lBQUE1U0FBQU13Z0FBQ3pJQUFBbWlBQUFJSWdBQUJwSUFBQVVDQUFBRGNnQUFBZUlBQUFCU0FBQU93ZkFBRFRId0FBdWg4QUFLRWZBQUNJSHdBQWJ4OEFBRllmQUFBOUh3QUFKQjhBQUFzZkFBRHpIZ0FBMmg0QUFNRWVBQUNvSGdBQWp4NEFBSFllQUFCZEhnQUFSQjRBQUNzZUFBQVNIZ0FBK1IwQUFPQWRBQURISFFBQXJoMEFBSlVkQUFCOEhRQUFZeDBBQUVvZEFBQXhIUUFBR0IwQUFQOGNBQURtSEFBQXpSd0FBTFFjQUFDYkhBQUFnaHdBQUdrY0FBQlJIQUFBT0J3QUFCOGNBQUFHSEFBQTdSc0FBTlFiQUFDN0d3QUFvaHNBQUlrYkFBQndHd0FBVnhzQUFENGJBQUFsR3dBQURCc0FBUE1hQUFEYUdnQUF3Um9BQUtnYUFBQ1BHZ0FBZGhvQUFGMGFBQUJFR2dBQUt4b0FBQklhQUFENUdRQUE0QmtBQU1jWkFBQ3VHUUFBbFJrQUFId1pBQUJqR1FBQVNoa0FBREVaQUFBWUdRQUEveGdBQU9ZWUFBRE5HQUFBdEJnQUFKc1lBQUNDR0FBQWFSZ0FBRkFZQUFBM0dBQUFIUmdBQUFRWUFBRHJGd0FBMGhjQUFMa1hBQUNnRndBQWh4Y0FBRzRYQUFCVkZ3QUFQQmNBQUNNWEFBQUtGd0FBOFJZQUFOZ1dBQUMvRmdBQXBoWUFBSTBXQUFCMEZnQUFXeFlBQUVJV0FBQXBGZ0FBRUJZQUFQY1ZBQURlRlFBQXhSVUFBS3dWQUFDVEZRQUFlaFVBQUdFVkFBQklGUUFBTGhVQUFCVVZBQUQ4RkFBQTR4UUFBTW9VQUFDeEZBQUFtQlFBQUg4VUFBQm1GQUFBVFJRQUFEUVVBQUFiRkFBQUFoUUFBT2tUQUFEUUV3QUF0eE1BQUo0VEFBQ0ZFd0FBYkJNQUFGSVRBQUE1RXdBQUlCTUFBQWNUQUFEdUVnQUExUklBQUx3U0FBQ2pFZ0FBaWhJQUFIRVNBQUJZRWdBQVB4SUFBQ1lTQUFBTkVnQUE5QkVBQU5vUkFBREJFUUFBcUJFQUFJOFJBQUIyRVFBQVhSRUFBRVFSQUFBckVRQUFFaEVBQVBrUUFBRGdFQUFBeHhBQUFLNFFBQUNVRUFBQWV4QUFBR0lRQUFCSkVBQUFNQkFBQUJjUUFBRCtEd0FBNVE4QUFNd1BBQUN6RHdBQW1nOEFBSUVQQUFCbkR3QUFUZzhBQURVUEFBQWNEd0FBQXc4QUFPb09BQURSRGdBQXVBNEFBSjhPQUFDR0RnQUFiUTRBQUZNT0FBQTZEZ0FBSVE0QUFBZ09BQUR2RFFBQTFnMEFBTDBOQUFDa0RRQUFpdzBBQUhJTkFBQlpEUUFBUHcwQUFDWU5BQUFORFFBQTlBd0FBTnNNQUFEQ0RBQUFxUXdBQUpBTUFBQjNEQUFBWFF3QUFFUU1BQUFyREFBQUVnd0FBUGtMQUFEZ0N3QUF4d3NBQUs0TEFBQ1ZDd0FBZkFzQUFHSUxBQUJKQ3dBQU1Bc0FBQmNMQUFEK0NnQUE1UW9BQU13S0FBQ3pDZ0FBbWdvQUFJQUtBQUJuQ2dBQVRnb0FBRFVLQUFBY0NnQUFBd29BQU9vSkFBRFJDUUFBdUFrQUFKNEpBQUNGQ1FBQWJBa0FBRk1KQUFBNkNRQUFJUWtBQUFnSkFBRHZDQUFBMVFnQUFMd0lBQUNqQ0FBQWlnZ0FBSEVJQUFCWUNBQUFQd2dBQUNZSUFBQU5DQUFBOHdjQUFOb0hBQURCQndBQXFBY0FBSThIQUFCMkJ3QUFYUWNBQUVRSEFBQXFCd0FBRVFjQUFQZ0dBQURmQmdBQXhnWUFBSzBHQUFDVUJnQUFld1lBQUdFR0FBQklCZ0FBTHdZQUFCWUdBQUQ5QlFBQTVBVUFBTXNGQUFDeUJRQUFtQVVBQUg4RkFBQm1CUUFBVFFVQUFEUUZBQUFiQlFBQUFnVUFBT2tFQUFEUEJBQUF0Z1FBQUowRUFBQ0VCQUFBYXdRQUFGSUVBQUE1QkFBQUlBUUFBQVlFQUFEdEF3QUExQU1BQUxzREFBQ2lBd0FBaVFNQUFIQURBQUJXQXdBQVBRTUFBQ1FEQUFBTEF3QUE4Z0lBQU5rQ0FBREFBZ0FBcHdJQUFJMENBQUIwQWdBQVd3SUFBRUlDQUFBcEFnQUFFQUlBQVBjQkFBRGVBUUFBeEFFQUFLc0JBQUNTQVFBQWVRRUFBR0FCQUFCSEFRQUFMZ0VBQUJRQkFBRDdBQUFBNGdBQUFNa0FBQUN3QUFBQWx3QUFBSDRBQUFCbEFBQUFTd0FBQURJQUFBQVpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRkFBQUFDZ0FBQUE4QUFBQVVBQUFBR1FBQUFCOEFBQUFrQUFBQUtRQUFBQzRBQUFBekFBQUFPQUFBQUQwQUFBQkNBQUFBUndBQUFFd0FBQUJSQUFBQVZ3QUFBRndBQUFCaEFBQUFaZ0FBQUdzQUFBQndBQUFBZFFBQUFIb0FBQUIvQUFBQWhBQUFBSW9BQUFDUEFBQUFsQUFBQUprQUFBQ2VBQUFBb3dBQUFLZ0FBQUN0QUFBQXNnQUFBTGNBQUFDOEFBQUF3Z0FBQU1jQUFBRE1BQUFBMFFBQUFOWUFBQURiQUFBQTRBQUFBT1VBQUFEcUFBQUE3d0FBQVBRQUFBRDZBQUFBL3dBQUFBUUJBQUFKQVFBQURnRUFBQk1CQUFBWUFRQUFIUUVBQUNJQkFBQW5BUUFBTEFFQUFERUJBQUEzQVFBQVBBRUFBRUVCQUFCR0FRQUFTd0VBQUZBQkFBQlZBUUFBV2dFQUFGOEJBQUJrQVFBQWFRRUFBRzhCQUFCMEFRQUFlUUVBQUg0QkFBQ0RBUUFBaUFFQUFJMEJBQUNTQVFBQWx3RUFBSndCQUFDaEFRQUFwZ0VBQUt3QkFBQ3hBUUFBdGdFQUFMc0JBQURBQVFBQXhRRUFBTW9CQUFEUEFRQUExQUVBQU5rQkFBRGVBUUFBNHdFQUFPa0JBQUR1QVFBQTh3RUFBUGdCQUFEOUFRQUFBZ0lBQUFjQ0FBQU1BZ0FBRVFJQUFCWUNBQUFiQWdBQUlBSUFBQ1lDQUFBckFnQUFNQUlBQURVQ0FBQTZBZ0FBUHdJQUFFUUNBQUJKQWdBQVRnSUFBRk1DQUFCWUFnQUFYUUlBQUdJQ0FBQm9BZ0FBYlFJQUFISUNBQUIzQWdBQWZBSUFBSUVDQUFDR0FnQUFpd0lBQUpBQ0FBQ1ZBZ0FBbWdJQUFKOENBQUNrQWdBQXFRSUFBSzhDQUFDMEFnQUF1UUlBQUw0Q0FBRERBZ0FBeUFJQUFNMENBQURTQWdBQTF3SUFBTndDQUFEaEFnQUE1Z0lBQU9zQ0FBRHdBZ0FBOWdJQUFQc0NBQUFBQXdBQUJRTUFBQW9EQUFBUEF3QUFGQU1BQUJrREFBQWVBd0FBSXdNQUFDZ0RBQUF0QXdBQU1nTUFBRGNEQUFBOEF3QUFRUU1BQUVjREFBQk1Bd0FBVVFNQUFGWURBQUJiQXdBQVlBTUFBR1VEQUFCcUF3QUFid01BQUhRREFBQjVBd0FBZmdNQUFJTURBQUNJQXdBQWpRTUFBSklEQUFDWEF3QUFuQU1BQUtJREFBQ25Bd0FBckFNQUFMRURBQUMyQXdBQXV3TUFBTUFEQUFERkF3QUF5Z01BQU04REFBRFVBd0FBMlFNQUFONERBQURqQXdBQTZBTUFBTzBEQUFEeUF3QUE5d01BQVB3REFBQUJCQUFBQndRQUFBd0VBQUFSQkFBQUZnUUFBQnNFQUFBZ0JBQUFKUVFBQUNvRUFBQXZCQUFBTkFRQUFEa0VBQUErQkFBQVF3UUFBRWdFQUFCTkJBQUFVZ1FBQUZjRUFBQmNCQUFBWVFRQUFHWUVBQUJyQkFBQWNBUUFBSFVFQUFCNkJBQUFmd1FBQUlRRUFBQ0pCQUFBamdRQUFKUUVBQUNaQkFBQW5nUUFBS01FQUFDb0JBQUFyUVFBQUxJRUFBQzNCQUFBdkFRQUFNRUVBQURHQkFBQXl3UUFBTkFFQUFEVkJBQUEyZ1FBQU44RUFBRGtCQUFBNlFRQUFPNEVBQUR6QkFBQStBUUFBUDBFQUFBQ0JRQUFCd1VBQUF3RkFBQVJCUUFBRmdVQUFCc0ZBQUFnQlFBQUpRVUFBQ29GQUFBdkJRQUFOQVVBQURrRkFBQStCUUFBUXdVQUFFZ0ZBQUJOQlFBQVVnVUFBRmNGQUFCY0JRQUFZUVVBQUdZRkFBQnJCUUFBY0FVQUFIVUZBQUI2QlFBQWZ3VUFBSVFGQUFDSkJRQUFqZ1VBQUpNRkFBQ1lCUUFBblFVQUFLSUZBQUNuQlFBQXJBVUFBTEVGQUFDMkJRQUF1d1VBQU1BRkFBREZCUUFBeWdVQUFNOEZBQURVQlFBQTJRVUFBTjRGQUFEakJRQUE2QVVBQU8wRkFBRHlCUUFBOXdVQUFQd0ZBQUFCQmdBQUJnWUFBQXNHQUFBUUJnQUFGUVlBQUJvR0FBQWZCZ0FBSkFZQUFDa0dBQUF1QmdBQU13WUFBRGdHQUFBOUJnQUFRZ1lBQUVjR0FBQk1CZ0FBVVFZQUFGWUdBQUJiQmdBQVlBWUFBR1VHQUFCcUJnQUFiZ1lBQUhNR0FBQjRCZ0FBZlFZQUFJSUdBQUNIQmdBQWpBWUFBSkVHQUFDV0JnQUFtd1lBQUtBR0FBQ2xCZ0FBcWdZQUFLOEdBQUMwQmdBQXVRWUFBTDRHQUFEREJnQUF5QVlBQU0wR0FBRFNCZ0FBMXdZQUFOd0dBQURoQmdBQTVRWUFBT29HQUFEdkJnQUE5QVlBQVBrR0FBRCtCZ0FBQXdjQUFBZ0hBQUFOQndBQUVnY0FBQmNIQUFBY0J3QUFJUWNBQUNZSEFBQXJCd0FBTUFjQUFEVUhBQUE1QndBQVBnY0FBRU1IQUFCSUJ3QUFUUWNBQUZJSEFBQlhCd0FBWEFjQUFHRUhBQUJtQndBQWF3Y0FBSEFIQUFCMUJ3QUFlZ2NBQUg0SEFBQ0RCd0FBaUFjQUFJMEhBQUNTQndBQWx3Y0FBSndIQUFDaEJ3QUFwZ2NBQUtzSEFBQ3dCd0FBdFFjQUFMa0hBQUMrQndBQXd3Y0FBTWdIQUFETkJ3QUEwZ2NBQU5jSEFBRGNCd0FBNFFjQUFPWUhBQURyQndBQTd3Y0FBUFFIQUFENUJ3QUEvZ2NBQUFNSUFBQUlDQUFBRFFnQUFCSUlBQUFYQ0FBQUhBZ0FBQ0FJQUFBbENBQUFLZ2dBQUM4SUFBQTBDQUFBT1FnQUFENElBQUJEQ0FBQVNBZ0FBRXdJQUFCUkNBQUFWZ2dBQUZzSUFBQmdDQUFBWlFnQUFHb0lBQUJ2Q0FBQWN3Z0FBSGdJQUFCOUNBQUFnZ2dBQUljSUFBQ01DQUFBa1FnQUFKWUlBQUNhQ0FBQW53Z0FBS1FJQUFDcENBQUFyZ2dBQUxNSUFBQzRDQUFBdlFnQUFNRUlBQURHQ0FBQXl3Z0FBTkFJQUFEVkNBQUEyZ2dBQU44SUFBRGpDQUFBNkFnQUFPMElBQUR5Q0FBQTl3Z0FBUHdJQUFBQkNRQUFCUWtBQUFvSkFBQVBDUUFBRkFrQUFCa0pBQUFlQ1FBQUlna0FBQ2NKQUFBc0NRQUFNUWtBQURZSkFBQTdDUUFBUHdrQUFFUUpBQUJKQ1FBQVRna0FBRk1KQUFCWUNRQUFYQWtBQUdFSkFBQm1DUUFBYXdrQUFIQUpBQUIxQ1FBQWVRa0FBSDRKQUFDRENRQUFpQWtBQUkwSkFBQ1NDUUFBbGdrQUFKc0pBQUNnQ1FBQXBRa0FBS29KQUFDdUNRQUFzd2tBQUxnSkFBQzlDUUFBd2drQUFNWUpBQURMQ1FBQTBBa0FBTlVKQUFEYUNRQUEzZ2tBQU9NSkFBRG9DUUFBN1FrQUFQSUpBQUQyQ1FBQSt3a0FBQUFLQUFBRkNnQUFDZ29BQUE0S0FBQVRDZ0FBR0FvQUFCMEtBQUFpQ2dBQUpnb0FBQ3NLQUFBd0NnQUFOUW9BQURrS0FBQStDZ0FBUXdvQUFFZ0tBQUJOQ2dBQVVRb0FBRllLQUFCYkNnQUFZQW9BQUdRS0FBQnBDZ0FBYmdvQUFITUtBQUIzQ2dBQWZBb0FBSUVLQUFDR0NnQUFpd29BQUk4S0FBQ1VDZ0FBbVFvQUFKNEtBQUNpQ2dBQXB3b0FBS3dLQUFDeENnQUF0UW9BQUxvS0FBQy9DZ0FBeEFvQUFNZ0tBQUROQ2dBQTBnb0FBTmNLQUFEYkNnQUE0QW9BQU9VS0FBRHBDZ0FBN2dvQUFQTUtBQUQ0Q2dBQS9Bb0FBQUVMQUFBR0N3QUFDd3NBQUE4TEFBQVVDd0FBR1FzQUFCNExBQUFpQ3dBQUp3c0FBQ3dMQUFBd0N3QUFOUXNBQURvTEFBQS9Dd0FBUXdzQUFFZ0xBQUJOQ3dBQVVRc0FBRllMQUFCYkN3QUFZQXNBQUdRTEFBQnBDd0FBYmdzQUFISUxBQUIzQ3dBQWZBc0FBSUFMQUFDRkN3QUFpZ3NBQUk4TEFBQ1RDd0FBbUFzQUFKMExBQUNoQ3dBQXBnc0FBS3NMQUFDdkN3QUF0QXNBQUxrTEFBQzlDd0FBd2dzQUFNY0xBQURMQ3dBQTBBc0FBTlVMQUFEWkN3QUEzZ3NBQU9NTEFBRG5Dd0FBN0FzQUFQRUxBQUQxQ3dBQStnc0FBUDhMQUFBRERBQUFDQXdBQUEwTUFBQVJEQUFBRmd3QUFCc01BQUFmREFBQUpBd0FBQ2tNQUFBdERBQUFNZ3dBQURjTUFBQTdEQUFBUUF3QUFFVU1BQUJKREFBQVRnd0FBRk1NQUFCWERBQUFYQXdBQUdBTUFBQmxEQUFBYWd3QUFHNE1BQUJ6REFBQWVBd0FBSHdNQUFDQkRBQUFoZ3dBQUlvTUFBQ1BEQUFBa3d3QUFKZ01BQUNkREFBQW9Rd0FBS1lNQUFDckRBQUFyd3dBQUxRTUFBQzREQUFBdlF3QUFNSU1BQURHREFBQXl3d0FBTThNQUFEVURBQUEyUXdBQU4wTUFBRGlEQUFBNWd3QUFPc01BQUR3REFBQTlBd0FBUGtNQUFEOURBQUFBZzBBQUFjTkFBQUxEUUFBRUEwQUFCUU5BQUFaRFFBQUhnMEFBQ0lOQUFBbkRRQUFLdzBBQURBTkFBQTBEUUFBT1EwQUFENE5BQUJDRFFBQVJ3MEFBRXNOQUFCUURRQUFWQTBBQUZrTkFBQmVEUUFBWWcwQUFHY05BQUJyRFFBQWNBMEFBSFFOQUFCNURRQUFmUTBBQUlJTkFBQ0hEUUFBaXcwQUFKQU5BQUNVRFFBQW1RMEFBSjBOQUFDaURRQUFwZzBBQUtzTkFBQ3ZEUUFBdEEwQUFMa05BQUM5RFFBQXdnMEFBTVlOQUFETERRQUF6dzBBQU5RTkFBRFlEUUFBM1EwQUFPRU5BQURtRFFBQTZnMEFBTzhOQUFEekRRQUErQTBBQVB3TkFBQUJEZ0FBQlE0QUFBb09BQUFQRGdBQUV3NEFBQmdPQUFBY0RnQUFJUTRBQUNVT0FBQXFEZ0FBTGc0QUFETU9BQUEzRGdBQVBBNEFBRUFPQUFCRkRnQUFTUTRBQUU0T0FBQlNEZ0FBVmc0QUFGc09BQUJmRGdBQVpBNEFBR2dPQUFCdERnQUFjUTRBQUhZT0FBQjZEZ0FBZnc0QUFJTU9BQUNJRGdBQWpBNEFBSkVPQUFDVkRnQUFtZzRBQUo0T0FBQ2pEZ0FBcHc0QUFLd09BQUN3RGdBQXRBNEFBTGtPQUFDOURnQUF3ZzRBQU1ZT0FBRExEZ0FBenc0QUFOUU9BQURZRGdBQTNBNEFBT0VPQUFEbERnQUE2ZzRBQU80T0FBRHpEZ0FBOXc0QUFQd09BQUFBRHdBQUJBOEFBQWtQQUFBTkR3QUFFZzhBQUJZUEFBQWJEd0FBSHc4QUFDTVBBQUFvRHdBQUxBOEFBREVQQUFBMUR3QUFPZzhBQUQ0UEFBQkNEd0FBUnc4QUFFc1BBQUJRRHdBQVZBOEFBRmdQQUFCZER3QUFZUThBQUdZUEFBQnFEd0FBYmc4QUFITVBBQUIzRHdBQWZBOEFBSUFQQUFDRUR3QUFpUThBQUkwUEFBQ1JEd0FBbGc4QUFKb1BBQUNmRHdBQW93OEFBS2NQQUFDc0R3QUFzQThBQUxVUEFBQzVEd0FBdlE4QUFNSVBBQURHRHdBQXlnOEFBTThQQUFEVER3QUExdzhBQU53UEFBRGdEd0FBNVE4QUFPa1BBQUR0RHdBQThnOEFBUFlQQUFENkR3QUEvdzhBQUFNUUFBQUhFQUFBREJBQUFCQVFBQUFVRUFBQUdSQUFBQjBRQUFBaEVBQUFKaEFBQUNvUUFBQXVFQUFBTXhBQUFEY1FBQUE3RUFBQVFCQUFBRVFRQUFCSUVBQUFUUkFBQUZFUUFBQlZFQUFBV2hBQUFGNFFBQUJpRUFBQVp4QUFBR3NRQUFCdkVBQUFjeEFBQUhnUUFBQjhFQUFBZ0JBQUFJVVFBQUNKRUFBQWpSQUFBSklRQUFDV0VBQUFtaEFBQUo0UUFBQ2pFQUFBcHhBQUFLc1FBQUN3RUFBQXRCQUFBTGdRQUFDOEVBQUF3UkFBQU1VUUFBREpFQUFBemhBQUFOSVFBQURXRUFBQTJoQUFBTjhRQUFEakVBQUE1eEFBQU9zUUFBRHdFQUFBOUJBQUFQZ1FBQUQ5RUFBQUFSRUFBQVVSQUFBSkVRQUFEaEVBQUJJUkFBQVdFUUFBR2hFQUFCOFJBQUFqRVFBQUp4RUFBQ3NSQUFBd0VRQUFOQkVBQURnUkFBQThFUUFBUUJFQUFFVVJBQUJKRVFBQVRSRUFBRkVSQUFCV0VRQUFXaEVBQUY0UkFBQmlFUUFBWmhFQUFHc1JBQUJ2RVFBQWN4RUFBSGNSQUFCOEVRQUFnQkVBQUlRUkFBQ0lFUUFBakJFQUFKRVJBQUNWRVFBQW1SRUFBSjBSQUFDaEVRQUFwaEVBQUtvUkFBQ3VFUUFBc2hFQUFMWVJBQUM3RVFBQXZ4RUFBTU1SQUFESEVRQUF5eEVBQU04UkFBRFVFUUFBMkJFQUFOd1JBQURnRVFBQTVCRUFBT2tSQUFEdEVRQUE4UkVBQVBVUkFBRDVFUUFBL1JFQUFBSVNBQUFHRWdBQUNoSUFBQTRTQUFBU0VnQUFGaElBQUJvU0FBQWZFZ0FBSXhJQUFDY1NBQUFyRWdBQUx4SUFBRE1TQUFBM0VnQUFQQklBQUVBU0FBQkVFZ0FBU0JJQUFFd1NBQUJRRWdBQVZCSUFBRmtTQUFCZEVnQUFZUklBQUdVU0FBQnBFZ0FBYlJJQUFIRVNBQUIxRWdBQWVoSUFBSDRTQUFDQ0VnQUFoaElBQUlvU0FBQ09FZ0FBa2hJQUFKWVNBQUNhRWdBQW54SUFBS01TQUFDbkVnQUFxeElBQUs4U0FBQ3pFZ0FBdHhJQUFMc1NBQUMvRWdBQXd4SUFBTWNTQUFETUVnQUEwQklBQU5RU0FBRFlFZ0FBM0JJQUFPQVNBQURrRWdBQTZCSUFBT3dTQUFEd0VnQUE5QklBQVBnU0FBRDhFZ0FBQVJNQUFBVVRBQUFKRXdBQURSTUFBQkVUQUFBVkV3QUFHUk1BQUIwVEFBQWhFd0FBSlJNQUFDa1RBQUF0RXdBQU1STUFBRFVUQUFBNUV3QUFQUk1BQUVFVEFBQkZFd0FBU1JNQUFFMFRBQUJSRXdBQVZSTUFBRm9UQUFCZUV3QUFZaE1BQUdZVEFBQnFFd0FBYmhNQUFISVRBQUIyRXdBQWVoTUFBSDRUQUFDQ0V3QUFoaE1BQUlvVEFBQ09Fd0FBa2hNQUFKWVRBQUNhRXdBQW5oTUFBS0lUQUFDbUV3QUFxaE1BQUs0VEFBQ3lFd0FBdGhNQUFMb1RBQUMrRXdBQXdoTUFBTVlUQUFES0V3QUF6aE1BQU5JVEFBRFdFd0FBMmhNQUFONFRBQURpRXdBQTVoTUFBT2tUQUFEdEV3QUE4Uk1BQVBVVEFBRDVFd0FBL1JNQUFBRVVBQUFGRkFBQUNSUUFBQTBVQUFBUkZBQUFGUlFBQUJrVUFBQWRGQUFBSVJRQUFDVVVBQUFwRkFBQUxSUUFBREVVQUFBMUZBQUFPUlFBQUQwVUFBQkFGQUFBUkJRQUFFZ1VBQUJNRkFBQVVCUUFBRlFVQUFCWUZBQUFYQlFBQUdBVUFBQmtGQUFBYUJRQUFHd1VBQUJ3RkFBQWN4UUFBSGNVQUFCN0ZBQUFmeFFBQUlNVUFBQ0hGQUFBaXhRQUFJOFVBQUNURkFBQWx4UUFBSnNVQUFDZUZBQUFvaFFBQUtZVUFBQ3FGQUFBcmhRQUFMSVVBQUMyRkFBQXVoUUFBTDRVQUFEQkZBQUF4UlFBQU1rVUFBRE5GQUFBMFJRQUFOVVVBQURaRkFBQTNSUUFBT0FVQUFEa0ZBQUE2QlFBQU93VUFBRHdGQUFBOUJRQUFQZ1VBQUQ3RkFBQS94UUFBQU1WQUFBSEZRQUFDeFVBQUE4VkFBQVRGUUFBRmhVQUFCb1ZBQUFlRlFBQUloVUFBQ1lWQUFBcUZRQUFMUlVBQURFVkFBQTFGUUFBT1JVQUFEMFZBQUJCRlFBQVJCVUFBRWdWQUFCTUZRQUFVQlVBQUZR",
  "sig": "a5c9f28afc3e0f52f5b6e9dc5d708804384a11e627bbf4308e907d09ef0248663f4bf479da6280c9f36b96cf0f0a5dcae0447f5ca7282dd94f3cff4f652006cb"
}

Note: Under active development, if you find a bug, please report it here GitHub & Reach out.