1637798053
AwuilbDvXz%3Ac2775076cee1f337e4a07b4e1e35bd83-e25ed291cc28ffe1c0be5ecb5f3bfd01
s:19024:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxMjp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6ImUyNWVkMjkxY2MyOGZmZTFjMGJlNWVjYjVmM2JmZDAxIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWUiO3M6Mzc6IkFjdGlvblNjaGVkdWxlcl9RdWV1ZUNsZWFuZXJfVGVzdC5waHAiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo5MjoidmVuZG9yL3Byb3NwcmVzcy9hY3Rpb24tc2NoZWR1bGVyL3Rlc3RzL3BocHVuaXQvcnVubmVyL0FjdGlvblNjaGVkdWxlcl9RdWV1ZUNsZWFuZXJfVGVzdC5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjUxMzM6Ijw/cGhwCgovKioKICogQ2xhc3MgQWN0aW9uU2NoZWR1bGVyX1F1ZXVlQ2xlYW5lcl9UZXN0CiAqLwpjbGFzcyBBY3Rpb25TY2hlZHVsZXJfUXVldWVDbGVhbmVyX1Rlc3QgZXh0ZW5kcyBBY3Rpb25TY2hlZHVsZXJfVW5pdFRlc3RDYXNlIHsKCglwdWJsaWMgZnVuY3Rpb24gdGVzdF9kZWxldGVfb2xkX2FjdGlvbnMoKSB7CgkJJHN0b3JlID0gQWN0aW9uU2NoZWR1bGVyOjpzdG9yZSgpOwoJCSRydW5uZXIgPSBuZXcgQWN0aW9uU2NoZWR1bGVyX1F1ZXVlUnVubmVyKCAkc3RvcmUgKTsKCgkJJHJhbmRvbSA9IG1kNShyYW5kKCkpOwoJCSRzY2hlZHVsZSA9IG5ldyBBY3Rpb25TY2hlZHVsZXJfU2ltcGxlU2NoZWR1bGUoYXNfZ2V0X2RhdGV0aW1lX29iamVjdCgnMSBkYXkgYWdvJykpOwoKCQkkY3JlYXRlZF9hY3Rpb25zID0gYXJyYXkoKTsKCQlmb3IgKCAkaSA9IDAgOyAkaSA8IDUgOyAkaSsrICkgewoJCQkkYWN0aW9uID0gbmV3IEFjdGlvblNjaGVkdWxlcl9BY3Rpb24oICRyYW5kb20sIGFycmF5KCRyYW5kb20pLCAkc2NoZWR1bGUgKTsKCQkJJGNyZWF0ZWRfYWN0aW9uc1tdID0gJHN0b3JlLT5zYXZlX2FjdGlvbiggJGFjdGlvbiApOwoJCX0KCgkJJHJ1bm5lci0+cnVuKCk7CgoJCWFkZF9maWx0ZXIoICdhY3Rpb25fc2NoZWR1bGVyX3JldGVudGlvbl9wZXJpb2QnLCAnX19yZXR1cm5femVybycgKTsgLy8gZGVsZXRlIGFueSBmaW5pc2hlZCBqb2IKCQkkY2xlYW5lciA9IG5ldyBBY3Rpb25TY2hlZHVsZXJfUXVldWVDbGVhbmVyKCAkc3RvcmUgKTsKCQkkY2xlYW5lci0+ZGVsZXRlX29sZF9hY3Rpb25zKCk7CgkJcmVtb3ZlX2ZpbHRlciggJ2FjdGlvbl9zY2hlZHVsZXJfcmV0ZW50aW9uX3BlcmlvZCcsICdfX3JldHVybl96ZXJvJyApOwoKCQlmb3JlYWNoICggJGNyZWF0ZWRfYWN0aW9ucyBhcyAkYWN0aW9uX2lkICkgewoJCQkkYWN0aW9uID0gJHN0b3JlLT5mZXRjaF9hY3Rpb24oJGFjdGlvbl9pZCk7CgkJCSR0aGlzLT5hc3NlcnRGYWxzZSgkYWN0aW9uLT5pc19maW5pc2hlZCgpKTsgLy8gaXQncyBhIE51bGxBY3Rpb24KCQl9Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHRlc3RfZGVsZXRlX2NhbmNlbGVkX2FjdGlvbnMoKSB7CgkJJHN0b3JlID0gQWN0aW9uU2NoZWR1bGVyOjpzdG9yZSgpOwoKCQkkcmFuZG9tID0gbWQ1KHJhbmQoKSk7CgkJJHNjaGVkdWxlID0gbmV3IEFjdGlvblNjaGVkdWxlcl9TaW1wbGVTY2hlZHVsZShhc19nZXRfZGF0ZXRpbWVfb2JqZWN0KCcxIGRheSBhZ28nKSk7CgoJCSRjcmVhdGVkX2FjdGlvbnMgPSBhcnJheSgpOwoJCWZvciAoICRpID0gMCA7ICRpIDwgNSA7ICRpKysgKSB7CgkJCSRhY3Rpb24gPSBuZXcgQWN0aW9uU2NoZWR1bGVyX0FjdGlvbiggJHJhbmRvbSwgYXJyYXkoJHJhbmRvbSksICRzY2hlZHVsZSApOwoJCQkkYWN0aW9uX2lkID0gJHN0b3JlLT5zYXZlX2FjdGlvbiggJGFjdGlvbiApOwoJCQkkc3RvcmUtPmNhbmNlbF9hY3Rpb24oICRhY3Rpb25faWQgKTsKCQkJJGNyZWF0ZWRfYWN0aW9uc1tdID0gJGFjdGlvbl9pZDsKCQl9CgoJCS8vIHRyYWNrIHRoZSBhY3Rpb25zIHRoYXQgYXJlIGRlbGV0ZWQKCQkkbW9ja19hY3Rpb24gPSBuZXcgTW9ja0FjdGlvbigpOwoJCWFkZF9hY3Rpb24oICdhY3Rpb25fc2NoZWR1bGVyX2RlbGV0ZWRfYWN0aW9uJywgYXJyYXkoICRtb2NrX2FjdGlvbiwgJ2FjdGlvbicgKSwgMTAsIDEgKTsKCQlhZGRfZmlsdGVyKCAnYWN0aW9uX3NjaGVkdWxlcl9yZXRlbnRpb25fcGVyaW9kJywgJ19fcmV0dXJuX3plcm8nICk7IC8vIGRlbGV0ZSBhbnkgZmluaXNoZWQgam9iCgoJCSRjbGVhbmVyID0gbmV3IEFjdGlvblNjaGVkdWxlcl9RdWV1ZUNsZWFuZXIoICRzdG9yZSApOwoJCSRjbGVhbmVyLT5kZWxldGVfb2xkX2FjdGlvbnMoKTsKCgkJcmVtb3ZlX2ZpbHRlciggJ2FjdGlvbl9zY2hlZHVsZXJfcmV0ZW50aW9uX3BlcmlvZCcsICdfX3JldHVybl96ZXJvJyApOwoJCXJlbW92ZV9hY3Rpb24oICdhY3Rpb25fc2NoZWR1bGVyX2RlbGV0ZWRfYWN0aW9uJywgYXJyYXkoICRtb2NrX2FjdGlvbiwgJ2FjdGlvbicgKSwgMTAgKTsKCgkJJGRlbGV0ZWRfYWN0aW9ucyA9IGFycmF5X21hcCggJ3Jlc2V0JywgJG1vY2tfYWN0aW9uLT5nZXRfYXJncygpICk7CgkJJHRoaXMtPmFzc2VydEVxdWFsU2V0cyggJGNyZWF0ZWRfYWN0aW9ucywgJGRlbGV0ZWRfYWN0aW9ucyApOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiB0ZXN0X2RvX25vdF9kZWxldGVfcmVjZW50X2FjdGlvbnMoKSB7CgkJJHN0b3JlID0gQWN0aW9uU2NoZWR1bGVyOjpzdG9yZSgpOwoJCSRydW5uZXIgPSBuZXcgQWN0aW9uU2NoZWR1bGVyX1F1ZXVlUnVubmVyKCAkc3RvcmUgKTsKCgkJJHJhbmRvbSA9IG1kNShyYW5kKCkpOwoJCSRzY2hlZHVsZSA9IG5ldyBBY3Rpb25TY2hlZHVsZXJfU2ltcGxlU2NoZWR1bGUoYXNfZ2V0X2RhdGV0aW1lX29iamVjdCgnMSBkYXkgYWdvJykpOwoKCQkkY3JlYXRlZF9hY3Rpb25zID0gYXJyYXkoKTsKCQlmb3IgKCAkaSA9IDAgOyAkaSA8IDUgOyAkaSsrICkgewoJCQkkYWN0aW9uID0gbmV3IEFjdGlvblNjaGVkdWxlcl9BY3Rpb24oICRyYW5kb20sIGFycmF5KCRyYW5kb20pLCAkc2NoZWR1bGUgKTsKCQkJJGNyZWF0ZWRfYWN0aW9uc1tdID0gJHN0b3JlLT5zYXZlX2FjdGlvbiggJGFjdGlvbiApOwoJCX0KCgkJJHJ1bm5lci0+cnVuKCk7CgoJCSRjbGVhbmVyID0gbmV3IEFjdGlvblNjaGVkdWxlcl9RdWV1ZUNsZWFuZXIoICRzdG9yZSApOwoJCSRjbGVhbmVyLT5kZWxldGVfb2xkX2FjdGlvbnMoKTsKCgkJZm9yZWFjaCAoICRjcmVhdGVkX2FjdGlvbnMgYXMgJGFjdGlvbl9pZCApIHsKCQkJJGFjdGlvbiA9ICRzdG9yZS0+ZmV0Y2hfYWN0aW9uKCRhY3Rpb25faWQpOwoJCQkkdGhpcy0+YXNzZXJ0VHJ1ZSgkYWN0aW9uLT5pc19maW5pc2hlZCgpKTsgLy8gSXQncyBhIEZpbmlzaGVkQWN0aW9uCgkJfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiB0ZXN0X3Jlc2V0X3VucnVuX2FjdGlvbnMoKSB7CgkJJHN0b3JlID0gQWN0aW9uU2NoZWR1bGVyOjpzdG9yZSgpOwoKCQkkcmFuZG9tID0gbWQ1KHJhbmQoKSk7CgkJJHNjaGVkdWxlID0gbmV3IEFjdGlvblNjaGVkdWxlcl9TaW1wbGVTY2hlZHVsZShhc19nZXRfZGF0ZXRpbWVfb2JqZWN0KCcxIGRheSBhZ28nKSk7CgoJCSRjcmVhdGVkX2FjdGlvbnMgPSBhcnJheSgpOwoJCWZvciAoICRpID0gMCA7ICRpIDwgNSA7ICRpKysgKSB7CgkJCSRhY3Rpb24gPSBuZXcgQWN0aW9uU2NoZWR1bGVyX0FjdGlvbiggJHJhbmRvbSwgYXJyYXkoJHJhbmRvbSksICRzY2hlZHVsZSApOwoJCQkkY3JlYXRlZF9hY3Rpb25zW10gPSAkc3RvcmUtPnNhdmVfYWN0aW9uKCAkYWN0aW9uICk7CgkJfQoKCQkkc3RvcmUtPnN0YWtlX2NsYWltKDEwKTsKCgkJLy8gZG9uJ3QgYWN0dWFsbHkgcHJvY2VzcyB0aGUgam9icywgdG8gc2ltdWxhdGUgYSByZXF1ZXN0IHRoYXQgdGltZWQgb3V0CgoJCWFkZF9maWx0ZXIoICdhY3Rpb25fc2NoZWR1bGVyX3RpbWVvdXRfcGVyaW9kJywgJ19fcmV0dXJuX3plcm8nICk7IC8vIGRlbGV0ZSBhbnkgZmluaXNoZWQgam9iCgkJJGNsZWFuZXIgPSBuZXcgQWN0aW9uU2NoZWR1bGVyX1F1ZXVlQ2xlYW5lciggJHN0b3JlICk7CgkJJGNsZWFuZXItPnJlc2V0X3RpbWVvdXRzKCk7CgoJCXJlbW92ZV9maWx0ZXIoICdhY3Rpb25fc2NoZWR1bGVyX3RpbWVvdXRfcGVyaW9kJywgJ19fcmV0dXJuX3plcm8nICk7CgoJCSRjbGFpbSA9ICRzdG9yZS0+c3Rha2VfY2xhaW0oMTApOwoJCSR0aGlzLT5hc3NlcnRFcXVhbFNldHMoJGNyZWF0ZWRfYWN0aW9ucywgJGNsYWltLT5nZXRfYWN0aW9ucygpKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdGVzdF9kb19ub3RfcmVzZXRfZmFpbGVkX2FjdGlvbigpIHsKCQkkc3RvcmUgPSBBY3Rpb25TY2hlZHVsZXI6OnN0b3JlKCk7CgoJCSRyYW5kb20gPSBtZDUocmFuZCgpKTsKCQkkc2NoZWR1bGUgPSBuZXcgQWN0aW9uU2NoZWR1bGVyX1NpbXBsZVNjaGVkdWxlKGFzX2dldF9kYXRldGltZV9vYmplY3QoJzEgZGF5IGFnbycpKTsKCgkJJGNyZWF0ZWRfYWN0aW9ucyA9IGFycmF5KCk7CgkJZm9yICggJGkgPSAwIDsgJGkgPCA1IDsgJGkrKyApIHsKCQkJJGFjdGlvbiA9IG5ldyBBY3Rpb25TY2hlZHVsZXJfQWN0aW9uKCAkcmFuZG9tLCBhcnJheSgkcmFuZG9tKSwgJHNjaGVkdWxlICk7CgkJCSRjcmVhdGVkX2FjdGlvbnNbXSA9ICRzdG9yZS0+c2F2ZV9hY3Rpb24oICRhY3Rpb24gKTsKCQl9CgoJCSRjbGFpbSA9ICRzdG9yZS0+c3Rha2VfY2xhaW0oMTApOwoJCWZvcmVhY2ggKCAkY2xhaW0tPmdldF9hY3Rpb25zKCkgYXMgJGFjdGlvbl9pZCApIHsKCQkJLy8gc2ltdWxhdGUgdGhlIGZpcnN0IGFjdGlvbiBpbnRlcnJ1cHRlZCBieSBhbiB1bmNhdGNoYWJsZSBmYXRhbCBlcnJvcgoJCQkkc3RvcmUtPmxvZ19leGVjdXRpb24oICRhY3Rpb25faWQgKTsKCQkJYnJlYWs7CgkJfQoKCQlhZGRfZmlsdGVyKCAnYWN0aW9uX3NjaGVkdWxlcl90aW1lb3V0X3BlcmlvZCcsICdfX3JldHVybl96ZXJvJyApOyAvLyBkZWxldGUgYW55IGZpbmlzaGVkIGpvYgoJCSRjbGVhbmVyID0gbmV3IEFjdGlvblNjaGVkdWxlcl9RdWV1ZUNsZWFuZXIoICRzdG9yZSApOwoJCSRjbGVhbmVyLT5yZXNldF90aW1lb3V0cygpOwoJCXJlbW92ZV9maWx0ZXIoICdhY3Rpb25fc2NoZWR1bGVyX3RpbWVvdXRfcGVyaW9kJywgJ19fcmV0dXJuX3plcm8nICk7CgoJCSRuZXdfY2xhaW0gPSAkc3RvcmUtPnN0YWtlX2NsYWltKDEwKTsKCQkkdGhpcy0+YXNzZXJ0Q291bnQoIDQsICRuZXdfY2xhaW0tPmdldF9hY3Rpb25zKCkgKTsKCgkJYWRkX2ZpbHRlciggJ2FjdGlvbl9zY2hlZHVsZXJfZmFpbHVyZV9wZXJpb2QnLCAnX19yZXR1cm5femVybycgKTsKCQkkY2xlYW5lci0+bWFya19mYWlsdXJlcygpOwoJCXJlbW92ZV9maWx0ZXIoICdhY3Rpb25fc2NoZWR1bGVyX2ZhaWx1cmVfcGVyaW9kJywgJ19fcmV0dXJuX3plcm8nICk7CgoJCSRmYWlsZWQgPSAkc3RvcmUtPnF1ZXJ5X2FjdGlvbnMoYXJyYXkoJ3N0YXR1cycgPT4gQWN0aW9uU2NoZWR1bGVyX1N0b3JlOjpTVEFUVVNfRkFJTEVEKSk7CgkJJHRoaXMtPmFzc2VydEVxdWFscyggJGNyZWF0ZWRfYWN0aW9uc1swXSwgJGZhaWxlZFswXSApOwoJCSR0aGlzLT5hc3NlcnRDb3VudCggMSwgJGZhaWxlZCApOwoKCgl9Cn0KICI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YToxOntzOjM0OiJcQWN0aW9uU2NoZWR1bGVyX1F1ZXVlQ2xlYW5lcl9UZXN0IjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTE6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM0OiJcQWN0aW9uU2NoZWR1bGVyX1F1ZXVlQ2xlYW5lcl9UZXN0IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MzM6IkFjdGlvblNjaGVkdWxlcl9RdWV1ZUNsZWFuZXJfVGVzdCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mzk6IkNsYXNzIEFjdGlvblNjaGVkdWxlcl9RdWV1ZUNsZWFuZXJfVGVzdCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcGFyZW50IjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mjk6IlxBY3Rpb25TY2hlZHVsZXJfVW5pdFRlc3RDYXNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjg6IkFjdGlvblNjaGVkdWxlcl9Vbml0VGVzdENhc2UiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AaW1wbGVtZW50cyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGNvbnN0YW50cyI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHByb3BlcnRpZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBtZXRob2RzIjthOjU6e3M6NjE6IlxBY3Rpb25TY2hlZHVsZXJfUXVldWVDbGVhbmVyX1Rlc3Q6OnRlc3RfZGVsZXRlX29sZF9hY3Rpb25zKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjE6IlxBY3Rpb25TY2hlZHVsZXJfUXVldWVDbGVhbmVyX1Rlc3Q6OnRlc3RfZGVsZXRlX29sZF9hY3Rpb25zKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMzoidGVzdF9kZWxldGVfb2xkX2FjdGlvbnMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjY2OiJcQWN0aW9uU2NoZWR1bGVyX1F1ZXVlQ2xlYW5lcl9UZXN0Ojp0ZXN0X2RlbGV0ZV9jYW5jZWxlZF9hY3Rpb25zKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjY6IlxBY3Rpb25TY2hlZHVsZXJfUXVldWVDbGVhbmVyX1Rlc3Q6OnRlc3RfZGVsZXRlX2NhbmNlbGVkX2FjdGlvbnMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI4OiJ0ZXN0X2RlbGV0ZV9jYW5jZWxlZF9hY3Rpb25zIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NzE6IlxBY3Rpb25TY2hlZHVsZXJfUXVldWVDbGVhbmVyX1Rlc3Q6OnRlc3RfZG9fbm90X2RlbGV0ZV9yZWNlbnRfYWN0aW9ucygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjcxOiJcQWN0aW9uU2NoZWR1bGVyX1F1ZXVlQ2xlYW5lcl9UZXN0Ojp0ZXN0X2RvX25vdF9kZWxldGVfcmVjZW50X2FjdGlvbnMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjMzOiJ0ZXN0X2RvX25vdF9kZWxldGVfcmVjZW50X2FjdGlvbnMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo2MjoiXEFjdGlvblNjaGVkdWxlcl9RdWV1ZUNsZWFuZXJfVGVzdDo6dGVzdF9yZXNldF91bnJ1bl9hY3Rpb25zKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjI6IlxBY3Rpb25TY2hlZHVsZXJfUXVldWVDbGVhbmVyX1Rlc3Q6OnRlc3RfcmVzZXRfdW5ydW5fYWN0aW9ucygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6InRlc3RfcmVzZXRfdW5ydW5fYWN0aW9ucyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjY5OiJcQWN0aW9uU2NoZWR1bGVyX1F1ZXVlQ2xlYW5lcl9UZXN0Ojp0ZXN0X2RvX25vdF9yZXNldF9mYWlsZWRfYWN0aW9uKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Njk6IlxBY3Rpb25TY2hlZHVsZXJfUXVldWVDbGVhbmVyX1Rlc3Q6OnRlc3RfZG9fbm90X3Jlc2V0X2ZhaWxlZF9hY3Rpb24oKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjMxOiJ0ZXN0X2RvX25vdF9yZXNldF9mYWlsZWRfYWN0aW9uIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjExMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX19czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHVzZWRUcmFpdHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fX0=";