1789595937
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3A4c08805d5e67d3498d2feed627f23a9e-5a3bd77cc76583d738ab9135105347ce
s:36576:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjI0OiJDb250cm9sYWRvclRyYXNpZWdvcy5waHAiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YTowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MTp7czoyMToiXENvbnRyb2xhZG9yVHJhc2llZ29zIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTU6e3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6Mjp7czozODoiXENvbnRyb2xhZG9yVHJhc2llZ29zOjpjcmVhclRyYXNpZWdvKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo1OiJkYXRvcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6ImNvbmV4aW9uSWRzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozOTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNDE0O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE4NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo4MDE4O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzg6IlxDb250cm9sYWRvclRyYXNpZWdvczo6Y3JlYXJUcmFzaWVnbygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTM6ImNyZWFyVHJhc2llZ28iO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czowOiIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjQ3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZSI6MTp7czo1NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlAGl0ZW1zIjthOjEwOntpOjA7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6Njoib3JpZ2VuIjtzOjUzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQB2YWx1ZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjowO31pOjE7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6NzoiZGVzdGlubyI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aToyO086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjU6ImZlY2hhIjtzOjUzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQB2YWx1ZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjowO31pOjM7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6MTI6ImZlY2hhSG9yYUZpbiI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aTo0O086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjU6ImtpbG9zIjtzOjUzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQB2YWx1ZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEZsb2F0XyI6MDp7fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fWk6NTtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czo1OiJuTG90ZSI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aTo2O086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjEwOiJsb3RlRmlsdHJvIjtzOjUzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQB2YWx1ZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjowO31pOjc7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6NToidmFjaW8iO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fWk6ODtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czoxMzoiZmVjaGFMaW1waWV6YSI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aTo5O086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjk6ImZpbHRyYWRvcyI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7Tzo0NzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGUiOjE6e3M6NTQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZQBpdGVtcyI7YToyOntpOjA7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6NDoidGlwbyI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aToxO086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjQ6ImxvdGUiO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fX19czoxMDoiACoAa2V5VHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9fX1zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjU6ImRhdG9zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJjb25leGlvbklkcyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDt9aToyO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjQ3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZSI6MTp7czo1NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlAGl0ZW1zIjthOjM6e2k6MDtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czoyOiJvayI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aToxO086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjY6InN0YXR1cyI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aToyO086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjU6ImVycm9yIjtzOjUzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQB2YWx1ZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjoxO319fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6Mzc6IlxDb250cm9sYWRvclRyYXNpZWdvczo6X3BvbmRlcmFjaW9uKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTo0OntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEZsb2F0XyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6ImtpbG9zQWN0dWFsZXMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcRmxvYXRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToidmFsb3JBY3R1YWwiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcRmxvYXRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToia2lsb3NOdWV2b3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcRmxvYXRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMDoidmFsb3JOdWV2byI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTg5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjgyMzc7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjAwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjg3MTE7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcRmxvYXRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzc6IlxDb250cm9sYWRvclRyYXNpZWdvczo6X3BvbmRlcmFjaW9uKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMjoiX3BvbmRlcmFjaW9uIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX19czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHVzZWRUcmFpdHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMDE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MjE6IlxDb250cm9sYWRvclRyYXNpZWdvcyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIwOiJDb250cm9sYWRvclRyYXNpZWdvcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6OTY6IkNvbnRyb2xhZG9yVHJhc2llZ29zCk9ycXVlc3RhIGxhIGNyZWFjacOzbiBkZSB1biB0cmFzaWVnbyBkaXJlY3RvIChvcmlnZW4g4oaSIGRlc3Rpbm8gZGlzdGludG8pOiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMzY6IjEuIFNpIGhheSB2YWPDrW86IGxpbXBpYXIgYWNpZGV6L3Blcm94aWRvIG9yaWdlbiB5IGFjdHVhbGl6YXIgbl9sb3RlCiAgICAgZGUgdHJhc2llZ29zIGFudGVyaW9yZXMgaGFzdGEgZWwgw7psdGltbyB2YWPDrW8uCiAgMi4gRGVzY29udGFyIGtpbG9zIGRlbCBkZXDDs3NpdG8gb3JpZ2VuLgogIDMuIFN1bWFyIGtpbG9zIGFsIGRlcMOzc2l0byBkZXN0aW5vIGNvbiBwb25kZXJhY2nDs24gZGUgcHJlY2lvLgogIDQuIElOU0VSVCB0cmFzaWVnby4KICA1LiBJTlNFUlQgZmlsdHJhZG9bXSBzaSBsb3MgaGF5LgoKVG9kbyBkZW50cm8gZGUgdW5hIMO6bmljYSB0cmFuc2FjY2nDs24gbXlzcWxpLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6NzoicGFja2FnZSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzA6InRyYWNraW5nXGJhY2tlbmRcY29udHJvbGFkb3JlcyI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6MTY3O3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHBhcmVudCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZmluYWwiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcmVhZE9ubHkiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhdHRyaWJ1dGVzIjthOjA6e319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaGFzaCI7czozMjoiNWEzYmQ3N2NjNzY1ODNkNzM4YWI5MTM1MTA1MzQ3Y2UiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo0NjoiYmFja2VuZC9jb250cm9sYWRvcmVzL0NvbnRyb2xhZG9yVHJhc2llZ29zLnBocCI7czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBzb3VyY2UiO3M6ODcxNToiPD9waHANCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOw0KDQovKioNCiAqIENvbnRyb2xhZG9yVHJhc2llZ29zDQogKiBPcnF1ZXN0YSBsYSBjcmVhY2nDs24gZGUgdW4gdHJhc2llZ28gZGlyZWN0byAob3JpZ2VuIOKGkiBkZXN0aW5vIGRpc3RpbnRvKToNCiAqDQogKiAgIDEuIFNpIGhheSB2YWPDrW86IGxpbXBpYXIgYWNpZGV6L3Blcm94aWRvIG9yaWdlbiB5IGFjdHVhbGl6YXIgbl9sb3RlDQogKiAgICAgIGRlIHRyYXNpZWdvcyBhbnRlcmlvcmVzIGhhc3RhIGVsIMO6bHRpbW8gdmFjw61vLg0KICogICAyLiBEZXNjb250YXIga2lsb3MgZGVsIGRlcMOzc2l0byBvcmlnZW4uDQogKiAgIDMuIFN1bWFyIGtpbG9zIGFsIGRlcMOzc2l0byBkZXN0aW5vIGNvbiBwb25kZXJhY2nDs24gZGUgcHJlY2lvLg0KICogICA0LiBJTlNFUlQgdHJhc2llZ28uDQogKiAgIDUuIElOU0VSVCBmaWx0cmFkb1tdIHNpIGxvcyBoYXkuDQogKg0KICogVG9kbyBkZW50cm8gZGUgdW5hIMO6bmljYSB0cmFuc2FjY2nDs24gbXlzcWxpLg0KICoNCiAqIEBwYWNrYWdlIHRyYWNraW5nXGJhY2tlbmRcY29udHJvbGFkb3Jlcw0KICovDQpjbGFzcyBDb250cm9sYWRvclRyYXNpZWdvcw0Kew0KICAgIC8vIOKUgOKUgCBDUkVBUiBUUkFTSUVHTyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCg0KICAgIC8qKg0KICAgICAqIEBwYXJhbSBhcnJheXsNCiAgICAgKiAgIG9yaWdlbjogICAgICAgaW50LA0KICAgICAqICAgZGVzdGlubzogICAgICBpbnQsDQogICAgICogICBmZWNoYTogICAgICAgIHN0cmluZywgICAgICAvLyAnWVlZWS1NTS1ERCBISDpNTTpTUycNCiAgICAgKiAgIGZlY2hhSG9yYUZpbjogc3RyaW5nLA0KICAgICAqICAga2lsb3M6ICAgICAgICBmbG9hdCwNCiAgICAgKiAgIG5Mb3RlOiAgICAgICAgc3RyaW5nLA0KICAgICAqICAgbG90ZUZpbHRybzogICBzdHJpbmcsICAgICAgLy8gbG90ZSBjZWx1b3NhL3RpZXJyYXMNCiAgICAgKiAgIHZhY2lvOiAgICAgICAgc3RyaW5nLCAgICAgIC8vICcxJyB8ICcwJw0KICAgICAqICAgZmVjaGFMaW1waWV6YTpzdHJpbmcsICAgICAgLy8gJ1lZWVktTU0tREQgSEg6TU06U1MnDQogICAgICogICBmaWx0cmFkb3M6ICAgIGFycmF5PGludCwgYXJyYXl7dGlwbzpzdHJpbmcsIGxvdGU6c3RyaW5nfT4NCiAgICAgKiB9ICRkYXRvcw0KICAgICAqIEBwYXJhbSAgaW50W10gJGNvbmV4aW9uSWRzDQogICAgICogQHJldHVybiBhcnJheXtvazpib29sLCBzdGF0dXM6aW50LCBlcnJvcj86c3RyaW5nfQ0KICAgICAqLw0KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY3JlYXJUcmFzaWVnbyhhcnJheSAkZGF0b3MsIGFycmF5ICRjb25leGlvbklkcyk6IGFycmF5DQogICAgew0KICAgICAgICAkY2lkID0gKGludCkgKCRjb25leGlvbklkc1swXSA/PyAwKTsNCiAgICAgICAgaWYgKCEkY2lkKSB7DQogICAgICAgICAgICByZXR1cm4gWydvaycgPT4gZmFsc2UsICdzdGF0dXMnID0+IDQwMCwgJ2Vycm9yJyA9PiAnRmFsdGEgY29uZXhpb25faWQuJ107DQogICAgICAgIH0NCg0KICAgICAgICAkb3JpZ2VuICA9IChpbnQpICAgJGRhdG9zWydvcmlnZW4nXTsNCiAgICAgICAgJGRlc3Rpbm8gPSAoaW50KSAgICRkYXRvc1snZGVzdGlubyddOw0KICAgICAgICAka2lsb3MgICA9IChmbG9hdCkgJGRhdG9zWydraWxvcyddOw0KDQogICAgICAgIGlmICghJG9yaWdlbiB8fCAhJGRlc3Rpbm8pIHsNCiAgICAgICAgICAgIHJldHVybiBbJ29rJyA9PiBmYWxzZSwgJ3N0YXR1cycgPT4gNDAwLCAnZXJyb3InID0+ICdGYWx0YW4gZGVww7NzaXRvIG9yaWdlbiBvIGRlc3Rpbm8uJ107DQogICAgICAgIH0NCiAgICAgICAgaWYgKCRvcmlnZW4gPT09ICRkZXN0aW5vKSB7DQogICAgICAgICAgICByZXR1cm4gWydvaycgPT4gZmFsc2UsICdzdGF0dXMnID0+IDQwMCwgJ2Vycm9yJyA9PiAnT3JpZ2VuIHkgZGVzdGlubyBubyBwdWVkZW4gc2VyIGlndWFsZXMuJ107DQogICAgICAgIH0NCiAgICAgICAgaWYgKCRraWxvcyA8PSAwKSB7DQogICAgICAgICAgICByZXR1cm4gWydvaycgPT4gZmFsc2UsICdzdGF0dXMnID0+IDQwMCwgJ2Vycm9yJyA9PiAnTG9zIGtpbG9zIGRlYmVuIHNlciBtYXlvcmVzIHF1ZSAwLiddOw0KICAgICAgICB9DQoNCiAgICAgICAgJGRiID0gQ29uZXhpb246OmdldERiRm9yKCRjaWQpOw0KICAgICAgICBbJ2NlbnRybycgPT4gJGNlbnRybywgJ2NpZicgPT4gJGNpZl0gPSBCZERlc3Rpbm9IZWxwZXI6OmdldENlbnRyb0FjdGl2bygkZGIpOw0KICAgICAgICAkY2FtcGFuaWEgPSBCZERlc3Rpbm9IZWxwZXI6OmdldENhbXBhbmlhQWN0aXZhKCRkYik7DQoNCiAgICAgICAgJGRiLT5iZWdpbl90cmFuc2FjdGlvbigpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICAkZXNWYWNpbyAgICAgID0gKCRkYXRvc1sndmFjaW8nXSA/PyAnMCcpID09PSAnMSc7DQogICAgICAgICAgICAkZmVjaGFJbmljaW8gID0gbmV3IFxEYXRlVGltZSgkZGF0b3NbJ2ZlY2hhJ10pOw0KICAgICAgICAgICAgJGZlY2hhRmluICAgICA9IG5ldyBcRGF0ZVRpbWUoJGRhdG9zWydmZWNoYUhvcmFGaW4nXSk7DQogICAgICAgICAgICAkbkxvdGUgICAgICAgID0gKHN0cmluZykgKCRkYXRvc1snbkxvdGUnXSAgICAgICAgPz8gJycpOw0KICAgICAgICAgICAgJGxvdGVGaWx0cm8gICA9IChzdHJpbmcpICgkZGF0b3NbJ2xvdGVGaWx0cm8nXSAgID8/ICcnKTsNCiAgICAgICAgICAgICRmZWNoYUxpbXAgICAgPSAkZXNWYWNpbw0KICAgICAgICAgICAgICAgID8gbmV3IFxEYXRlVGltZSgkZGF0b3NbJ2ZlY2hhTGltcGllemEnXSkNCiAgICAgICAgICAgICAgICA6IG5ldyBcRGF0ZVRpbWUoJzAwMDEtMDEtMDEgMDA6MDA6MDAnKTsNCg0KICAgICAgICAgICAgLy8g4pSA4pSAIExlZXIgZGVww7NzaXRvcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCiAgICAgICAgICAgICRkZXBPcmlnZW4gID0gRGVwb3NpdG9EYW86OmdldEJ5U3VidGlwbygkZGIsICRvcmlnZW4sICAkY2VudHJvLCAkY2lmKTsNCiAgICAgICAgICAgICRkZXBEZXN0aW5vID0gRGVwb3NpdG9EYW86OmdldEJ5U3VidGlwbygkZGIsICRkZXN0aW5vLCAkY2VudHJvLCAkY2lmKTsNCg0KICAgICAgICAgICAgaWYgKCEkZGVwT3JpZ2VuKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCJObyBzZSBlbmNvbnRyw7MgZWwgZGVww7NzaXRvIGRlIG9yaWdlbiAoeyRvcmlnZW59KS4iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICghJGRlcERlc3Rpbm8pIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oIk5vIHNlIGVuY29udHLDsyBlbCBkZXDDs3NpdG8gZGUgZGVzdGlubyAoeyRkZXN0aW5vfSkuIik7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICRraWxvc09yaWdlbkRpc3AgPSAoZmxvYXQpICRkZXBPcmlnZW5bJ2tpbG9zYWp1c3RlJ107DQogICAgICAgICAgICBpZiAoJGtpbG9zID4gJGtpbG9zT3JpZ2VuRGlzcCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigNCiAgICAgICAgICAgICAgICAgICAgIktpbG9zIGEgdHJhc2VnYXIgKHska2lsb3N9KSBzdXBlcmlvcmVzIGEgbG9zIGRpc3BvbmlibGVzIGVuIG9yaWdlbiAoeyRraWxvc09yaWdlbkRpc3B9KS4iDQogICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8g4pSA4pSAIFNpIGhheSB2YWPDrW86IGFjdHVhbGl6YXIgbG90ZXMgZGUgdHJhc2llZ29zIGFudGVyaW9yZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQogICAgICAgICAgICBpZiAoJGVzVmFjaW8pIHsNCiAgICAgICAgICAgICAgICAkaWRzID0gVHJhc2llZ29EYW86OmdldFRyYXNpZWdvc0F0cmFzSGFzdGFWYWNpbygkZGIsICRvcmlnZW4sICRmZWNoYUluaWNpbyk7DQogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGlkcyBhcyAkaWRUcikgew0KICAgICAgICAgICAgICAgICAgICBUcmFzaWVnb0Rhbzo6dXBkYXRlTkxvdGUoJGRiLCAkaWRUciwgJG5Mb3RlLCAkbG90ZUZpbHRybywgJGNhbXBhbmlhLCAkY2VudHJvLCAkY2lmKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vIOKUgOKUgCBBY3R1YWxpemFyIGRlcMOzc2l0byBvcmlnZW4gKGRlc2N1ZW50YSBraWxvcykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQogICAgICAgICAgICAkbnVldm9LaWxvc09yaWdlbiAgPSBtYXgoMC4wLCAoZmxvYXQpJGRlcE9yaWdlblsna2lsb3MnXSAgICAgICAtICRraWxvcyk7DQogICAgICAgICAgICAkbnVldm9BanVzdGVPcmlnZW4gPSAoZmxvYXQpJGRlcE9yaWdlblsna2lsb3NhanVzdGUnXSAtICRraWxvczsNCg0KICAgICAgICAgICAgRGVwb3NpdG9EYW86OnVwZGF0ZSgNCiAgICAgICAgICAgICAgICAkZGIsICRvcmlnZW4sICRjaWYsDQogICAgICAgICAgICAgICAgJG51ZXZvS2lsb3NPcmlnZW4sDQogICAgICAgICAgICAgICAgJG51ZXZvQWp1c3RlT3JpZ2VuLA0KICAgICAgICAgICAgICAgICRlc1ZhY2lvID8gMC4wIDogKGZsb2F0KSRkZXBPcmlnZW5bJ2FjaWRleiddLA0KICAgICAgICAgICAgICAgICRlc1ZhY2lvID8gMC4wIDogKGZsb2F0KSRkZXBPcmlnZW5bJ3Blcm94aWRvJ10sDQogICAgICAgICAgICAgICAgJGZlY2hhSW5pY2lvLT5mb3JtYXQoJ1ktbS1kIEg6aScpDQogICAgICAgICAgICApOw0KDQogICAgICAgICAgICAvLyDilIDilIAgQWN0dWFsaXphciBkZXDDs3NpdG8gZGVzdGlubyAoc3VtYSBraWxvcyArIHBvbmRlcmFjacOzbiBwcmVjaW8pIOKUgA0KICAgICAgICAgICAgJHByZWNpb051ZXZvID0gc2VsZjo6X3BvbmRlcmFjaW9uKA0KICAgICAgICAgICAgICAgIChmbG9hdCkkZGVwRGVzdGlub1sna2lsb3NhanVzdGUnXSwNCiAgICAgICAgICAgICAgICAoZmxvYXQpJGRlcERlc3Rpbm9bJ3ByZWNpbyddLA0KICAgICAgICAgICAgICAgICRraWxvcywNCiAgICAgICAgICAgICAgICAoZmxvYXQpJGRlcE9yaWdlblsncHJlY2lvJ10NCiAgICAgICAgICAgICk7DQoNCiAgICAgICAgICAgIERlcG9zaXRvRGFvOjp1cGRhdGUoDQogICAgICAgICAgICAgICAgJGRiLCAkZGVzdGlubywgJGNpZiwNCiAgICAgICAgICAgICAgICAoZmxvYXQpJGRlcERlc3Rpbm9bJ2tpbG9zJ10gICAgICAgKyAka2lsb3MsDQogICAgICAgICAgICAgICAgKGZsb2F0KSRkZXBEZXN0aW5vWydraWxvc2FqdXN0ZSddICsgJGtpbG9zLA0KICAgICAgICAgICAgICAgIChmbG9hdCkkZGVwRGVzdGlub1snYWNpZGV6J10sDQogICAgICAgICAgICAgICAgKGZsb2F0KSRkZXBEZXN0aW5vWydwZXJveGlkbyddLA0KICAgICAgICAgICAgICAgICRmZWNoYUluaWNpby0+Zm9ybWF0KCdZLW0tZCBIOmknKQ0KICAgICAgICAgICAgKTsNCiAgICAgICAgICAgIERlcG9zaXRvRGFvOjp1cGRhdGVQcmVjaW8oJGRiLCAkZGVzdGlubywgJHByZWNpb051ZXZvKTsNCg0KICAgICAgICAgICAgLy8g4pSA4pSAIElOU0VSVCB0cmFzaWVnbyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCiAgICAgICAgICAgICR0cmFzQW50ZXJpb3IgPSBUcmFzaWVnb0Rhbzo6Z2V0VWx0aW1vQnlEZXN0aW5vKCRkYiwgJG9yaWdlbiwgJGNhbXBhbmlhLCAkY2VudHJvLCAkY2lmKTsNCiAgICAgICAgICAgICRmZWNoYU9yaWdlbiAgPSAkdHJhc0FudGVyaW9yPy0+Z2V0RmVjaGEoKSA/PyBudWxsOw0KDQogICAgICAgICAgICAkdCA9IG5ldyBUcmFzaWVnbygpOw0KICAgICAgICAgICAgJHQtPnNldE9yaWdlbigkb3JpZ2VuKTsNCiAgICAgICAgICAgICR0LT5zZXREZXN0aW5vKCRkZXN0aW5vKTsNCiAgICAgICAgICAgICR0LT5zZXRGZWNoYSgkZmVjaGFJbmljaW8pOw0KICAgICAgICAgICAgJHQtPnNldEZlY2hhSG9yYUZpbigkZmVjaGFGaW4pOw0KICAgICAgICAgICAgJHQtPnNldEZlY2hhT3JpZ2VuKCRmZWNoYU9yaWdlbik7DQogICAgICAgICAgICAkdC0+c2V0S2lsb3MoJGtpbG9zKTsNCiAgICAgICAgICAgICR0LT5zZXRWYWNpbygkZXNWYWNpbyk7DQogICAgICAgICAgICAkdC0+c2V0QXJyYXN0cmUoZmFsc2UpOw0KICAgICAgICAgICAgJHQtPnNldEhhYmlsaXRhZG8odHJ1ZSk7DQogICAgICAgICAgICAkdC0+c2V0UGFydGlkYSgwKTsNCiAgICAgICAgICAgICR0LT5zZXRFeHRlcm5hKDApOw0KICAgICAgICAgICAgJHQtPnNldExvdGUoMCk7DQogICAgICAgICAgICAkdC0+c2V0U2FsaWRhKDApOw0KICAgICAgICAgICAgJHQtPnNldENlbnRybygkY2VudHJvKTsNCiAgICAgICAgICAgICR0LT5zZXRDYW1wYW5pYSgkY2FtcGFuaWEpOw0KICAgICAgICAgICAgJHQtPnNldE5fbG90ZSgkbkxvdGUpOw0KICAgICAgICAgICAgJHQtPnNldExvdGVGaWx0cm8oJGxvdGVGaWx0cm8pOw0KICAgICAgICAgICAgJHQtPnNldEZlY2hhTGltcGllemEoJGZlY2hhTGltcCk7DQogICAgICAgICAgICAkdC0+c2V0T3BlcmFjaW9uKCcnKTsNCiAgICAgICAgICAgICR0LT5zZXRBbGJhcmFuKCcnKTsNCiAgICAgICAgICAgICR0LT5zZXRSZWZlcmVuY2lhKCcnKTsNCiAgICAgICAgICAgICR0LT5zZXRMb3RlRmlsdHJvKCRsb3RlRmlsdHJvKTsNCiAgICAgICAgICAgICR0LT5zZXRJZFNCKDApOw0KDQogICAgICAgICAgICAkaWRUcmFzaWVnbyA9IFRyYXNpZWdvRGFvOjppbnNlcnQoJGRiLCAkdCwgJGNpZik7DQogICAgICAgICAgICBpZiAoISRpZFRyYXNpZWdvKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdFcnJvciBhbCBpbnNlcnRhciBlbCB0cmFzaWVnby4nKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8g4pSA4pSAIElOU0VSVCBmaWx0cmFkb3MgKG9wY2lvbmFsKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCiAgICAgICAgICAgIGZvcmVhY2ggKCgkZGF0b3NbJ2ZpbHRyYWRvcyddID8/IFtdKSBhcyAkZikgew0KICAgICAgICAgICAgICAgICR0aXBvID0gdHJpbSgoc3RyaW5nKSgkZlsndGlwbyddID8/ICcnKSk7DQogICAgICAgICAgICAgICAgJGxvdGUgPSB0cmltKChzdHJpbmcpKCRmWydsb3RlJ10gPz8gJycpKTsNCiAgICAgICAgICAgICAgICBpZiAoJHRpcG8gIT09ICcnKSB7DQogICAgICAgICAgICAgICAgICAgIEZpbHRyYWRvc0Rhbzo6aW5zZXJ0KCRkYiwgJGlkVHJhc2llZ28sICR0aXBvLCAkbG90ZSwgJGNhbXBhbmlhKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICRkYi0+Y29tbWl0KCk7DQogICAgICAgICAgICByZXR1cm4gWydvaycgPT4gdHJ1ZSwgJ3N0YXR1cycgPT4gMjAwXTsNCg0KICAgICAgICB9IGNhdGNoIChcVGhyb3dhYmxlICRlKSB7DQogICAgICAgICAgICAkZGItPnJvbGxiYWNrKCk7DQogICAgICAgICAgICBlcnJvcl9sb2coJ1tDb250cm9sYWRvclRyYXNpZWdvczo6Y3JlYXJUcmFzaWVnb10gJyAuICRlLT5nZXRNZXNzYWdlKCkpOw0KICAgICAgICAgICAgcmV0dXJuIFsnb2snID0+IGZhbHNlLCAnc3RhdHVzJyA9PiA1MDAsICdlcnJvcicgPT4gJGUtPmdldE1lc3NhZ2UoKV07DQogICAgICAgIH0NCiAgICB9DQoNCg0KICAgIC8vIOKUgOKUgCBQT05ERVJBQ0nDk04g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQoNCiAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfcG9uZGVyYWNpb24oDQogICAgICAgIGZsb2F0ICRraWxvc0FjdHVhbGVzLA0KICAgICAgICBmbG9hdCAkdmFsb3JBY3R1YWwsDQogICAgICAgIGZsb2F0ICRraWxvc051ZXZvcywNCiAgICAgICAgZmxvYXQgJHZhbG9yTnVldm8NCiAgICApOiBmbG9hdCB7DQogICAgICAgICR0b3RhbCA9ICRraWxvc0FjdHVhbGVzICsgJGtpbG9zTnVldm9zOw0KICAgICAgICBpZiAoJHRvdGFsID09IDAuMCkgcmV0dXJuIDAuMDsNCiAgICAgICAgJHBjdDEgPSByb3VuZCgoJGtpbG9zQWN0dWFsZXMgKiAxMDApIC8gJHRvdGFsLCAyKTsNCiAgICAgICAgJHBjdDIgPSByb3VuZCgoJGtpbG9zTnVldm9zICAgKiAxMDApIC8gJHRvdGFsLCAyKTsNCiAgICAgICAgcmV0dXJuIHJvdW5kKCgoJHBjdDEgLyAxMDApICogJHZhbG9yQWN0dWFsKSArICgoJHBjdDIgLyAxMDApICogJHZhbG9yTnVldm8pLCAyKTsNCiAgICB9DQp9IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGRvY0Jsb2NrIjtOO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";