1778692669
441d63ebbc39eba359c9061ece8482bd-phpdoc%3A06f0961a5477b1e675594667afdf6988-5c12d352602a7f0ac42a46d2f3459039
s:54892:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjE4OiJDYWxsRXhwcmVzc2lvbi5waHAiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YToxOntzOjIxOiJcVHdpZ1xOb2RlXEV4cHJlc3Npb24iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyMToiXFR3aWdcTm9kZVxFeHByZXNzaW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTA6IkV4cHJlc3Npb24iO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MTp7czozNjoiXFR3aWdcTm9kZVxFeHByZXNzaW9uXENhbGxFeHByZXNzaW9uIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTU6e3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YToxOntzOjQ4OiJcVHdpZ1xOb2RlXEV4cHJlc3Npb25cQ2FsbEV4cHJlc3Npb246OiRyZWZsZWN0b3IiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjE0OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mjc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0ODoiXFR3aWdcTm9kZVxFeHByZXNzaW9uXENhbGxFeHByZXNzaW9uOjokcmVmbGVjdG9yIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6OToicmVmbGVjdG9yIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO047czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHJlYWRPbmx5IjtiOjA7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAaG9va3MiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpcnR1YWwiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBtZXRhZGF0YSI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0aG9kcyI7YTo3OntzOjU1OiJcVHdpZ1xOb2RlXEV4cHJlc3Npb25cQ2FsbEV4cHJlc3Npb246OmNvbXBpbGVDYWxsYWJsZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxNDoiXFR3aWdcQ29tcGlsZXIiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJDb21waWxlciI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6ImNvbXBpbGVyIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo2Mzc7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Njg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MjQyNzt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NToiXFR3aWdcTm9kZVxFeHByZXNzaW9uXENhbGxFeHByZXNzaW9uOjpjb21waWxlQ2FsbGFibGUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJjb21waWxlQ2FsbGFibGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6OToicHJvdGVjdGVkIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czowOiIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e319fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MjA6IlR3aWdcTm9kZVxFeHByZXNzaW9uIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YToxMDp7czo4OiJDb21waWxlciI7czoxMzoiVHdpZ1xDb21waWxlciI7czoxMToiU3ludGF4RXJyb3IiO3M6MjI6IlR3aWdcRXJyb3JcU3ludGF4RXJyb3IiO3M6MTg6IkV4dGVuc2lvbkludGVyZmFjZSI7czozMzoiVHdpZ1xFeHRlbnNpb25cRXh0ZW5zaW9uSW50ZXJmYWNlIjtzOjQ6Ik5vZGUiO3M6MTQ6IlR3aWdcTm9kZVxOb2RlIjtzOjIxOiJUd2lnQ2FsbGFibGVJbnRlcmZhY2UiO3M6MjY6IlR3aWdcVHdpZ0NhbGxhYmxlSW50ZXJmYWNlIjtzOjEwOiJUd2lnRmlsdGVyIjtzOjE1OiJUd2lnXFR3aWdGaWx0ZXIiO3M6MTI6IlR3aWdGdW5jdGlvbiI7czoxNzoiVHdpZ1xUd2lnRnVuY3Rpb24iO3M6ODoiVHdpZ1Rlc3QiO3M6MTM6IlR3aWdcVHdpZ1Rlc3QiO3M6MjY6IkNhbGxhYmxlQXJndW1lbnRzRXh0cmFjdG9yIjtzOjM2OiJUd2lnXFV0aWxcQ2FsbGFibGVBcmd1bWVudHNFeHRyYWN0b3IiO3M6MTg6IlJlZmxlY3Rpb25DYWxsYWJsZSI7czoyODoiVHdpZ1xVdGlsXFJlZmxlY3Rpb25DYWxsYWJsZSI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo1NjoiXFR3aWdcTm9kZVxFeHByZXNzaW9uXENhbGxFeHByZXNzaW9uOjpjb21waWxlQXJndW1lbnRzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjE0OiJcVHdpZ1xDb21waWxlciI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjg6IkNvbXBpbGVyIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoiY29tcGlsZXIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJpc0FycmF5IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czo0NDoie3sgUEhQRE9DNjg5MzRhM2U5NDU1ZmE3MjQyMDIzN2ViMDU5MDIzMjcgfX0iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MTp7czo0NDoie3sgUEhQRE9DNjg5MzRhM2U5NDU1ZmE3MjQyMDIzN2ViMDU5MDIzMjcgfX0iO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xGYWxzZV8iOjA6e319fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyNDM0O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEzMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo0MjgyO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFZvaWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTY6IlxUd2lnXE5vZGVcRXhwcmVzc2lvblxDYWxsRXhwcmVzc2lvbjo6Y29tcGlsZUFyZ3VtZW50cygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTY6ImNvbXBpbGVBcmd1bWVudHMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6OToicHJvdGVjdGVkIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo1MjoiXFR3aWdcTm9kZVxFeHByZXNzaW9uXENhbGxFeHByZXNzaW9uOjpnZXRBcmd1bWVudHMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJjYWxsYWJsZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjk6ImFyZ3VtZW50cyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTM2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjQ0MDY7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjYwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjk4OTc7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTI6IlxUd2lnXE5vZGVcRXhwcmVzc2lvblxDYWxsRXhwcmVzc2lvbjo6Z2V0QXJndW1lbnRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMjoiZ2V0QXJndW1lbnRzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjk6InByb3RlY3RlZCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MDoiIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xEZXByZWNhdGVkIjozOntzOjc6IgAqAG5hbWUiO3M6MTA6ImRlcHJlY2F0ZWQiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjgxOiJzaW5jZSBUd2lnIDMuMTIsIHVzZSBUd2lnXFV0aWxcQ2FsbGFibGVBcmd1bWVudHNFeHRyYWN0b3I6OmdldEFyZ3VtZW50cygpIGluc3RlYWQiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xEZXByZWNhdGVkAHZlcnNpb24iO047fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6NzM7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NTM6IlxUd2lnXE5vZGVcRXhwcmVzc2lvblxDYWxsRXhwcmVzc2lvbjo6bm9ybWFsaXplTmFtZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJuYW1lIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNjU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6OTk1NTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNzA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTAyNDE7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcVHdpZ1xOb2RlXEV4cHJlc3Npb25cQ2FsbEV4cHJlc3Npb246Om5vcm1hbGl6ZU5hbWUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEzOiJub3JtYWxpemVOYW1lIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjk6InByb3RlY3RlZCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MDoiIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xEZXByZWNhdGVkIjozOntzOjc6IgAqAG5hbWUiO3M6MTA6ImRlcHJlY2F0ZWQiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE1OiJzaW5jZSBUd2lnIDMuMTIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xEZXByZWNhdGVkAHZlcnNpb24iO047fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6NzM7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NjE6IlxUd2lnXE5vZGVcRXhwcmVzc2lvblxDYWxsRXhwcmVzc2lvbjo6Z2V0Q2FsbGFibGVQYXJhbWV0ZXJzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoiY2FsbGFibGUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTA6ImlzVmFyaWFkaWMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI3MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxMDI3Njt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMTI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTE5NDI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MToiXFR3aWdcTm9kZVxFeHByZXNzaW9uXENhbGxFeHByZXNzaW9uOjpnZXRDYWxsYWJsZVBhcmFtZXRlcnMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIxOiJnZXRDYWxsYWJsZVBhcmFtZXRlcnMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NTU6IlxUd2lnXE5vZGVcRXhwcmVzc2lvblxDYWxsRXhwcmVzc2lvbjo6cmVmbGVjdENhbGxhYmxlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcVHdpZ1xUd2lnQ2FsbGFibGVJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMToiVHdpZ0NhbGxhYmxlSW50ZXJmYWNlIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoiY2FsbGFibGUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxMTk0OTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMjE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTIxODg7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mjk6IlxUd2lnXFV0aWxcUmVmbGVjdGlvbkNhbGxhYmxlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTg6IlJlZmxlY3Rpb25DYWxsYWJsZSI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NToiXFR3aWdcTm9kZVxFeHByZXNzaW9uXENhbGxFeHByZXNzaW9uOjpyZWZsZWN0Q2FsbGFibGUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJyZWZsZWN0Q2FsbGFibGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NTU6IlxUd2lnXE5vZGVcRXhwcmVzc2lvblxDYWxsRXhwcmVzc2lvbjo6Z2V0VHdpZ0NhbGxhYmxlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMjg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTI0NDU7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzYzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE1NTY0O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcVHdpZ1xUd2lnQ2FsbGFibGVJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMToiVHdpZ0NhbGxhYmxlSW50ZXJmYWNlIjt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU1OiJcVHdpZ1xOb2RlXEV4cHJlc3Npb25cQ2FsbEV4cHJlc3Npb246OmdldFR3aWdDYWxsYWJsZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6ImdldFR3aWdDYWxsYWJsZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxMzg6Ik92ZXJyaWRlcyB0aGUgVHdpZyBjYWxsYWJsZSBiYXNlZCBvbiBhdHRyaWJ1dGVzIChhcyBwb3RlbnRpYWxseSwgYXR0cmlidXRlcyBjaGFuZ2VkIGJldHdlZW4gdGhlIGNyZWF0aW9uIGFuZCB0aGUgY29tcGlsYXRpb24gb2YgdGhlIG5vZGUpLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MzoiVG8gYmUgcmVtb3ZlZCBpbiA0LjAgYW5kIHJlcGxhY2UgYnkgJHRoaXMtPmdldEF0dHJpYnV0ZSgndHdpZ19jYWxsYWJsZScpLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6NzM7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM2NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozNjoiXFR3aWdcTm9kZVxFeHByZXNzaW9uXENhbGxFeHByZXNzaW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTQ6IkNhbGxFeHByZXNzaW9uIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGRvY0Jsb2NrIjtOO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MDoiXFR3aWdcTm9kZVxFeHByZXNzaW9uXEFic3RyYWN0RXhwcmVzc2lvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE4OiJBYnN0cmFjdEV4cHJlc3Npb24iO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYWJzdHJhY3QiO2I6MTtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZmluYWwiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcmVhZE9ubHkiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhdHRyaWJ1dGVzIjthOjA6e319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaGFzaCI7czozMjoiNWMxMmQzNTI2MDJhN2YwYWM0MmE0NmQyZjM0NTkwMzkiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo1NToidmVuZG9yL3R3aWcvdHdpZy9zcmMvTm9kZS9FeHByZXNzaW9uL0NhbGxFeHByZXNzaW9uLnBocCI7czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBzb3VyY2UiO3M6MTU1Njg6Ijw/cGhwCgovKgogKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUd2lnLgogKgogKiAoYykgRmFiaWVuIFBvdGVuY2llcgogKgogKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRQogKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS4KICovCgpuYW1lc3BhY2UgVHdpZ1xOb2RlXEV4cHJlc3Npb247Cgp1c2UgVHdpZ1xDb21waWxlcjsKdXNlIFR3aWdcRXJyb3JcU3ludGF4RXJyb3I7CnVzZSBUd2lnXEV4dGVuc2lvblxFeHRlbnNpb25JbnRlcmZhY2U7CnVzZSBUd2lnXE5vZGVcTm9kZTsKdXNlIFR3aWdcVHdpZ0NhbGxhYmxlSW50ZXJmYWNlOwp1c2UgVHdpZ1xUd2lnRmlsdGVyOwp1c2UgVHdpZ1xUd2lnRnVuY3Rpb247CnVzZSBUd2lnXFR3aWdUZXN0Owp1c2UgVHdpZ1xVdGlsXENhbGxhYmxlQXJndW1lbnRzRXh0cmFjdG9yOwp1c2UgVHdpZ1xVdGlsXFJlZmxlY3Rpb25DYWxsYWJsZTsKCmFic3RyYWN0IGNsYXNzIENhbGxFeHByZXNzaW9uIGV4dGVuZHMgQWJzdHJhY3RFeHByZXNzaW9uCnsKICAgIHByaXZhdGUgJHJlZmxlY3RvcjsKCiAgICAvKioKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY29tcGlsZUNhbGxhYmxlKENvbXBpbGVyICRjb21waWxlcikKICAgIHsKICAgICAgICAkdHdpZ0NhbGxhYmxlID0gJHRoaXMtPmdldFR3aWdDYWxsYWJsZSgpOwogICAgICAgICRjYWxsYWJsZSA9ICR0d2lnQ2FsbGFibGUtPmdldENhbGxhYmxlKCk7CgogICAgICAgIGlmIChcaXNfc3RyaW5nKCRjYWxsYWJsZSkgJiYgIXN0cl9jb250YWlucygkY2FsbGFibGUsICc6OicpKSB7CiAgICAgICAgICAgICRjb21waWxlci0+cmF3KCRjYWxsYWJsZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHJjID0gJHRoaXMtPnJlZmxlY3RDYWxsYWJsZSgkdHdpZ0NhbGxhYmxlKTsKICAgICAgICAgICAgJHIgPSAkcmMtPmdldFJlZmxlY3RvcigpOwogICAgICAgICAgICAkY2FsbGFibGUgPSAkcmMtPmdldENhbGxhYmxlKCk7CgogICAgICAgICAgICBpZiAoXGlzX3N0cmluZygkY2FsbGFibGUpKSB7CiAgICAgICAgICAgICAgICAkY29tcGlsZXItPnJhdygkY2FsbGFibGUpOwogICAgICAgICAgICB9IGVsc2VpZiAoXGlzX2FycmF5KCRjYWxsYWJsZSkgJiYgXGlzX3N0cmluZygkY2FsbGFibGVbMF0pKSB7CiAgICAgICAgICAgICAgICBpZiAoISRyIGluc3RhbmNlb2YgXFJlZmxlY3Rpb25NZXRob2QgfHwgJHItPmlzU3RhdGljKCkpIHsKICAgICAgICAgICAgICAgICAgICAkY29tcGlsZXItPnJhdyhcc3ByaW50ZignJXM6OiVzJywgJGNhbGxhYmxlWzBdLCAkY2FsbGFibGVbMV0pKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJGNvbXBpbGVyLT5yYXcoXHNwcmludGYoJyR0aGlzLT5lbnYtPmdldFJ1bnRpbWUoXCclc1wnKS0+JXMnLCAkY2FsbGFibGVbMF0sICRjYWxsYWJsZVsxXSkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2VpZiAoXGlzX2FycmF5KCRjYWxsYWJsZSkgJiYgJGNhbGxhYmxlWzBdIGluc3RhbmNlb2YgRXh0ZW5zaW9uSW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICAkY2xhc3MgPSBcZ2V0X2NsYXNzKCRjYWxsYWJsZVswXSk7CiAgICAgICAgICAgICAgICBpZiAoISRjb21waWxlci0+Z2V0RW52aXJvbm1lbnQoKS0+aGFzRXh0ZW5zaW9uKCRjbGFzcykpIHsKICAgICAgICAgICAgICAgICAgICAvLyBDb21waWxlIGEgbm9uLW9wdGltaXplZCBjYWxsIHRvIHRyaWdnZXIgYSBcVHdpZ1xFcnJvclxSdW50aW1lRXJyb3IsIHdoaWNoIGNhbm5vdCBiZSBhIGNvbXBpbGUtdGltZSBlcnJvcgogICAgICAgICAgICAgICAgICAgICRjb21waWxlci0+cmF3KFxzcHJpbnRmKCckdGhpcy0+ZW52LT5nZXRFeHRlbnNpb24oXCclc1wnKScsICRjbGFzcykpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkY29tcGlsZXItPnJhdyhcc3ByaW50ZignJHRoaXMtPmV4dGVuc2lvbnNbXCclc1wnXScsIGx0cmltKCRjbGFzcywgJ1xcJykpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkY29tcGlsZXItPnJhdyhcc3ByaW50ZignLT4lcycsICRjYWxsYWJsZVsxXSkpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGNvbXBpbGVyLT5yYXcoXHNwcmludGYoJyR0aGlzLT5lbnYtPmdldCVzKFwnJXNcJyktPmdldENhbGxhYmxlKCknLCB1Y2ZpcnN0KCR0aGlzLT5nZXRBdHRyaWJ1dGUoJ3R5cGUnKSksICR0d2lnQ2FsbGFibGUtPmdldER5bmFtaWNOYW1lKCkpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmNvbXBpbGVBcmd1bWVudHMoJGNvbXBpbGVyKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY29tcGlsZUFyZ3VtZW50cyhDb21waWxlciAkY29tcGlsZXIsICRpc0FycmF5ID0gZmFsc2UpOiB2b2lkCiAgICB7CiAgICAgICAgaWYgKFxmdW5jX251bV9hcmdzKCkgPj0gMikgewogICAgICAgICAgICB0cmlnZ2VyX2RlcHJlY2F0aW9uKCd0d2lnL3R3aWcnLCAnMy4xMScsICdQYXNzaW5nIGEgc2Vjb25kIGFyZ3VtZW50IHRvICIlcygpIiBpcyBkZXByZWNhdGVkLicsIF9fTUVUSE9EX18pOwogICAgICAgIH0KCiAgICAgICAgJGNvbXBpbGVyLT5yYXcoJGlzQXJyYXkgPyAnWycgOiAnKCcpOwoKICAgICAgICAkZmlyc3QgPSB0cnVlOwoKICAgICAgICAkdHdpZ0NhbGxhYmxlID0gJHRoaXMtPmdldEF0dHJpYnV0ZSgndHdpZ19jYWxsYWJsZScpOwoKICAgICAgICBpZiAoJHR3aWdDYWxsYWJsZS0+bmVlZHNDaGFyc2V0KCkpIHsKICAgICAgICAgICAgJGNvbXBpbGVyLT5yYXcoJyR0aGlzLT5lbnYtPmdldENoYXJzZXQoKScpOwogICAgICAgICAgICAkZmlyc3QgPSBmYWxzZTsKICAgICAgICB9CgogICAgICAgIGlmICgkdHdpZ0NhbGxhYmxlLT5uZWVkc0Vudmlyb25tZW50KCkpIHsKICAgICAgICAgICAgaWYgKCEkZmlyc3QpIHsKICAgICAgICAgICAgICAgICRjb21waWxlci0+cmF3KCcsICcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRjb21waWxlci0+cmF3KCckdGhpcy0+ZW52Jyk7CiAgICAgICAgICAgICRmaXJzdCA9IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0d2lnQ2FsbGFibGUtPm5lZWRzQ29udGV4dCgpKSB7CiAgICAgICAgICAgIGlmICghJGZpcnN0KSB7CiAgICAgICAgICAgICAgICAkY29tcGlsZXItPnJhdygnLCAnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkY29tcGlsZXItPnJhdygnJGNvbnRleHQnKTsKICAgICAgICAgICAgJGZpcnN0ID0gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgkdHdpZ0NhbGxhYmxlLT5nZXRBcmd1bWVudHMoKSBhcyAkYXJndW1lbnQpIHsKICAgICAgICAgICAgaWYgKCEkZmlyc3QpIHsKICAgICAgICAgICAgICAgICRjb21waWxlci0+cmF3KCcsICcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRjb21waWxlci0+c3RyaW5nKCRhcmd1bWVudCk7CiAgICAgICAgICAgICRmaXJzdCA9IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5oYXNOb2RlKCdub2RlJykpIHsKICAgICAgICAgICAgaWYgKCEkZmlyc3QpIHsKICAgICAgICAgICAgICAgICRjb21waWxlci0+cmF3KCcsICcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRjb21waWxlci0+c3ViY29tcGlsZSgkdGhpcy0+Z2V0Tm9kZSgnbm9kZScpKTsKICAgICAgICAgICAgJGZpcnN0ID0gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPmhhc05vZGUoJ2FyZ3VtZW50cycpKSB7CiAgICAgICAgICAgICRhcmd1bWVudHMgPSAobmV3IENhbGxhYmxlQXJndW1lbnRzRXh0cmFjdG9yKCR0aGlzLCAkdGhpcy0+Z2V0VHdpZ0NhbGxhYmxlKCkpKS0+ZXh0cmFjdEFyZ3VtZW50cygkdGhpcy0+Z2V0Tm9kZSgnYXJndW1lbnRzJykpOwogICAgICAgICAgICBmb3JlYWNoICgkYXJndW1lbnRzIGFzICRub2RlKSB7CiAgICAgICAgICAgICAgICBpZiAoISRmaXJzdCkgewogICAgICAgICAgICAgICAgICAgICRjb21waWxlci0+cmF3KCcsICcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJGNvbXBpbGVyLT5zdWJjb21waWxlKCRub2RlKTsKICAgICAgICAgICAgICAgICRmaXJzdCA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkY29tcGlsZXItPnJhdygkaXNBcnJheSA/ICddJyA6ICcpJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSBUd2lnIDMuMTIsIHVzZSBUd2lnXFV0aWxcQ2FsbGFibGVBcmd1bWVudHNFeHRyYWN0b3I6OmdldEFyZ3VtZW50cygpIGluc3RlYWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEFyZ3VtZW50cygkY2FsbGFibGUsICRhcmd1bWVudHMpCiAgICB7CiAgICAgICAgdHJpZ2dlcl9kZXByZWNhdGlvbigndHdpZy90d2lnJywgJzMuMTInLCAnVGhlICIlcygpIiBtZXRob2QgaXMgZGVwcmVjYXRlZCwgdXNlIFR3aWdcVXRpbFxDYWxsYWJsZUFyZ3VtZW50c0V4dHJhY3Rvcjo6Z2V0QXJndW1lbnRzKCkgaW5zdGVhZC4nLCBfX01FVEhPRF9fKTsKCiAgICAgICAgJGNhbGxUeXBlID0gJHRoaXMtPmdldEF0dHJpYnV0ZSgndHlwZScpOwogICAgICAgICRjYWxsTmFtZSA9ICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ25hbWUnKTsKCiAgICAgICAgJHBhcmFtZXRlcnMgPSBbXTsKICAgICAgICAkbmFtZWQgPSBmYWxzZTsKICAgICAgICBmb3JlYWNoICgkYXJndW1lbnRzIGFzICRuYW1lID0+ICRub2RlKSB7CiAgICAgICAgICAgIGlmICghXGlzX2ludCgkbmFtZSkpIHsKICAgICAgICAgICAgICAgICRuYW1lZCA9IHRydWU7CiAgICAgICAgICAgICAgICAkbmFtZSA9ICR0aGlzLT5ub3JtYWxpemVOYW1lKCRuYW1lKTsKICAgICAgICAgICAgfSBlbHNlaWYgKCRuYW1lZCkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKFxzcHJpbnRmKCdQb3NpdGlvbmFsIGFyZ3VtZW50cyBjYW5ub3QgYmUgdXNlZCBhZnRlciBuYW1lZCBhcmd1bWVudHMgZm9yICVzICIlcyIuJywgJGNhbGxUeXBlLCAkY2FsbE5hbWUpLCAkdGhpcy0+Z2V0VGVtcGxhdGVMaW5lKCksICR0aGlzLT5nZXRTb3VyY2VDb250ZXh0KCkpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkcGFyYW1ldGVyc1skbmFtZV0gPSAkbm9kZTsKICAgICAgICB9CgogICAgICAgICRpc1ZhcmlhZGljID0gJHRoaXMtPmdldEF0dHJpYnV0ZSgndHdpZ19jYWxsYWJsZScpLT5pc1ZhcmlhZGljKCk7CiAgICAgICAgaWYgKCEkbmFtZWQgJiYgISRpc1ZhcmlhZGljKSB7CiAgICAgICAgICAgIHJldHVybiAkcGFyYW1ldGVyczsKICAgICAgICB9CgogICAgICAgIGlmICghJGNhbGxhYmxlKSB7CiAgICAgICAgICAgIGlmICgkbmFtZWQpIHsKICAgICAgICAgICAgICAgICRtZXNzYWdlID0gXHNwcmludGYoJ05hbWVkIGFyZ3VtZW50cyBhcmUgbm90IHN1cHBvcnRlZCBmb3IgJXMgIiVzIi4nLCAkY2FsbFR5cGUsICRjYWxsTmFtZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkbWVzc2FnZSA9IFxzcHJpbnRmKCdBcmJpdHJhcnkgcG9zaXRpb25hbCBhcmd1bWVudHMgYXJlIG5vdCBzdXBwb3J0ZWQgZm9yICVzICIlcyIuJywgJGNhbGxUeXBlLCAkY2FsbE5hbWUpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCRtZXNzYWdlKTsKICAgICAgICB9CgogICAgICAgIFskY2FsbGFibGVQYXJhbWV0ZXJzLCAkaXNQaHBWYXJpYWRpY10gPSAkdGhpcy0+Z2V0Q2FsbGFibGVQYXJhbWV0ZXJzKCRjYWxsYWJsZSwgJGlzVmFyaWFkaWMpOwogICAgICAgICRhcmd1bWVudHMgPSBbXTsKICAgICAgICAkbmFtZXMgPSBbXTsKICAgICAgICAkbWlzc2luZ0FyZ3VtZW50cyA9IFtdOwogICAgICAgICRvcHRpb25hbEFyZ3VtZW50cyA9IFtdOwogICAgICAgICRwb3MgPSAwOwogICAgICAgIGZvcmVhY2ggKCRjYWxsYWJsZVBhcmFtZXRlcnMgYXMgJGNhbGxhYmxlUGFyYW1ldGVyKSB7CiAgICAgICAgICAgICRuYW1lID0gJHRoaXMtPm5vcm1hbGl6ZU5hbWUoJGNhbGxhYmxlUGFyYW1ldGVyLT5uYW1lKTsKICAgICAgICAgICAgaWYgKFxQSFBfVkVSU0lPTl9JRCA+PSA4MDAwMCAmJiAncmFuZ2UnID09PSAkY2FsbGFibGUpIHsKICAgICAgICAgICAgICAgIGlmICgnc3RhcnQnID09PSAkbmFtZSkgewogICAgICAgICAgICAgICAgICAgICRuYW1lID0gJ2xvdyc7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJ2VuZCcgPT09ICRuYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgJG5hbWUgPSAnaGlnaCc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRuYW1lc1tdID0gJG5hbWU7CgogICAgICAgICAgICBpZiAoXGFycmF5X2tleV9leGlzdHMoJG5hbWUsICRwYXJhbWV0ZXJzKSkgewogICAgICAgICAgICAgICAgaWYgKFxhcnJheV9rZXlfZXhpc3RzKCRwb3MsICRwYXJhbWV0ZXJzKSkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcihcc3ByaW50ZignQXJndW1lbnQgIiVzIiBpcyBkZWZpbmVkIHR3aWNlIGZvciAlcyAiJXMiLicsICRuYW1lLCAkY2FsbFR5cGUsICRjYWxsTmFtZSksICR0aGlzLT5nZXRUZW1wbGF0ZUxpbmUoKSwgJHRoaXMtPmdldFNvdXJjZUNvbnRleHQoKSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKFxjb3VudCgkbWlzc2luZ0FyZ3VtZW50cykpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoXHNwcmludGYoCiAgICAgICAgICAgICAgICAgICAgICAgICdBcmd1bWVudCAiJXMiIGNvdWxkIG5vdCBiZSBhc3NpZ25lZCBmb3IgJXMgIiVzKCVzKSIgYmVjYXVzZSBpdCBpcyBtYXBwZWQgdG8gYW4gaW50ZXJuYWwgUEhQIGZ1bmN0aW9uIHdoaWNoIGNhbm5vdCBkZXRlcm1pbmUgZGVmYXVsdCB2YWx1ZSBmb3Igb3B0aW9uYWwgYXJndW1lbnQlcyAiJXMiLicsCiAgICAgICAgICAgICAgICAgICAgICAgICRuYW1lLCAkY2FsbFR5cGUsICRjYWxsTmFtZSwgaW1wbG9kZSgnLCAnLCAkbmFtZXMpLCBcY291bnQoJG1pc3NpbmdBcmd1bWVudHMpID4gMSA/ICdzJyA6ICcnLCBpbXBsb2RlKCciLCAiJywgJG1pc3NpbmdBcmd1bWVudHMpCiAgICAgICAgICAgICAgICAgICAgKSwgJHRoaXMtPmdldFRlbXBsYXRlTGluZSgpLCAkdGhpcy0+Z2V0U291cmNlQ29udGV4dCgpKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkYXJndW1lbnRzID0gYXJyYXlfbWVyZ2UoJGFyZ3VtZW50cywgJG9wdGlvbmFsQXJndW1lbnRzKTsKICAgICAgICAgICAgICAgICRhcmd1bWVudHNbXSA9ICRwYXJhbWV0ZXJzWyRuYW1lXTsKICAgICAgICAgICAgICAgIHVuc2V0KCRwYXJhbWV0ZXJzWyRuYW1lXSk7CiAgICAgICAgICAgICAgICAkb3B0aW9uYWxBcmd1bWVudHMgPSBbXTsKICAgICAgICAgICAgfSBlbHNlaWYgKFxhcnJheV9rZXlfZXhpc3RzKCRwb3MsICRwYXJhbWV0ZXJzKSkgewogICAgICAgICAgICAgICAgJGFyZ3VtZW50cyA9IGFycmF5X21lcmdlKCRhcmd1bWVudHMsICRvcHRpb25hbEFyZ3VtZW50cyk7CiAgICAgICAgICAgICAgICAkYXJndW1lbnRzW10gPSAkcGFyYW1ldGVyc1skcG9zXTsKICAgICAgICAgICAgICAgIHVuc2V0KCRwYXJhbWV0ZXJzWyRwb3NdKTsKICAgICAgICAgICAgICAgICRvcHRpb25hbEFyZ3VtZW50cyA9IFtdOwogICAgICAgICAgICAgICAgKyskcG9zOwogICAgICAgICAgICB9IGVsc2VpZiAoJGNhbGxhYmxlUGFyYW1ldGVyLT5pc0RlZmF1bHRWYWx1ZUF2YWlsYWJsZSgpKSB7CiAgICAgICAgICAgICAgICAkb3B0aW9uYWxBcmd1bWVudHNbXSA9IG5ldyBDb25zdGFudEV4cHJlc3Npb24oJGNhbGxhYmxlUGFyYW1ldGVyLT5nZXREZWZhdWx0VmFsdWUoKSwgLTEpOwogICAgICAgICAgICB9IGVsc2VpZiAoJGNhbGxhYmxlUGFyYW1ldGVyLT5pc09wdGlvbmFsKCkpIHsKICAgICAgICAgICAgICAgIGlmICghJHBhcmFtZXRlcnMpIHsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRtaXNzaW5nQXJndW1lbnRzW10gPSAkbmFtZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcihcc3ByaW50ZignVmFsdWUgZm9yIGFyZ3VtZW50ICIlcyIgaXMgcmVxdWlyZWQgZm9yICVzICIlcyIuJywgJG5hbWUsICRjYWxsVHlwZSwgJGNhbGxOYW1lKSwgJHRoaXMtPmdldFRlbXBsYXRlTGluZSgpLCAkdGhpcy0+Z2V0U291cmNlQ29udGV4dCgpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCRpc1ZhcmlhZGljKSB7CiAgICAgICAgICAgICRhcmJpdHJhcnlBcmd1bWVudHMgPSAkaXNQaHBWYXJpYWRpYyA/IG5ldyBWYXJpYWRpY0V4cHJlc3Npb24oW10sIC0xKSA6IG5ldyBBcnJheUV4cHJlc3Npb24oW10sIC0xKTsKICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtZXRlcnMgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgICAgIGlmIChcaXNfaW50KCRrZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgJGFyYml0cmFyeUFyZ3VtZW50cy0+YWRkRWxlbWVudCgkdmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkYXJiaXRyYXJ5QXJndW1lbnRzLT5hZGRFbGVtZW50KCR2YWx1ZSwgbmV3IENvbnN0YW50RXhwcmVzc2lvbigka2V5LCAtMSkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdW5zZXQoJHBhcmFtZXRlcnNbJGtleV0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJGFyYml0cmFyeUFyZ3VtZW50cy0+Y291bnQoKSkgewogICAgICAgICAgICAgICAgJGFyZ3VtZW50cyA9IGFycmF5X21lcmdlKCRhcmd1bWVudHMsICRvcHRpb25hbEFyZ3VtZW50cyk7CiAgICAgICAgICAgICAgICAkYXJndW1lbnRzW10gPSAkYXJiaXRyYXJ5QXJndW1lbnRzOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoJHBhcmFtZXRlcnMpIHsKICAgICAgICAgICAgJHVua25vd25QYXJhbWV0ZXIgPSBudWxsOwogICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1ldGVycyBhcyAkcGFyYW1ldGVyKSB7CiAgICAgICAgICAgICAgICBpZiAoJHBhcmFtZXRlciBpbnN0YW5jZW9mIE5vZGUpIHsKICAgICAgICAgICAgICAgICAgICAkdW5rbm93blBhcmFtZXRlciA9ICRwYXJhbWV0ZXI7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigKICAgICAgICAgICAgICAgIFxzcHJpbnRmKAogICAgICAgICAgICAgICAgICAgICdVbmtub3duIGFyZ3VtZW50JXMgIiVzIiBmb3IgJXMgIiVzKCVzKSIuJywKICAgICAgICAgICAgICAgICAgICBcY291bnQoJHBhcmFtZXRlcnMpID4gMSA/ICdzJyA6ICcnLCBpbXBsb2RlKCciLCAiJywgYXJyYXlfa2V5cygkcGFyYW1ldGVycykpLCAkY2FsbFR5cGUsICRjYWxsTmFtZSwgaW1wbG9kZSgnLCAnLCAkbmFtZXMpCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJHVua25vd25QYXJhbWV0ZXIgPyAkdW5rbm93blBhcmFtZXRlci0+Z2V0VGVtcGxhdGVMaW5lKCkgOiAkdGhpcy0+Z2V0VGVtcGxhdGVMaW5lKCksCiAgICAgICAgICAgICAgICAkdW5rbm93blBhcmFtZXRlciA/ICR1bmtub3duUGFyYW1ldGVyLT5nZXRTb3VyY2VDb250ZXh0KCkgOiAkdGhpcy0+Z2V0U291cmNlQ29udGV4dCgpCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGFyZ3VtZW50czsKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIFR3aWcgMy4xMgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gbm9ybWFsaXplTmFtZShzdHJpbmcgJG5hbWUpOiBzdHJpbmcKICAgIHsKICAgICAgICB0cmlnZ2VyX2RlcHJlY2F0aW9uKCd0d2lnL3R3aWcnLCAnMy4xMicsICdUaGUgIiVzKCkiIG1ldGhvZCBpcyBkZXByZWNhdGVkLicsIF9fTUVUSE9EX18pOwoKICAgICAgICByZXR1cm4gc3RydG9sb3dlcihwcmVnX3JlcGxhY2UoWycvKFtBLVpdKykoW0EtWl1bYS16XSkvJywgJy8oW2EtelxkXSkoW0EtWl0pLyddLCBbJ1xcMV9cXDInLCAnXFwxX1xcMiddLCAkbmFtZSkpOwogICAgfQoKICAgIC8vIFRvIGJlIHJlbW92ZWQgaW4gNC4wCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldENhbGxhYmxlUGFyYW1ldGVycygkY2FsbGFibGUsIGJvb2wgJGlzVmFyaWFkaWMpOiBhcnJheQogICAgewogICAgICAgICR0d2lnQ2FsbGFibGUgPSAkdGhpcy0+Z2V0QXR0cmlidXRlKCd0d2lnX2NhbGxhYmxlJyk7CiAgICAgICAgJHJjID0gJHRoaXMtPnJlZmxlY3RDYWxsYWJsZSgkdHdpZ0NhbGxhYmxlKTsKICAgICAgICAkciA9ICRyYy0+Z2V0UmVmbGVjdG9yKCk7CiAgICAgICAgJGNhbGxhYmxlTmFtZSA9ICRyYy0+Z2V0TmFtZSgpOwoKICAgICAgICAkcGFyYW1ldGVycyA9ICRyLT5nZXRQYXJhbWV0ZXJzKCk7CiAgICAgICAgaWYgKCR0aGlzLT5oYXNOb2RlKCdub2RlJykpIHsKICAgICAgICAgICAgYXJyYXlfc2hpZnQoJHBhcmFtZXRlcnMpOwogICAgICAgIH0KICAgICAgICBpZiAoJHR3aWdDYWxsYWJsZS0+bmVlZHNDaGFyc2V0KCkpIHsKICAgICAgICAgICAgYXJyYXlfc2hpZnQoJHBhcmFtZXRlcnMpOwogICAgICAgIH0KICAgICAgICBpZiAoJHR3aWdDYWxsYWJsZS0+bmVlZHNFbnZpcm9ubWVudCgpKSB7CiAgICAgICAgICAgIGFycmF5X3NoaWZ0KCRwYXJhbWV0ZXJzKTsKICAgICAgICB9CiAgICAgICAgaWYgKCR0d2lnQ2FsbGFibGUtPm5lZWRzQ29udGV4dCgpKSB7CiAgICAgICAgICAgIGFycmF5X3NoaWZ0KCRwYXJhbWV0ZXJzKTsKICAgICAgICB9CiAgICAgICAgZm9yZWFjaCAoJHR3aWdDYWxsYWJsZS0+Z2V0QXJndW1lbnRzKCkgYXMgJGFyZ3VtZW50KSB7CiAgICAgICAgICAgIGFycmF5X3NoaWZ0KCRwYXJhbWV0ZXJzKTsKICAgICAgICB9CgogICAgICAgICRpc1BocFZhcmlhZGljID0gZmFsc2U7CiAgICAgICAgaWYgKCRpc1ZhcmlhZGljKSB7CiAgICAgICAgICAgICRhcmd1bWVudCA9IGVuZCgkcGFyYW1ldGVycyk7CiAgICAgICAgICAgICRpc0FycmF5ID0gJGFyZ3VtZW50ICYmICRhcmd1bWVudC0+aGFzVHlwZSgpICYmICRhcmd1bWVudC0+Z2V0VHlwZSgpIGluc3RhbmNlb2YgXFJlZmxlY3Rpb25OYW1lZFR5cGUgJiYgJ2FycmF5JyA9PT0gJGFyZ3VtZW50LT5nZXRUeXBlKCktPmdldE5hbWUoKTsKICAgICAgICAgICAgaWYgKCRpc0FycmF5ICYmICRhcmd1bWVudC0+aXNEZWZhdWx0VmFsdWVBdmFpbGFibGUoKSAmJiBbXSA9PT0gJGFyZ3VtZW50LT5nZXREZWZhdWx0VmFsdWUoKSkgewogICAgICAgICAgICAgICAgYXJyYXlfcG9wKCRwYXJhbWV0ZXJzKTsKICAgICAgICAgICAgfSBlbHNlaWYgKCRhcmd1bWVudCAmJiAkYXJndW1lbnQtPmlzVmFyaWFkaWMoKSkgewogICAgICAgICAgICAgICAgYXJyYXlfcG9wKCRwYXJhbWV0ZXJzKTsKICAgICAgICAgICAgICAgICRpc1BocFZhcmlhZGljID0gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oXHNwcmludGYoJ1RoZSBsYXN0IHBhcmFtZXRlciBvZiAiJXMiIGZvciAlcyAiJXMiIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBkZWZhdWx0IHZhbHVlLCBlZy4gImFycmF5ICRhcmcgPSBbXSIuJywgJGNhbGxhYmxlTmFtZSwgJHRoaXMtPmdldEF0dHJpYnV0ZSgndHlwZScpLCAkdHdpZ0NhbGxhYmxlLT5nZXROYW1lKCkpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFskcGFyYW1ldGVycywgJGlzUGhwVmFyaWFkaWNdOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gcmVmbGVjdENhbGxhYmxlKFR3aWdDYWxsYWJsZUludGVyZmFjZSAkY2FsbGFibGUpOiBSZWZsZWN0aW9uQ2FsbGFibGUKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5yZWZsZWN0b3IpIHsKICAgICAgICAgICAgJHRoaXMtPnJlZmxlY3RvciA9IG5ldyBSZWZsZWN0aW9uQ2FsbGFibGUoJGNhbGxhYmxlKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+cmVmbGVjdG9yOwogICAgfQoKICAgIC8qKgogICAgICogT3ZlcnJpZGVzIHRoZSBUd2lnIGNhbGxhYmxlIGJhc2VkIG9uIGF0dHJpYnV0ZXMgKGFzIHBvdGVudGlhbGx5LCBhdHRyaWJ1dGVzIGNoYW5nZWQgYmV0d2VlbiB0aGUgY3JlYXRpb24gYW5kIHRoZSBjb21waWxhdGlvbiBvZiB0aGUgbm9kZSkuCiAgICAgKgogICAgICogVG8gYmUgcmVtb3ZlZCBpbiA0LjAgYW5kIHJlcGxhY2UgYnkgJHRoaXMtPmdldEF0dHJpYnV0ZSgndHdpZ19jYWxsYWJsZScpLgogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldFR3aWdDYWxsYWJsZSgpOiBUd2lnQ2FsbGFibGVJbnRlcmZhY2UKICAgIHsKICAgICAgICAkY3VycmVudCA9ICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ3R3aWdfY2FsbGFibGUnKTsKCiAgICAgICAgJHRoaXMtPnNldEF0dHJpYnV0ZSgndHdpZ19jYWxsYWJsZScsIG1hdGNoICgkdGhpcy0+Z2V0QXR0cmlidXRlKCd0eXBlJykpIHsKICAgICAgICAgICAgJ3Rlc3QnID0+IChuZXcgVHdpZ1Rlc3QoCiAgICAgICAgICAgICAgICAkdGhpcy0+Z2V0QXR0cmlidXRlKCduYW1lJyksCiAgICAgICAgICAgICAgICAkdGhpcy0+aGFzQXR0cmlidXRlKCdjYWxsYWJsZScpID8gJHRoaXMtPmdldEF0dHJpYnV0ZSgnY2FsbGFibGUnKSA6ICRjdXJyZW50LT5nZXRDYWxsYWJsZSgpLAogICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICdpc192YXJpYWRpYycgPT4gJHRoaXMtPmhhc0F0dHJpYnV0ZSgnaXNfdmFyaWFkaWMnKSA/ICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ2lzX3ZhcmlhZGljJykgOiAkY3VycmVudC0+aXNWYXJpYWRpYygpLAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgKSktPndpdGhEeW5hbWljQXJndW1lbnRzKCR0aGlzLT5nZXRBdHRyaWJ1dGUoJ25hbWUnKSwgJHRoaXMtPmhhc0F0dHJpYnV0ZSgnZHluYW1pY19uYW1lJykgPyAkdGhpcy0+Z2V0QXR0cmlidXRlKCdkeW5hbWljX25hbWUnKSA6ICRjdXJyZW50LT5nZXREeW5hbWljTmFtZSgpLCAkdGhpcy0+aGFzQXR0cmlidXRlKCdhcmd1bWVudHMnKSA/ICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ2FyZ3VtZW50cycpIDogJGN1cnJlbnQtPmdldEFyZ3VtZW50cygpKSwKICAgICAgICAgICAgJ2Z1bmN0aW9uJyA9PiAobmV3IFR3aWdGdW5jdGlvbigKICAgICAgICAgICAgICAgICR0aGlzLT5oYXNBdHRyaWJ1dGUoJ25hbWUnKSA/ICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ25hbWUnKSA6ICRjdXJyZW50LT5nZXROYW1lKCksCiAgICAgICAgICAgICAgICAkdGhpcy0+aGFzQXR0cmlidXRlKCdjYWxsYWJsZScpID8gJHRoaXMtPmdldEF0dHJpYnV0ZSgnY2FsbGFibGUnKSA6ICRjdXJyZW50LT5nZXRDYWxsYWJsZSgpLAogICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICduZWVkc19lbnZpcm9ubWVudCcgPT4gJHRoaXMtPmhhc0F0dHJpYnV0ZSgnbmVlZHNfZW52aXJvbm1lbnQnKSA/ICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ25lZWRzX2Vudmlyb25tZW50JykgOiAkY3VycmVudC0+bmVlZHNFbnZpcm9ubWVudCgpLAogICAgICAgICAgICAgICAgICAgICduZWVkc19jb250ZXh0JyA9PiAkdGhpcy0+aGFzQXR0cmlidXRlKCduZWVkc19jb250ZXh0JykgPyAkdGhpcy0+Z2V0QXR0cmlidXRlKCduZWVkc19jb250ZXh0JykgOiAkY3VycmVudC0+bmVlZHNDb250ZXh0KCksCiAgICAgICAgICAgICAgICAgICAgJ25lZWRzX2NoYXJzZXQnID0+ICR0aGlzLT5oYXNBdHRyaWJ1dGUoJ25lZWRzX2NoYXJzZXQnKSA/ICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ25lZWRzX2NoYXJzZXQnKSA6ICRjdXJyZW50LT5uZWVkc0NoYXJzZXQoKSwKICAgICAgICAgICAgICAgICAgICAnaXNfdmFyaWFkaWMnID0+ICR0aGlzLT5oYXNBdHRyaWJ1dGUoJ2lzX3ZhcmlhZGljJykgPyAkdGhpcy0+Z2V0QXR0cmlidXRlKCdpc192YXJpYWRpYycpIDogJGN1cnJlbnQtPmlzVmFyaWFkaWMoKSwKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICkpLT53aXRoRHluYW1pY0FyZ3VtZW50cygkdGhpcy0+Z2V0QXR0cmlidXRlKCduYW1lJyksICR0aGlzLT5oYXNBdHRyaWJ1dGUoJ2R5bmFtaWNfbmFtZScpID8gJHRoaXMtPmdldEF0dHJpYnV0ZSgnZHluYW1pY19uYW1lJykgOiAkY3VycmVudC0+Z2V0RHluYW1pY05hbWUoKSwgJHRoaXMtPmhhc0F0dHJpYnV0ZSgnYXJndW1lbnRzJykgPyAkdGhpcy0+Z2V0QXR0cmlidXRlKCdhcmd1bWVudHMnKSA6ICRjdXJyZW50LT5nZXRBcmd1bWVudHMoKSksCiAgICAgICAgICAgICdmaWx0ZXInID0+IChuZXcgVHdpZ0ZpbHRlcigKICAgICAgICAgICAgICAgICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ25hbWUnKSwKICAgICAgICAgICAgICAgICR0aGlzLT5oYXNBdHRyaWJ1dGUoJ2NhbGxhYmxlJykgPyAkdGhpcy0+Z2V0QXR0cmlidXRlKCdjYWxsYWJsZScpIDogJGN1cnJlbnQtPmdldENhbGxhYmxlKCksCiAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgJ25lZWRzX2Vudmlyb25tZW50JyA9PiAkdGhpcy0+aGFzQXR0cmlidXRlKCduZWVkc19lbnZpcm9ubWVudCcpID8gJHRoaXMtPmdldEF0dHJpYnV0ZSgnbmVlZHNfZW52aXJvbm1lbnQnKSA6ICRjdXJyZW50LT5uZWVkc0Vudmlyb25tZW50KCksCiAgICAgICAgICAgICAgICAgICAgJ25lZWRzX2NvbnRleHQnID0+ICR0aGlzLT5oYXNBdHRyaWJ1dGUoJ25lZWRzX2NvbnRleHQnKSA/ICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ25lZWRzX2NvbnRleHQnKSA6ICRjdXJyZW50LT5uZWVkc0NvbnRleHQoKSwKICAgICAgICAgICAgICAgICAgICAnbmVlZHNfY2hhcnNldCcgPT4gJHRoaXMtPmhhc0F0dHJpYnV0ZSgnbmVlZHNfY2hhcnNldCcpID8gJHRoaXMtPmdldEF0dHJpYnV0ZSgnbmVlZHNfY2hhcnNldCcpIDogJGN1cnJlbnQtPm5lZWRzQ2hhcnNldCgpLAogICAgICAgICAgICAgICAgICAgICdpc192YXJpYWRpYycgPT4gJHRoaXMtPmhhc0F0dHJpYnV0ZSgnaXNfdmFyaWFkaWMnKSA/ICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ2lzX3ZhcmlhZGljJykgOiAkY3VycmVudC0+aXNWYXJpYWRpYygpLAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgKSktPndpdGhEeW5hbWljQXJndW1lbnRzKCR0aGlzLT5nZXRBdHRyaWJ1dGUoJ25hbWUnKSwgJHRoaXMtPmhhc0F0dHJpYnV0ZSgnZHluYW1pY19uYW1lJykgPyAkdGhpcy0+Z2V0QXR0cmlidXRlKCdkeW5hbWljX25hbWUnKSA6ICRjdXJyZW50LT5nZXREeW5hbWljTmFtZSgpLCAkdGhpcy0+aGFzQXR0cmlidXRlKCdhcmd1bWVudHMnKSA/ICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ2FyZ3VtZW50cycpIDogJGN1cnJlbnQtPmdldEFyZ3VtZW50cygpKSwKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRBdHRyaWJ1dGUoJ3R3aWdfY2FsbGFibGUnKTsKICAgIH0KfQoiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZG9jQmxvY2siO047czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBtZXRhZGF0YSI7YTowOnt9fQ==";