1789595935
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3A51b1a11f2fb87fa88e004d7ec982f6e7-b59b2a8d7c79649f87006362a3dd54a9
s:12316:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjEzOiJjYXRhbG9nb3MucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6ImI1OWIyYThkN2M3OTY0OWY4NzAwNjM2MmEzZGQ1NGE5IjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6MzQ6ImJhY2tlbmQvYXBpL3YyL3J1dGFzL2NhdGFsb2dvcy5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjY4ODc6Ijw/cGhwDQpkZWNsYXJlKHN0cmljdF90eXBlcz0xKTsNCg0KLyoqDQogKiBSdXRhcyBkZSBDQVTDgUxPR09TIOKAlCBmaWx0cmFkb3MsIHZhbG9yYWNpw7NuIG9yZ2Fub2zDqXB0aWNhIHkgY2F0ZWdvcsOtYXMuDQogKg0KICogTG9zIHRyZXMgc2lndWVuIGVsIG1pc21vIHBhdHLDs24gKGxpc3RhciAvIGluc2VydGFyIC8gYWN0dWFsaXphcikgeSBzZQ0KICogY29uc3VtZW4gdGFudG8gZGVzZGUgc3UgcMOhZ2luYSBkZSBtYW50ZW5pbWllbnRvIGNvbW8gZGVzZGUgbGEgcMOhZ2luYSBkZQ0KICogZGVww7NzaXRvcywgcXVlIGVzIGRvbmRlIHNlIGFzaWduYW4gYSB1biBkZXDDs3NpdG8gY29uY3JldG8uDQogKg0KICogQHBhY2thZ2UgdHJhY2tpbmdcYmFja2VuZFxhcGlcdjJccnV0YXMNCiAqLw0KDQpyZXR1cm4gWw0KDQogICAgLy8g4pSA4pSAIEZJTFRSQURPUyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCg0KICAgIC8vIE1pc21vIGhhbmRsZXIgcXVlIGdldF9maWx0cmFkb3MsIHBlcm8gY29uc3VtaWRvIGRlc2RlIGRlcMOzc2l0b3MuDQogICAgLy8gRW4gbGEgdjEgYW1iYXMgYWNjaW9uZXMgY29tcGFydMOtYW4gZWwgbWlzbW8gY2FzZS4NCiAgICAnb2J0ZW5lckZpbHRyYWRvc1RpcG8nID0+IG5ldyBSdXRhKA0KICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLA0KICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HLA0KICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7DQogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKA0KICAgICAgICAgICAgICAgIENvbnRyb2xhZG9yRmlsdHJhZG9zOjpnZXRBbGxGaWx0cmFkb3MoJGN0eC0+Y29uZXhpb25JZHMpDQogICAgICAgICAgICApOw0KICAgICAgICB9LA0KICAgICAgICBwYWdpbmE6ICcvcGFnZXMvZGVwb3NpdG9zJw0KICAgICksDQoNCiAgICAnZ2V0X2ZpbHRyYWRvcycgPT4gbmV3IFJ1dGEoDQogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6QVVURU5USUNBRE8sDQogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkcsDQogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsNCiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoDQogICAgICAgICAgICAgICAgQ29udHJvbGFkb3JGaWx0cmFkb3M6OmdldEFsbEZpbHRyYWRvcygkY3R4LT5jb25leGlvbklkcykNCiAgICAgICAgICAgICk7DQogICAgICAgIH0sDQogICAgICAgIHBhZ2luYTogJy9wYWdlcy9maWx0cmFkb3MnDQogICAgKSwNCg0KICAgICdpbnNlcnRfZmlsdHJhZG8nID0+IG5ldyBSdXRhKA0KICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLA0KICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HLA0KICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7DQogICAgICAgICAgICAkbm9tYnJlID0gdHJpbSgkY3R4LT5wb3N0KCdub21icmUnKSk7DQogICAgICAgICAgICBpZiAoJG5vbWJyZSA9PT0gJycpIHsNCiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6OmVycm9yKCdFbCBub21icmUgZXMgb2JsaWdhdG9yaW8uJywgNDAwKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcigNCiAgICAgICAgICAgICAgICBDb250cm9sYWRvckZpbHRyYWRvczo6aW5zZXJ0RmlsdHJhZG9zKCRub21icmUsICRjdHgtPmNvbmV4aW9uSWRzKQ0KICAgICAgICAgICAgKTsNCiAgICAgICAgfSwNCiAgICAgICAgcGFnaW5hOiAnL3BhZ2VzL2ZpbHRyYWRvcycNCiAgICApLA0KDQogICAgJ3VwZGF0ZV9maWx0cmFkbycgPT4gbmV3IFJ1dGEoDQogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6QVVURU5USUNBRE8sDQogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkcsDQogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsNCiAgICAgICAgICAgICRpZCAgICAgPSAkY3R4LT5wb3N0SW50KCdpZCcpOw0KICAgICAgICAgICAgJG5vbWJyZSA9IHRyaW0oJGN0eC0+cG9zdCgnbm9tYnJlJykpOw0KDQogICAgICAgICAgICBpZiAoJGlkIDw9IDAgfHwgJG5vbWJyZSA9PT0gJycpIHsNCiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6OmVycm9yKCdGYWx0YW4gaWQgbyBub21icmUuJywgNDAwKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcigNCiAgICAgICAgICAgICAgICBDb250cm9sYWRvckZpbHRyYWRvczo6dXBkYXRlRmlsdHJhZG9zKCRpZCwgJG5vbWJyZSwgJGN0eC0+Y29uZXhpb25JZHMpDQogICAgICAgICAgICApOw0KICAgICAgICB9LA0KICAgICAgICBwYWdpbmE6ICcvcGFnZXMvZmlsdHJhZG9zJw0KICAgICksDQoNCiAgICAvLyDilIDilIAgQVNJR05BQ0nDk04gQSBERVDDk1NJVE8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQoNCiAgICAnYXNpZ25hckZpbHRyYWRvJyA9PiBuZXcgUnV0YSgNCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBVVRFTlRJQ0FETywNCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lORywNCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgew0KICAgICAgICAgICAgJGRlcG9zaXRvID0gJGN0eC0+cG9zdCgnZGVwb3NpdG8nKTsNCiAgICAgICAgICAgIGlmICgkZGVwb3NpdG8gPT09ICcnKSB7DQogICAgICAgICAgICAgICAgUmVzcHVlc3RhOjplcnJvcignRmFsdGEgZWwgZGVww7NzaXRvLicsIDQwMCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoQ29udHJvbGFkb3JEZXBvc2l0bzo6YXNpZ25hckZpbHRyYWRvVGlwbygNCiAgICAgICAgICAgICAgICAkY3R4LT5jb25leGlvbigpLA0KICAgICAgICAgICAgICAgICRkZXBvc2l0bywNCiAgICAgICAgICAgICAgICAkY3R4LT5wb3N0KCd0aXBvJyksDQogICAgICAgICAgICAgICAgJGN0eC0+cG9zdCgnbG90ZScpDQogICAgICAgICAgICApKTsNCiAgICAgICAgfSwNCiAgICAgICAgcGFnaW5hOiAnL3BhZ2VzL2RlcG9zaXRvcycNCiAgICApLA0KDQogICAgJ2FzaWduYXJWT3JnYW5vJyA9PiBuZXcgUnV0YSgNCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBVVRFTlRJQ0FETywNCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lORywNCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgew0KICAgICAgICAgICAgJGlkRGVwb3NpdG8gPSAkY3R4LT5wb3N0SW50KCdpZERlcG9zaXRvJyk7DQogICAgICAgICAgICBpZiAoJGlkRGVwb3NpdG8gPD0gMCkgew0KICAgICAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZXJyb3IoJ0ZhbHRhIGVsIGRlcMOzc2l0by4nLCA0MDApOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKENvbnRyb2xhZG9yRGVwb3NpdG86OmFzaWduYXJWT3JnYW5pY28oDQogICAgICAgICAgICAgICAgJGN0eC0+Y29uZXhpb24oKSwNCiAgICAgICAgICAgICAgICAkY3R4LT5wb3N0SW50KCdpZFZPcmdhbm8nKSwNCiAgICAgICAgICAgICAgICAkaWREZXBvc2l0bw0KICAgICAgICAgICAgKSk7DQogICAgICAgIH0sDQogICAgICAgIHBhZ2luYTogJy9wYWdlcy9kZXBvc2l0b3MnDQogICAgKSwNCg0KICAgIC8vIOKUgOKUgCBWQUxPUkFDScOTTiBPUkdBTk9Mw4lQVElDQSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCg0KICAgICdnZXRfdm9yZ2FuaWNvJyA9PiBuZXcgUnV0YSgNCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBVVRFTlRJQ0FETywNCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lORywNCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgew0KICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcigNCiAgICAgICAgICAgICAgICBDb250cm9sYWRvclZPcmdhbmljbzo6Z2V0Vk9yZ2FubygkY3R4LT5jb25leGlvbklkcykNCiAgICAgICAgICAgICk7DQogICAgICAgIH0sDQogICAgICAgIHBhZ2luYTogWycvcGFnZXMvdmFsb3JhY2lvbk9yZ2EnLCAnL3BhZ2VzL2RlcG9zaXRvcyddDQogICAgKSwNCg0KICAgICdpbnNlcnRfdm9yZ2FuaWNvJyA9PiBuZXcgUnV0YSgNCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBVVRFTlRJQ0FETywNCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lORywNCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgew0KICAgICAgICAgICAgJG5vbWJyZSA9IHRyaW0oJGN0eC0+cG9zdCgnbm9tYnJlJykpOw0KICAgICAgICAgICAgaWYgKCRub21icmUgPT09ICcnKSB7DQogICAgICAgICAgICAgICAgUmVzcHVlc3RhOjplcnJvcignRWwgbm9tYnJlIGVzIG9ibGlnYXRvcmlvLicsIDQwMCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoDQogICAgICAgICAgICAgICAgQ29udHJvbGFkb3JWT3JnYW5pY286Omluc2VydFZPcmdhbm8oJG5vbWJyZSwgJGN0eC0+Y29uZXhpb25JZHMpDQogICAgICAgICAgICApOw0KICAgICAgICB9LA0KICAgICAgICBwYWdpbmE6IFsnL3BhZ2VzL3ZhbG9yYWNpb25PcmdhJywgJy9wYWdlcy9kZXBvc2l0b3MnXQ0KICAgICksDQoNCiAgICAvLyDilIDilIAgQ0FURUdPUsONQVMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQoNCiAgICAnZ2V0X2NhdGVnb3JpYXMnID0+IG5ldyBSdXRhKA0KICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLA0KICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HLA0KICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7DQogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKA0KICAgICAgICAgICAgICAgIENvbnRyb2xhZG9yQ2F0ZWdvcmlhczo6Z2V0QWxsQ2F0ZWdvcmlhcygkY3R4LT5jb25leGlvbklkcykNCiAgICAgICAgICAgICk7DQogICAgICAgIH0sDQogICAgICAgIHBhZ2luYTogWycvcGFnZXMvZGVwb3NpdG9zJywgJy9wYWdlcy9jYXRlZ29yaWFzJ10NCiAgICApLA0KDQogICAgJ2luc2VydF9jYXRlZ29yaWEnID0+IG5ldyBSdXRhKA0KICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLA0KICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HLA0KICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7DQogICAgICAgICAgICAkbm9tYnJlID0gdHJpbSgkY3R4LT5wb3N0KCdub21icmUnKSk7DQogICAgICAgICAgICBpZiAoJG5vbWJyZSA9PT0gJycpIHsNCiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6OmVycm9yKCdFbCBub21icmUgZXMgb2JsaWdhdG9yaW8uJywgNDAwKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcigNCiAgICAgICAgICAgICAgICBDb250cm9sYWRvckNhdGVnb3JpYXM6Omluc2VydENhdGVnb3JpYXMoJG5vbWJyZSwgJGN0eC0+Y29uZXhpb25JZHMpDQogICAgICAgICAgICApOw0KICAgICAgICB9LA0KICAgICAgICBwYWdpbmE6IFsnL3BhZ2VzL2RlcG9zaXRvcycsICcvcGFnZXMvY2F0ZWdvcmlhcyddDQogICAgKSwNCg0KICAgICd1cGRhdGVfY2F0ZWdvcmlhJyA9PiBuZXcgUnV0YSgNCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBVVRFTlRJQ0FETywNCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lORywNCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgew0KICAgICAgICAgICAgJGlkICAgICA9ICRjdHgtPnBvc3RJbnQoJ2lkJyk7DQogICAgICAgICAgICAkbm9tYnJlID0gdHJpbSgkY3R4LT5wb3N0KCdub21icmUnKSk7DQoNCiAgICAgICAgICAgIGlmICgkaWQgPD0gMCB8fCAkbm9tYnJlID09PSAnJykgew0KICAgICAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZXJyb3IoJ0ZhbHRhbiBpZCBvIG5vbWJyZS4nLCA0MDApOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKA0KICAgICAgICAgICAgICAgIENvbnRyb2xhZG9yQ2F0ZWdvcmlhczo6dXBkYXRlQ2F0ZWdvcmlhcygkaWQsICRub21icmUsICRjdHgtPmNvbmV4aW9uSWRzKQ0KICAgICAgICAgICAgKTsNCiAgICAgICAgfSwNCiAgICAgICAgcGFnaW5hOiAnL3BhZ2VzL2NhdGVnb3JpYXMnDQogICAgKSwNCl07IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo3NjoiUnV0YXMgZGUgQ0FUw4FMT0dPUyDigJQgZmlsdHJhZG9zLCB2YWxvcmFjacOzbiBvcmdhbm9sw6lwdGljYSB5IGNhdGVnb3LDrWFzLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMDU6IkxvcyB0cmVzIHNpZ3VlbiBlbCBtaXNtbyBwYXRyw7NuIChsaXN0YXIgLyBpbnNlcnRhciAvIGFjdHVhbGl6YXIpIHkgc2UKY29uc3VtZW4gdGFudG8gZGVzZGUgc3UgcMOhZ2luYSBkZSBtYW50ZW5pbWllbnRvIGNvbW8gZGVzZGUgbGEgcMOhZ2luYSBkZQpkZXDDs3NpdG9zLCBxdWUgZXMgZG9uZGUgc2UgYXNpZ25hbiBhIHVuIGRlcMOzc2l0byBjb25jcmV0by4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcR2VuZXJpYyI6Mjp7czo3OiIAKgBuYW1lIjtzOjc6InBhY2thZ2UiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI5OiJ0cmFja2luZ1xiYWNrZW5kXGFwaVx2MlxydXRhcyI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";