1688054432
waR3U4bTeM%3Aab1133cee6dd9a2c7e2f8b8e88c027c3-bb4c0b7383f80898b80c546d488945dd
s:38360:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzA6Ildhcm4gYWJvdXQgY29tbWVudGVkIG91dCBjb2RlLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTozOntpOjA7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yIjo0OntzOjc6IgAqAG5hbWUiO3M6NjoiYXV0aG9yIjtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvck5hbWUiO3M6MTM6IkdyZWcgU2hlcndvb2QiO3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xBdXRob3IAYXV0aG9yRW1haWwiO3M6MTk6ImdzaGVyd29vZEBzcXVpei5uZXQiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO31pOjE7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcR2VuZXJpYyI6Mjp7czo3OiIAKgBuYW1lIjtzOjk6ImNvcHlyaWdodCI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDQ6IjIwMDYtMjAxNSBTcXVpeiBQdHkgTHRkIChBQk4gNzcgMDg0IDY3MCA2MDApIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo3OiJsaWNlbnNlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo4MDoiaHR0cHM6Ly9naXRodWIuY29tL3NxdWl6bGFicy9QSFBfQ29kZVNuaWZmZXIvYmxvYi9tYXN0ZXIvbGljZW5jZS50eHQgQlNEIExpY2VuY2UiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6ImJiNGMwYjczODNmODA4OThiODBjNTQ2ZDQ4ODk0NWRkIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWUiO3M6MjU6IkNvbW1lbnRlZE91dENvZGVTbmlmZi5waHAiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo4OToidmVuZG9yL3NxdWl6bGFicy9waHBfY29kZXNuaWZmZXIvc3JjL1N0YW5kYXJkcy9TcXVpei9TbmlmZnMvUEhQL0NvbW1lbnRlZE91dENvZGVTbmlmZi5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjk2MTg6Ijw/cGhwCi8qKgogKiBXYXJuIGFib3V0IGNvbW1lbnRlZCBvdXQgY29kZS4KICoKICogQGF1dGhvciAgICBHcmVnIFNoZXJ3b29kIDxnc2hlcndvb2RAc3F1aXoubmV0PgogKiBAY29weXJpZ2h0IDIwMDYtMjAxNSBTcXVpeiBQdHkgTHRkIChBQk4gNzcgMDg0IDY3MCA2MDApCiAqIEBsaWNlbnNlICAgaHR0cHM6Ly9naXRodWIuY29tL3NxdWl6bGFicy9QSFBfQ29kZVNuaWZmZXIvYmxvYi9tYXN0ZXIvbGljZW5jZS50eHQgQlNEIExpY2VuY2UKICovCgpuYW1lc3BhY2UgUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xTcXVpelxTbmlmZnNcUEhQOwoKdXNlIFBIUF9Db2RlU25pZmZlclxFeGNlcHRpb25zXFRva2VuaXplckV4Y2VwdGlvbjsKdXNlIFBIUF9Db2RlU25pZmZlclxGaWxlc1xGaWxlOwp1c2UgUEhQX0NvZGVTbmlmZmVyXFNuaWZmc1xTbmlmZjsKdXNlIFBIUF9Db2RlU25pZmZlclxVdGlsXFRva2VuczsKCmNsYXNzIENvbW1lbnRlZE91dENvZGVTbmlmZiBpbXBsZW1lbnRzIFNuaWZmCnsKCiAgICAvKioKICAgICAqIEEgbGlzdCBvZiB0b2tlbml6ZXJzIHRoaXMgc25pZmYgc3VwcG9ydHMuCiAgICAgKgogICAgICogQHZhciBhcnJheQogICAgICovCiAgICBwdWJsaWMgJHN1cHBvcnRlZFRva2VuaXplcnMgPSBbCiAgICAgICAgJ1BIUCcsCiAgICAgICAgJ0NTUycsCiAgICBdOwoKICAgIC8qKgogICAgICogSWYgYSBjb21tZW50IGlzIG1vcmUgdGhhbiAkbWF4UGVyY2VudGFnZSUgY29kZSwgYSB3YXJuaW5nIHdpbGwgYmUgc2hvd24uCiAgICAgKgogICAgICogQHZhciBpbnRlZ2VyCiAgICAgKi8KICAgIHB1YmxpYyAkbWF4UGVyY2VudGFnZSA9IDM1OwoKCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgdG9rZW5zIHRoaXMgdGVzdCB3YW50cyB0byBsaXN0ZW4gZm9yLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlZ2lzdGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gW1RfQ09NTUVOVF07CgogICAgfS8vZW5kIHJlZ2lzdGVyKCkKCgogICAgLyoqCiAgICAgKiBQcm9jZXNzZXMgdGhpcyB0ZXN0LCB3aGVuIG9uZSBvZiBpdHMgdG9rZW5zIGlzIGVuY291bnRlcmVkLgogICAgICoKICAgICAqIEBwYXJhbSBcUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGUgJHBocGNzRmlsZSBUaGUgZmlsZSBiZWluZyBzY2FubmVkLgogICAgICogQHBhcmFtIGludCAgICAgICAgICAgICAgICAgICAgICAgICAkc3RhY2tQdHIgIFRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCB0b2tlbgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBzdGFjayBwYXNzZWQgaW4gJHRva2Vucy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGludHx2b2lkIEludGVnZXIgc3RhY2sgcG9pbnRlciB0byBza2lwIGZvcndhcmQgb3Igdm9pZCB0byBjb250aW51ZQogICAgICogICAgICAgICAgICAgICAgICBub3JtYWwgZmlsZSBwcm9jZXNzaW5nLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcHJvY2VzcyhGaWxlICRwaHBjc0ZpbGUsICRzdGFja1B0cikKICAgIHsKICAgICAgICAkdG9rZW5zID0gJHBocGNzRmlsZS0+Z2V0VG9rZW5zKCk7CgogICAgICAgIC8vIElnbm9yZSBjb21tZW50cyBhdCB0aGUgZW5kIG9mIGNvZGUgYmxvY2tzLgogICAgICAgIGlmIChzdWJzdHIoJHRva2Vuc1skc3RhY2tQdHJdWydjb250ZW50J10sIDAsIDYpID09PSAnLy9lbmQgJykgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkY29udGVudCAgICAgID0gJyc7CiAgICAgICAgJGxhc3RMaW5lU2VlbiA9ICR0b2tlbnNbJHN0YWNrUHRyXVsnbGluZSddOwogICAgICAgICRjb21tZW50U3R5bGUgPSAnbGluZSc7CiAgICAgICAgaWYgKHN0cnBvcygkdG9rZW5zWyRzdGFja1B0cl1bJ2NvbnRlbnQnXSwgJy8qJykgPT09IDApIHsKICAgICAgICAgICAgJGNvbW1lbnRTdHlsZSA9ICdibG9jayc7CiAgICAgICAgfQoKICAgICAgICAkbGFzdENvbW1lbnRCbG9ja1Rva2VuID0gJHN0YWNrUHRyOwogICAgICAgIGZvciAoJGkgPSAkc3RhY2tQdHI7ICRpIDwgJHBocGNzRmlsZS0+bnVtVG9rZW5zOyAkaSsrKSB7CiAgICAgICAgICAgIGlmIChpc3NldChUb2tlbnM6OiRlbXB0eVRva2Vuc1skdG9rZW5zWyRpXVsnY29kZSddXSkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCR0b2tlbnNbJGldWydjb2RlJ10gPT09IFRfV0hJVEVTUEFDRSkgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChpc3NldChUb2tlbnM6OiRwaHBjc0NvbW1lbnRUb2tlbnNbJHRva2Vuc1skaV1bJ2NvZGUnXV0pID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAkbGFzdExpbmVTZWVuID0gJHRva2Vuc1skaV1bJ2xpbmUnXTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJGNvbW1lbnRTdHlsZSA9PT0gJ2xpbmUnCiAgICAgICAgICAgICAgICAmJiAoJGxhc3RMaW5lU2VlbiArIDEpIDw9ICR0b2tlbnNbJGldWydsaW5lJ10KICAgICAgICAgICAgICAgICYmIHN0cnBvcygkdG9rZW5zWyRpXVsnY29udGVudCddLCAnLyonKSA9PT0gMAogICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgIC8vIEZpcnN0IG5vbi13aGl0ZXNwYWNlIHRva2VuIG9uIGEgbmV3IGxpbmUgaXMgc3RhcnQgb2YgYSBkaWZmZXJlbnQgc3R5bGUgY29tbWVudC4KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJGNvbW1lbnRTdHlsZSA9PT0gJ2xpbmUnCiAgICAgICAgICAgICAgICAmJiAoJGxhc3RMaW5lU2VlbiArIDEpIDwgJHRva2Vuc1skaV1bJ2xpbmUnXQogICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgIC8vIEJsYW5rIGxpbmUgYnJlYWtzIGEgJy8vJyBzdHlsZSBjb21tZW50IGJsb2NrLgogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8qCiAgICAgICAgICAgICAgICBUcmltIGFzIG11Y2ggb2ZmIHRoZSBjb21tZW50IGFzIHBvc3NpYmxlIHNvIHdlIGRvbid0CiAgICAgICAgICAgICAgICBoYXZlIGFkZGl0aW9uYWwgd2hpdGVzcGFjZSB0b2tlbnMgb3IgY29tbWVudCB0b2tlbnMKICAgICAgICAgICAgKi8KCiAgICAgICAgICAgICR0b2tlbkNvbnRlbnQgPSB0cmltKCR0b2tlbnNbJGldWydjb250ZW50J10pOwogICAgICAgICAgICAkYnJlYWsgICAgICAgID0gZmFsc2U7CgogICAgICAgICAgICBpZiAoJGNvbW1lbnRTdHlsZSA9PT0gJ2xpbmUnKSB7CiAgICAgICAgICAgICAgICBpZiAoc3Vic3RyKCR0b2tlbkNvbnRlbnQsIDAsIDIpID09PSAnLy8nKSB7CiAgICAgICAgICAgICAgICAgICAgJHRva2VuQ29udGVudCA9IHN1YnN0cigkdG9rZW5Db250ZW50LCAyKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoc3Vic3RyKCR0b2tlbkNvbnRlbnQsIDAsIDEpID09PSAnIycpIHsKICAgICAgICAgICAgICAgICAgICAkdG9rZW5Db250ZW50ID0gc3Vic3RyKCR0b2tlbkNvbnRlbnQsIDEpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkdG9rZW5Db250ZW50LCAwLCAzKSA9PT0gJy8qKicpIHsKICAgICAgICAgICAgICAgICAgICAkdG9rZW5Db250ZW50ID0gc3Vic3RyKCR0b2tlbkNvbnRlbnQsIDMpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzdWJzdHIoJHRva2VuQ29udGVudCwgMCwgMikgPT09ICcvKicpIHsKICAgICAgICAgICAgICAgICAgICAkdG9rZW5Db250ZW50ID0gc3Vic3RyKCR0b2tlbkNvbnRlbnQsIDIpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzdWJzdHIoJHRva2VuQ29udGVudCwgLTIpID09PSAnKi8nKSB7CiAgICAgICAgICAgICAgICAgICAgJHRva2VuQ29udGVudCA9IHN1YnN0cigkdG9rZW5Db250ZW50LCAwLCAtMik7CiAgICAgICAgICAgICAgICAgICAgJGJyZWFrICAgICAgICA9IHRydWU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkdG9rZW5Db250ZW50LCAwLCAxKSA9PT0gJyonKSB7CiAgICAgICAgICAgICAgICAgICAgJHRva2VuQ29udGVudCA9IHN1YnN0cigkdG9rZW5Db250ZW50LCAxKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfS8vZW5kIGlmCgogICAgICAgICAgICAkY29udGVudCAgICAgLj0gJHRva2VuQ29udGVudC4kcGhwY3NGaWxlLT5lb2xDaGFyOwogICAgICAgICAgICAkbGFzdExpbmVTZWVuID0gJHRva2Vuc1skaV1bJ2xpbmUnXTsKCiAgICAgICAgICAgICRsYXN0Q29tbWVudEJsb2NrVG9rZW4gPSAkaTsKCiAgICAgICAgICAgIGlmICgkYnJlYWsgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgIC8vIENsb3NlciBvZiBhIGJsb2NrIGNvbW1lbnQgZm91bmQuCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0vL2VuZCBmb3IKCiAgICAgICAgLy8gSWdub3JlIHR5cGljYWwgd2FybmluZyBzdXBwcmVzc2lvbiBhbm5vdGF0aW9ucyBmcm9tIG90aGVyIHRvb2xzLgogICAgICAgIGlmIChwcmVnX21hdGNoKCdgXlxzKkBbQS1aYS16KClcLl8tXStccyokYCcsICRjb250ZW50KSA9PT0gMSkgewogICAgICAgICAgICByZXR1cm4gKCRsYXN0Q29tbWVudEJsb2NrVG9rZW4gKyAxKTsKICAgICAgICB9CgogICAgICAgIC8vIFF1aXRlIGEgZmV3IGNvbW1lbnRzIHVzZSBtdWx0aXBsZSBkYXNoZXMsIGVxdWFscyBzaWducyBldGMKICAgICAgICAvLyB0byBmcmFtZSBjb21tZW50cyBhbmQgbGljZW5jZSBoZWFkZXJzLgogICAgICAgICRjb250ZW50ID0gcHJlZ19yZXBsYWNlKCcvWy09IypdezIsfS8nLCAnLScsICRjb250ZW50KTsKCiAgICAgICAgLy8gUmFuZG9tIG51bWJlcnMgc2l0dGluZyBpbnNpZGUgdGhlIGNvbnRlbnQgY2FuIHRocm93IHBhcnNlIGVycm9ycwogICAgICAgIC8vIGZvciBpbnZhbGlkIGxpdGVyYWxzIGluIFBIUDcrLCBzbyBzdHJpcCB0aG9zZS4KICAgICAgICAkY29udGVudCA9IHByZWdfcmVwbGFjZSgnL1xkKy8nLCAnJywgJGNvbnRlbnQpOwoKICAgICAgICAkY29udGVudCA9IHRyaW0oJGNvbnRlbnQpOwoKICAgICAgICBpZiAoJGNvbnRlbnQgPT09ICcnKSB7CiAgICAgICAgICAgIHJldHVybiAoJGxhc3RDb21tZW50QmxvY2tUb2tlbiArIDEpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRwaHBjc0ZpbGUtPnRva2VuaXplclR5cGUgPT09ICdQSFAnKSB7CiAgICAgICAgICAgICRjb250ZW50ID0gJzw/cGhwICcuJGNvbnRlbnQuJyA/Pic7CiAgICAgICAgfQoKICAgICAgICAvLyBCZWNhdXNlIHdlIGFyZSBub3QgcmVhbGx5IHBhcnNpbmcgY29kZSwgdGhlIHRva2VuaXplciBjYW4gdGhyb3cgYWxsIHNvcnRzCiAgICAgICAgLy8gb2YgZXJyb3JzIHRoYXQgZG9uJ3QgbWVhbiBhbnl0aGluZywgc28gaWdub3JlIHRoZW0uCiAgICAgICAgJG9sZEVycm9ycyA9IGluaV9nZXQoJ2Vycm9yX3JlcG9ydGluZycpOwogICAgICAgIGluaV9zZXQoJ2Vycm9yX3JlcG9ydGluZycsIDApOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0b2tlbml6ZXJDbGFzcyA9IGdldF9jbGFzcygkcGhwY3NGaWxlLT50b2tlbml6ZXIpOwogICAgICAgICAgICAkdG9rZW5pemVyICAgICAgPSBuZXcgJHRva2VuaXplckNsYXNzKCRjb250ZW50LCAkcGhwY3NGaWxlLT5jb25maWcsICRwaHBjc0ZpbGUtPmVvbENoYXIpOwogICAgICAgICAgICAkc3RyaW5nVG9rZW5zICAgPSAkdG9rZW5pemVyLT5nZXRUb2tlbnMoKTsKICAgICAgICB9IGNhdGNoIChUb2tlbml6ZXJFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgLy8gV2UgY291bGRuJ3QgY2hlY2sgdGhlIGNvbW1lbnQsIHNvIGlnbm9yZSBpdC4KICAgICAgICAgICAgaW5pX3NldCgnZXJyb3JfcmVwb3J0aW5nJywgJG9sZEVycm9ycyk7CiAgICAgICAgICAgIHJldHVybiAoJGxhc3RDb21tZW50QmxvY2tUb2tlbiArIDEpOwogICAgICAgIH0KCiAgICAgICAgaW5pX3NldCgnZXJyb3JfcmVwb3J0aW5nJywgJG9sZEVycm9ycyk7CgogICAgICAgICRudW1Ub2tlbnMgPSBjb3VudCgkc3RyaW5nVG9rZW5zKTsKCiAgICAgICAgLyoKICAgICAgICAgICAgV2Uga25vdyB3aGF0IHRoZSBmaXJzdCB0d28gYW5kIGxhc3QgdHdvIHRva2VucyBzaG91bGQgYmUKICAgICAgICAgICAgKGJlY2F1c2Ugd2UgcHV0IHRoZW0gdGhlcmUpIHNvIGlnbm9yZSB0aGlzIGNvbW1lbnQgaWYgdGhvc2UKICAgICAgICAgICAgdG9rZW5zIHdlcmUgbm90IHBhcnNlZCBjb3JyZWN0bHkuIEl0IG9idmlvdXNseSBtZWFucyB0aGlzIGlzIG5vdAogICAgICAgICAgICB2YWxpZCBjb2RlLgogICAgICAgICovCgogICAgICAgIC8vIEZpcnN0IHRva2VuIGlzIGFsd2F5cyB0aGUgb3BlbmluZyB0YWcuCiAgICAgICAgaWYgKCRzdHJpbmdUb2tlbnNbMF1bJ2NvZGUnXSAhPT0gVF9PUEVOX1RBRykgewogICAgICAgICAgICByZXR1cm4gKCRsYXN0Q29tbWVudEJsb2NrVG9rZW4gKyAxKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBhcnJheV9zaGlmdCgkc3RyaW5nVG9rZW5zKTsKICAgICAgICAgICAgLS0kbnVtVG9rZW5zOwogICAgICAgIH0KCiAgICAgICAgLy8gTGFzdCB0b2tlbiBpcyBhbHdheXMgdGhlIGNsb3NpbmcgdGFnLCB1bmxlc3Mgc29tZXRoaW5nIHdlbnQgd3JvbmcuCiAgICAgICAgaWYgKGlzc2V0KCRzdHJpbmdUb2tlbnNbKCRudW1Ub2tlbnMgLSAxKV0pID09PSBmYWxzZQogICAgICAgICAgICB8fCAkc3RyaW5nVG9rZW5zWygkbnVtVG9rZW5zIC0gMSldWydjb2RlJ10gIT09IFRfQ0xPU0VfVEFHCiAgICAgICAgKSB7CiAgICAgICAgICAgIHJldHVybiAoJGxhc3RDb21tZW50QmxvY2tUb2tlbiArIDEpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFycmF5X3BvcCgkc3RyaW5nVG9rZW5zKTsKICAgICAgICAgICAgLS0kbnVtVG9rZW5zOwogICAgICAgIH0KCiAgICAgICAgLy8gU2Vjb25kIGxhc3QgdG9rZW4gaXMgYWx3YXlzIHdoaXRlc3BhY2Ugb3IgYSBjb21tZW50LCBkZXBlbmRpbmcKICAgICAgICAvLyBvbiB0aGUgY29kZSBpbnNpZGUgdGhlIGNvbW1lbnQuCiAgICAgICAgaWYgKCRwaHBjc0ZpbGUtPnRva2VuaXplclR5cGUgPT09ICdQSFAnKSB7CiAgICAgICAgICAgIGlmIChpc3NldChUb2tlbnM6OiRlbXB0eVRva2Vuc1skc3RyaW5nVG9rZW5zWygkbnVtVG9rZW5zIC0gMSldWydjb2RlJ11dKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIHJldHVybiAoJGxhc3RDb21tZW50QmxvY2tUb2tlbiArIDEpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJHN0cmluZ1Rva2Vuc1soJG51bVRva2VucyAtIDEpXVsnY29kZSddID09PSBUX1dISVRFU1BBQ0UpIHsKICAgICAgICAgICAgICAgIGFycmF5X3BvcCgkc3RyaW5nVG9rZW5zKTsKICAgICAgICAgICAgICAgIC0tJG51bVRva2VuczsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJGVtcHR5VG9rZW5zICA9IFsKICAgICAgICAgICAgVF9XSElURVNQQUNFICAgICAgICAgICAgICA9PiB0cnVlLAogICAgICAgICAgICBUX1NUUklORyAgICAgICAgICAgICAgICAgID0+IHRydWUsCiAgICAgICAgICAgIFRfU1RSSU5HX0NPTkNBVCAgICAgICAgICAgPT4gdHJ1ZSwKICAgICAgICAgICAgVF9FTkNBUFNFRF9BTkRfV0hJVEVTUEFDRSA9PiB0cnVlLAogICAgICAgICAgICBUX05PTkUgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCiAgICAgICAgICAgIFRfQ09NTUVOVCAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKICAgICAgICBdOwogICAgICAgICRlbXB0eVRva2VucyArPSBUb2tlbnM6OiRwaHBjc0NvbW1lbnRUb2tlbnM7CgogICAgICAgICRudW1Db21tZW50ICAgICAgID0gMDsKICAgICAgICAkbnVtUG9zc2libGUgICAgICA9IDA7CiAgICAgICAgJG51bUNvZGUgICAgICAgICAgPSAwOwogICAgICAgICRudW1Ob25XaGl0ZXNwYWNlID0gMDsKCiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgJG51bVRva2VuczsgJGkrKykgewogICAgICAgICAgICBpZiAoaXNzZXQoJGVtcHR5VG9rZW5zWyRzdHJpbmdUb2tlbnNbJGldWydjb2RlJ11dKSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgLy8gTG9va3MgbGlrZSBjb21tZW50LgogICAgICAgICAgICAgICAgJG51bUNvbW1lbnQrKzsKICAgICAgICAgICAgfSBlbHNlIGlmIChpc3NldChUb2tlbnM6OiRjb21wYXJpc29uVG9rZW5zWyRzdHJpbmdUb2tlbnNbJGldWydjb2RlJ11dKSA9PT0gdHJ1ZQogICAgICAgICAgICAgICAgfHwgaXNzZXQoVG9rZW5zOjokYXJpdGhtZXRpY1Rva2Vuc1skc3RyaW5nVG9rZW5zWyRpXVsnY29kZSddXSkgPT09IHRydWUKICAgICAgICAgICAgICAgIHx8ICRzdHJpbmdUb2tlbnNbJGldWydjb2RlJ10gPT09IFRfR09UT19MQUJFTAogICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgIC8vIENvbW1lbnRlZCBvdXQgSFRNTC9YTUwgYW5kIG90aGVyIGRvY3MgY29udGFpbiBhIGxvdCBvZiB0aGVzZQogICAgICAgICAgICAgICAgLy8gY2hhcmFjdGVycywgc28gaXQgaXMgYmVzdCB0byBub3QgdXNlIHRoZW0gZGlyZWN0bHkuCiAgICAgICAgICAgICAgICAkbnVtUG9zc2libGUrKzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIExvb2tzIGxpa2UgY29kZS4KICAgICAgICAgICAgICAgICRudW1Db2RlKys7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgkc3RyaW5nVG9rZW5zWyRpXVsnY29kZSddICE9PSBUX1dISVRFU1BBQ0UpIHsKICAgICAgICAgICAgICAgICsrJG51bU5vbldoaXRlc3BhY2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIElnbm9yZSBjb21tZW50cyB3aXRoIG9ubHkgdHdvIG9yIGxlc3Mgbm9uLXdoaXRlc3BhY2UgdG9rZW5zLgogICAgICAgIC8vIFNhbXBsZSBzaXplIHRvbyBzbWFsbCBmb3IgYSByZWxpYWJseSBkZXRlcm1pbmF0aW9uLgogICAgICAgIGlmICgkbnVtTm9uV2hpdGVzcGFjZSA8PSAyKSB7CiAgICAgICAgICAgIHJldHVybiAoJGxhc3RDb21tZW50QmxvY2tUb2tlbiArIDEpOwogICAgICAgIH0KCiAgICAgICAgJHBlcmNlbnRDb2RlID0gY2VpbCgoKCRudW1Db2RlIC8gJG51bVRva2VucykgKiAxMDApKTsKICAgICAgICBpZiAoJHBlcmNlbnRDb2RlID4gJHRoaXMtPm1heFBlcmNlbnRhZ2UpIHsKICAgICAgICAgICAgLy8gSnVzdCBpbiBjYXNlLgogICAgICAgICAgICAkcGVyY2VudENvZGUgPSBtaW4oMTAwLCAkcGVyY2VudENvZGUpOwoKICAgICAgICAgICAgJGVycm9yID0gJ1RoaXMgY29tbWVudCBpcyAlcyUlIHZhbGlkIGNvZGU7IGlzIHRoaXMgY29tbWVudGVkIG91dCBjb2RlPyc7CiAgICAgICAgICAgICRkYXRhICA9IFskcGVyY2VudENvZGVdOwogICAgICAgICAgICAkcGhwY3NGaWxlLT5hZGRXYXJuaW5nKCRlcnJvciwgJHN0YWNrUHRyLCAnRm91bmQnLCAkZGF0YSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gKCRsYXN0Q29tbWVudEJsb2NrVG9rZW4gKyAxKTsKCiAgICB9Ly9lbmQgcHJvY2VzcygpCgoKfS8vZW5kIGNsYXNzCiI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjE6e3M6NDM6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFNxdWl6XFNuaWZmc1xQSFAiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MzoiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcU3F1aXpcU25pZmZzXFBIUCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjM6IlBIUCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YToxOntzOjY1OiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xTcXVpelxTbmlmZnNcUEhQXENvbW1lbnRlZE91dENvZGVTbmlmZiI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18iOjEzOntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NToiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcU3F1aXpcU25pZmZzXFBIUFxDb21tZW50ZWRPdXRDb2RlU25pZmYiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMToiQ29tbWVudGVkT3V0Q29kZVNuaWZmIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO047czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGltcGxlbWVudHMiO2E6MTp7czoyOToiXFBIUF9Db2RlU25pZmZlclxTbmlmZnNcU25pZmYiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyOToiXFBIUF9Db2RlU25pZmZlclxTbmlmZnNcU25pZmYiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJTbmlmZiI7fX1zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YToyOntzOjg3OiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xTcXVpelxTbmlmZnNcUEhQXENvbW1lbnRlZE91dENvZGVTbmlmZjo6JHN1cHBvcnRlZFRva2VuaXplcnMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjExOntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjg3OiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xTcXVpelxTbmlmZnNcUEhQXENvbW1lbnRlZE91dENvZGVTbmlmZjo6JHN1cHBvcnRlZFRva2VuaXplcnMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToic3VwcG9ydGVkVG9rZW5pemVycyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0MToiQSBsaXN0IG9mIHRva2VuaXplcnMgdGhpcyBzbmlmZiBzdXBwb3J0cy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6NDI6IlBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcU3F1aXpcU25pZmZzXFBIUCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6NDp7czoxODoiVG9rZW5pemVyRXhjZXB0aW9uIjtzOjQ1OiJQSFBfQ29kZVNuaWZmZXJcRXhjZXB0aW9uc1xUb2tlbml6ZXJFeGNlcHRpb24iO3M6NDoiRmlsZSI7czoyNjoiUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGUiO3M6NToiU25pZmYiO3M6Mjg6IlBIUF9Db2RlU25pZmZlclxTbmlmZnNcU25pZmYiO3M6NjoiVG9rZW5zIjtzOjI3OiJQSFBfQ29kZVNuaWZmZXJcVXRpbFxUb2tlbnMiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7czoxNDoiWydQSFAnLCAnQ1NTJ10iO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mjg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7TjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQByZWFkT25seSI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AG1ldGFkYXRhIjthOjA6e319czo4MToiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcU3F1aXpcU25pZmZzXFBIUFxDb21tZW50ZWRPdXRDb2RlU25pZmY6OiRtYXhQZXJjZW50YWdlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5IjoxMTp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo4MToiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcU3F1aXpcU25pZmZzXFBIUFxDb21tZW50ZWRPdXRDb2RlU25pZmY6OiRtYXhQZXJjZW50YWdlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTM6Im1heFBlcmNlbnRhZ2UiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NzI6IklmIGEgY29tbWVudCBpcyBtb3JlIHRoYW4gJG1heFBlcmNlbnRhZ2UlIGNvZGUsIGEgd2FybmluZyB3aWxsIGJlIHNob3duLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6Nzk7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7czoyOiIzNSI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHJlYWRPbmx5IjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbWV0YWRhdGEiO2E6MDp7fX19czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6Mjp7czo3NzoiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcU3F1aXpcU25pZmZzXFBIUFxDb21tZW50ZWRPdXRDb2RlU25pZmY6OnJlZ2lzdGVyKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1NzoiUmV0dXJucyBhbiBhcnJheSBvZiB0b2tlbnMgdGhpcyB0ZXN0IHdhbnRzIHRvIGxpc3RlbiBmb3IuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6Nzk7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo3NzoiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcU3F1aXpcU25pZmZzXFBIUFxDb21tZW50ZWRPdXRDb2RlU25pZmY6OnJlZ2lzdGVyKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJyZWdpc3RlciI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e319czo3NjoiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcU3F1aXpcU25pZmZzXFBIUFxDb21tZW50ZWRPdXRDb2RlU25pZmY6OnByb2Nlc3MoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjU5OiJQcm9jZXNzZXMgdGhpcyB0ZXN0LCB3aGVuIG9uZSBvZiBpdHMgdG9rZW5zIGlzIGVuY291bnRlcmVkLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTozOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6OToicGhwY3NGaWxlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJGaWxlIjt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjM6IlRoZSBmaWxlIGJlaW5nIHNjYW5uZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjg6InN0YWNrUHRyIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY1OiJUaGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgdG9rZW4KaW4gdGhlIHN0YWNrIHBhc3NlZCBpbiAkdG9rZW5zLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31pOjE7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFZvaWRfIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjgxOiJJbnRlZ2VyIHN0YWNrIHBvaW50ZXIgdG8gc2tpcCBmb3J3YXJkIG9yIHZvaWQgdG8gY29udGludWUKbm9ybWFsIGZpbGUgcHJvY2Vzc2luZy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjc5O3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NzY6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFNxdWl6XFNuaWZmc1xQSFBcQ29tbWVudGVkT3V0Q29kZVNuaWZmOjpwcm9jZXNzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJwcm9jZXNzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjk6InBocGNzRmlsZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJGaWxlIjt9fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6InN0YWNrUHRyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyODU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fX19czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHVzZWRUcmFpdHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyODg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGFkYXRhIjthOjA6e319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";