1688054432
waR3U4bTeM%3A86daed0ed0a259e1c5f5b5f8282cea7c-2fc30d2a2346284d4f0ff65bfb951732
s:46916:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDY6IkVuc3VyZXMgbWV0aG9kIGFuZCBmdW5jdGlvbiBuYW1lcyBhcmUgY29ycmVjdC4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvciI6NDp7czo3OiIAKgBuYW1lIjtzOjY6ImF1dGhvciI7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvcgBhdXRob3JOYW1lIjtzOjEzOiJHcmVnIFNoZXJ3b29kIjtzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvckVtYWlsIjtzOjE5OiJnc2hlcndvb2RAc3F1aXoubmV0IjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tjt9aToxO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo5OiJjb3B5cmlnaHQiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQ0OiIyMDA2LTIwMTUgU3F1aXogUHR5IEx0ZCAoQUJOIDc3IDA4NCA2NzAgNjAwKSI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6NzoibGljZW5zZSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6ODA6Imh0dHBzOi8vZ2l0aHViLmNvbS9zcXVpemxhYnMvUEhQX0NvZGVTbmlmZmVyL2Jsb2IvbWFzdGVyL2xpY2VuY2UudHh0IEJTRCBMaWNlbmNlIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBoYXNoIjtzOjMyOiIyZmMzMGQyYTIzNDYyODRkNGYwZmY2NWJmYjk1MTczMiI7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjI2OiJWYWxpZEZ1bmN0aW9uTmFtZVNuaWZmLnBocCI7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBwYXRoIjtzOjEwMzoidmVuZG9yL3NxdWl6bGFicy9waHBfY29kZXNuaWZmZXIvc3JjL1N0YW5kYXJkcy9QRUFSL1NuaWZmcy9OYW1pbmdDb252ZW50aW9ucy9WYWxpZEZ1bmN0aW9uTmFtZVNuaWZmLnBocCI7czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBzb3VyY2UiO3M6MTAwNDE6Ijw/cGhwCi8qKgogKiBFbnN1cmVzIG1ldGhvZCBhbmQgZnVuY3Rpb24gbmFtZXMgYXJlIGNvcnJlY3QuCiAqCiAqIEBhdXRob3IgICAgR3JlZyBTaGVyd29vZCA8Z3NoZXJ3b29kQHNxdWl6Lm5ldD4KICogQGNvcHlyaWdodCAyMDA2LTIwMTUgU3F1aXogUHR5IEx0ZCAoQUJOIDc3IDA4NCA2NzAgNjAwKQogKiBAbGljZW5zZSAgIGh0dHBzOi8vZ2l0aHViLmNvbS9zcXVpemxhYnMvUEhQX0NvZGVTbmlmZmVyL2Jsb2IvbWFzdGVyL2xpY2VuY2UudHh0IEJTRCBMaWNlbmNlCiAqLwoKbmFtZXNwYWNlIFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcUEVBUlxTbmlmZnNcTmFtaW5nQ29udmVudGlvbnM7Cgp1c2UgUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGU7CnVzZSBQSFBfQ29kZVNuaWZmZXJcU25pZmZzXEFic3RyYWN0U2NvcGVTbmlmZjsKdXNlIFBIUF9Db2RlU25pZmZlclxVdGlsXENvbW1vbjsKdXNlIFBIUF9Db2RlU25pZmZlclxVdGlsXFRva2VuczsKCmNsYXNzIFZhbGlkRnVuY3Rpb25OYW1lU25pZmYgZXh0ZW5kcyBBYnN0cmFjdFNjb3BlU25pZmYKewoKICAgIC8qKgogICAgICogQSBsaXN0IG9mIGFsbCBQSFAgbWFnaWMgbWV0aG9kcy4KICAgICAqCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCAkbWFnaWNNZXRob2RzID0gWwogICAgICAgICdjb25zdHJ1Y3QnICAgPT4gdHJ1ZSwKICAgICAgICAnZGVzdHJ1Y3QnICAgID0+IHRydWUsCiAgICAgICAgJ2NhbGwnICAgICAgICA9PiB0cnVlLAogICAgICAgICdjYWxsc3RhdGljJyAgPT4gdHJ1ZSwKICAgICAgICAnZ2V0JyAgICAgICAgID0+IHRydWUsCiAgICAgICAgJ3NldCcgICAgICAgICA9PiB0cnVlLAogICAgICAgICdpc3NldCcgICAgICAgPT4gdHJ1ZSwKICAgICAgICAndW5zZXQnICAgICAgID0+IHRydWUsCiAgICAgICAgJ3NsZWVwJyAgICAgICA9PiB0cnVlLAogICAgICAgICd3YWtldXAnICAgICAgPT4gdHJ1ZSwKICAgICAgICAnc2VyaWFsaXplJyAgID0+IHRydWUsCiAgICAgICAgJ3Vuc2VyaWFsaXplJyA9PiB0cnVlLAogICAgICAgICd0b3N0cmluZycgICAgPT4gdHJ1ZSwKICAgICAgICAnaW52b2tlJyAgICAgID0+IHRydWUsCiAgICAgICAgJ3NldF9zdGF0ZScgICA9PiB0cnVlLAogICAgICAgICdjbG9uZScgICAgICAgPT4gdHJ1ZSwKICAgICAgICAnZGVidWdpbmZvJyAgID0+IHRydWUsCiAgICBdOwoKICAgIC8qKgogICAgICogQSBsaXN0IG9mIGFsbCBQSFAgbWFnaWMgZnVuY3Rpb25zLgogICAgICoKICAgICAqIEB2YXIgYXJyYXkKICAgICAqLwogICAgcHJvdGVjdGVkICRtYWdpY0Z1bmN0aW9ucyA9IFsnYXV0b2xvYWQnID0+IHRydWVdOwoKCiAgICAvKioKICAgICAqIENvbnN0cnVjdHMgYSBQRUFSX1NuaWZmc19OYW1pbmdDb252ZW50aW9uc19WYWxpZEZ1bmN0aW9uTmFtZVNuaWZmLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogICAgewogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoVG9rZW5zOjokb29TY29wZVRva2VucywgW1RfRlVOQ1RJT05dLCB0cnVlKTsKCiAgICB9Ly9lbmQgX19jb25zdHJ1Y3QoKQoKCiAgICAvKioKICAgICAqIFByb2Nlc3NlcyB0aGUgdG9rZW5zIHdpdGhpbiB0aGUgc2NvcGUuCiAgICAgKgogICAgICogQHBhcmFtIFxQSFBfQ29kZVNuaWZmZXJcRmlsZXNcRmlsZSAkcGhwY3NGaWxlIFRoZSBmaWxlIGJlaW5nIHByb2Nlc3NlZC4KICAgICAqIEBwYXJhbSBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgJHN0YWNrUHRyICBUaGUgcG9zaXRpb24gd2hlcmUgdGhpcyB0b2tlbiB3YXMKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZC4KICAgICAqIEBwYXJhbSBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgJGN1cnJTY29wZSBUaGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgc2NvcGUuCiAgICAgKgogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwcm9jZXNzVG9rZW5XaXRoaW5TY29wZShGaWxlICRwaHBjc0ZpbGUsICRzdGFja1B0ciwgJGN1cnJTY29wZSkKICAgIHsKICAgICAgICAkdG9rZW5zID0gJHBocGNzRmlsZS0+Z2V0VG9rZW5zKCk7CgogICAgICAgIC8vIERldGVybWluZSBpZiB0aGlzIGlzIGEgZnVuY3Rpb24gd2hpY2ggbmVlZHMgdG8gYmUgZXhhbWluZWQuCiAgICAgICAgJGNvbmRpdGlvbnMgPSAkdG9rZW5zWyRzdGFja1B0cl1bJ2NvbmRpdGlvbnMnXTsKICAgICAgICBlbmQoJGNvbmRpdGlvbnMpOwogICAgICAgICRkZWVwZXN0U2NvcGUgPSBrZXkoJGNvbmRpdGlvbnMpOwogICAgICAgIGlmICgkZGVlcGVzdFNjb3BlICE9PSAkY3VyclNjb3BlKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICRtZXRob2ROYW1lID0gJHBocGNzRmlsZS0+Z2V0RGVjbGFyYXRpb25OYW1lKCRzdGFja1B0cik7CiAgICAgICAgaWYgKCRtZXRob2ROYW1lID09PSBudWxsKSB7CiAgICAgICAgICAgIC8vIElnbm9yZSBjbG9zdXJlcy4KICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgJGNsYXNzTmFtZSA9ICRwaHBjc0ZpbGUtPmdldERlY2xhcmF0aW9uTmFtZSgkY3VyclNjb3BlKTsKICAgICAgICBpZiAoaXNzZXQoJGNsYXNzTmFtZSkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICRjbGFzc05hbWUgPSAnW0Fub255bW91cyBDbGFzc10nOwogICAgICAgIH0KCiAgICAgICAgJGVycm9yRGF0YSA9IFskY2xhc3NOYW1lLic6OicuJG1ldGhvZE5hbWVdOwoKICAgICAgICAkbWV0aG9kTmFtZUxjID0gc3RydG9sb3dlcigkbWV0aG9kTmFtZSk7CiAgICAgICAgJGNsYXNzTmFtZUxjICA9IHN0cnRvbG93ZXIoJGNsYXNzTmFtZSk7CgogICAgICAgIC8vIElzIHRoaXMgYSBtYWdpYyBtZXRob2QuIGkuZS4sIGlzIHByZWZpeGVkIHdpdGggIl9fIiA/CiAgICAgICAgaWYgKHByZWdfbWF0Y2goJ3xeX19bXl9dfCcsICRtZXRob2ROYW1lKSAhPT0gMCkgewogICAgICAgICAgICAkbWFnaWNQYXJ0ID0gc3Vic3RyKCRtZXRob2ROYW1lTGMsIDIpOwogICAgICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPm1hZ2ljTWV0aG9kc1skbWFnaWNQYXJ0XSkgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGVycm9yID0gJ01ldGhvZCBuYW1lICIlcyIgaXMgaW52YWxpZDsgb25seSBQSFAgbWFnaWMgbWV0aG9kcyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCBhIGRvdWJsZSB1bmRlcnNjb3JlJzsKICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJGVycm9yLCAkc3RhY2tQdHIsICdNZXRob2REb3VibGVVbmRlcnNjb3JlJywgJGVycm9yRGF0YSk7CiAgICAgICAgfQoKICAgICAgICAvLyBQSFA0IGNvbnN0cnVjdG9ycyBhcmUgYWxsb3dlZCB0byBicmVhayBvdXIgcnVsZXMuCiAgICAgICAgaWYgKCRtZXRob2ROYW1lTGMgPT09ICRjbGFzc05hbWVMYykgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAvLyBQSFA0IGRlc3RydWN0b3JzIGFyZSBhbGxvd2VkIHRvIGJyZWFrIG91ciBydWxlcy4KICAgICAgICBpZiAoJG1ldGhvZE5hbWVMYyA9PT0gJ18nLiRjbGFzc05hbWVMYykgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkbWV0aG9kUHJvcHMgICAgPSAkcGhwY3NGaWxlLT5nZXRNZXRob2RQcm9wZXJ0aWVzKCRzdGFja1B0cik7CiAgICAgICAgJHNjb3BlICAgICAgICAgID0gJG1ldGhvZFByb3BzWydzY29wZSddOwogICAgICAgICRzY29wZVNwZWNpZmllZCA9ICRtZXRob2RQcm9wc1snc2NvcGVfc3BlY2lmaWVkJ107CgogICAgICAgIGlmICgkbWV0aG9kUHJvcHNbJ3Njb3BlJ10gPT09ICdwcml2YXRlJykgewogICAgICAgICAgICAkaXNQdWJsaWMgPSBmYWxzZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkaXNQdWJsaWMgPSB0cnVlOwogICAgICAgIH0KCiAgICAgICAgLy8gSWYgaXQncyBhIHByaXZhdGUgbWV0aG9kLCBpdCBtdXN0IGhhdmUgYW4gdW5kZXJzY29yZSBvbiB0aGUgZnJvbnQuCiAgICAgICAgaWYgKCRpc1B1YmxpYyA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgaWYgKCRtZXRob2ROYW1lWzBdICE9PSAnXycpIHsKICAgICAgICAgICAgICAgICRlcnJvciA9ICdQcml2YXRlIG1ldGhvZCBuYW1lICIlcyIgbXVzdCBiZSBwcmVmaXhlZCB3aXRoIGFuIHVuZGVyc2NvcmUnOwogICAgICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJGVycm9yLCAkc3RhY2tQdHIsICdQcml2YXRlTm9VbmRlcnNjb3JlJywgJGVycm9yRGF0YSk7CiAgICAgICAgICAgICAgICAkcGhwY3NGaWxlLT5yZWNvcmRNZXRyaWMoJHN0YWNrUHRyLCAnUHJpdmF0ZSBtZXRob2QgcHJlZml4ZWQgd2l0aCB1bmRlcnNjb3JlJywgJ25vJyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkcGhwY3NGaWxlLT5yZWNvcmRNZXRyaWMoJHN0YWNrUHRyLCAnUHJpdmF0ZSBtZXRob2QgcHJlZml4ZWQgd2l0aCB1bmRlcnNjb3JlJywgJ3llcycpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBJZiBpdCdzIG5vdCBhIHByaXZhdGUgbWV0aG9kLCBpdCBtdXN0IG5vdCBoYXZlIGFuIHVuZGVyc2NvcmUgb24gdGhlIGZyb250LgogICAgICAgIGlmICgkaXNQdWJsaWMgPT09IHRydWUgJiYgJHNjb3BlU3BlY2lmaWVkID09PSB0cnVlICYmICRtZXRob2ROYW1lWzBdID09PSAnXycpIHsKICAgICAgICAgICAgJGVycm9yID0gJyVzIG1ldGhvZCBuYW1lICIlcyIgbXVzdCBub3QgYmUgcHJlZml4ZWQgd2l0aCBhbiB1bmRlcnNjb3JlJzsKICAgICAgICAgICAgJGRhdGEgID0gWwogICAgICAgICAgICAgICAgdWNmaXJzdCgkc2NvcGUpLAogICAgICAgICAgICAgICAgJGVycm9yRGF0YVswXSwKICAgICAgICAgICAgXTsKICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJGVycm9yLCAkc3RhY2tQdHIsICdQdWJsaWNVbmRlcnNjb3JlJywgJGRhdGEpOwogICAgICAgIH0KCiAgICAgICAgJHRlc3RNZXRob2ROYW1lID0gbHRyaW0oJG1ldGhvZE5hbWUsICdfJyk7CgogICAgICAgIGlmIChDb21tb246OmlzQ2FtZWxDYXBzKCR0ZXN0TWV0aG9kTmFtZSwgZmFsc2UsIHRydWUsIGZhbHNlKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgaWYgKCRzY29wZVNwZWNpZmllZCA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgJGVycm9yID0gJyVzIG1ldGhvZCBuYW1lICIlcyIgaXMgbm90IGluIGNhbWVsIGNhcHMgZm9ybWF0JzsKICAgICAgICAgICAgICAgICRkYXRhICA9IFsKICAgICAgICAgICAgICAgICAgICB1Y2ZpcnN0KCRzY29wZSksCiAgICAgICAgICAgICAgICAgICAgJGVycm9yRGF0YVswXSwKICAgICAgICAgICAgICAgIF07CiAgICAgICAgICAgICAgICAkcGhwY3NGaWxlLT5hZGRFcnJvcigkZXJyb3IsICRzdGFja1B0ciwgJ1Njb3BlTm90Q2FtZWxDYXBzJywgJGRhdGEpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGVycm9yID0gJ01ldGhvZCBuYW1lICIlcyIgaXMgbm90IGluIGNhbWVsIGNhcHMgZm9ybWF0JzsKICAgICAgICAgICAgICAgICRwaHBjc0ZpbGUtPmFkZEVycm9yKCRlcnJvciwgJHN0YWNrUHRyLCAnTm90Q2FtZWxDYXBzJywgJGVycm9yRGF0YSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgfS8vZW5kIHByb2Nlc3NUb2tlbldpdGhpblNjb3BlKCkKCgogICAgLyoqCiAgICAgKiBQcm9jZXNzZXMgdGhlIHRva2VucyBvdXRzaWRlIHRoZSBzY29wZS4KICAgICAqCiAgICAgKiBAcGFyYW0gXFBIUF9Db2RlU25pZmZlclxGaWxlc1xGaWxlICRwaHBjc0ZpbGUgVGhlIGZpbGUgYmVpbmcgcHJvY2Vzc2VkLgogICAgICogQHBhcmFtIGludCAgICAgICAgICAgICAgICAgICAgICAgICAkc3RhY2tQdHIgIFRoZSBwb3NpdGlvbiB3aGVyZSB0aGlzIHRva2VuIHdhcwogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kLgogICAgICoKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJvY2Vzc1Rva2VuT3V0c2lkZVNjb3BlKEZpbGUgJHBocGNzRmlsZSwgJHN0YWNrUHRyKQogICAgewogICAgICAgICRmdW5jdGlvbk5hbWUgPSAkcGhwY3NGaWxlLT5nZXREZWNsYXJhdGlvbk5hbWUoJHN0YWNrUHRyKTsKICAgICAgICBpZiAoJGZ1bmN0aW9uTmFtZSA9PT0gbnVsbCkgewogICAgICAgICAgICAvLyBJZ25vcmUgY2xvc3VyZXMuCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGlmIChsdHJpbSgkZnVuY3Rpb25OYW1lLCAnXycpID09PSAnJykgewogICAgICAgICAgICAvLyBJZ25vcmUgc3BlY2lhbCBmdW5jdGlvbnMuCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICRlcnJvckRhdGEgPSBbJGZ1bmN0aW9uTmFtZV07CgogICAgICAgIC8vIElzIHRoaXMgYSBtYWdpYyBmdW5jdGlvbi4gaS5lLiwgaXQgaXMgcHJlZml4ZWQgd2l0aCAiX18iLgogICAgICAgIGlmIChwcmVnX21hdGNoKCd8Xl9fW15fXXwnLCAkZnVuY3Rpb25OYW1lKSAhPT0gMCkgewogICAgICAgICAgICAkbWFnaWNQYXJ0ID0gc3RydG9sb3dlcihzdWJzdHIoJGZ1bmN0aW9uTmFtZSwgMikpOwogICAgICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPm1hZ2ljRnVuY3Rpb25zWyRtYWdpY1BhcnRdKSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkZXJyb3IgPSAnRnVuY3Rpb24gbmFtZSAiJXMiIGlzIGludmFsaWQ7IG9ubHkgUEhQIG1hZ2ljIG1ldGhvZHMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggYSBkb3VibGUgdW5kZXJzY29yZSc7CiAgICAgICAgICAgICRwaHBjc0ZpbGUtPmFkZEVycm9yKCRlcnJvciwgJHN0YWNrUHRyLCAnRnVuY3Rpb25Eb3VibGVVbmRlcnNjb3JlJywgJGVycm9yRGF0YSk7CiAgICAgICAgfQoKICAgICAgICAvLyBGdW5jdGlvbiBuYW1lcyBjYW4gYmUgaW4gdHdvIHBhcnRzOyB0aGUgcGFja2FnZSBuYW1lIGFuZAogICAgICAgIC8vIHRoZSBmdW5jdGlvbiBuYW1lLgogICAgICAgICRwYWNrYWdlUGFydCAgID0gJyc7CiAgICAgICAgJHVuZGVyc2NvcmVQb3MgPSBzdHJycG9zKCRmdW5jdGlvbk5hbWUsICdfJyk7CiAgICAgICAgaWYgKCR1bmRlcnNjb3JlUG9zID09PSBmYWxzZSkgewogICAgICAgICAgICAkY2FtZWxDYXBzUGFydCA9ICRmdW5jdGlvbk5hbWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHBhY2thZ2VQYXJ0ICAgPSBzdWJzdHIoJGZ1bmN0aW9uTmFtZSwgMCwgJHVuZGVyc2NvcmVQb3MpOwogICAgICAgICAgICAkY2FtZWxDYXBzUGFydCA9IHN1YnN0cigkZnVuY3Rpb25OYW1lLCAoJHVuZGVyc2NvcmVQb3MgKyAxKSk7CgogICAgICAgICAgICAvLyBXZSBkb24ndCBjYXJlIGFib3V0IF8ncyBvbiB0aGUgZnJvbnQuCiAgICAgICAgICAgICRwYWNrYWdlUGFydCA9IGx0cmltKCRwYWNrYWdlUGFydCwgJ18nKTsKICAgICAgICB9CgogICAgICAgIC8vIElmIGl0IGhhcyBhIHBhY2thZ2UgcGFydCwgbWFrZSBzdXJlIHRoZSBmaXJzdCBsZXR0ZXIgaXMgYSBjYXBpdGFsLgogICAgICAgIGlmICgkcGFja2FnZVBhcnQgIT09ICcnKSB7CiAgICAgICAgICAgIGlmICgkZnVuY3Rpb25OYW1lWzBdID09PSAnXycpIHsKICAgICAgICAgICAgICAgICRlcnJvciA9ICdGdW5jdGlvbiBuYW1lICIlcyIgaXMgaW52YWxpZDsgb25seSBwcml2YXRlIG1ldGhvZHMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggYW4gdW5kZXJzY29yZSc7CiAgICAgICAgICAgICAgICAkcGhwY3NGaWxlLT5hZGRFcnJvcigkZXJyb3IsICRzdGFja1B0ciwgJ0Z1bmN0aW9uVW5kZXJzY29yZScsICRlcnJvckRhdGEpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJGZ1bmN0aW9uTmFtZVswXSAhPT0gc3RydG91cHBlcigkZnVuY3Rpb25OYW1lWzBdKSkgewogICAgICAgICAgICAgICAgJGVycm9yID0gJ0Z1bmN0aW9uIG5hbWUgIiVzIiBpcyBwcmVmaXhlZCB3aXRoIGEgcGFja2FnZSBuYW1lIGJ1dCBkb2VzIG5vdCBiZWdpbiB3aXRoIGEgY2FwaXRhbCBsZXR0ZXInOwogICAgICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJGVycm9yLCAkc3RhY2tQdHIsICdGdW5jdGlvbk5vQ2FwaXRhbCcsICRlcnJvckRhdGEpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBJZiBpdCBkb2Vzbid0IGhhdmUgYSBjYW1lbCBjYXBzIHBhcnQsIGl0J3Mgbm90IHZhbGlkLgogICAgICAgIGlmICh0cmltKCRjYW1lbENhcHNQYXJ0KSA9PT0gJycpIHsKICAgICAgICAgICAgJGVycm9yID0gJ0Z1bmN0aW9uIG5hbWUgIiVzIiBpcyBub3QgdmFsaWQ7IG5hbWUgYXBwZWFycyBpbmNvbXBsZXRlJzsKICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJGVycm9yLCAkc3RhY2tQdHIsICdGdW5jdGlvbkludmFsaWQnLCAkZXJyb3JEYXRhKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgJHZhbGlkTmFtZSAgICAgICAgPSB0cnVlOwogICAgICAgICRuZXdQYWNrYWdlUGFydCAgID0gJHBhY2thZ2VQYXJ0OwogICAgICAgICRuZXdDYW1lbENhcHNQYXJ0ID0gJGNhbWVsQ2Fwc1BhcnQ7CgogICAgICAgIC8vIEV2ZXJ5IGZ1bmN0aW9uIG11c3QgaGF2ZSBhIGNhbWVsIGNhcHMgcGFydCwgc28gY2hlY2sgdGhhdCBmaXJzdC4KICAgICAgICBpZiAoQ29tbW9uOjppc0NhbWVsQ2FwcygkY2FtZWxDYXBzUGFydCwgZmFsc2UsIHRydWUsIGZhbHNlKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgJHZhbGlkTmFtZSAgICAgICAgPSBmYWxzZTsKICAgICAgICAgICAgJG5ld0NhbWVsQ2Fwc1BhcnQgPSBzdHJ0b2xvd2VyKCRjYW1lbENhcHNQYXJ0WzBdKS5zdWJzdHIoJGNhbWVsQ2Fwc1BhcnQsIDEpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRwYWNrYWdlUGFydCAhPT0gJycpIHsKICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCBlYWNoIG5ldyB3b3JkIHN0YXJ0cyB3aXRoIGEgY2FwaXRhbC4KICAgICAgICAgICAgJG5hbWVCaXRzID0gZXhwbG9kZSgnXycsICRwYWNrYWdlUGFydCk7CiAgICAgICAgICAgICRuYW1lQml0cyA9IGFycmF5X2ZpbHRlcigkbmFtZUJpdHMpOwogICAgICAgICAgICBmb3JlYWNoICgkbmFtZUJpdHMgYXMgJGJpdCkgewogICAgICAgICAgICAgICAgaWYgKCRiaXRbMF0gIT09IHN0cnRvdXBwZXIoJGJpdFswXSkpIHsKICAgICAgICAgICAgICAgICAgICAkbmV3UGFja2FnZVBhcnQgPSAnJzsKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkbmFtZUJpdHMgYXMgJGJpdCkgewogICAgICAgICAgICAgICAgICAgICAgICAkbmV3UGFja2FnZVBhcnQgLj0gc3RydG91cHBlcigkYml0WzBdKS5zdWJzdHIoJGJpdCwgMSkuJ18nOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJHZhbGlkTmFtZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoJHZhbGlkTmFtZSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgaWYgKCRuZXdQYWNrYWdlUGFydCA9PT0gJycpIHsKICAgICAgICAgICAgICAgICRuZXdOYW1lID0gJG5ld0NhbWVsQ2Fwc1BhcnQ7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkbmV3TmFtZSA9IHJ0cmltKCRuZXdQYWNrYWdlUGFydCwgJ18nKS4nXycuJG5ld0NhbWVsQ2Fwc1BhcnQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRlcnJvciAgPSAnRnVuY3Rpb24gbmFtZSAiJXMiIGlzIGludmFsaWQ7IGNvbnNpZGVyICIlcyIgaW5zdGVhZCc7CiAgICAgICAgICAgICRkYXRhICAgPSAkZXJyb3JEYXRhOwogICAgICAgICAgICAkZGF0YVtdID0gJG5ld05hbWU7CiAgICAgICAgICAgICRwaHBjc0ZpbGUtPmFkZEVycm9yKCRlcnJvciwgJHN0YWNrUHRyLCAnRnVuY3Rpb25OYW1lSW52YWxpZCcsICRkYXRhKTsKICAgICAgICB9CgogICAgfS8vZW5kIHByb2Nlc3NUb2tlbk91dHNpZGVTY29wZSgpCgoKfS8vZW5kIGNsYXNzCiI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjE6e3M6NTY6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXE5hbWluZ0NvbnZlbnRpb25zIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTY6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXE5hbWluZ0NvbnZlbnRpb25zIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTc6Ik5hbWluZ0NvbnZlbnRpb25zIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjE6e3M6Nzk6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXE5hbWluZ0NvbnZlbnRpb25zXFZhbGlkRnVuY3Rpb25OYW1lU25pZmYiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxMzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Nzk6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXE5hbWluZ0NvbnZlbnRpb25zXFZhbGlkRnVuY3Rpb25OYW1lU25pZmYiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMjoiVmFsaWRGdW5jdGlvbk5hbWVTbmlmZiI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcGFyZW50IjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDI6IlxQSFBfQ29kZVNuaWZmZXJcU25pZmZzXEFic3RyYWN0U2NvcGVTbmlmZiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE4OiJBYnN0cmFjdFNjb3BlU25pZmYiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AaW1wbGVtZW50cyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGNvbnN0YW50cyI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHByb3BlcnRpZXMiO2E6Mjp7czo5NDoiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcUEVBUlxTbmlmZnNcTmFtaW5nQ29udmVudGlvbnNcVmFsaWRGdW5jdGlvbk5hbWVTbmlmZjo6JG1hZ2ljTWV0aG9kcyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6MTE6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OTQ6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXE5hbWluZ0NvbnZlbnRpb25zXFZhbGlkRnVuY3Rpb25OYW1lU25pZmY6OiRtYWdpY01ldGhvZHMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMjoibWFnaWNNZXRob2RzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjMyOiJBIGxpc3Qgb2YgYWxsIFBIUCBtYWdpYyBtZXRob2RzLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czo1NToiUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xQRUFSXFNuaWZmc1xOYW1pbmdDb252ZW50aW9ucyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6NDp7czo0OiJGaWxlIjtzOjI2OiJQSFBfQ29kZVNuaWZmZXJcRmlsZXNcRmlsZSI7czoxODoiQWJzdHJhY3RTY29wZVNuaWZmIjtzOjQxOiJQSFBfQ29kZVNuaWZmZXJcU25pZmZzXEFic3RyYWN0U2NvcGVTbmlmZiI7czo2OiJDb21tb24iO3M6Mjc6IlBIUF9Db2RlU25pZmZlclxVdGlsXENvbW1vbiI7czo2OiJUb2tlbnMiO3M6Mjc6IlBIUF9Db2RlU25pZmZlclxVdGlsXFRva2VucyI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtzOjMxOToiWydjb25zdHJ1Y3QnID0+IHRydWUsICdkZXN0cnVjdCcgPT4gdHJ1ZSwgJ2NhbGwnID0+IHRydWUsICdjYWxsc3RhdGljJyA9PiB0cnVlLCAnZ2V0JyA9PiB0cnVlLCAnc2V0JyA9PiB0cnVlLCAnaXNzZXQnID0+IHRydWUsICd1bnNldCcgPT4gdHJ1ZSwgJ3NsZWVwJyA9PiB0cnVlLCAnd2FrZXVwJyA9PiB0cnVlLCAnc2VyaWFsaXplJyA9PiB0cnVlLCAndW5zZXJpYWxpemUnID0+IHRydWUsICd0b3N0cmluZycgPT4gdHJ1ZSwgJ2ludm9rZScgPT4gdHJ1ZSwgJ3NldF9zdGF0ZScgPT4gdHJ1ZSwgJ2Nsb25lJyA9PiB0cnVlLCAnZGVidWdpbmZvJyA9PiB0cnVlXSI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6OToicHJvdGVjdGVkIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHJlYWRPbmx5IjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbWV0YWRhdGEiO2E6MDp7fX1zOjk2OiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xQRUFSXFNuaWZmc1xOYW1pbmdDb252ZW50aW9uc1xWYWxpZEZ1bmN0aW9uTmFtZVNuaWZmOjokbWFnaWNGdW5jdGlvbnMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjExOntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjk2OiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xQRUFSXFNuaWZmc1xOYW1pbmdDb252ZW50aW9uc1xWYWxpZEZ1bmN0aW9uTmFtZVNuaWZmOjokbWFnaWNGdW5jdGlvbnMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNDoibWFnaWNGdW5jdGlvbnMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzQ6IkEgbGlzdCBvZiBhbGwgUEhQIG1hZ2ljIGZ1bmN0aW9ucy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjo3ODtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtzOjIwOiJbJ2F1dG9sb2FkJyA9PiB0cnVlXSI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6OToicHJvdGVjdGVkIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHJlYWRPbmx5IjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbWV0YWRhdGEiO2E6MDp7fX19czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6Mzp7czo5NDoiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcUEVBUlxTbmlmZnNcTmFtaW5nQ29udmVudGlvbnNcVmFsaWRGdW5jdGlvbk5hbWVTbmlmZjo6X19jb25zdHJ1Y3QoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY2OiJDb25zdHJ1Y3RzIGEgUEVBUl9TbmlmZnNfTmFtaW5nQ29udmVudGlvbnNfVmFsaWRGdW5jdGlvbk5hbWVTbmlmZi4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjo3ODtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjk0OiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xQRUFSXFNuaWZmc1xOYW1pbmdDb252ZW50aW9uc1xWYWxpZEZ1bmN0aW9uTmFtZVNuaWZmOjpfX2NvbnN0cnVjdCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6Il9fY29uc3RydWN0Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjU2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fX1zOjEwNjoiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcUEVBUlxTbmlmZnNcTmFtaW5nQ29udmVudGlvbnNcVmFsaWRGdW5jdGlvbk5hbWVTbmlmZjo6cHJvY2Vzc1Rva2VuV2l0aGluU2NvcGUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjM4OiJQcm9jZXNzZXMgdGhlIHRva2VucyB3aXRoaW4gdGhlIHNjb3BlLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo0OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6OToicGhwY3NGaWxlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJGaWxlIjt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjU6IlRoZSBmaWxlIGJlaW5nIHByb2Nlc3NlZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6ODoic3RhY2tQdHIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDA6IlRoZSBwb3NpdGlvbiB3aGVyZSB0aGlzIHRva2VuIHdhcwpmb3VuZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6OToiY3VyclNjb3BlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM0OiJUaGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgc2NvcGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFZvaWRfIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjo3ODtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjEwNjoiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcUEVBUlxTbmlmZnNcTmFtaW5nQ29udmVudGlvbnNcVmFsaWRGdW5jdGlvbk5hbWVTbmlmZjo6cHJvY2Vzc1Rva2VuV2l0aGluU2NvcGUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIzOiJwcm9jZXNzVG9rZW5XaXRoaW5TY29wZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6OToicHJvdGVjdGVkIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo5OiJwaHBjc0ZpbGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNzoiXFBIUF9Db2RlU25pZmZlclxGaWxlc1xGaWxlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDoiRmlsZSI7fX1zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJzdGFja1B0ciI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjk6ImN1cnJTY29wZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjczO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTY5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e319czoxMDc6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXE5hbWluZ0NvbnZlbnRpb25zXFZhbGlkRnVuY3Rpb25OYW1lU25pZmY6OnByb2Nlc3NUb2tlbk91dHNpZGVTY29wZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mzk6IlByb2Nlc3NlcyB0aGUgdG9rZW5zIG91dHNpZGUgdGhlIHNjb3BlLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTozOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6OToicGhwY3NGaWxlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJGaWxlIjt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjU6IlRoZSBmaWxlIGJlaW5nIHByb2Nlc3NlZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6ODoic3RhY2tQdHIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDA6IlRoZSBwb3NpdGlvbiB3aGVyZSB0aGlzIHRva2VuIHdhcwpmb3VuZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjc4O3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTA3OiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xQRUFSXFNuaWZmc1xOYW1pbmdDb252ZW50aW9uc1xWYWxpZEZ1bmN0aW9uTmFtZVNuaWZmOjpwcm9jZXNzVG9rZW5PdXRzaWRlU2NvcGUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJwcm9jZXNzVG9rZW5PdXRzaWRlU2NvcGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjk6InByb3RlY3RlZCI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6OToicGhwY3NGaWxlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mjc6IlxQSFBfQ29kZVNuaWZmZXJcRmlsZXNcRmlsZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6IkZpbGUiO319czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoic3RhY2tQdHIiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxODE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyODE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fX19czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHVzZWRUcmFpdHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyODQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGFkYXRhIjthOjA6e319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";