1778692624
441d63ebbc39eba359c9061ece8482bd-phpdoc%3Ae9b29f1972434f56244c8d87fa69600b-a5638a8da6f499407e4d7d99d006686c
s:54612:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjIyOiJQYWNrYWdlVHJlZUJ1aWxkZXIucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MTp7czo0NToiXHBocERvY3VtZW50b3JcQ29tcGlsZXJcQXBpRG9jdW1lbnRhdGlvblxQYXNzIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDU6IlxwaHBEb2N1bWVudG9yXENvbXBpbGVyXEFwaURvY3VtZW50YXRpb25cUGFzcyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6IlBhc3MiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MTp7czo2NDoiXHBocERvY3VtZW50b3JcQ29tcGlsZXJcQXBpRG9jdW1lbnRhdGlvblxQYXNzXFBhY2thZ2VUcmVlQnVpbGRlciI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18iOjE1OntzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AaW1wbGVtZW50cyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGNvbnN0YW50cyI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHByb3BlcnRpZXMiO2E6MTp7czo3MzoiXHBocERvY3VtZW50b3JcQ29tcGlsZXJcQXBpRG9jdW1lbnRhdGlvblxQYXNzXFBhY2thZ2VUcmVlQnVpbGRlcjo6JHBhcnNlciI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6MTQ6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjczOiJccGhwRG9jdW1lbnRvclxDb21waWxlclxBcGlEb2N1bWVudGF0aW9uXFBhc3NcUGFja2FnZVRyZWVCdWlsZGVyOjokcGFyc2VyIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NjoicGFyc2VyIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO047czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mjg6IlxwaHBEb2N1bWVudG9yXFBhcnNlclxQYXJzZXIiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo2OiJQYXJzZXIiO319czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAcmVhZE9ubHkiO2I6MTtzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBob29rcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlydHVhbCI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AG1ldGFkYXRhIjthOjA6e31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBhdHRyaWJ1dGVzIjthOjA6e319fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBtZXRob2RzIjthOjU6e3M6Nzk6IlxwaHBEb2N1bWVudG9yXENvbXBpbGVyXEFwaURvY3VtZW50YXRpb25cUGFzc1xQYWNrYWdlVHJlZUJ1aWxkZXI6Ol9fY29uc3RydWN0KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI4OiJccGhwRG9jdW1lbnRvclxQYXJzZXJcUGFyc2VyIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NjoiUGFyc2VyIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoicGFyc2VyIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNTE5O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjU1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE1OTA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Nzk6IlxwaHBEb2N1bWVudG9yXENvbXBpbGVyXEFwaURvY3VtZW50YXRpb25cUGFzc1xQYWNrYWdlVHJlZUJ1aWxkZXI6Ol9fY29uc3RydWN0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiX19jb25zdHJ1Y3QiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo3NToiXHBocERvY3VtZW50b3JcQ29tcGlsZXJcQXBpRG9jdW1lbnRhdGlvblxQYXNzXFBhY2thZ2VUcmVlQnVpbGRlcjo6cHJvY2VzcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MjoiXHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxBcGlTZXREZXNjcmlwdG9yIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTY6IkFwaVNldERlc2NyaXB0b3IiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJzdWJqZWN0IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNTk3O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjg2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI5NzQ7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDI6IlxwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQXBpU2V0RGVzY3JpcHRvciI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE2OiJBcGlTZXREZXNjcmlwdG9yIjt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjc1OiJccGhwRG9jdW1lbnRvclxDb21waWxlclxBcGlEb2N1bWVudGF0aW9uXFBhc3NcUGFja2FnZVRyZWVCdWlsZGVyOjpwcm9jZXNzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJwcm9jZXNzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjk6InByb3RlY3RlZCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6OTQ6IlxwaHBEb2N1bWVudG9yXENvbXBpbGVyXEFwaURvY3VtZW50YXRpb25cUGFzc1xQYWNrYWdlVHJlZUJ1aWxkZXI6OmFkZEVsZW1lbnRzT2ZUeXBlVG9QYWNrYWdlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM2OiJccGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMDoiQ29sbGVjdGlvbiI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6InBhY2thZ2VzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJlbGVtZW50cyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMDE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MzgyNDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNDQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NTc3Mjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xWb2lkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjk0OiJccGhwRG9jdW1lbnRvclxDb21waWxlclxBcGlEb2N1bWVudGF0aW9uXFBhc3NcUGFja2FnZVRyZWVCdWlsZGVyOjphZGRFbGVtZW50c09mVHlwZVRvUGFja2FnZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjY6ImFkZEVsZW1lbnRzT2ZUeXBlVG9QYWNrYWdlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjgzOiJBZGRzIHRoZSBnaXZlbiBlbGVtZW50cyBvZiBhIHNwZWNpZmljIHR5cGUgdG8gdGhlaXIgcmVzcGVjdGl2ZSBQYWNrYWdlIERlc2NyaXB0b3JzLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxNzU6IlRoaXMgbWV0aG9kIHdpbGwgYXNzaWduIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgcGFja2FnZSBhcyByZWdpc3RlcmVkIGluIHRoZSBwYWNrYWdlIGZpZWxkIG9mIHRoYXQKZWxlbWVudC4gSWYgYSBwYWNrYWdlIGRvZXMgbm90IGV4aXN0IHlldCBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY3JlYXRlZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTozOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086NDE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb2xsZWN0aW9uIjo0OntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxJbnRlcmZhY2VzXFBhY2thZ2VJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNjoiUGFja2FnZUludGVyZmFjZSI7fX1zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29sbGVjdGlvbgBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM2OiJccGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMDoiQ29sbGVjdGlvbiI7fX1zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjg6InBhY2thZ2VzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTQ6IlNlcmllcyBvZiBlbGVtZW50cyB0byBhZGQgdG8gdGhlaXIgcmVzcGVjdGl2ZSBwYWNrYWdlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxJbnRlcmZhY2VzXEVsZW1lbnRJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNjoiRWxlbWVudEludGVyZmFjZSI7fX1zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjg6ImVsZW1lbnRzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjUxOiJEZWNsYXJlcyB3aGljaCBmaWVsZCBvZiB0aGUgcGFja2FnZSB3aWxsIGJlIHBvcHVsYXRlZCB3aXRoIHRoZSBnaXZlbgpzZXJpZXMgb2YgZWxlbWVudHMuIFRoaXMgbmFtZSB3aWxsIGJlIHRyYW5zZm9ybWVkIHRvIGEgZ2V0dGVyIHdoaWNoIG11c3QgZXhpc3QuIE91dCBvZgpwZXJmb3JtYW5jZSBjb25zaWRlcmF0aW9ucyB3aWxsIG5vIGVmZm9ydCBiZSBkb25lIHRvIHZlcmlmeSB3aGV0aGVyIHRoZSBwcm92aWRlZCB0eXBlIGlzCnZhbGlkLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoidHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6NDQ6InBocERvY3VtZW50b3JcQ29tcGlsZXJcQXBpRG9jdW1lbnRhdGlvblxQYXNzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YToxMzp7czoyMDoiQXBpRG9jdW1lbnRhdGlvblBhc3MiO3M6NjA6InBocERvY3VtZW50b3JcQ29tcGlsZXJcQXBpRG9jdW1lbnRhdGlvblxBcGlEb2N1bWVudGF0aW9uUGFzcyI7czoxNjoiQXBpU2V0RGVzY3JpcHRvciI7czo0MToicGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEFwaVNldERlc2NyaXB0b3IiO3M6MTA6IkNvbGxlY3Rpb24iO3M6MzU6InBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIjtzOjI2OiJEb2N1bWVudGF0aW9uU2V0RGVzY3JpcHRvciI7czo1MToicGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXERvY3VtZW50YXRpb25TZXREZXNjcmlwdG9yIjtzOjE2OiJFbGVtZW50SW50ZXJmYWNlIjtzOjUyOiJwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcSW50ZXJmYWNlc1xFbGVtZW50SW50ZXJmYWNlIjtzOjEzOiJGaWxlSW50ZXJmYWNlIjtzOjQ5OiJwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcSW50ZXJmYWNlc1xGaWxlSW50ZXJmYWNlIjtzOjE2OiJQYWNrYWdlSW50ZXJmYWNlIjtzOjUyOiJwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcSW50ZXJmYWNlc1xQYWNrYWdlSW50ZXJmYWNlIjtzOjE3OiJQYWNrYWdlRGVzY3JpcHRvciI7czo0MjoicGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFBhY2thZ2VEZXNjcmlwdG9yIjtzOjEzOiJUYWdEZXNjcmlwdG9yIjtzOjM4OiJwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcVGFnRGVzY3JpcHRvciI7czo2OiJQYXJzZXIiO3M6Mjc6InBocERvY3VtZW50b3JcUGFyc2VyXFBhcnNlciI7czo1OiJTdGFnZSI7czozODoicGhwRG9jdW1lbnRvclxQaXBlbGluZVxBdHRyaWJ1dGVcU3RhZ2UiO3M6NToiRnFzZW4iO3M6MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI7czo2OiJBc3NlcnQiO3M6MjM6IldlYm1vemFydFxBc3NlcnRcQXNzZXJ0Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjk1OiJccGhwRG9jdW1lbnRvclxDb21waWxlclxBcGlEb2N1bWVudGF0aW9uXFBhc3NcUGFja2FnZVRyZWVCdWlsZGVyOjpjcmVhdGVQYWNrYWdlRGVzY3JpcHRvclRyZWUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MzY6IlxwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJDb2xsZWN0aW9uIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoicGFja2FnZXMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6InBhY2thZ2VOYW1lIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NjczNDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxOTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6ODA5MTt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xWb2lkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjk1OiJccGhwRG9jdW1lbnRvclxDb21waWxlclxBcGlEb2N1bWVudGF0aW9uXFBhc3NcUGFja2FnZVRyZWVCdWlsZGVyOjpjcmVhdGVQYWNrYWdlRGVzY3JpcHRvclRyZWUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI3OiJjcmVhdGVQYWNrYWdlRGVzY3JpcHRvclRyZWUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Nzk6IkNyZWF0ZXMgYSB0cmVlIG9mIFBhY2thZ2VEZXNjcmlwdG9ycyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgRlFOTiAocGFja2FnZSBuYW1lKS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDg2OiJUaGlzIG1ldGhvZCB3aWxsIGV4YW1pbmUgdGhlIHBhY2thZ2UgbmFtZSBhbmQgY3JlYXRlIGEgcGFja2FnZSBkZXNjcmlwdG9yIGZvciBlYWNoIHBhcnQgb2YKdGhlIEZRTk4gaWYgaXQgZG9lc24ndCBleGlzdCBpbiB0aGUgcGFja2FnZXMgZmllbGQgb2YgdGhlIGN1cnJlbnQgcGFja2FnZSAoc3RhcnRpbmcgd2l0aCB0aGUgcm9vdApQYWNrYWdlIGluIHRoZSBQcm9qZWN0IERlc2NyaXB0b3IpLAoKQXMgYW4gaW50ZW5kZWQgc2lkZSBlZmZlY3QgdGhpcyBtZXRob2QgYWxzbyBwb3B1bGF0ZXMgdGhlICplbGVtZW50cyogaW5kZXggb2YgdGhlIFByb2plY3REZXNjcmlwdG9yIHdpdGggYWxsCmNyZWF0ZWQgUGFja2FnZURlc2NyaXB0b3JzLiBFYWNoIGluZGV4IGtleSBpcyBwcmVmaXhlZCB3aXRoIGEgdGlsZGUgKH4pIHNvIHRoYXQgaXQgd2lsbCBub3QgY29uZmxpY3Qgd2l0aApvdGhlciBGUVNFTidzLCBzdWNoIGFzIGNsYXNzZXMgb3IgaW50ZXJmYWNlcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo0OntpOjA7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlIjozOntzOjc6IgAqAG5hbWUiO3M6Mzoic2VlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0MjoiZm9yIHRoZSBjaGlsZCBwYWNrYWdlcyBvZiBhIGdpdmVuIHBhY2thZ2UuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjk6IgAqAHJlZmVycyI7Tzo1NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuIjoxOntzOjYxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Njg6IlxwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcSW50ZXJmYWNlc1xQYWNrYWdlSW50ZXJmYWNlOjpnZXRDaGlsZHJlbigpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6ImdldENoaWxkcmVuIjt9fX1pOjE7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlIjozOntzOjc6IgAqAG5hbWUiO3M6Mzoic2VlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMToiZm9yIHRoZSByb290IHBhY2thZ2UuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjk6IgAqAHJlZmVycyI7Tzo1NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuIjoxOntzOjYxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjY6IlxwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRG9jdW1lbnRhdGlvblNldERlc2NyaXB0b3I6OmdldFBhY2thZ2UoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJnZXRQYWNrYWdlIjt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086NDE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb2xsZWN0aW9uIjo0OntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxJbnRlcmZhY2VzXFBhY2thZ2VJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNjoiUGFja2FnZUludGVyZmFjZSI7fX1zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29sbGVjdGlvbgBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM2OiJccGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMDoiQ29sbGVjdGlvbiI7fX1zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjg6InBhY2thZ2VzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDY6IkEgRlFOTiBvZiB0aGUgcGFja2FnZSAoYW5kIHBhcmVudHMpIHRvIGNyZWF0ZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJwYWNrYWdlTmFtZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoyMDI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6ODg6IlxwaHBEb2N1bWVudG9yXENvbXBpbGVyXEFwaURvY3VtZW50YXRpb25cUGFzc1xQYWNrYWdlVHJlZUJ1aWxkZXI6Om5vcm1hbGl6ZVBhY2thZ2VOYW1lKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjExOiJwYWNrYWdlTmFtZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjAzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjgzOTk7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjA4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjg2NTQ7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjg4OiJccGhwRG9jdW1lbnRvclxDb21waWxlclxBcGlEb2N1bWVudGF0aW9uXFBhc3NcUGFja2FnZVRyZWVCdWlsZGVyOjpub3JtYWxpemVQYWNrYWdlTmFtZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjA6Im5vcm1hbGl6ZVBhY2thZ2VOYW1lIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY2OiJDb252ZXJ0cyBhbGwgb2xkLXN0eWxlIHNlcGFyYXRvcnMgaW50byBuYW1lc3BhY2Utc3R5bGUgc2VwYXJhdG9ycy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTg5OiJQbGVhc2Ugbm90ZSB0aGF0IHRoZSB0cmltIHdpbGwsIGJ5IGRlc2lnbiwgcmVtb3ZlIGFueSB0cmFpbGluZyBzcGVhcmF0b3JzLiBUaGlzIG1ha2VzIGl0IGVhc2llciB0bwppbnRlZ3JhdGUgaW4gdGhlIHJlc3Qgb2YgdGhpcyBjbGFzcyBhbmQgYWxsb3dzIGBcTXlbUGFja2FnZV1gIHRvIGNvbnZlcnQgdG8gYFxNeVxQYWNrYWdlYC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjIwMjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwB1c2VkVHJhaXRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjA5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY0OiJccGhwRG9jdW1lbnRvclxDb21waWxlclxBcGlEb2N1bWVudGF0aW9uXFBhc3NcUGFja2FnZVRyZWVCdWlsZGVyIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTg6IlBhY2thZ2VUcmVlQnVpbGRlciI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTk6IlJlYnVpbGRzIHRoZSBwYWNrYWdlIHRyZWUgZnJvbSB0aGUgZWxlbWVudHMgZm91bmQgaW4gZmlsZXMuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIwOToiT24gZXZlcnkgY29tcGlsZXIgcGFzcyBpcyB0aGUgcGFja2FnZSB0cmVlIHJlYnVpbGQgdG8gYWlkIGluIHRoZSBwcm9jZXNzCm9mIGluY3JlbWVudGFsIHVwZGF0ZXMuCgpJZiB0aGUgcGFja2FnZSB0cmVlIHdlcmUgdG8gYmUgcGVyc2lzdGVkIHRoZW4gYm90aCBsb2NhdGlvbnMgbmVlZGVkIHRvIGJlCmludmFsaWRhdGVkIGlmIGEgZmlsZSB3ZXJlIHRvIGNoYW5nZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjIwMjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MToiXHBocERvY3VtZW50b3JcQ29tcGlsZXJcQXBpRG9jdW1lbnRhdGlvblxBcGlEb2N1bWVudGF0aW9uUGFzcyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIwOiJBcGlEb2N1bWVudGF0aW9uUGFzcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmaW5hbCI7YjoxO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwByZWFkT25seSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGF0dHJpYnV0ZXMiO2E6MTp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXR0cmlidXRlIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBdHRyaWJ1dGUAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozOToiXHBocERvY3VtZW50b3JcUGlwZWxpbmVcQXR0cmlidXRlXFN0YWdlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NToiU3RhZ2UiO31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBdHRyaWJ1dGUAYXJndW1lbnRzIjthOjM6e2k6MDtPOjQxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENhbGxBcmd1bWVudCI6Mjp7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2FsbEFyZ3VtZW50AHZhbHVlIjtzOjQzOiIncGhwZG9jLnBpcGVsaW5lLmFwaV9kb2N1bWVudGF0aW9uLmNvbXBpbGUnIjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDYWxsQXJndW1lbnQAbmFtZSI7Tjt9aToxO086NDE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2FsbEFyZ3VtZW50IjoyOntzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDYWxsQXJndW1lbnQAdmFsdWUiO3M6NDoiOTAwMSI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2FsbEFyZ3VtZW50AG5hbWUiO047fWk6MjtPOjQxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENhbGxBcmd1bWVudCI6Mjp7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2FsbEFyZ3VtZW50AHZhbHVlIjtzOjI0OiInQnVpbGQgInBhY2thZ2VzIiBpbmRleCciO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENhbGxBcmd1bWVudABuYW1lIjtOO319fX19fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaGFzaCI7czozMjoiYTU2MzhhOGRhNmY0OTk0MDdlNGQ3ZDk5ZDAwNjY4NmMiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czoxMDY6InZlbmRvci9waHBkb2N1bWVudG9yL3BocGRvY3VtZW50b3Ivc3JjL3BocERvY3VtZW50b3IvQ29tcGlsZXIvQXBpRG9jdW1lbnRhdGlvbi9QYXNzL1BhY2thZ2VUcmVlQnVpbGRlci5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjg2NTg6Ijw/cGhwCgpkZWNsYXJlKHN0cmljdF90eXBlcz0xKTsKCi8qKgogKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBwaHBEb2N1bWVudG9yLgogKgogKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRQogKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS4KICoKICogQGxpbmsgaHR0cHM6Ly9waHBkb2Mub3JnCiAqLwoKbmFtZXNwYWNlIHBocERvY3VtZW50b3JcQ29tcGlsZXJcQXBpRG9jdW1lbnRhdGlvblxQYXNzOwoKdXNlIHBocERvY3VtZW50b3JcQ29tcGlsZXJcQXBpRG9jdW1lbnRhdGlvblxBcGlEb2N1bWVudGF0aW9uUGFzczsKdXNlIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxBcGlTZXREZXNjcmlwdG9yOwp1c2UgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb247CnVzZSBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRG9jdW1lbnRhdGlvblNldERlc2NyaXB0b3I7CnVzZSBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcSW50ZXJmYWNlc1xFbGVtZW50SW50ZXJmYWNlOwp1c2UgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEludGVyZmFjZXNcRmlsZUludGVyZmFjZTsKdXNlIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxJbnRlcmZhY2VzXFBhY2thZ2VJbnRlcmZhY2U7CnVzZSBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUGFja2FnZURlc2NyaXB0b3I7CnVzZSBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcVGFnRGVzY3JpcHRvcjsKdXNlIHBocERvY3VtZW50b3JcUGFyc2VyXFBhcnNlcjsKdXNlIHBocERvY3VtZW50b3JcUGlwZWxpbmVcQXR0cmlidXRlXFN0YWdlOwp1c2UgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuOwp1c2UgV2VibW96YXJ0XEFzc2VydFxBc3NlcnQ7Cgp1c2UgZnVuY3Rpb24gZXhwbG9kZTsKdXNlIGZ1bmN0aW9uIGx0cmltOwp1c2UgZnVuY3Rpb24gcHJlZ19yZXBsYWNlOwp1c2UgZnVuY3Rpb24gcnRyaW07CnVzZSBmdW5jdGlvbiBzdHJfcmVwbGFjZTsKdXNlIGZ1bmN0aW9uIHVjZmlyc3Q7CgovKioKICogUmVidWlsZHMgdGhlIHBhY2thZ2UgdHJlZSBmcm9tIHRoZSBlbGVtZW50cyBmb3VuZCBpbiBmaWxlcy4KICoKICogT24gZXZlcnkgY29tcGlsZXIgcGFzcyBpcyB0aGUgcGFja2FnZSB0cmVlIHJlYnVpbGQgdG8gYWlkIGluIHRoZSBwcm9jZXNzCiAqIG9mIGluY3JlbWVudGFsIHVwZGF0ZXMuCiAqCiAqIElmIHRoZSBwYWNrYWdlIHRyZWUgd2VyZSB0byBiZSBwZXJzaXN0ZWQgdGhlbiBib3RoIGxvY2F0aW9ucyBuZWVkZWQgdG8gYmUKICogaW52YWxpZGF0ZWQgaWYgYSBmaWxlIHdlcmUgdG8gY2hhbmdlLgogKi8KI1tTdGFnZSgKICAgICdwaHBkb2MucGlwZWxpbmUuYXBpX2RvY3VtZW50YXRpb24uY29tcGlsZScsCiAgICA5MDAxLAogICAgJ0J1aWxkICJwYWNrYWdlcyIgaW5kZXgnLAopXQpmaW5hbCBjbGFzcyBQYWNrYWdlVHJlZUJ1aWxkZXIgZXh0ZW5kcyBBcGlEb2N1bWVudGF0aW9uUGFzcwp7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QocHJpdmF0ZSByZWFkb25seSBQYXJzZXIgJHBhcnNlcikKICAgIHsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJvY2VzcyhBcGlTZXREZXNjcmlwdG9yICRzdWJqZWN0KTogQXBpU2V0RGVzY3JpcHRvcgogICAgewogICAgICAgIGlmICgkc3ViamVjdC0+Z2V0U2V0dGluZ3MoKS0+aWdub3JlUGFja2FnZXMoKSkgewogICAgICAgICAgICByZXR1cm4gJHN1YmplY3Q7CiAgICAgICAgfQoKICAgICAgICAkcGFja2FnZSA9ICRzdWJqZWN0LT5nZXRQYWNrYWdlKCk7CiAgICAgICAgQXNzZXJ0Ojppc0luc3RhbmNlT2YoJHBhY2thZ2UsIFBhY2thZ2VJbnRlcmZhY2U6OmNsYXNzKTsKCiAgICAgICAgJHBhY2thZ2VzID0gQ29sbGVjdGlvbjo6ZnJvbUludGVyZmFjZVN0cmluZyhQYWNrYWdlSW50ZXJmYWNlOjpjbGFzcyk7CiAgICAgICAgJHBhY2thZ2VzWydcXCddID0gJHBhY2thZ2U7CgogICAgICAgIC8qKiBAdmFyIEZpbGVJbnRlcmZhY2UgJGZpbGUgKi8KICAgICAgICBmb3JlYWNoICgkc3ViamVjdC0+Z2V0RmlsZXMoKSBhcyAkZmlsZSkgewogICAgICAgICAgICAkdGhpcy0+YWRkRWxlbWVudHNPZlR5cGVUb1BhY2thZ2UoJHBhY2thZ2VzLCBbJGZpbGVdLCAnZmlsZXMnKTsKICAgICAgICAgICAgJHRoaXMtPmFkZEVsZW1lbnRzT2ZUeXBlVG9QYWNrYWdlKCRwYWNrYWdlcywgJGZpbGUtPmdldENvbnN0YW50cygpLT5nZXRBbGwoKSwgJ2NvbnN0YW50cycpOwogICAgICAgICAgICAkdGhpcy0+YWRkRWxlbWVudHNPZlR5cGVUb1BhY2thZ2UoJHBhY2thZ2VzLCAkZmlsZS0+Z2V0RnVuY3Rpb25zKCktPmdldEFsbCgpLCAnZnVuY3Rpb25zJyk7CiAgICAgICAgICAgICR0aGlzLT5hZGRFbGVtZW50c09mVHlwZVRvUGFja2FnZSgkcGFja2FnZXMsICRmaWxlLT5nZXRDbGFzc2VzKCktPmdldEFsbCgpLCAnY2xhc3NlcycpOwogICAgICAgICAgICAkdGhpcy0+YWRkRWxlbWVudHNPZlR5cGVUb1BhY2thZ2UoJHBhY2thZ2VzLCAkZmlsZS0+Z2V0SW50ZXJmYWNlcygpLT5nZXRBbGwoKSwgJ2ludGVyZmFjZXMnKTsKICAgICAgICAgICAgJHRoaXMtPmFkZEVsZW1lbnRzT2ZUeXBlVG9QYWNrYWdlKCRwYWNrYWdlcywgJGZpbGUtPmdldFRyYWl0cygpLT5nZXRBbGwoKSwgJ3RyYWl0cycpOwogICAgICAgICAgICAkdGhpcy0+YWRkRWxlbWVudHNPZlR5cGVUb1BhY2thZ2UoJHBhY2thZ2VzLCAkZmlsZS0+Z2V0RW51bXMoKS0+Z2V0QWxsKCksICdlbnVtcycpOwogICAgICAgIH0KCiAgICAgICAgJHN1YmplY3QtPmdldEluZGV4ZXMoKS0+c2V0KAogICAgICAgICAgICAncGFja2FnZXMnLAogICAgICAgICAgICBDb2xsZWN0aW9uOjpmcm9tSW50ZXJmYWNlU3RyaW5nKEVsZW1lbnRJbnRlcmZhY2U6OmNsYXNzLCAkcGFja2FnZXMtPmdldEFsbCgpKSwKICAgICAgICApOwoKICAgICAgICByZXR1cm4gJHN1YmplY3Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGRzIHRoZSBnaXZlbiBlbGVtZW50cyBvZiBhIHNwZWNpZmljIHR5cGUgdG8gdGhlaXIgcmVzcGVjdGl2ZSBQYWNrYWdlIERlc2NyaXB0b3JzLgogICAgICoKICAgICAqIFRoaXMgbWV0aG9kIHdpbGwgYXNzaWduIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgcGFja2FnZSBhcyByZWdpc3RlcmVkIGluIHRoZSBwYWNrYWdlIGZpZWxkIG9mIHRoYXQKICAgICAqIGVsZW1lbnQuIElmIGEgcGFja2FnZSBkb2VzIG5vdCBleGlzdCB5ZXQgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGNyZWF0ZWQuCiAgICAgKgogICAgICogQHBhcmFtIENvbGxlY3Rpb248UGFja2FnZUludGVyZmFjZT4gJHBhY2thZ2VzCiAgICAgKiBAcGFyYW0gYXJyYXk8RWxlbWVudEludGVyZmFjZT4gJGVsZW1lbnRzIFNlcmllcyBvZiBlbGVtZW50cyB0byBhZGQgdG8gdGhlaXIgcmVzcGVjdGl2ZSBwYWNrYWdlLgogICAgICogQHBhcmFtIHN0cmluZyAkdHlwZSAgICAgRGVjbGFyZXMgd2hpY2ggZmllbGQgb2YgdGhlIHBhY2thZ2Ugd2lsbCBiZSBwb3B1bGF0ZWQgd2l0aCB0aGUgZ2l2ZW4KICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmllcyBvZiBlbGVtZW50cy4gVGhpcyBuYW1lIHdpbGwgYmUgdHJhbnNmb3JtZWQgdG8gYSBnZXR0ZXIgd2hpY2ggbXVzdCBleGlzdC4gT3V0IG9mCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZSBjb25zaWRlcmF0aW9ucyB3aWxsIG5vIGVmZm9ydCBiZSBkb25lIHRvIHZlcmlmeSB3aGV0aGVyIHRoZSBwcm92aWRlZCB0eXBlIGlzCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZC4KICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBhZGRFbGVtZW50c09mVHlwZVRvUGFja2FnZShDb2xsZWN0aW9uICRwYWNrYWdlcywgYXJyYXkgJGVsZW1lbnRzLCBzdHJpbmcgJHR5cGUpOiB2b2lkCiAgICB7CiAgICAgICAgZm9yZWFjaCAoJGVsZW1lbnRzIGFzICRlbGVtZW50KSB7CiAgICAgICAgICAgICRwYWNrYWdlTmFtZSA9ICcnOwogICAgICAgICAgICAkcGFja2FnZVRhZ3MgPSAkZWxlbWVudC0+Z2V0VGFncygpLT5mZXRjaCgncGFja2FnZScpOwogICAgICAgICAgICBpZiAoJHBhY2thZ2VUYWdzIGluc3RhbmNlb2YgQ29sbGVjdGlvbikgewogICAgICAgICAgICAgICAgJHBhY2thZ2VUYWcgPSAkcGFja2FnZVRhZ3MtPmdldEl0ZXJhdG9yKCktPmN1cnJlbnQoKTsKICAgICAgICAgICAgICAgIGlmICgkcGFja2FnZVRhZyBpbnN0YW5jZW9mIFRhZ0Rlc2NyaXB0b3IpIHsKICAgICAgICAgICAgICAgICAgICAkcGFja2FnZU5hbWUgPSAkdGhpcy0+bm9ybWFsaXplUGFja2FnZU5hbWUoKHN0cmluZykgJHBhY2thZ2VUYWctPmdldERlc2NyaXB0aW9uKCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkc3VicGFja2FnZUNvbGxlY3Rpb24gPSAkZWxlbWVudC0+Z2V0VGFncygpLT5mZXRjaCgnc3VicGFja2FnZScpOwogICAgICAgICAgICBpZiAoJHN1YnBhY2thZ2VDb2xsZWN0aW9uIGluc3RhbmNlb2YgQ29sbGVjdGlvbiAmJiAkc3VicGFja2FnZUNvbGxlY3Rpb24tPmNvdW50KCkgPiAwKSB7CiAgICAgICAgICAgICAgICAkc3VicGFja2FnZVRhZyA9ICRzdWJwYWNrYWdlQ29sbGVjdGlvbi0+Z2V0SXRlcmF0b3IoKS0+Y3VycmVudCgpOwogICAgICAgICAgICAgICAgaWYgKCRzdWJwYWNrYWdlVGFnIGluc3RhbmNlb2YgVGFnRGVzY3JpcHRvcikgewogICAgICAgICAgICAgICAgICAgICRwYWNrYWdlTmFtZSAuPSAnXFwnIC4gJHRoaXMtPm5vcm1hbGl6ZVBhY2thZ2VOYW1lKChzdHJpbmcpICRzdWJwYWNrYWdlVGFnLT5nZXREZXNjcmlwdGlvbigpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCRwYWNrYWdlTmFtZSA9PT0gJycpIHsKICAgICAgICAgICAgICAgICRwYWNrYWdlTmFtZSA9ICR0aGlzLT5wYXJzZXItPmdldERlZmF1bHRQYWNrYWdlTmFtZSgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBlbnN1cmUgY29uc2lzdGVuY3kgYnkgdHJpbW1pbmcgdGhlIHNsYXNoIHByZWZpeCBhbmQgdGhlbiByZS1hcHBlbmRpbmcgaXQuCiAgICAgICAgICAgICRwYWNrYWdlSW5kZXhOYW1lID0gJ1xcJyAuIGx0cmltKCRwYWNrYWdlTmFtZSwgJ1xcJyk7CiAgICAgICAgICAgIGlmICghIGlzc2V0KCRwYWNrYWdlc1skcGFja2FnZUluZGV4TmFtZV0pKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+Y3JlYXRlUGFja2FnZURlc2NyaXB0b3JUcmVlKCRwYWNrYWdlcywgJHBhY2thZ2VOYW1lKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLyoqIEB2YXIgUGFja2FnZUludGVyZmFjZSAkcGFja2FnZSAqLwogICAgICAgICAgICAkcGFja2FnZSA9ICRwYWNrYWdlc1skcGFja2FnZUluZGV4TmFtZV07CgogICAgICAgICAgICAvLyByZXBsYWNlIHRleHR1YWwgcmVwcmVzZW50YXRpb24gd2l0aCBhbiBvYmplY3QgcmVwcmVzZW50YXRpb24KICAgICAgICAgICAgJGVsZW1lbnQtPnNldFBhY2thZ2UoJHBhY2thZ2UpOwoKICAgICAgICAgICAgLy8gYWRkIGVsZW1lbnQgdG8gcGFja2FnZQogICAgICAgICAgICAkZ2V0dGVyID0gJ2dldCcgLiB1Y2ZpcnN0KCR0eXBlKTsKCiAgICAgICAgICAgIC8qKiBAdmFyIENvbGxlY3Rpb248RWxlbWVudEludGVyZmFjZT4gJGNvbGxlY3Rpb24gKi8KICAgICAgICAgICAgJGNvbGxlY3Rpb24gPSAkcGFja2FnZS0+eyRnZXR0ZXJ9KCk7CiAgICAgICAgICAgICRjb2xsZWN0aW9uLT5hZGQoJGVsZW1lbnQpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZXMgYSB0cmVlIG9mIFBhY2thZ2VEZXNjcmlwdG9ycyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgRlFOTiAocGFja2FnZSBuYW1lKS4KICAgICAqCiAgICAgKiBUaGlzIG1ldGhvZCB3aWxsIGV4YW1pbmUgdGhlIHBhY2thZ2UgbmFtZSBhbmQgY3JlYXRlIGEgcGFja2FnZSBkZXNjcmlwdG9yIGZvciBlYWNoIHBhcnQgb2YKICAgICAqIHRoZSBGUU5OIGlmIGl0IGRvZXNuJ3QgZXhpc3QgaW4gdGhlIHBhY2thZ2VzIGZpZWxkIG9mIHRoZSBjdXJyZW50IHBhY2thZ2UgKHN0YXJ0aW5nIHdpdGggdGhlIHJvb3QKICAgICAqIFBhY2thZ2UgaW4gdGhlIFByb2plY3QgRGVzY3JpcHRvciksCiAgICAgKgogICAgICogQXMgYW4gaW50ZW5kZWQgc2lkZSBlZmZlY3QgdGhpcyBtZXRob2QgYWxzbyBwb3B1bGF0ZXMgdGhlICplbGVtZW50cyogaW5kZXggb2YgdGhlIFByb2plY3REZXNjcmlwdG9yIHdpdGggYWxsCiAgICAgKiBjcmVhdGVkIFBhY2thZ2VEZXNjcmlwdG9ycy4gRWFjaCBpbmRleCBrZXkgaXMgcHJlZml4ZWQgd2l0aCBhIHRpbGRlICh+KSBzbyB0aGF0IGl0IHdpbGwgbm90IGNvbmZsaWN0IHdpdGgKICAgICAqIG90aGVyIEZRU0VOJ3MsIHN1Y2ggYXMgY2xhc3NlcyBvciBpbnRlcmZhY2VzLgogICAgICoKICAgICAqIEBzZWUgUGFja2FnZUludGVyZmFjZTo6Z2V0Q2hpbGRyZW4oKSBmb3IgdGhlIGNoaWxkIHBhY2thZ2VzIG9mIGEgZ2l2ZW4gcGFja2FnZS4KICAgICAqIEBzZWUgRG9jdW1lbnRhdGlvblNldERlc2NyaXB0b3I6OmdldFBhY2thZ2UoKSBmb3IgdGhlIHJvb3QgcGFja2FnZS4KICAgICAqCiAgICAgKiBAcGFyYW0gQ29sbGVjdGlvbjxQYWNrYWdlSW50ZXJmYWNlPiAkcGFja2FnZXMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhY2thZ2VOYW1lIEEgRlFOTiBvZiB0aGUgcGFja2FnZSAoYW5kIHBhcmVudHMpIHRvIGNyZWF0ZS4KICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVQYWNrYWdlRGVzY3JpcHRvclRyZWUoQ29sbGVjdGlvbiAkcGFja2FnZXMsIHN0cmluZyAkcGFja2FnZU5hbWUpOiB2b2lkCiAgICB7CiAgICAgICAgJHBhcnRzID0gZXhwbG9kZSgnXFwnLCBsdHJpbSgkcGFja2FnZU5hbWUsICdcXCcpKTsKICAgICAgICAkZnFubiA9ICcnOwoKICAgICAgICAvLyB0aGlzIG1ldGhvZCBkb2VzIG5vdCB1c2UgcmVjdXJzaW9uIHRvIHRyYXZlcnNlIHRoZSB0cmVlIGJ1dCB1c2VzIGEgcG9pbnRlciB0aGF0IHdpbGwgYmUgb3ZlcnJpZGRlbiB3aXRoIHRoZQogICAgICAgIC8vIG5leHQgaXRlbSB0aGF0IGlzIHRvIGJlIHRyYXZlcnNlZCAoY2hpbGQgcGFja2FnZSkgYXQgdGhlIGVuZCBvZiB0aGUgbG9vcC4KCiAgICAgICAgLyoqIEB2YXIgUGFja2FnZUludGVyZmFjZSAkcG9pbnRlciAqLwogICAgICAgICRwb2ludGVyID0gJHBhY2thZ2VzWydcXCddOwogICAgICAgIGZvcmVhY2ggKCRwYXJ0cyBhcyAkcGFydCkgewogICAgICAgICAgICAkZnFubiAuPSAnXFwnIC4gJHBhcnQ7CiAgICAgICAgICAgIGlmICgkcG9pbnRlci0+Z2V0Q2hpbGRyZW4oKS0+ZmV0Y2goJHBhcnQpKSB7CiAgICAgICAgICAgICAgICAkcG9pbnRlciA9ICRwb2ludGVyLT5nZXRDaGlsZHJlbigpLT5nZXQoJHBhcnQpOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIHBhY2thZ2UgZG9lcyBub3QgZXhpc3QsIGNyZWF0ZSBpdAogICAgICAgICAgICAkaW50ZXJpbVBhY2thZ2VEZXNjcmlwdG9yID0gbmV3IFBhY2thZ2VEZXNjcmlwdG9yKCk7CiAgICAgICAgICAgICRpbnRlcmltUGFja2FnZURlc2NyaXB0b3ItPnNldFBhcmVudCgkcG9pbnRlcik7CiAgICAgICAgICAgICRpbnRlcmltUGFja2FnZURlc2NyaXB0b3ItPnNldE5hbWUoJHBhcnQpOwogICAgICAgICAgICAkaW50ZXJpbVBhY2thZ2VEZXNjcmlwdG9yLT5zZXRGdWxseVF1YWxpZmllZFN0cnVjdHVyYWxFbGVtZW50TmFtZShuZXcgRnFzZW4oJGZxbm4pKTsKCiAgICAgICAgICAgIC8vIGFkZCB0byB0aGUgcG9pbnRlcidzIGxpc3Qgb2YgY2hpbGRyZW4KICAgICAgICAgICAgJHBvaW50ZXItPmdldENoaWxkcmVuKCktPnNldCgkcGFydCA/OiAnVU5LTk9XTicsICRpbnRlcmltUGFja2FnZURlc2NyaXB0b3IpOwoKICAgICAgICAgICAgLy8gYWRkIHRvIGluZGV4CiAgICAgICAgICAgICRwYWNrYWdlc1skZnFubl0gPSAkaW50ZXJpbVBhY2thZ2VEZXNjcmlwdG9yOwoKICAgICAgICAgICAgLy8gbW92ZSBwb2ludGVyIGZvcndhcmQKICAgICAgICAgICAgJHBvaW50ZXIgPSAkaW50ZXJpbVBhY2thZ2VEZXNjcmlwdG9yOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnRzIGFsbCBvbGQtc3R5bGUgc2VwYXJhdG9ycyBpbnRvIG5hbWVzcGFjZS1zdHlsZSBzZXBhcmF0b3JzLgogICAgICoKICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIHRyaW0gd2lsbCwgYnkgZGVzaWduLCByZW1vdmUgYW55IHRyYWlsaW5nIHNwZWFyYXRvcnMuIFRoaXMgbWFrZXMgaXQgZWFzaWVyIHRvCiAgICAgKiBpbnRlZ3JhdGUgaW4gdGhlIHJlc3Qgb2YgdGhpcyBjbGFzcyBhbmQgYWxsb3dzIGBcTXlbUGFja2FnZV1gIHRvIGNvbnZlcnQgdG8gYFxNeVxQYWNrYWdlYC4KICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBub3JtYWxpemVQYWNrYWdlTmFtZShzdHJpbmcgJHBhY2thZ2VOYW1lKTogc3RyaW5nCiAgICB7CiAgICAgICAgJG5hbWUgPSBydHJpbShzdHJfcmVwbGFjZShbJy4nLCAnXycsICctJywgJ1snLCAnXSddLCBbJ1xcJywgJ1xcJywgJ1xcJywgJ1xcJywgJ1xcJ10sICRwYWNrYWdlTmFtZSksICdcXCcpOwoKICAgICAgICByZXR1cm4gcHJlZ19yZXBsYWNlKCcvW15BLVphLXowLTlcXFxcXS8nLCAnJywgJG5hbWUpOwogICAgfQp9CiI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzU6IlRoaXMgZmlsZSBpcyBwYXJ0IG9mIHBocERvY3VtZW50b3IuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjEyMDoiRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0UKZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXExpbmsiOjM6e3M6NzoiACoAbmFtZSI7czo0OiJsaW5rIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7TjtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcTGluawBsaW5rIjtzOjE4OiJodHRwczovL3BocGRvYy5vcmciO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";